All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
5.0.0 - 2017-10-17
Update balena-sdk to 19.0.1 [Otávio Jacobi]
- Fix test workflow to run on node 18 [Otávio Jacobi]
**BREAKING**: Drop support to node < 18 [Otávio Jacobi]
- Fix balena-request peer dependency [Otávio Jacobi]
- Drop supoport for node 14 & 16 [Otávio Jacobi]
- Drop support for node 14 & 16 [Otávio Jacobi]
- jwt: Deprecate the profile fields in favor of the user_profile [Thodoris Greasidis]
- jwt: Deprecate the intercom fields [Thodoris Greasidis]
- jwt: Deprecate the features fields [Thodoris Greasidis]
- jwt: Deprecate thw loginAs field [Thodoris Greasidis]
- jwt: Deprecate username & created_at in favor of the user resource [Thodoris Greasidis]
- Add typings for the user_profile resource [Thodoris Greasidis]
- Update @balena/lint to 7.2.0 [Thodoris Greasidis]
- Deprecate the social_service_account property of the JWTUser [Thodoris Greasidis]
- Add typings for the social_service_account resource [Thodoris Greasidis]
- Update TypeScript to 5.2.2 [Thodoris Greasidis]
- tests/os: Refactor some promise tests to async await [Thodoris Greasidis]
- Fix os.getSupervisorReleaseByDeviceType test to work on balenaMachine [Thodoris Greasidis]
Update balena-request from 12.0.2 to 12.0.4 [Thodoris Greasidis]
- Refactor the interceptors to stop using .reduce() [Thodoris Greasidis]
- Avoid deep imports from balena-auth [Thodoris Greasidis]
- Update balena-auth to 5.1.0 [Thodoris Greasidis]
- organization-invite: Fix throwing a typed error when passing an unkonwn role [Thodoris Greasidis]
- application-invite: Fix throwing a typed error when passing an unkonwn role [Thodoris Greasidis]
- tests: Fix bugs that linting surfaced [Thodoris Greasidis]
- Update @balena/lint to 7.0.1 [Thodoris Greasidis]
- logs: Emit errors when initializing the SDK with debug: true [Thodoris Greasidis]
- Improve the auth.getActorId() tests [Thodoris Greasidis]
- auth.getUserInfo: Add the actor id to the returned values [Thodoris Greasidis]
- patch: bump lint-staged from 13.3.0 to 14.0.0 [Thodoris Greasidis]
- Replace dependabot with renovate [Thodoris Greasidis]
- Drop support for Node.js v16 [Otávio Jacobi]
- Update @balena/lint [Otávio Jacobi]
- Bump rimraf [Otávio Jacobi]
Update to balena-sdk 18.0.0 [Otávio Jacobi]
- BREAKING: Remove the device-type.json state & name normalization [Thodoris Greasidis]
- BREAKING: Drop auth.getUserActorId in favor of auth.getActorId [Otávio Jacobi]
- auth: Add getActorId [Otávio Jacobi]
- BREAKING: Drop auth.getUserId in favor of auth.getUserInfo [Otávio Jacobi]
- BREAKING: Drop auth.getEmail in favor of auth.getUserInfo [Otávio Jacobi]
- auth: Add getUserInfo [Otávio Jacobi]
- BREAKING: Drop pre-Resin OS v1 device.os_version normalization [Thodoris Greasidis]
- BREAKING: Support non-user API keys in auth.isLoggedIn() & whoami() [Otávio Jacobi]
- BREAKING: Drop support to node < 16 [Otávio Jacobi]
- Fix pointing browser es2018 settings-client to the es2015 one [Thodoris Greasidis]
- Point browser bundlers to the appropriate handlebars entrypoint [Thodoris Greasidis]
- tests: Reduce the polyfills used in webpack [Thodoris Greasidis]
- Avoid loading balena-settings-client in browsers using the browser field [Thodoris Greasidis]
Add support for creating isolated in-memory instances [Thodoris Greasidis]
- Add support for isolated instances by passing dataDirectory: false [Thodoris Greasidis]
- Add multiple instance isolation tests [Thodoris Greasidis]
Update balena-request to 12.0.2 [Thodoris Greasidis]
- Make
url
a normal dependency [Thodoris Greasidis]Update dependenecies [Thodoris Greasidis]
Update balena-settings-storage to 8.0.0 [Thodoris Greasidis]
- virtual-storage: Use an object without a prototype as the store [Thodoris Greasidis]
- Specify a browser entry point [Thodoris Greasidis]
- Use es6 exports [Thodoris Greasidis]
- Update TypeScript to 5.1.6 [Thodoris Greasidis]
- Drop support for nodejs < 14 [Thodoris Greasidis]
- Update balena-errors from v4.7.1 to v4.7.3 [JSReds]
- Fix tests on node18 [Thodoris Greasidis]
- Replace balenaCI with flowzone [JSReds]
- Update dependencies [Thodoris Greasidis]
- Drop support for nodejs < 14 [Thodoris Greasidis]
- patch: Update flowzone.yml [Kyle Harding]
- Add a get2FAStatus() method [Thodoris Greasidis]
- Fix async tests not waiting for the result [Thodoris Greasidis]
- Delete redundant .resinci.yml [Thodoris Greasidis]
- Replace balenaCI with flowzone [Thodoris Greasidis]
- Update balena-auth to 5.0.0 & balena-request to 12.0.1 [Thodoris Greasidis]
- Use typescript via a devDependency rather than npx [Thodoris Greasidis]
- Update mockttp to 3.8.0 [Thodoris Greasidis]
- Update minimum node version to v14 [Kyle Harding]
- Update flowzone.yml [Kyle Harding]
- Delete redundant .resinci.yml [Thodoris Greasidis]
- Fix overriding the whole webpack resolve section of karma tests [Thodoris Greasidis]
- Fix key uniqueness check [Thodoris Greasidis]
- Convert the tests to TypeScript [Thodoris Greasidis]
- Fix karma browser tests in node 18 [Thodoris Greasidis]
- Specify the supported node engines in the package.json [Thodoris Greasidis]
- Replace balenaCI with flowzone [Thodoris Greasidis]
- Update balena-auth to 5.0.0 [Thodoris Greasidis]
- Update TypeScript to 5.1.6 [Thodoris Greasidis]
- Update mockttp to v3.8.0 [Thodoris Greasidis]
- Drop support for node < 14 [Thodoris Greasidis]
- Add querystring-es3 polyfill to fix browser tests [Thodoris Greasidis]
- tsconfig: Enable skipLibCheck to avoid mockttp nested dependency errors [Thodoris Greasidis]
- Update TypeScript to 4.9.5 [Thodoris Greasidis]
- patch: Update flowzone.yml [Kyle Harding]
- Update balena-errors to v4.7.3 [JSReds]
- Delete redundant .resinci.yml [Thodoris Greasidis]
- Fix overriding the whole webpack resolve section of karma tests [Thodoris Greasidis]
- Replace balenaCI with flowzone [Thodoris Greasidis]
- Fix tests in node 18 [Thodoris Greasidis]
- Specify the supported node engines in the package.json [Thodoris Greasidis]
- Fix the typings to properly mark the auth parameter as optional [Thodoris Greasidis]
- Update TypeScript to 4.8.3 [Thodoris Greasidis]
- Fix extracting the response error from object response bodies [Thodoris Greasidis]
- Drop explicit karma-chrome-launcher devDependency [Thodoris Greasidis]
- Use response error as response message if there is one [Matthew Yarmolinsky]
- Drop circle.yml [Thodoris Greasidis]
- Drop mochainon & bump karma [Thodoris Greasidis]
- Convert tests to JavaScript and drop coffeescript [Thodoris Greasidis]
- Fix the jsdoc generation [Thodoris Greasidis]
- Convert to typescript and publish typings [Thodoris Greasidis]
- Allow overriding the default zlib flush setting [Kyle Harding]
- Allow more lenient gzip decompression [Kyle Harding]
- Update fetch-ponyfill to v7 [Thodoris Greasidis]
- Switch to the versioned token refresh endpoint [Thodoris Greasidis]
- Prevent token refresh when no base url is provided [Thodoris Greasidis]
- Update balena-auth from 4.0.0 to 4.1.0 [josecoelho]
- Stop refreshing the token on absolute urls [Thodoris Greasidis]
- Add lazy loading for most modules [Pagan Gazzard]
- Fix body overwriting on nodejs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
- Fix tslib dependency [Pagan Gazzard]
- Fix passing baseUrl to refreshToken if the request uses an absolute url [Pagan Gazzard]
- service: Allow passing an application-service_name pair as a parameter [Thodoris Greasidis]
- device.serviceVar: Allow passing a service name as a parameter [Thodoris Greasidis]
- billing: Add
removeBillingInfo
method for removing billing info [myarmolinsky]
- deviceType.getBySlugOrName: Use a clearer var name in the docs example [Thodoris Greasidis]
- Add typings for the organization.is_frozen computed term [Thodoris Greasidis]
- application.create: Enable creating fleets with archived device types [myarmolinsky]
- Add
owns__credit_bundle
typing forOrganization
[myarmolinsky]
- Add typings for Credits Notifications [myarmolinsky]
- util: Simplify the listImagesFromTargetState helper [Thodoris Greasidis]
- Fix prettier complaining on windows runners [Thodoris Greasidis]
- deviceType.getInstructions: Improve the return type [Thodoris Greasidis]
- Fix browser tests now failing to find a polyfill for querystring [Thodoris Greasidis]
- os: Export the OsDownloadOptions type [Thodoris Greasidis]
- tsconfig: Allow noImplicitThis in the tests [Thodoris Greasidis]
- tsconfig: Switch to strict compilation to fix the 5.1 errors [Thodoris Greasidis]
- Update TypeScript to 5.1.3 [Thodoris Greasidis]
- Access other models internally via the shared current sdk instance [Thodoris Greasidis]
- Convert the remaining .js tests to .ts [Thodoris Greasidis]
- Extends batch device actions to accept arrays of full UUIDs [Thodoris Greasidis]
- device.startOsUpdate: Add support for providing an array of UUIDs [Thodoris Greasidis]
- Add 2fa tests [Otávio Jacobi]
Fix auth.twoFactor.isEnabled() regression returning always true [Thodoris Greasidis]
- Add a get2FAStatus() method [Thodoris Greasidis]
- Fix async tests not waiting for the result [Thodoris Greasidis]
- Delete redundant .resinci.yml [Thodoris Greasidis]
- Replace balenaCI with flowzone [Thodoris Greasidis]
- Add support to short uuid on device.serviceVar.set [Otávio Jacobi]
- Switch to a stricter request limiting queuing mode [Thodoris Greasidis]
- Drop the callback examples from the docs [Thodoris Greasidis]
- Add the requestLimit & requestLimitInterval options to the SDK factory [Thodoris Greasidis]
- Update dependencies [Thodoris Greasidis]
- Add a method to retrieve the supervisor image for a DT [Edwin Joassart]
- Add util to list images referenced in a target state v3 [Edwin Joassart]
- Add a method for retrieving an application's virtual device target supervisor state [Edwin Joassart]
- patch: Update flowzone.yml [Kyle Harding]
- Drop .hound.yml [Thodoris Greasidis]
- Update dependencies [Thodoris Greasidis]
- Update README.md [Thodoris Greasidis]
- Update to balena-sdk 17.0.0 [Thodoris Greasidis]
- Convert to typescript an emit type declarations [Thodoris Greasidis]
- Require es2019 capable runtime [Thodoris Greasidis]
- Drop support for Node.js v12 & v14 [Thodoris Greasidis]
- Delete redundant .resinci.yml [Thodoris Greasidis]
- Drop the .travis.yml [Thodoris Greasidis]
- Replace balenaCI with flowzone [Thodoris Greasidis]
- Update typescript to fix the tests [Thodoris Greasidis]
- Update README part for linting [Thodoris Greasidis]
- manager.get: Add 'options' to allow selection of OS development variant [Paulo Castro]
- resolveVersion: Use SDK v16 capability of sorting/filtering ESR versions [Paulo Castro]
Drop support for Node.js v10 and update balena-sdk to v16.8.0 [Paulo Castro]
- os.getConfig: Accept additional developmentMode configuration option [Thodoris Greasidis]
- os.download: Fix the inferred method typings [Thodoris Greasidis]
- os.download: Accept additional configuration options [Thodoris Greasidis]
- models.os: Use the native hostApp OS release version if it is set [Thodoris Greasidis]
- models.os: Deprecate OsVersion.rawVersion in favor or raw_version [Thodoris Greasidis]
- os.getAllOsVersions: Add support for invariant OS releases [Thodoris Greasidis]
- os.getMaxSatisfyingVersion: Add ">" semver range tests [Thodoris Greasidis]
- os.getMaxSatisfyingVersion: Add support for ESR releases [Thodoris Greasidis]
- application.getAppByName: Add 'directly_accessible' convenience filter [Thodoris Greasidis]
- FIx the return type of config.getConfigVarSchema() [Thodoris Greasidis]
- os.getAvailableOsVersions: Exclude draft and non-successful releases [Thodoris Greasidis]
- os.getAllOsVersions: Deprecate OsVersion.isRecommended [Thodoris Greasidis]
- os.getAllOsVersions: Deprecate OsVersion.formattedVersion [Thodoris Greasidis]
- Drop require-npm4-to-publish [Thodoris Greasidis]
- minor: Add Configuration Variables Schema method [Vipul Gupta (@vipulgupta2048)]
- Add description field to generateProvisioningKey for apps. [Nitish Agarwal]
- BREAKING: Merge the hostApp model into the OS model [Thodoris Greasidis]
- BREAKING Drop os.getSupportedVersions() method in favor of hostapp.getAvailableOsVersions() [Thodoris Greasidis]
- os.getMaxSatisfyingVersion: Add optional param to choose OS line type [Thodoris Greasidis]
- os.getMaxSatisfyingVersion: Include ESR versions [Thodoris Greasidis]
- os.getMaxSatisfyingVersion: Switch to use hostApps [Thodoris Greasidis]
- hostapp.getAvailableOsVersions: Add single device type argument overload [Thodoris Greasidis]
- hostapp.getAllOsVersions: Add single device type argument overload [Thodoris Greasidis]
- models.hostapp: Add a getAvailableOsVersions() convenience method [Thodoris Greasidis]
- Support optional extra PineOptions in hostapp.getAllOsVersions() [Thodoris Greasidis]
- BREAKING Include invalidated versions in hostapp.getAllOsVersions() [Thodoris Greasidis]
- models/application: Add getDirectlyAccessible & getAllDirectlyAccessible [Thodoris Greasidis]
- application.get: Add 'directly_accessible' convenience filter param [Thodoris Greasidis]
- application.getAll: Add 'directly_accessible' convenience filter param [Thodoris Greasidis]
- BREAKING Change application.getAll to include public apps [Thodoris Greasidis]
- BREAKING Drop targeting/retrieving apps by name in favor of slugs [Thodoris Greasidis]
- Bump minimum supported Typescript to v4.5.2 [Thodoris Greasidis]
- BREAKING: Stop actively supporting node 10 [Thodoris Greasidis]
- BREAKING Drop application.getAllWithDeviceServiceDetails() [Thodoris Greasidis]
- BREAKING Change apiKey.getAll() to return all key variants [Thodoris Greasidis]
- types: Drop is_in_local_mode from the Device model [Thodoris Greasidis]
- types: Drop user__is_member_of__application in favor of the term form [Thodoris Greasidis]
- typings: Drop Subscription's discounts__plan_addon property [Thodoris Greasidis]
- typings: Stop extending the JWTUser type in the User model [Thodoris Greasidis]
- models/config: Change the BETA device type state to NEW [Thodoris Greasidis]
- typings: Drop the PineWithSelectOnGet type [Thodoris Greasidis]
- Remove my_application from the supported resources [Thodoris Greasidis]
- typings: Properly type some Device properties [Thodoris Greasidis]
- typings: Drop the DeviceWithImageInstalls type [Thodoris Greasidis]
Update balena-request to 11.5.0 [Thodoris Greasidis]
- Convert tests to JavaScript and drop coffeescript [Thodoris Greasidis]
- Fix the jsdoc generation [Thodoris Greasidis]
- Convert to typescript and publish typings [Thodoris Greasidis]
- Fix the typings of the Image contract field [Thodoris Greasidis]
- Fix the typings for the Release contract field [Thodoris Greasidis]
- Add release setIsInvalidated function [Matthew Yarmolinsky]
- Update typescript to 4.5.2 [Thodoris Greasidis]
- models/release: Add note() method [Thodoris Greasidis]
- typings: Add the release.invalidation_reason property [Thodoris Greasidis]
- typings: Add the release.note property [Thodoris Greasidis]
- tests/logs: Increase the wait time for retrieving the subscribed logs [Thodoris Greasidis]
- tests/logs: Refactor to async-await [Thodoris Greasidis]
- typings: Fix $filters for resources with non numeric ids [Thodoris Greasidis]
- typings: Add application.can_use__application_as_host ReverseNavigation [Thodoris Greasidis]
- Add missing apiKey.getDeviceApiKeysByDevice docs [Thodoris Greasidis]
- models/api-key: Change update() & revoke() to work with all key variants [Thodoris Greasidis]
- models/apiKey: Add getDeviceApiKeysByDevice() method [Thodoris Greasidis]
- typings: Add the release.raw_version property [Thodoris Greasidis]
- application/create: Rely on the hostApps for detecting discontinued DTs [Thodoris Greasidis]
- tests/device: Async-await conversions & abstraction on multi-field tests [Thodoris Greasidis]
- tests: Register devices in chunks of 10 to avoid uuid conflicts in node [Thodoris Greasidis]
- Add known issue check on release isReccomanded logic [JSReds]
- Add known_issue_list to hostApp.getOsVersions() [JSReds]
- Add support for batch device supervisor updates [Thodoris Greasidis]
- Add support for batch device pinning to release [Thodoris Greasidis]
- auth.isLoggedIn: Treat BalenaExpiredToken errors as logged out indicator [Thodoris Greasidis]
- Convert application spec to TypeScript [Thodoris Greasidis]
- application.trackLatestRelease: Fix using draft/invalidated releases [Thodoris Greasidis]
- application.isTrackingLatestRelease: Exclude draft&invalidated releases [Thodoris Greasidis]
Update balena-request to v11.4.2 [Kyle Harding]
- Allow overriding the default zlib flush setting [Kyle Harding]
- os.getConfig: Add typings for the provisioningKeyName option [Nitish Agarwal]
- models/os: Always first normalize the device type slug [Thodoris Greasidis]
- Add release.finalize to promote draft releases to final [toochevere]
- typings: Drop the v5-model-only application_type.is_host_os [Thodoris Greasidis]
- os.getSupportedOsUpdateVersions: Use the hostApp releases [Thodoris Greasidis]
- os.download: Use the hostApp for finding the latest release [Thodoris Greasidis]
Update balena-request to 11.4.1 [Kyle Harding]
- Allow more lenient gzip decompression [Kyle Harding]
- Improve hostapp.getAllOsVersions performance & reduce fetched data [Thodoris Greasidis]
- Update typescript to 4.4.2 [Thodoris Greasidis]
- Deprecate the release.release_version property [Thodoris Greasidis]
- typings: Add the release versioning properties [Thodoris Greasidis]
- Run browser tests using the minified browser bundle [Thodoris Greasidis]
- Move to uglify-js to fix const assignment bug in minified build [Thodoris Greasidis]
- typings: Add the release.is_final & is_finalized_at__date properties [Thodoris Greasidis]
- apiKey.getAll: Return only NamedUserApiKeys for backwards compatibility [Thodoris Greasidis]
- Add email verification & email request methods [Nitish Agarwal]
- Update generateProvisioningKey to include keyName [Nitish Agarwal]
- typings: Add the subscription.is_active computed term [Thodoris Greasidis]
- typings: Add the organization_memebership.effective_seat_role field [Thodoris Greasidis]
- tests: Reduce the number of organizations created [Thodoris Greasidis]
- tests/api-key: Fix a race condition in the apiKey.create() tests [Thodoris Greasidis]
- Convert the apiKey tests to async-await [Thodoris Greasidis]
- models/apiKey: Add getProvisioningApiKeysByApplication() method [Nitish Agarwal]
- Delete CODEOWNERS [Thodoris Greasidis]
- Add organization__has_private_access_to__device_type typings [Thodoris Greasidis]
- typings: Add organization.has_past_due_invoice_since__date [Thodoris Greasidis]
- Add getAllNamedUserApiKeys() in the apiKey model [Thodoris Greasidis]
- Add missing modified_at in device type [JSReds]
- Fix lint with new linter version [JSReds]
- Update TypeScript to v4.3.2 [Thodoris Greasidis]
- Update balena-lint to v6 [Thodoris Greasidis]
- Add public device types [Tomás Migone]
- models/billing: Add changePlan method [Thodoris Greasidis]
- Update DOCUMENTATION about getAllWithDeviceServiceDetails deprecation [Thodoris Greasidis]
- Add public organization types [JSReds]
- Add is_of__class in application model [JSReds]
- Fix lint after prittier update [JSReds]
- Add missing types for the Service & Image resources [Thodoris Greasidis]
- release.getLatestByApplication: Fix the return type to be optional [Thodoris Greasidis]
- Deprecate application.getAllWithDeviceServiceDetails() [Thodoris Greasidis]
- Deprecate targeting/retrieving apps by name in all models [Thodoris Greasidis]
- Add application.getAppByName method [Thodoris Greasidis]
- Abstract & update device os info that are used in tests [Thodoris Greasidis]
- types: Deprecate Device is_in_local_mode property [Thodoris Greasidis]
- Deprecate user__is_member_of__application in favor of the term form [Thodoris Greasidis]
- types/models: Add
user_application_membership
to the User & Team [Thodoris Greasidis]
- types/modes: Deprecate Subscription's discounts__plan_addon property [Thodoris Greasidis]
- types/models: Add
subscription_addon_discount
to the Subscription [Thodoris Greasidis]
- Add the auth.getUserActorId() method [Thodoris Greasidis]
- models/application: Fix examples incorrectly showing a short device uuid [Thodoris Greasidis]
- Add application.get example using the application slug [Thodoris Greasidis]
- Refactor the resource get by field tests [Thodoris Greasidis]
- Manage lock overrides using the config variables instead of the endpoint [Thodoris Greasidis]
- Abstract the device lock override tests by id/uuid [Thodoris Greasidis]
- Fix type of contract fields that should be anyObject instead of object [Micah Halter]
- Update ndjson to 2.x [Pagan Gazzard]
- Update balena-request to 11.4.0 [Thodoris Greasidis]
- Added contract field to device type model [Micah Halter]
- Encapsulate the supervisor api methods into a partial [Thodoris Greasidis]
- Add device type model [JSReds]
- Bump typescript to 4.2 [Thodoris Greasidis]
- application.getAll: Use the new user__has_direct_access_to__application [Thodoris Greasidis]
- Support unique keys in organization.membership.changeRole() & remove() [Thodoris Greasidis]
- Support unique keys in application.membership.changeRole() & remove() [Thodoris Greasidis]
- tests: Remove all m.chai.expect repetitions [Thodoris Greasidis]
- Cleanup application.getAllWithDeviceServiceDetails tests [Thodoris Greasidis]
- tests: Refactor application.isTrackingLatestRelease to async await [Thodoris Greasidis]
- tests: Refactor application.willTrackNewReleases to async await [Thodoris Greasidis]
- types/models: Add the application uuid property [Thodoris Greasidis]
- tests/setup: Fix bug caused by setting bad release timestamps [Thodoris Greasidis]
- tests: Fix application.willTrackNewReleases missing tests [Thodoris Greasidis]
- Add application membership methods [JSReds]
- tests: Cleanup orgs & org memberships when resetting the user [Thodoris Greasidis]
- Remove the workaround for failing cascade deletes on deployFromUrl tests [Thodoris Greasidis]
- Refactor release.createFromUrl tests to async-await [Thodoris Greasidis]
- Run write release.createFromUrl() tests one by one [Thodoris Greasidis]
- tests: Workaround the failing cascade deletes for release.deployFromUrl [Thodoris Greasidis]
- Device: add public_address property [JSReds]
- Add methods for managing organization memberships [Thodoris Greasidis]
- tests: require an email appendage to avoid accidentally deleting accounts [Matthew McGinn]
- typings: Fix $filter errors for $any with the
1: 1
expression [Thodoris Greasidis]
- Fix bugs that custom typings were hiding [Thodoris Greasidis]
- Type all model method results [Thodoris Greasidis]
- Autogenerate typings [Thodoris Greasidis]
- typings: Reorganize the pinejs-client re-exports [Thodoris Greasidis]
- typings/pinejs-client: Provide the resource map as a generic argument [Thodoris Greasidis]
- tests: Simplify the setup helpers [Thodoris Greasidis]
- typings: Mark the my_application resource as deprecated [Thodoris Greasidis]
- typings: Add the
user has direct access to application
resource [Thodoris Greasidis]
- Refactor device.setSupervisorRelease tests to reduce the created devices [Thodoris Greasidis]
- supervisor-upgrades: limit to devices that support multicontainer [Matthew McGinn]
- typings: add missing
release_version
[Matthew McGinn]
- Add note about the test:fast npm script variant [Thodoris Greasidis]
- Properly throw Supervisor locked errors in all methods that should do so [Thodoris Greasidis]
- Fix device type typings and add to resource mapping [Stevche Radevski]
- Add missing typings for device type [Stevche Radevski]
- device: Add deactivate method [Marios Balamatsias]
- Add missing application and release typings [Stevche Radevski]
- Bump typescript to 4.1 [Thodoris Greasidis]
- typings: Deprecate PineWithSelectOnGet variant in favor of PineStrict [Thodoris Greasidis]
Update balena-auth from 4.0.2 to 4.1.0 [josecoelho]
- Update balena-auth from 4.0.0 to 4.1.0 [josecoelho]
- Add missing reverse navigation relations to User typings [Thodoris Greasidis]
- Add SDK methods for org invites [Amit Solanki]
- Modify the os update to check against hostapp release [Stevche Radevski]
- Prevent invalid $selects in strict pine.get variant calls [Thodoris Greasidis]
- Improve the parameter type checks for the fully typed pine.get [Thodoris Greasidis]
- Pass shouldFlatten through when creating release from url [Stevche Radevski]
- Time the test suites [Thodoris Greasidis]
- Combine test util files from before dropping coffeescript [Thodoris Greasidis]
- Application: add rename method [JSReds]
- tests/keys: Fix race condition [Thodoris Greasidis]
- tests/device: Combine some multicontainer app tests [Thodoris Greasidis]
- Remove some beforeEach() from the device tests [Thodoris Greasidis]
- Fix the device.setSupervisorRelease() tests [Thodoris Greasidis]
- Typings: Extend the supported billing cycles [Thodoris Greasidis]
- tests: Reduce the application creations & teardowns even further [Thodoris Greasidis]
- Login: add new error handling, update balena-errors [JSReds]
- tests: Reduce the application creations & teardowns [Thodoris Greasidis]
- tests: Use mocha.parallel to speed up the test cases [Thodoris Greasidis]
- tests: Remove some before/afterEach calls to speed up the tests [Thodoris Greasidis]
- tests: Test that the result of device.getDeviceSlug() is a string [Thodoris Greasidis]
- tests: Run device.getDeviceBySlug() calls in parallel to speed up tests [Thodoris Greasidis]
- tests/os: Drop unnecessary beforeEach in getConfig() [Thodoris Greasidis]
- tests/application: Fix incorrect skipping of unauthenticated tests [Thodoris Greasidis]
- typings: Make ReleaseWithImageDetails more accurate [Thodoris Greasidis]
- Fully type the pine.get results [Thodoris Greasidis]
- typings: Add the PineTypedResult helper type [Thodoris Greasidis]
- Typings: Add organization member relation to tags [Thodoris Greasidis]
- Add typings for pine.getOrCreate() [Thodoris Greasidis]
Bump balena-pine to add getOrCreate [Thodoris Greasidis]
Update pinejs-client-core to 6.9.0 to support getOrCreate() [Thodoris Greasidis]
- Add 'getOrCreate' method supporting natural keys [Thodoris Greasidis]
- Add support for $format [Pagan Gazzard]
- Improve $orderby typing to allow
[{a: 'desc'}, {b: 'asc'}]
[Pagan Gazzard]
- Update dev dependencies [Pagan Gazzard]
- Fix prepare $count typings [Pagan Gazzard]
- Improve typings for request/post/put/patch/delete [Pagan Gazzard]
- Add mocha tests specific linting [Thodoris Greasidis]
- Auto-fix lint errors with the test:fast script [Thodoris Greasidis]
- Add linting checks back to the test script [Thodoris Greasidis]
- Add a hostapps model for fetching OS versions [Stevche Radevski]
- tests: Convert the device.getMACAddress tests to async await [Thodoris Greasidis]
- Add methods for managing organization membership tags [Thodoris Greasidis]
- tests: Support testing tags with two word names [Thodoris Greasidis]
- Add the models.device.getMetrics method [Thodoris Greasidis]
- Add the device metric related fields [Thodoris Greasidis]
- Add methods for retrieving organization memberships [Thodoris Greasidis]
- Remove invite by username example [Amit Solanki]
- Workaround a regression in lodash typings for throttle() [Thodoris Greasidis]
- tests: Prevent callback support tests from hanging when failing [Thodoris Greasidis]
- Add missing balena-request typings for the refreshToken method [Thodoris Greasidis]
- Combine the two device model files [Thodoris Greasidis]
- Add methods to enable, verify & disable 2fa [Thodoris Greasidis]
- Improve $orderby typing to allow
[{a: 'desc'}, {b: 'asc'}]
[Pagan Gazzard]
- Document how to use with pkg [Thodoris Greasidis]
- Use a more semantic parameter name for device.getDeviceSlug [Thodoris Greasidis]
- tests: Update the tests for the new maximum application name size [Thodoris Greasidis]
- typings: Fix nested $count support in the strict pine variant [Thodoris Greasidis]
- Update TypeScript to 4.0 [Thodoris Greasidis]
Bump balena-request to fix breaking user's stored token on token refresh [Thodoris Greasidis]
- Stop refreshing the token on absolute urls [Thodoris Greasidis]
Update balena-pine and add custom typings for prepare/subscribe [Pagan Gazzard]
Update pinejs-client-core to 6.6.1 [Pagan Gazzard]
- Fix typing when id is specified to be
AnyObject | undefined
[Pagan Gazzard]
- Deprecate
$expand: { 'a/$count': {...} }
[Pagan Gazzard]- Deprecate
resource: 'a/$count'
and update typings to reflect it [Pagan Gazzard]
- Add
options: { $count: { ... } }
sugar for top level $count [Pagan Gazzard]- Add
$expand: { a: { $count: { ... } } }
sugar for $count in expands [Pagan Gazzard]
- Improve return typing of
subscribe
method [Pagan Gazzard]
- Fix Poll.on typings [Pagan Gazzard]
- Improve return typing when id is passed to GET methods [Pagan Gazzard]
- Remove
PromiseResult
type, usePromise<PromiseResultTypes>
instead [Pagan Gazzard]- Remove
PromiseObj
type, usePromise<{}>
instead [Pagan Gazzard]
- Add
$filter: { a: { $count: 1 } }
sugar for $count in filters [Pagan Gazzard]
- Remove redundant ParamsObj/SubscribeParamsObj types [Pagan Gazzard]
- Make use of
mapObj
helper in more places [Pagan Gazzard]- Use
Object.keys
in preference tohasOwnProperty
where applicable [Pagan Gazzard]
- Split the User resource & JWT interfaces [Thodoris Greasidis]
- Fix pine.get with id result type to include undefined [Thodoris Greasidis]
- Add a few missing explicit field $selects [Thodoris Greasidis]
- Convert index.js to typescript [Pagan Gazzard]
- Convert dependent-resource.js to typescript [Pagan Gazzard]
- Convert device.js to typescript [Pagan Gazzard]
- Convert application.js to typescript [Pagan Gazzard]
- Convert settings.js to typescript [Pagan Gazzard]
- Convert logs.js to typescript [Pagan Gazzard]
- Convert config.js to typescript [Pagan Gazzard]
- Export utils.isESR function for balena-cli use [Paulo Castro]
- Add support for balenaOS ESR versions [Paulo Castro]
- Prevent the cacheStream from closing the other passthrough [Kyle Harding]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
Update balena-sdk to 15.x [Pagan Gazzard]
- Convert majority to async/await [Pagan Gazzard]
- device: add method to update target supervisor release [Matthew McGinn]
- Deduplicate device update methods [Pagan Gazzard]
Update balena-pine to add support for and make use of named keys [Pagan Gazzard]
Update pinejs-client-core [Pagan Gazzard]
- Add support for using named ids [Pagan Gazzard]
- Add lazy loading for most modules [Pagan Gazzard]
- typings: Fix the PineWithSelect & related type helpers [Thodoris Greasidis]
- typings: Use the native TypeScript Omit type helper [Thodoris Greasidis]
- Fix code snippet for initializing balena-sdk [Vipul Gupta (@vipulgupta2048)]
- Fix SupportTier/includes__SLA typing [Pagan Gazzard]
- BREAKING Export setSharedOptions & fromSharedOptions separately [Thodoris Greasidis]
- BREAKING Export as an ES6 module [Thodoris Greasidis]
Update dependencies and switch all returned promises to native promises [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
- Explicitly add tslib dependency [Pagan Gazzard]
- Update to balena-settings-storage 6.x [Pagan Gazzard]
- Update target to es2015 [Pagan Gazzard]
- Switch to native promises [Pagan Gazzard]
- Enable strict type checking [Pagan Gazzard]
- Specify node 10+ [Pagan Gazzard]
- Switch to @balena/lint for linting [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
- Update balena-auth to 4.x and balena-request to 11.x [Pagan Gazzard]
- Use typescript import helpers [Pagan Gazzard]
- Stop actively supporting node 8 [Thodoris Greasidis]
- Convert to async await [Thodoris Greasidis]
- Add balenaCI repo.yml [Thodoris Greasidis]
- karma.conf.js: Combine declaration & assignment of karmaConfig [Thodoris Greasidis]
- Bump @balena/lint to v5 [Thodoris Greasidis]
- Drop getPine() in favor of an es6 export of the BalenaPine class [Thodoris Greasidis]
- Drop the API_PREFIX property in favor of the apiPrefix [Thodoris Greasidis]
- Bump to pinejs-client v6 which requires es2015 & drops Bluebird promises [Thodoris Greasidis]
- Convert karma.conf to js [Thodoris Greasidis]
- Bump balena-config-karma to v3 [Thodoris Greasidis]
- Switch from randomstring to uuid for generating device uuids [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
- Convert to type checked javascript [Pagan Gazzard]
- Drop callback interface in favor of promise interface [Pagan Gazzard]
- Switch to a named export [Pagan Gazzard]
- Convert to typescript [Pagan Gazzard]
- Update to typed-error 3.x [Pagan Gazzard]
- Switch to returning native promises [Pagan Gazzard]
- Update to balena-request 11.x [Pagan Gazzard]
- Use typescript import helpers [Pagan Gazzard]
- Export ApiError [Cameron Diver]
- Convert tests to js [Thodoris Greasidis]
- Install typed-error v2 [Cameron Diver]
- Extend API exception to include full response object [Miguel Casqueira]
- Update mocha to fix node v12 deprecation warning [Thodoris Greasidis]
- Fix body overwriting on nodejs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
- Fix tslib dependency [Pagan Gazzard]
- Fix passing baseUrl to refreshToken if the request uses an absolute url [Pagan Gazzard]
- Convert to type checked javascript [Pagan Gazzard]
- Switch to returning native promises [Pagan Gazzard]
- Drop support for nodejs < 10 [Pagan Gazzard]
- Update balena-auth to 4.x [Pagan Gazzard]
- Remove rindle dependency [Pagan Gazzard]
- Update fetch-ponyfill to 6.x [Pagan Gazzard]
- Remove proxy tests as global-tunnel-ng only supports nodejs < 10.16.0 [Pagan Gazzard]
- Switch to a named export [Pagan Gazzard]
- Use typescript import helpers [Pagan Gazzard]
- Bump balena-config-karma & convert karma.conf.coffee to js [Thodoris Greasidis]
- Change the browser request timeout error to be consistent with node [Thodoris Greasidis]
- BREAKING billing: Make the organization parameter fist & required [Thodoris Greasidis]
- DeviceWithServiceDetails: preserve the image_install & gateway_downloads [Thodoris Greasidis]
- typings: Deprecate DeviceWithImageInstalls in favor of the Device type [Thodoris Greasidis]
- Fix is_private typings for device type [Stevche Radevski]
- Add an organization parameter to all billing methods [Thodoris Greasidis]
- typings: Add ApplicationHostedOnApplication [Thodoris Greasidis]
- typings Add RecoveryTwoFactor [Thodoris Greasidis]
- Tests: remove bluebird usage [Pagan Gazzard]
- tests/integration/setup: Convert to TypeScript [Thodoris Greasidis]
- typings/ImageInstall: Deprecate the image field [Thodoris Greasidis]
- typings/ImageInstall: Add the
installs__image
field [Thodoris Greasidis]- typings: Add typings for the ReleaseImage [Thodoris Greasidis]
- typings/ImageInstall: Add the missing device property [Thodoris Greasidis]
- Convert all remaining tests away from coffeescript [Pagan Gazzard]
- Tests: improve typing for access to private SDK os methods [Pagan Gazzard]
- Tests: improve typing of tag helpers [Pagan Gazzard]
- Tests: import BalenaSDK types directly [Pagan Gazzard]
- Tests: merge multiple application deletions into a single call [Pagan Gazzard]
- Improve typings for
sdk.pine.post
[Pagan Gazzard]- Improve typings for
sdk.request
[Pagan Gazzard]- Improve typings for
models.device.getOsVersion
[Pagan Gazzard]- Improve typings for
models.device.lastOnline
[Pagan Gazzard]- Fix typings for
models.device.getMACAddresses
[Pagan Gazzard]- Fix typings for
models.device.getLocalIPAddresses
[Pagan Gazzard]- Add typings for
models.application.getDashboardUrl
[Pagan Gazzard]- Device model: last_connectivity_event and os_version can be null [Pagan Gazzard]
- Improve typings for
models.device.getLocalModeSupport
[Pagan Gazzard]
- Minimize bluebird sugar usage [Pagan Gazzard]
- Add type checking for tests [Pagan Gazzard]
- Tests: cache device type lookup [Pagan Gazzard]
- typings: Export pine variant w/ a mandatory $select on get requests [Thodoris Greasidis]
- Remove
this.skip
usage as a faster workaround to afterEach skipping [Pagan Gazzard]
- Improve internal typings by avoiding some
any
cases [Pagan Gazzard]
- Include typings for all lazy loaded requires [Pagan Gazzard]
- Simplify balena-request custom typings [Pagan Gazzard]
- Use import type for declaration imports [Pagan Gazzard]
- Simplify balena-pine custom typings [Pagan Gazzard]
- Import balena-sdk type declarations via import type and not direct path [Pagan Gazzard]
- Use typescript import helpers [Pagan Gazzard]
- Drop dtslint in favor of plain @ts-expect-error [Thodoris Greasidis]
- Enable strict checks for the typing tests [Thodoris Greasidis]
- Standardize bluebird naming as
Bluebird
[Pagan Gazzard]
- Avoid $ExpectType b/c of issues with TS 3.9.6 [Thodoris Greasidis]
- model: Add build_environment_variable [Rich Bayliss]
- Add typings for plans & subscriptions [Thodoris Greasidis]
- Fix fs.promises reference [Pagan Gazzard]
- Switch to returning native promises [Pagan Gazzard]
- Update to balena-sdk 14.x [Pagan Gazzard]
- Update to generating es2018 [Pagan Gazzard]
- Convert to type-checked javascript [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Update dependencies and repo links [Pagan Gazzard]
- .travis.yml: Limit testing up to node v10 since gulp doesn't work on v12 [Thodoris Greasidis]
- Bump balena-sdk to v12.12.0 to stop using image maker endpoints [Thodoris Greasidis]
- Drop support for Node 4 [Tim Perry]
- Rename everything 'resin' to 'balena' [Tim Perry]
- Ensure that .get for a specific version always uses exactly that version, as long as exists, even if there are other equivalent options.
- BREAKING: Upgrade to resin-sdk using fromSharedOptions. Configuration should now be set using resinSdk.setSharedOptions, not using resin-settings.
4.1.2 - 2017-10-05
- Don't persist downloads to cache until they complete
4.1.1 - 2017-04-03
- Add basic support for new ResinOS version format to fix
resin-cli
issues.
4.1.0 - 2017-03-23
- Slightly improved docs
- Added support for OS versions (defaults to
latest
which is backward-compatible)
4.0.2 - 2017-01-25
- Moved to resin-sdk-preconfigured
4.0.1 - 2016-06-21
- Upgrade
resin-sdk
to v5.3.3.
4.0.0 - 2016-01-26
- Use
Last-Modified
header to manage cache expiration.
- Remove
.pipeTemporal()
.
3.2.6 - 2016-01-21
- Upgrade
resin-sdk
to v5.0.1. - Change license to Apache 2.0.
3.2.5 - 2015-12-06
3.2.4 - 2015-12-04
- Omit tests from NPM package.
3.2.3 - 2015-11-24
- Upgrade Resin SDK to v4.0.0.
3.2.2 - 2015-09-07
- Upgrade Resin SDK to v2.7.2.
3.2.1 - 2015-09-04
- Fix issue with image not being fetched from the cache.
3.2.0 - 2015-08-26
- Implement
manager.pipeTemporal()
- Preserve
mime
property when fetching image from the cache.
3.1.3 - 2015-08-26
- Fix issue that prevented stream
mime
property to be propagated to the client.
3.1.2 - 2015-08-25
- Upgrade Resin SDK to v2.6.1.
3.1.1 - 2015-08-24
- Fix issue that caused the client to not receive any stream data if reading after a slight timeout.
- Fix issue that prevented stream
length
property to be propagated to the client.
3.1.0 - 2015-08-21
- Correctly mock os parameters for different device types.
- Fix issue when piping the same stream to both the cache and the client .
- Upgrade Resin SDK to v2.4.1.
- Fix unit tests failing because of unmocked
GET /whoami
endpoint.
3.0.0 - 2015-07-01
- Implement
manager.cleanCache()
. - Read settings from
resin-settings-client
.
- Implement
manager.get()
using streams. - Improve documentation
- Remove
manager.configure()
.
2.0.0 - 2015-06-05
- Upgrade resin-config-inject to v3.0.0, which reads/writes to FAT partitions.
1.1.0 - 2015-05-20
- Implement manager.configure().