Skip to content

Latest commit

 

History

History
923 lines (547 loc) · 29.8 KB

CHANGELOG.md

File metadata and controls

923 lines (547 loc) · 29.8 KB

Change Log

All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.

v15.0.2 - 2024-10-25

  • Fix docs for device.config_var.set [Otavio Jacobi]
  • Properly surface RequestErrors from balena-api [Otavio Jacobi]

v15.0.1 - 2024-10-15

  • Release: throw in case of trying to get a release with an empty string uuid [Otavio Jacobi]
  • Device: do not operate on empty or ambiguous device UUIDs [Otavio Jacobi]

v15.0.0 - 2024-09-18

  • V7 model: Add the device.should_be_operated_by__release property [Otavio Jacobi]
  • Drop the application.get_app_by_owner method [Otavio Jacobi]
  • V7 model: Change image.image_size to str [Otavio Jacobi]
  • V7 model: Replace device.overall_status offline & idle with disconnected, reduced-functionality & operational [Otavio Jacobi]
  • V7 model: Change user, application & device actor, to return a deferred property when selected [Otavio Jacobi]
  • V7 model: Replace should_be_running__release with is_pinned_on__release [Otavio Jacobi]
  • V7 model: Drop the supervisor_release resource [Otavio Jacobi]
  • Add the os.get_supervisor_releases_for_cpu_architecture() method [Otavio Jacobi]
  • V7 model: Replace should_be_managed_by__supervisor_release with should_be_managed_by__release [Otavio Jacobi]
  • V7 model: Drop the device.vpn_address property [Otavio Jacobi]
  • V7 model: Drop the device state & status_sort_index sdk-only property typings [Otavio Jacobi]
  • V7 model: Drop the gateway_download resource [Otavio Jacobi]
  • [BREAKING]: Update all API queries to use the v7 model [Otavio Jacobi]

v14.5.0 - 2024-08-30

  • Fix application.get_all doc typo [Otavio Jacobi]
  • Mark application.get_by_owner as deprecated [Otavio Jacobi]
  • Add application.get_all_by_organization function [Otavio Jacobi]

v14.4.6 - 2024-07-26

  • Fix docs for using tags rather than tag [Otavio Jacobi]

v14.4.5 - 2024-06-04

  • Fix device.env_var docs with mandatory env var name key [Otavio Jacobi]

v14.4.4 - 2024-05-24

  • Fix typo in /v2/applications/:appId/restart-service Supervisor API call [Christina Ying Wang]

v14.4.3 - 2024-05-24

  • Force test email to contains "+testsdk" [Otavio Jacobi]
  • Fix unsubscribe for cases where logs come too early after unsubscribing [Otavio Jacobi]
  • Fix verification of admin user without "permissions" on JWT [Otavio Jacobi]

v14.4.2 - 2024-03-25

  • Release.get_with_with_details: Set user None when without permissions [Otavio Jacobi]

v14.4.1 - 2023-12-18

  • Fix get_with_service_details typings [Otávio Jacobi]

v14.4.0 - 2023-11-15

  • Add support to multipart/form-data requests [Otávio Jacobi]

v14.3.0 - 2023-11-06

  • Add throttling when API is rate limiting [Otávio Jacobi]

v14.2.0 - 2023-10-27

  • Add rate limiting to request config [Otávio Jacobi]

v14.1.0 - 2023-08-30

  • Run supervisor actions directly on supervisor if sdk on device [Otávio Jacobi]

v14.0.0 - 2023-08-22

  • BREAKING: Drop auth.get_user_actor_id in favor of auth.get_actor_id [Otávio Jacobi]
  • Auth: Add get_actor_id [Otávio Jacobi]
  • BREAKING: Drop auth.get_user_id in favor of auth.get_user_info [Otávio Jacobi]
  • BREAKING: Drop auth.get_email in favor of auth.get_user_info [Otávio Jacobi]
  • Auth: Add get_user_info [Otávio Jacobi]
  • BREAKING: Drop pre-Resin OS v1 device os_version normalization [Otávio Jacobi]
  • BREAKING: Support non-user API keys in auth.is_logged_in() & whoami() [Otávio Jacobi]

v13.4.0 - 2023-08-03

  • Add devices.get_supervisor_target_state_for_app [Otávio Jacobi]

v13.3.0 - 2023-07-28

  • Add in-memory settings config [Otávio Jacobi]

