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.
- Fix docs for
device.config_var.set
[Otavio Jacobi] - Properly surface RequestErrors from balena-api [Otavio Jacobi]
- 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]
- 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]
- 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]
- Fix docs for using
tags
rather thantag
[Otavio Jacobi]
- Fix device.env_var docs with mandatory env var name key [Otavio Jacobi]
- Fix typo in /v2/applications/:appId/restart-service Supervisor API call [Christina Ying Wang]
- 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]
- Release.get_with_with_details: Set user None when without permissions [Otavio Jacobi]
- Fix get_with_service_details typings [Otávio Jacobi]
- Add support to multipart/form-data requests [Otávio Jacobi]
- Add throttling when API is rate limiting [Otávio Jacobi]
- Add rate limiting to request config [Otávio Jacobi]
- Run supervisor actions directly on supervisor if sdk on device [Otávio Jacobi]
- 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]
- Add devices.get_supervisor_target_state_for_app [Otávio Jacobi]
- Add in-memory settings config [Otávio Jacobi]
- Service: Allow passing an application-service_name pair as a parameter [Otávio Jacobi]
- Device.service_var: Allow passing a service name as a parameter [Otávio Jacobi]
- Update documentation [Pranas Ziaukas]
- Replace
balena.models.supervisor
examples withdevice
[Pranas Ziaukas]
- Fix balena settings docs [Otávio Jacobi]
- Fix docs for service variables [Otávio Jacobi]
- Add set_release_version for release model [Otávio Jacobi]
- 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]
- Allow HUP between dev OS variants [Otávio Jacobi]
- Updates device get docs [Otávio Jacobi]
- Fix semver error caused by a major release [JSReds]
- Adds API Keys tests and not use private methods outside class [Otávio Jacobi]
- Removes py2 imports and sorts imports [Otávio Jacobi]
- Removes hardcoded personal emails from docs and tests [Otávio Jacobi]
- Always logins with test user for tests [Otávio Jacobi]
- Fix device history filter arguments [fisehara]
- Fix multiline string concatenation in HUP release [fisehara]
- Fix formatted string in
device_os
by deviceType [fisehara]
- Changes tag set behaviour to use upsert [Otávio Jacobi]
- Fixes python package name [Otávio Jacobi]
- Triggers deployment [Otávio Jacobi]
- Bumps docs [Otávio Jacobi]
- Fixes CI versioning and publishing [balenaCI]
- Fixes linting and formatting [Otávio Jacobi]
- Reuse created apps to make the application tests faster [Thodoris Greasidis]
- Make the tests faster by re-using created resources [Thodoris Greasidis]
- Add device_tag tests [Thodoris Greasidis]
- Avoid device id lookups where possible by querying with uuid directly [Pagan Gazzard]
- Remove unused application parameter when creating device config vars [Pagan Gazzard]
- 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]
- Fix device history tests [fisehara]
- Add device history model [fisehara]
- Support ESR version in device.start_os_update() [Trong Nghia Nguyen]
- Add device_os.get_available_os_versions() [Trong Nghia Nguyen]
- Device.register: Allow providing a device type for the registered device [Trong Nghia Nguyen]
- Simplify checks in device.move() [Trong Nghia Nguyen]
- Device.get_with_service_details: Stop auto-expanding the gateway_downloads [Trong Nghia Nguyen]
- 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]
- Support downloading unconfigured private device type images [Trong Nghia Nguyen]
- Switch from balenaCI to flowzone [Trong Nghia Nguyen]
- Device: Add set_supervisor_release() method [Trong Nghia Nguyen]
- 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]
- Docs: Update documentation [Trong Nghia Nguyen]
- Supervisor: Make app_id optional parameter when calling supervisor.ping from outside balena device [Trong Nghia Nguyen]
- Application.is_tracking_latest_release: fix using draft/invalidated releases [Trong Nghia Nguyen]
- Device: Fix error when parsing balenaOS version before updating OS [Trong Nghia Nguyen]
- Add name and description field to device.generate_device_key method [Trong Nghia Nguyen]
- 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]
- Add release.finalize to promote draft releases to final [Trong Nghia Nguyen]
- Update application.generate_provisioning_key to include key name and description [Trong Nghia Nguyen]
- 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]
- Replace internal use of release.contains__image with release_image [Trong Nghia Nguyen]
- Release: Add method to remove release [Trong Nghia Nguyen]
- Fix invalid semver string when parsing balena os version [Trong Nghia Nguyen]
- Add auth as an optional arg for device_os.get_supported_versions [Trong Nghia Nguyen]
- Fix missing arch in device type information [Trong Nghia Nguyen]
- Require authentication for device_os.get_supported_version [Trong Nghia Nguyen]
- Add device type model [Trong Nghia Nguyen]
- Use Python3 class definitions [Cody Scott]
- Remove future imports [Cody Scott]
- Fix issue refreshed token is not decoded from bytes to string [Thomas Sieren]
- Remove unnecessary vpn address filtering when fetching local addresses [Pagan Gazzard]
- Upgrade pyJWT and pyOpenSSL [Trong Nghia Nguyen]
- Application.create: Rely on the hostApps for detecting discontinued DTs [Trong Nghia Nguyen]
- Update balena dashboard URL in docs [Kyle Harding]
- Update balena API url [Kyle Harding]
- 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]
- Add application.membership methods [Trong Nghia Nguyen]
- Add SDK methods to invite application member [Trong Nghia Nguyen]
- Add SDK methods for org invite [Trong Nghia Nguyen]
- Add application.rename method [Trong Nghia Nguyen]
- Add device.deactivate method [Trong Nghia Nguyen]
- Deprecate application.get_all_with_device_service_details() [Trong Nghia Nguyen]
- Delete CODEOWNERS [Trong Nghia Nguyen]
- Manage lock overrides using the config variables instead of the endpoint [Trong Nghia Nguyen]
- Fix wrong example for DeviceServiceEnvVar method [Trong Nghia Nguyen]
- Pin PyJWT to v1.7.1 [Trong Nghia Nguyen]
- Update error message in test case for Tag [Trong Nghia Nguyen]
- Patch get_metrics() return [Vipul Gupta (@vipulgupta2048)]
- Update test case for application.create [Trong Nghia Nguyen]
- Update documentation [Trong Nghia Nguyen]
- Implement device.get_metrics() [Vipul Gupta (@vipulgupta2048)]
- 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]
- Add device.get_mac_address() [Trong Nghia Nguyen]
- README: Clarify the deprecation policy [Thodoris Greasidis]
- Add a deprecation policy [Trong Nghia Nguyen]
- Implement application.get_dashboard_url() [Trong Nghia Nguyen]
- 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]
- Os: Add device_os.download_unconfigured_image() method [Trong Nghia Nguyen]
- Os: Fix device_os.download() method [Trong Nghia Nguyen]
- Device-type: Change EXPERIMENTAL device type name normalization to NEW [Trong Nghia Nguyen]
- Docs: minor fixes to docstrings [Matthew McGinn]
- 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]
- Supervisor: Fix wrong SUPERVISOR_API_KEY env var name [Trong Nghia Nguyen]
- 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]
- Release: Fix commit returned by release.get_latest_by_application() [Trong Nghia Nguyen]
- 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]
- Docs: Update DOCUMENTATION [Trong Nghia Nguyen]
- Device: Update get_status method based on latest JS SDK changes [Trong Nghia Nguyen]
- Fix
deleted
status casing in tests [Pagan Gazzard]
- Endpoint: Use open-balena-api endpoints for device type & version info [Trong Nghia Nguyen]
- Env_var: Fix POST parameter name [eugenefab]
- Docs: Add installation guide for Python SDK [Trong Nghia Nguyen]
- hup: Add device OS update methods [Trong Nghia Nguyen]
- Device: Add method to set device to specific release_id [Amir Fuhrmann]
- Device: Fix issue with device.set_to_release() [Trong Nghia Nguyen]
- Device: Add support for get_supervisor_target_state device method [Matthew McGinn]
- ServiceEnvVar: Fix bug in service_env_var.create() [Trong Nghia Nguyen]
- Device: replace 'last_seen_time' with 'last_vpn_event', add unit test [Matthew McGinn]
- Codeowners: add codeowners as myself and nghiant2710 [Matthew McGinn]
- Git: gitignore build output dir [Matthew McGinn]
- Device: Add get_supervisor_state device method [Trong Nghia Nguyen]
- Update documentation for application methods [Lucian]
- Docs: Update docs [Trong Nghia Nguyen]
- Device: Implement device lock override methods [Trong Nghia Nguyen]
- Application: Add options parameter to application.get_config() [Trong Nghia Nguyen]
- 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]
- Make docs_generator.py work with Python2/3 [Matthew McGinn]
- Fix up documentation examples [Matthew McGinn]
- 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]
- Print a deprecation warning message when using the unrenamed SDK [Tim Perry]
- Don't mention our production Mixpanel token in examples/docs [Juan Cruz Viotti]
- Allow overriding the API endpoint for testing [Tim Perry]
- Document how to setup & run the SDK tests [Tim Perry]
- 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]
- 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]
- Logging: Print deprecation warning for all legacy logs methods #96 [Trong Nghia Nguyen]
- 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]
- Allow moving devices to applications of the same arch type. #94 [Trong Nghia Nguyen]
- Update docs. #90 [Trong Nghia Nguyen]
- Update docs #87 [Trong Nghia Nguyen]
- Add resin.model.tag.ReleaseTag that implements release tag model for Resin Python SDK. #83 [Trong Nghia Nguyen]
- Re-add resin.models.environment_variables.ApplicationEnvVariable model. #84 [Trong Nghia Nguyen]
- Re-add resin.models.environment_variables.DeviceEnvVariable model. #84 [Trong Nghia Nguyen]
- Add unit test for device class. #82 [Trong Nghia Nguyen]
- 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]
- 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]
- 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]
- Fix device.get_status() function, use
last_vpn_event
field instead oflast_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]
- 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]
- Add
versionist.conf.js
config and prepare for VersionBot control. #58 [Heds Simons]
- 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.
- Add support for Python 3.
- Implement base class for resin exceptions.
- Fix a bug in
resin.models.device.get_all_by_application()
to make it works with API v3.
- 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()
andapplication.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.
- Upgrade Pine endpoint to Resin API v3.
- Add validation for environment variable name.
- Update
device.register()
, device registration now uses provisioning key.
- Add additional API endpoints:
resin.models.application.enable_rolling_updates()
,resin.models.application.disable_rolling_updates()
,resin.models.device.get_all_by_application_id()
andresin.models.device.set_to_build()
by amirfuhrmann
- Fix issue with auth.is_logged_in() raises Unauthorized exception.
- Implement resin.models.environment_variables.device.get_all_by_application().
- Implement Build class (
resin.models.build.get()
andresin.models.build.get_all_by_application()
). - Implement
resin.models.device.set_custom_location()
andresin.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.
- 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.
- Allow passing option to force device reboot and shutdown.
- Specify version of pubnub lib since pubnub v4 is not supported yet.
- Remove unused import.
- Import print_function to support python3 print syntax when output error message to STDERR.
- Output error messages to STDERR
- Fix issue with PubNub logs channel. If available, use device.logs_channel for PubNub channel names.
- 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().
- Update all functions in resin.models.supervisor, Use device_uuid instead of device_id for ease of use.
- Implement resin.models.device.get_status()
- 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().
- Fix bug with return value of
resin.auth.is_logged_in()
.
- Implement resin.models.device.move().
- 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()
- Update
setup.py
parse VERSION directly from__init__.py
instead of importing resin.
- 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()
- 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.
- Remove
VALID_OPTIONS
in resin.models.device_os that blocks extra os parameters when downloading an image. - Remove
resin.models.config.get_pubnub_keys()
.