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.
- 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()
.