v13.2.0 - 2023-07-17

  • Service: Allow passing an application-service_name pair as a parameter [Otávio Jacobi]

v13.1.0 - 2023-07-17

  • Device.service_var: Allow passing a service name as a parameter [Otávio Jacobi]

v13.0.4 - 2023-07-11

  • Update documentation [Pranas Ziaukas]
  • Replace balena.models.supervisor examples with device [Pranas Ziaukas]

v13.0.3 - 2023-07-05

  • Fix balena settings docs [Otávio Jacobi]

v13.0.2 - 2023-07-05

  • Fix docs for service variables [Otávio Jacobi]

v13.0.1 - 2023-07-04

  • Add set_release_version for release model [Otávio Jacobi]

v13.0.0 - 2023-06-28

  • Updates documentation and final type hints [Otávio Jacobi]
  • Send X-Balena-Client header for request tracing [Otávio Jacobi]
  • Add scoped pinejs and sttings for each model [Otávio Jacobi]
  • Improve type hints with navigation resources [Otávio Jacobi]
  • Add billing and credit bundle models [Otávio Jacobi]
  • Fix api_key expiry_date model [Otávio Jacobi]
  • Improve docs for release v13 [Otávio Jacobi]
  • Add 2fa tests and removes get_code function [Otávio Jacobi]
  • Add logs tests and refactors inner working [Otávio Jacobi]
  • Refactor auth module and adds tests [Otávio Jacobi]
  • Change function scopes to match SDK scopes [Otávio Jacobi]
  • Move key history and supervisor models to match current node-sdk [Otávio Jacobi]
  • Use pine-client on release image and service models [Otávio Jacobi]
  • Add device_os model [Otávio Jacobi]
  • Use pine-client on environment variables models [Otávio Jacobi]
  • Add dependent_resource generic class over BaseTag [Otávio Jacobi]
  • Uses pine-client on device model [Otávio Jacobi]
  • Uses pine_client on device_type model [Otávio Jacobi]
  • Adds pine client to application model [Otávio Jacobi]
  • Adds pine client python and refactors api_key model [Otávio Jacobi]
  • SDK Version 13 with pine client and semver bump [Otávio Jacobi]

v12.7.0 - 2023-05-11

  • Allow HUP between dev OS variants [Otávio Jacobi]

v12.6.23 - 2023-04-28

  • Updates device get docs [Otávio Jacobi]

v12.6.22 - 2023-04-28

  • Fix semver error caused by a major release [JSReds]

v12.6.21 - 2023-04-27

  • Adds API Keys tests and not use private methods outside class [Otávio Jacobi]

v12.6.20 - 2023-04-26

  • Removes py2 imports and sorts imports [Otávio Jacobi]

v12.6.19 - 2023-04-26

  • Removes hardcoded personal emails from docs and tests [Otávio Jacobi]

v12.6.18 - 2023-04-26

  • Always logins with test user for tests [Otávio Jacobi]

v12.6.17 - 2023-04-26

  • Fix device history filter arguments [fisehara]

v12.6.16 - 2023-04-24

  • Fix multiline string concatenation in HUP release [fisehara]

v12.6.15 - 2023-04-21

  • Fix formatted string in device_os by deviceType [fisehara]

v12.6.14 - 2023-04-20

  • Changes tag set behaviour to use upsert [Otávio Jacobi]

v12.6.13 - 2023-04-20

  • Fixes python package name [Otávio Jacobi]

v12.6.12 - 2023-04-20

  • Triggers deployment [Otávio Jacobi]

v12.6.11 - 2023-04-20

  • Bumps docs [Otávio Jacobi]

v12.6.10 - 2023-04-14

v12.6.9 - 2023-04-12

  • Fixes CI versioning and publishing [balenaCI]

v12.6.8 - 2023-04-11

  • Fixes linting and formatting [Otávio Jacobi]

v12.6.7 - 2023-04-11

  • Reuse created apps to make the application tests faster [Thodoris Greasidis]

v12.6.6 - 2023-04-10

  • Make the tests faster by re-using created resources [Thodoris Greasidis]

v12.6.5 - 2023-04-10

  • Add device_tag tests [Thodoris Greasidis]

v12.6.4 - 2023-04-10

  • Avoid device id lookups where possible by querying with uuid directly [Pagan Gazzard]

v12.6.3 - 2023-04-10

  • Remove unused application parameter when creating device config vars [Pagan Gazzard]

v12.6.2 - 2023-04-07

  • Reuse created orgs across all organization tests to avoid ratelimiting [Thodoris Greasidis]
  • Update the tests for the new device_type model [Thodoris Greasidis]
  • Fix the tests that use the now legacy Starer app type [Thodoris Greasidis]
  • Run the test suite with flowzone ci [Thodoris Greasidis]

v12.6.1 - 2023-04-07

  • Fix device history tests [fisehara]

v12.6.0 - 2023-04-07

  • Add device history model [fisehara]

v12.5.0 - 2023-02-16

  • Support ESR version in device.start_os_update() [Trong Nghia Nguyen]

v12.4.1 - 2023-02-16

  • Add device_os.get_available_os_versions() [Trong Nghia Nguyen]

v12.4.0 - 2023-02-06

  • Device.register: Allow providing a device type for the registered device [Trong Nghia Nguyen]

v12.3.2 - 2023-02-03

  • Simplify checks in device.move() [Trong Nghia Nguyen]

v12.3.1 - 2022-11-29

  • Device.get_with_service_details: Stop auto-expanding the gateway_downloads [Trong Nghia Nguyen]

v12.3.0 - 2022-11-23

  • Add release.set_release_version() method [Trong Nghia Nguyen]
  • Add release.set_known_issue_list() method [Trong Nghia Nguyen]
  • Add release.set_note() method [Trong Nghia Nguyen]
  • Add release.set_is_invalidated() method [Trong Nghia Nguyen]

v12.2.0 - 2022-11-03

  • Support downloading unconfigured private device type images [Trong Nghia Nguyen]

v12.1.1 - 2022-11-01

  • Switch from balenaCI to flowzone [Trong Nghia Nguyen]

v12.1.0 - 2022-08-23

  • Device: Add set_supervisor_release() method [Trong Nghia Nguyen]

v12.0.0 - 2022-07-12

  • Docs: Update documentation [Trong Nghia Nguyen]
  • BREAKING Drop unnecessary parameter (app_id) from supervisor.ping method [Trong Nghia Nguyen]
  • BREAKING Remove deprecated device.get_supported_device_type [Trong Nghia Nguyen]
  • BREAKING Remove deprecated models.device.get_display_name [Trong Nghia Nguyen]
  • BREAKING Change return value of device_os.get_supported_versions [Trong Nghia Nguyen]
  • BREAKING Remove deprecated models.config.get_device_types [Trong Nghia Nguyen]
  • BREAKING Remove deprecated models.device.get_device_slug [Trong Nghia Nguyen]
  • BREAKING Drop application.get_all_with_device_service_details [Trong Nghia Nguyen]

v11.11.3 - 2022-07-12

  • Docs: Update documentation [Trong Nghia Nguyen]

v11.11.2 - 2022-07-12

  • Supervisor: Make app_id optional parameter when calling supervisor.ping from outside balena device [Trong Nghia Nguyen]

v11.11.1 - 2022-07-12

  • Application.is_tracking_latest_release: fix using draft/invalidated releases [Trong Nghia Nguyen]

v11.11.0 - 2022-07-12

  • Device: Fix error when parsing balenaOS version before updating OS [Trong Nghia Nguyen]

v11.10.0 - 2022-07-12

  • Add name and description field to device.generate_device_key method [Trong Nghia Nguyen]

v11.9.0 - 2022-07-12

  • Implement api_key.get_all_named_user_api_keys method [Trong Nghia Nguyen]
  • Add api_key.get_device_api_keys_by_device method [Trong Nghia Nguyen]
  • Add api_key.get_provisioning_api_keys_by_application method [Trong Nghia Nguyen]

v11.8.0 - 2022-07-12

  • Add release.finalize to promote draft releases to final [Trong Nghia Nguyen]

v11.7.0 - 2022-07-11

  • Update application.generate_provisioning_key to include key name and description [Trong Nghia Nguyen]

v11.6.0 - 2022-07-08

  • Os: Start using the release.phase field in the available versions [Trong Nghia Nguyen]
  • Os: Start using the model's release variant [Trong Nghia Nguyen]

v11.5.1 - 2022-07-08

  • Replace internal use of release.contains__image with release_image [Trong Nghia Nguyen]

v11.5.0 - 2022-06-30

  • Release: Add method to remove release [Trong Nghia Nguyen]

v11.4.0 - 2022-04-22

  • Fix invalid semver string when parsing balena os version [Trong Nghia Nguyen]

v11.3.2 - 2022-04-04

  • Add auth as an optional arg for device_os.get_supported_versions [Trong Nghia Nguyen]

v11.3.1 - 2022-03-19

  • Fix missing arch in device type information [Trong Nghia Nguyen]

v11.3.0 - 2022-03-17

  • Require authentication for device_os.get_supported_version [Trong Nghia Nguyen]

v11.2.0 - 2022-03-10

  • Add device type model [Trong Nghia Nguyen]

v11.1.4 - 2022-03-09

  • Use Python3 class definitions [Cody Scott]

v11.1.3 - 2022-03-09

  • Remove future imports [Cody Scott]

v11.1.2 - 2022-03-07

  • Fix issue refreshed token is not decoded from bytes to string [Thomas Sieren]

v11.1.1 - 2022-02-24

  • Remove unnecessary vpn address filtering when fetching local addresses [Pagan Gazzard]

v11.1.0 - 2022-02-07

  • Upgrade pyJWT and pyOpenSSL [Trong Nghia Nguyen]

v11.0.3 - 2022-01-06

  • Application.create: Rely on the hostApps for detecting discontinued DTs [Trong Nghia Nguyen]

v11.0.2 - 2021-11-16

  • Update balena dashboard URL in docs [Kyle Harding]

v11.0.1 - 2021-11-15

  • Update balena API url [Kyle Harding]

v11.0.0 - 2021-07-30

  • Pin PyJWT to v1.7.1 [Trong Nghia Nguyen]
  • Update error message in test case for Tag [Trong Nghia Nguyen]
  • Add methods to enable, verify and disable 2fa [Trong Nghia Nguyen]
  • Add methods for managing organization membership tags [Trong Nghia Nguyen]
  • Add methods for retrieving organization memberships [Trong Nghia Nguyen]

v10.6.0 - 2021-07-30

  • Add application.membership methods [Trong Nghia Nguyen]
  • Add SDK methods to invite application member [Trong Nghia Nguyen]

v10.5.0 - 2021-07-29

  • Add SDK methods for org invite [Trong Nghia Nguyen]

v10.4.0 - 2021-07-29

  • Add application.rename method [Trong Nghia Nguyen]

v10.3.0 - 2021-07-29

  • Add device.deactivate method [Trong Nghia Nguyen]

v10.2.2 - 2021-07-23

  • Deprecate application.get_all_with_device_service_details() [Trong Nghia Nguyen]

v10.2.1 - 2021-06-30

  • Delete CODEOWNERS [Trong Nghia Nguyen]

v10.2.0 - 2021-04-23

  • Manage lock overrides using the config variables instead of the endpoint [Trong Nghia Nguyen]

v10.1.3 - 2021-04-23

  • Fix wrong example for DeviceServiceEnvVar method [Trong Nghia Nguyen]

v10.1.2 - 2021-04-23

  • Pin PyJWT to v1.7.1 [Trong Nghia Nguyen]
  • Update error message in test case for Tag [Trong Nghia Nguyen]

v10.1.1 - 2020-09-03

  • Patch get_metrics() return [Vipul Gupta (@vipulgupta2048)]

v10.1.0 - 2020-09-03

  • Update test case for application.create [Trong Nghia Nguyen]
  • Update documentation [Trong Nghia Nguyen]
  • Implement device.get_metrics() [Vipul Gupta (@vipulgupta2048)]

v10.0.0 - 2020-06-26

  • Update docs [Trong Nghia Nguyen]
  • Add python v3.7 and v3.8 to travis.yml [Trong Nghia Nguyen]
  • Update tests to support orgs model [Trong Nghia Nguyen]
  • Update release.create_from_url() to support orgs model [Trong Nghia Nguyen]
  • BREAKING Change the device_type of all models to resource references [Trong Nghia Nguyen]
  • BREAKING Change application and device commit to release references [Trong Nghia Nguyen]
  • Clarify that application.get_by_owner now accepts organization handles [Trong Nghia Nguyen]
  • BREAKING Require an organization when creating applications [Trong Nghia Nguyen]
  • Add methods for the organization model [Trong Nghia Nguyen]
  • BREAKING Add support for the v6 orgs model [Trong Nghia Nguyen]

v9.5.0 - 2020-06-19

  • Add device.get_mac_address() [Trong Nghia Nguyen]

v9.4.1 - 2020-05-08

  • README: Clarify the deprecation policy [Thodoris Greasidis]

v9.4.0 - 2020-04-30

  • Add a deprecation policy [Trong Nghia Nguyen]

v9.3.0 - 2020-03-13

  • Implement application.get_dashboard_url() [Trong Nghia Nguyen]

v9.2.1 - 2020-03-13

  • Update tag.set() and tag.remove() test [Trong Nghia Nguyen]
  • Fix tag.get_all() test [Trong Nghia Nguyen]
  • Fix application.has_any() method [Trong Nghia Nguyen]

v9.2.0 - 2020-02-04

  • Os: Add device_os.download_unconfigured_image() method [Trong Nghia Nguyen]
  • Os: Fix device_os.download() method [Trong Nghia Nguyen]

v9.1.0 - 2020-02-03

  • Device-type: Change EXPERIMENTAL device type name normalization to NEW [Trong Nghia Nguyen]

v9.0.1 - 2019-12-03

  • Docs: minor fixes to docstrings [Matthew McGinn]

v9.0.0 - 2019-11-20

  • Auth: Stop sending api key in query string [Trong Nghia Nguyen]
  • Docs: Update documentation [Trong Nghia Nguyen]
  • Auth: Prioritize auth token over API_KEY [Trong Nghia Nguyen]
  • Fix using python logging BasicConfig [Thomas Cahill]
  • Device: Add local mode related methods [Trong Nghia Nguyen]
  • Release: Add release.create_from_url method [Trong Nghia Nguyen]
  • Os: Allow mixing armv7 and aarch64 devices in RPI 1/zero apps [Trong Nghia Nguyen]
  • Release: Support retrieving releases & managing release tags by commit [Trong Nghia Nguyen]

v8.1.1 - 2019-09-17

  • Supervisor: Fix wrong SUPERVISOR_API_KEY env var name [Trong Nghia Nguyen]

v8.1.0 - 2019-08-12

  • Docs: Update docs [Trong Nghia Nguyen]
  • Device: Allow moving aarch64 devices to armv7hf applications [Trong Nghia Nguyen]
  • Os: Add device_os.is_architecture_compatible_with method [Trong Nghia Nguyen]

v8.0.1 - 2019-08-12

  • Release: Fix commit returned by release.get_latest_by_application() [Trong Nghia Nguyen]

v8.0.0 - 2019-06-13

  • Docs: Update DOCUMENTATION [Trong Nghia Nguyen]
  • Sdk: Update service details related methods based on latest SDK changes [Trong Nghia Nguyen]
  • Device: Drop $tolower in get_with_service_details() to make it faster [Trong Nghia Nguyen]

v7.9.0 - 2019-06-10

  • Docs: Update DOCUMENTATION [Trong Nghia Nguyen]
  • Device: Update get_status method based on latest JS SDK changes [Trong Nghia Nguyen]

v7.8.1 - 2019-05-29

  • Fix deleted status casing in tests [Pagan Gazzard]

v7.8.0 - 2019-05-20

  • Endpoint: Use open-balena-api endpoints for device type & version info [Trong Nghia Nguyen]

v7.7.2 - 2019-05-05

  • Env_var: Fix POST parameter name [eugenefab]

v7.7.1 - 2019-04-25

  • Docs: Add installation guide for Python SDK [Trong Nghia Nguyen]

v7.7.0 - 2019-04-22

  • hup: Add device OS update methods [Trong Nghia Nguyen]

v7.6.0 - 2019-04-16

  • Device: Add method to set device to specific release_id [Amir Fuhrmann]
  • Device: Fix issue with device.set_to_release() [Trong Nghia Nguyen]

v7.5.0 - 2019-04-16

  • Device: Add support for get_supervisor_target_state device method [Matthew McGinn]

v7.4.2 - 2019-04-16

  • ServiceEnvVar: Fix bug in service_env_var.create() [Trong Nghia Nguyen]

v7.4.1 - 2019-04-12

  • Device: replace 'last_seen_time' with 'last_vpn_event', add unit test [Matthew McGinn]

v7.4.0 - 2019-04-12

  • Codeowners: add codeowners as myself and nghiant2710 [Matthew McGinn]

v7.3.1 - 2019-04-12

  • Git: gitignore build output dir [Matthew McGinn]

v7.3.0 - 2019-04-09

  • Device: Add get_supervisor_state device method [Trong Nghia Nguyen]

v7.2.1 - 2019-03-08

  • Update documentation for application methods [Lucian]

v7.2.0 - 2019-02-22

  • Docs: Update docs [Trong Nghia Nguyen]
  • Device: Implement device lock override methods [Trong Nghia Nguyen]

v7.1.0 - 2018-12-09

  • Application: Add options parameter to application.get_config() [Trong Nghia Nguyen]

v7.0.0 - 2018-11-21

  • Docs: Update documentation [Trong Nghia Nguyen]
  • StageRelease: Add release tracking methods [Trong Nghia Nguyen]
  • Application: Implement application.get_by_owner() [Trong Nghia Nguyen]
  • Api: Use the v5 api endpoint [Trong Nghia Nguyen]
  • Application.get_all: use the my_application endpoint [Trong Nghia Nguyen]
  • Config: Use Opensource API endpoint for fetching device types [Trong Nghia Nguyen]

v6.0.1 - 2018-11-08

  • Make docs_generator.py work with Python2/3 [Matthew McGinn]
  • Fix up documentation examples [Matthew McGinn]

v6.0.0 - 2018-10-30

  • Api: Change api endpoint to api.balena-cloud.com [Trong Nghia Nguyen]
  • Namechange: Remove old resin stuff [Trong Nghia Nguyen]
  • BREAKING: Rename everything that references 'resin' to 'balena' [Tim Perry]

v5.1.3 - 2018-10-30

  • Print a deprecation warning message when using the unrenamed SDK [Tim Perry]

v5.1.2 - 2018-10-22

  • Don't mention our production Mixpanel token in examples/docs [Juan Cruz Viotti]

v5.1.1 - 2018-10-16

  • Allow overriding the API endpoint for testing [Tim Perry]
  • Document how to setup & run the SDK tests [Tim Perry]

v5.1.0 - 2018-09-11

  • Test: Add test cases for tag models [Trong Nghia Nguyen]
  • Release-tag: Fix wrong filter in get_all_by_release() [Trong Nghia Nguyen]
  • Tag: Fix incorrect behavior when updating tag [Trong Nghia Nguyen]
  • Test: Update error message in application test [Trong Nghia Nguyen]
  • Resin/init: Remove unused import [Antonio Gutierrez]

v5.0.0 - 2018-08-08

  • Logging: Add support for new logging endpoint #102 [Trong Nghia Nguyen]
  • Application: Return collaborator app application.get_all() #102 [Trong Nghia Nguyen]
  • Supervisor: Implement supervisor.start/stop/restart_service methods #102 [Trong Nghia Nguyen]
  • Supervisor: Deprecate some old methods #102 [Trong Nghia Nguyen]
  • Supervisor: Remove enable/disable_tcp_ping #102 [Trong Nghia Nguyen]
  • Serivce_env_var: Rename get_all() to get_all_by_application() #102 [Trong Nghia Nguyen]
  • Env_var: Add get_all_by_application() to device service env var #102 [Trong Nghia Nguyen]
  • Config_var: Add get_all_by_application() to device config variable #102 [Trong Nghia Nguyen]
  • Device_os: The version option in device_os.get_config() is now required #102 [Trong Nghia Nguyen]

v4.7.1 - 2018-07-20

  • Logging: Print deprecation warning for all legacy logs methods #96 [Trong Nghia Nguyen]

v4.7.0 - 2018-06-12

  • Implement resin.models.device.set_to_release() to set device to a specific commit. #92 [Trong Nghia Nguyen]
  • Implement resin.models.application.set_to_release() to set an application to a specific commit. #92 [Trong Nghia Nguyen]

v4.6.0 - 2018-06-09

  • Allow moving devices to applications of the same arch type. #94 [Trong Nghia Nguyen]

v4.5.0 - 2018-06-08

  • Update docs. #90 [Trong Nghia Nguyen]

v4.4.1 - 2018-05-09

  • Update docs #87 [Trong Nghia Nguyen]

v4.4.0 - 2018-05-03

  • Add resin.model.tag.ReleaseTag that implements release tag model for Resin Python SDK. #83 [Trong Nghia Nguyen]

v4.3.0 - 2018-05-03

  • Re-add resin.models.environment_variables.ApplicationEnvVariable model. #84 [Trong Nghia Nguyen]
  • Re-add resin.models.environment_variables.DeviceEnvVariable model. #84 [Trong Nghia Nguyen]

v4.2.1 - 2018-05-01

  • Add unit test for device class. #82 [Trong Nghia Nguyen]

v4.2.0 - 2018-04-12

  • Add resin.model.tag.ApplicationTag that implements Application tag model for Resin Python SDK. #80 [Trong Nghia Nguyen]
  • Add resin.model.tag.DeviceTag that implements device tag model for Resin Python SDK. #80 [Trong Nghia Nguyen]

v4.1.0 - 2018-04-08

  • Remove low level class resin.Token since all features are now merged into resin.Auth #79 [Trong Nghia Nguyen]
  • Revamp resin.Auth model to work with Auth Token and API token. #79 [Trong Nghia Nguyen]
  • Add resin.models.api_key.ApiKey class that implements user API key model for Resin Python SDK. #79 [Trong Nghia Nguyen]

v4.0.0 - 2018-03-22

  • BREAKING Change application.create() to support application types. #76 [Trong Nghia Nguyen]
  • BREAKING Change device.name to device.device_name everywhere. #76 [Trong Nghia Nguyen]
  • BREAKING Remove resin.models.build model which is replaced by release model. Remove resin.models.device.set_to_build() function. #76 [Trong Nghia Nguyen]
  • Implement resin.models.config_variable.ApplicationConfigVariable model. #76 [Trong Nghia Nguyen]
  • Implement resin.models.config_variable.DeviceConfigVariable model. #76 [Trong Nghia Nguyen]
  • BREAKING Remove resin.models.environment_variables.ApplicationEnvVariable since it no longer exists in the model. Implement resin.models.environment_variables.ServiceEnvVariable model #76 [Trong Nghia Nguyen]
  • BREAKING: Remove resin.models.DeviceEnvVariable since it no longer exist in the model. Implement resin.models.DeviceServiceEnvVariable model to work with Device Service Variables. #76 [Trong Nghia Nguyen]
  • Add resin.models.service model to lookup for services. #76 [Trong Nghia Nguyen]
  • Add resin.models.image to look up individual image build. #76 [Trong Nghia Nguyen]
  • Breaking: Move to API v4 (Multicontainer support). #76 [Trong Nghia Nguyen]

v3.0.0 - 2018-03-21

  • Fix device.get_status() function, use last_vpn_event field instead of last_seen_time since it no longer exists. #75 [Trong Nghia Nguyen]
  • Fix return object of create functions to ensure they return a dict. #75 [Trong Nghia Nguyen]
  • Fix resin.models.application.create() return object. #75 [Trong Nghia Nguyen]
  • Update device.set_to_build() to work with latest API. Change the argument from build id to build commit hash since build id is not available on the dashboard. #75 [Trong Nghia Nguyen]

v2.2.0 - 2018-03-02

  • Drop support for Python 2.6 Python 2.6 is pretty old and has been EOL since 2013. It is also not compatible with current test suite. #69 [Trong Nghia Nguyen]
  • Properly parse request data before sending. #69 [Trong Nghia Nguyen]
  • Add the test suite to Travis. #69 [Trong Nghia Nguyen]
  • Ensure the test suite refuses to run with an admin user account. #69 [Trong Nghia Nguyen]
  • Implement unit test for application class. #69 [Trong Nghia Nguyen]

v2.1.1 - 2018-03-01

  • Add versionist.conf.js config and prepare for VersionBot control. #58 [Heds Simons]

[2.1.0] - 2018-01-25

Added

  • Add a timeout for all requests (defaults to 30 seconds).
  • Add Build class to the docs.
  • Add details about the old and new returned objects from old and new API.

[2.0.0] - 2017-12-12

Added

  • Add support for Python 3.
  • Implement base class for resin exceptions.

Changed

  • Fix a bug in resin.models.device.get_all_by_application() to make it works with API v3.

[1.7.0] - 2017-12-02

Added

  • Implement device.get_dashboard_url() that return the Resin Dashboard URL for a specific device.
  • Implement device_os.get_config() that retrieves an application config.json.
  • Implement application.enable_device_urls() and application.disable_device_urls() that enable/disable the URL for all devices belong to an application.
  • Implement methods at device and application level for granting and revoking support access.
  • Implement application.generate_provisioning_key() that generates a device provisioning key for a specific application.

Changed

  • Upgrade Pine endpoint to Resin API v3.
  • Add validation for environment variable name.
  • Update device.register(), device registration now uses provisioning key.

[1.6.3] - 2017-11-17

Changed

  • Add additional API endpoints: resin.models.application.enable_rolling_updates(), resin.models.application.disable_rolling_updates(), resin.models.device.get_all_by_application_id() and resin.models.device.set_to_build() by amirfuhrmann

[1.6.2] - 2017-06-19

Changed

  • Fix issue with auth.is_logged_in() raises Unauthorized exception.

[1.6.1] - 2017-06-06

Added

  • Implement resin.models.environment_variables.device.get_all_by_application().
  • Implement Build class (resin.models.build.get() and resin.models.build.get_all_by_application()).
  • Implement resin.models.device.set_custom_location() and resin.models.device.unset_customer_location().
  • Implement resin.models.device.generate_device_key() that can generate a device specific key for use by a device.
  • Implement resin.models.application.get_config() for downloading an application config.json file.

Changed

  • Deprecated resin.models.application.get_api_key().
  • Make all device env vars consistently return names as .name.
  • Ensure application and device .get handle arguments clearly.

[1.5.4] - 2016-11-08

Changed

  • Allow passing option to force device reboot and shutdown.
  • Specify version of pubnub lib since pubnub v4 is not supported yet.
  • Remove unused import.

[1.5.3] - 2016-09-03

Changed

  • Import print_function to support python3 print syntax when output error message to STDERR.

[1.5.2] - 2016-08-30

Changed

  • Output error messages to STDERR

[1.5.1] - 2016-07-05

Changed

  • Fix issue with PubNub logs channel. If available, use device.logs_channel for PubNub channel names.

[1.5.0] - 2016-04-28

Added

  • Implement resin.models.supervisor.enable_tcp_ping().
  • Implement resin.models.supervisor.disable_tcp_ping().
  • Implement resin.models.supervisor.regenerate_supervisor_api_key().
  • Implement resin.models.supervisor.get_device_state().
  • Implement resin.models.supervisor.stop_application().
  • Implement resin.models.supervisor.get_application_info().
  • Implement resin.models.supervisor.start_application().

Changed

  • Update all functions in resin.models.supervisor, Use device_uuid instead of device_id for ease of use.

[1.4.0] - 2016-02-26

Added

  • Implement resin.models.device.get_status()

Changed

  • Patch device types to be marked as ALPHA and BETA not PREVIEW and EXPERIMENTAL.
  • Fix error when reading settings by backing up old settings file and rewriting default settings.
  • Fix bug of device.get_local_ip_address().

[1.3.1] - 2015-12-01

Changed

  • Fix bug with return value of resin.auth.is_logged_in().

[1.3.0] - 2015-11-26

Added

  • Implement resin.models.device.move().

[1.2.0] - 2015-11-13

Added

  • Implement Resin Supervisor which provides an easy way to interact with the Supervisor agent on your device:
    • resin.models.supervisor.ping()
    • resin.models.supervisor.blink()
    • resin.models.supervisor.update()
    • resin.models.supervisor.reboot()
    • resin.models.supervisor.shutdown()
    • resin.models.supervisor.purge()
    • resin.models.supervisor.restart()
    • resin.models.supervisor.force_api_endpoint()
  • Implement basic two-factor authentication functionalities:
    • resin.models.twofactor_auth.is_enabled()
    • resin.models.twofactor_auth.is_passed()
    • resin.models.twofactor_auth.challenge()
    • resin.models.twofactor_auth.generate_code()
    • resin.models.twofactor_auth.get_otpauth_secret()

[1.1.1] - 2015-10-19

Changed

  • Update setup.py parse VERSION directly from __init__.py instead of importing resin.

[1.1.0] - 2015-10-02

Added

  • Implement Resin API Key. User can authorize by credentials, auth token or set Resin API key as RESIN_API_KEY environment variable.
  • Implement resin.models.device.restart()
  • Implement resin.models.device.has_device_url()
  • Implement resin.models.device.get_device_url()
  • Implement resin.models.device.enable_device_url()
  • Implement resin.models.device.disable_device_url()

Changed

  • Fix resin.auth.is_logged_in() remove auth token.
  • Fix bug with API endpoints in some functions.
  • Implement login flag that marks functions only work if users authorize by credentials or auth token.

Removed

  • Remove VALID_OPTIONS in resin.models.device_os that blocks extra os parameters when downloading an image.
  • Remove resin.models.config.get_pubnub_keys().