balena-cli
Version:
The official balena Command Line Interface
1,722 lines (1,318 loc) • 321 kB
Markdown
# 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](http://semver.org/).
## 23.2.14 - 2025-12-30
* Use the device.is_connected_to_vpn field for device actions, ssh & tunnel checks [Thodoris Greasidis]
<details>
<summary> Update balena-sdk to 22.4.5 [Thodoris Greasidis] </summary>
> ### balena-sdk-22.4.5 - 2025-12-29
>
> * Use the device.is_connected_to_vpn instead of is_online where possible [Thodoris Greasidis]
>
> ### balena-sdk-22.4.4 - 2025-12-22
>
> * Drop gulp from the dev dependencies [Thodoris Greasidis]
> * Update @balena/lint to 9.3.12 [Thodoris Greasidis]
> * tests: Type fixes for newer pinejs-client-core version [Thodoris Greasidis]
>
> ### balena-sdk-22.4.3 - 2025-11-24
>
> * Update actions/setup-node action to v6 [balena-renovate[bot]]
>
> ### balena-sdk-22.4.2 - 2025-11-24
>
> * Update sinon to v20 [balena-renovate[bot]]
>
</details>
## 23.2.13 - 2025-12-29
<details>
<summary> Update docker-progress to 5.4.0 [Thodoris Greasidis] </summary>
> ### docker-progress-5.4.0 - 2025-12-03
>
> * pull/push/build: Support detecting the result digest when pushing only the reference of a pre-built image [Thodoris Greasidis]
>
> ### docker-progress-5.3.4 - 2025-12-03
>
> * pull: fix digest hash parsing [Tuetuopay]
>
> ### docker-progress-5.3.3 - 2025-11-28
>
> * Update flowzone workflow to allow external contributions [Thodoris Greasidis]
>
> ### docker-progress-5.3.2 - 2025-11-28
>
> * Fix TS errors for the latest dockerode [Thodoris Greasidis]
>
> ### docker-progress-5.3.1 - 2025-05-15
>
> * Make abortSignal optional in pull/push options [Felipe Lalanne]
>
> ### docker-progress-5.3.0 - 2025-05-12
>
> * Support AbortSignal option for image push/pull [Christina Ying Wang]
>
> ### docker-progress-5.2.7 - 2025-04-10
>
> * Update @balena/lint to 9.x [Pagan Gazzard]
>
> ### docker-progress-5.2.6 - 2025-04-02
>
> * Update dependency rimraf to v6 [balena-renovate[bot]]
>
> ### docker-progress-5.2.5 - 2025-03-25
>
> * Update dependency @balena/lint to v8 [balena-renovate[bot]]
>
> ### docker-progress-5.2.4 - 2025-02-12
>
> * Propagate NodeJS Error from stream directly [Christina Ying Wang]
>
> ### docker-progress-5.2.3 - 2024-01-05
>
> * Make use of nullish coalescing [Pagan Gazzard]
>
> ### docker-progress-5.2.2 - 2024-01-05
>
> * Reduce lodash usage [Pagan Gazzard]
>
> ### docker-progress-5.2.1 - 2024-01-05
>
> * Update dependencies [Pagan Gazzard]
>
> ### docker-progress-5.2.0 - Invalid date
>
> * Add support for tracking delta generation progress [Akis Kesoglou]
>
> ### docker-progress-5.1.4 - Invalid date
>
> * Build with Flowzone [Akis Kesoglou]
>
</details>
## 23.2.12 - 2025-12-29
* Update oclif from 4.22.0 to 4.22.61 [Otavio Jacobi]
## 23.2.11 - 2025-12-15
* Update aws-actions/configure-aws-credentials action to v5 [balena-renovate[bot]]
## 23.2.10 - 2025-12-12
* Update apple-actions/import-codesign-certs action to v5 [balena-renovate[bot]]
## 23.2.9 - 2025-12-12
* Fix Node.js 22+ JSON import error by using require() [Kyle Harding]
* renovate: Only run npm dedupe for github-actions updates [Kyle Harding]
## 23.2.8 - 2025-12-08
* Add test for os configure --config using secureboot [Thodoris Greasidis]
* os configure, device init: Validate that the config.json's installer.secureboot is a boolean when set [Thodoris Greasidis]
## 23.2.7 - 2025-12-08
* Update @balena/lint to 9.3.7 to support async disposables [Thodoris Greasidis]
* Add tests for os configure --config [Thodoris Greasidis]
* os configure: Fix asking interactive questions when --config is used [Thodoris Greasidis]
## 23.2.6 - 2025-12-05
* Update apple-actions/import-codesign-certs action to v3 [balena-renovate[bot]]
## 23.2.5 - 2025-12-05
<details>
<summary> os configure: Fix detecting the OS version of flasher images [Thodoris Greasidis] </summary>
> ### balena-device-init-8.2.0 - 2025-12-03
>
> * Add test for the getImageOsVersion() function on GPT flasher images [Thodoris Greasidis]
> * Deprecate support for the edison [Thodoris Greasidis]
> * getImageOsVersion: Support detecting the version on flasher images [Thodoris Greasidis]
> * Add test for the getImageOsVersion() function on raw DT images [Thodoris Greasidis]
> * tests/images/raspberrypi-os2.img: Rename the RESIN-BOOT partition to resin-boot as it is supposed to be [Thodoris Greasidis]
>
</details>
## 23.2.4 - 2025-12-03
* Update GitHub Actions [balena-renovate[bot]]
## 23.2.3 - 2025-12-03
* Lock file maintenance [balena-renovate[bot]]
## 23.2.2 - 2025-12-02
* Update actions/download-artifact action to v6 [balena-renovate[bot]]
## 23.2.1 - 2025-12-02
* tests/os/configure.spec: Abstract the temp image creation and cleanup [Thodoris Greasidis]
## 23.2.0 - 2025-11-21
* Include sub-commands in --help [Thodoris Greasidis]
## 23.1.4 - 2025-11-20
* Remove the oclif/core patches in favor oclif overrides & customization [Thodoris Greasidis]
## 23.1.3 - 2025-11-19
* Fix `version` and `autocomplete` commands not working in offline mode [Matthew Yarmolinsky]
## 23.1.2 - 2025-11-19
* push,build: Use streaming while packing the build context files [Thodoris Greasidis]
## 23.1.1 - 2025-11-18
* Drop some usage of lodash in favor of native equivalents [Matthew Yarmolinsky]
## 23.1.0 - 2025-11-18
<details>
<summary> device os-update: Add support for HUPing ESR devices [Thodoris Greasidis] </summary>
> ### balena-sdk-22.4.1 - 2025-11-13
>
> * Replace some lodash usage with native JS alternatives [Matthew Yarmolinsky]
>
> ### balena-sdk-22.4.0 - 2025-11-13
>
> * os.getSupportedOsUpdateVersions: List ESR versions when an ESR version is provided & no osType is specified [Thodoris Greasidis]
>
> ### balena-sdk-22.3.1 - 2025-11-13
>
> * Stop using Browserify in favor of Webpack [Thodoris Greasidis]
>
> ### balena-sdk-22.3.0 - 2025-11-11
>
> * os.getSupportedOsUpdateVersions: Add support for including ESR versions [Thodoris Greasidis]
> * tsconfig: Remove trailing comma so that it is a be a valid JSON [Thodoris Greasidis]
> * os.getSupportedOsUpdateVersions: Replace an Array.filter with Array.find [Thodoris Greasidis]
>
> ### balena-sdk-22.2.2 - 2025-11-11
>
> * Deprecate the device.lastOnline method [Thodoris Greasidis]
> * Reduce the usage of date-fns [Thodoris Greasidis]
>
> ### balena-sdk-22.2.1 - 2025-11-07
>
>
> <details>
> <summary> Update pinejs-client-core to 8.4.0 [Pagan Gazzard] </summary>
>
>> #### pinejs-client-js-8.4.0 - 2025-10-10
>>
>> * Add a `StatusError` class that downstream is expected to use for errors [Pagan Gazzard]
>>
>> #### pinejs-client-js-8.3.3 - 2025-10-10
>>
>> * Types: make use of inference for some simplification [Pagan Gazzard]
>>
>> #### pinejs-client-js-8.3.2 - 2025-09-03
>>
>> * Improve typing of the `$: 'prop_name'` case [Pagan Gazzard]
>>
>> #### pinejs-client-js-8.3.1 - 2025-08-01
>>
>> * Update dependencies [Pagan Gazzard]
>>
>
> </details>
>
>
> ### balena-sdk-22.2.0 - 2025-10-29
>
> * temporarily disable logs subscription test and adapt builder test [Andrea Rosci]
> * fix: prevent linter from suggesting incorrect optional chaining comparison [Andrea Rosci]
> * deprecate `current_services` in favour of `current_services_by_app` [Andrea Rosci]
> * add `current_services_by_app` to group services by application; deprecate `current_services` [Andrea Rosci]
>
</details>
## 23.0.1 - 2025-11-18
* Use nullish coalescing [Christina Ying Wang]
## 23.0.0 - 2025-11-17
* Fix lzma-native build on node24 on Linux ARM runners [Thodoris Greasidis]
* device note: Drop the --dev flag in favor of the standardize --device [Thodoris Greasidis]
* device init: Fix node DEP0190 deprecation warning [Thodoris Greasidis]
* Drop support for node <24.11.0 [Thodoris Greasidis]
* config generate: Drop the deprecated no-op '--generate-device-api-key' flag [Thodoris Greasidis]
* os configure: Use oclif relations to enforce --device-type dependency on --fleet [Thodoris Greasidis]
* os configure: Add tests for how flags are allowed to be combined [Thodoris Greasidis]
* Drop all deprecated aliases [Matthew Yarmolinsky]
* Use oclif's native json support instead of manually adding it [Matthew Yarmolinsky]
* Replace manual completion generation with `@oclif/plugin-autocomplete` [Matthew Yarmolinsky]
* Replace custom `version` command with `@oclif/plugin-version` [Matthew Yarmolinsky]
* device init: Make --config incompatible with all other flags other than --drive --version & --yes [Thodoris Greasidis]
* device init: Validate that the provided config file paths exist [Thodoris Greasidis]
* os configure: Make --config incompatible with all other flags other than --system-connection [Thodoris Greasidis]
* os configure, os initialize: Fail when a device-type.json can't be detected in the provided image [Thodoris Greasidis]
* os configure: Drop the --version flag & fail when the image version can't be detected [Thodoris Greasidis]
* Drop the 'balena os build-config' command in favor of `balena config generate' [Thodoris Greasidis]
* release: Include the build_log in the --json results [Thodoris Greasidis]
* release: Replace the semver field with raw_vesrion [Thodoris Greasidis]
* release list: Replace the semver field with raw_vesrion [Thodoris Greasidis]
## 22.5.5 - 2025-11-14
* Update actions/setup-python action to v6 [balena-renovate[bot]]
## 22.5.4 - 2025-11-14
* renovate: Clean node_modules and npm cache before dedupe [Kyle Harding]
## 22.5.3 - 2025-11-13
* Update actions/setup-node action to v6 [balena-renovate[bot]]
## 22.5.2 - 2025-11-13
* Update GitHub Artifact Actions to v5 [balena-renovate[bot]]
## 22.5.1 - 2025-11-13
* Run npm install and npm dedupe after any package update [Kyle Harding]
## 22.5.0 - 2025-11-12
* feat: add update command [Otavio Jacobi]
## 22.4.17 - 2025-11-11
* Build with macos-15-intel as macos-13 is deprecated [Otavio Jacobi]
## 22.4.16 - 2025-10-30
* ssh,tunnel: Fix retrieving the online devices ordered by name [Thodoris Greasidis]
## 22.4.15 - 2025-10-21
* Remove a patch to @oclif/core [Matthew Yarmolinsky]
* Update @oclif/core [Matthew Yarmolinsky]
## 22.4.14 - 2025-10-17
* Remove unused api mock for version command [Otavio Jacobi]
## 22.4.13 - 2025-10-14
* Bump @sentry/node to v10 [Otavio Jacobi]
## 22.4.12 - 2025-10-13
* Remove all references to removed `pkg` bundle method [Otavio Jacobi]
## 22.4.11 - 2025-10-10
* Switch runtime uses of `mkdirp` to use the native equivalent [Pagan Gazzard]
## 22.4.10 - 2025-10-09
* Build with node 22.20.0 [Otavio Jacobi]
## 22.4.9 - 2025-09-25
<details>
<summary> Update balena-device-init to 8.1.14 [Thodoris Greasidis] </summary>
> ### balena-device-init-8.1.14 - 2025-09-24
>
>
> <details>
> <summary> Update resin-device-operations to 4.0.0 [Thodoris Greasidis] </summary>
>
>> #### resin-device-operations-4.0.0 - 2025-09-23
>>
>>
>> <details>
>> <summary> Update rindle to 3.0.0 [Thodoris Greasidis] </summary>
>>
>>> ##### rindle-3.0.0 - 2025-09-23
>>>
>>> * Update jsdoc-to-markdown to v9 and regenerate the README [Thodoris Greasidis]
>>> * Drop the getStreamFromString method [Thodoris Greasidis]
>>>
>>> ##### rindle-2.0.0 - 2025-09-22
>>>
>>> * Drop Bluebird in favor of native Promises [Thodoris Greasidis]
>>> * Drop support for callbacks in favor of Promises [Thodoris Greasidis]
>>> * Drop support for nodejs < 20 [Thodoris Greasidis]
>>> * Block the creation of package-lock.json [Thodoris Greasidis]
>>> * Replace balenaCI with flowzone [Thodoris Greasidis]
>>> * Drop no longer used hound, travis & appveyor ymls [Thodoris Greasidis]
>>>
>>> ##### rindle-1.3.6 - 2020-04-21
>>>
>>> * Remove lodash dependency [Pagan Gazzard]
>>>
>>> ##### rindle-1.3.5 - 2020-04-20
>>>
>>> * Update to gulp 4 [Pagan Gazzard]
>>> * Switch to balena-lint for linting [Pagan Gazzard]
>>>
>>> ##### rindle-1.3.4 - Invalid date
>>>
>>> * Should import lodash methods independently to reduce bundle size [Thodoris Greasidis]
>>>
>>> ##### rindle-1.3.3 - Invalid date
>>>
>>> * tests: Fix missing semicolon warning [Thodoris Greasidis]
>>>
>>> ##### rindle-1.3.2 - 2019-01-29
>>>
>>> * travis: Drop 0.x node workers in favor of v6, 8, 10 [Thodoris Greasidis]
>>> * Change license to Apache 2.0 [Thodoris Greasidis]
>>> * Update bluebird and lodash to their latest versions [Pagan Gazzard]
>>> * Fix tests with the latest version of string-to-stream [Pagan Gazzard]
>>>
>>
>> </details>
>>
>> * Fix execute().on() not allowing chaining when binding 'end' on an operation that has finished [Thodoris Greasidis]
>> * Switch to async await and drop Bluebird [Thodoris Greasidis]
>>
>> <details>
>> <summary> Update balena-image-fs from 7.0.6 to 7.5.3 [Thodoris Greasidis] </summary>
>>
>>> ##### balena-image-fs-7.5.3 - 2025-04-09
>>>
>>> * Update dependency mocha to v11 [balena-renovate[bot]]
>>>
>>> ##### balena-image-fs-7.5.2 - 2025-04-02
>>>
>>> * Update dependency jsdoc-to-markdown to v9 [balena-renovate[bot]]
>>>
>>> ##### balena-image-fs-7.5.1 - 2025-03-26
>>>
>>> * Update @balena/lint to v9 [Thodoris Greasidis]
>>> * Remove the no longer needed gpt detection helper [Thodoris Greasidis]
>>> * Update TypeScript to 5.8.2 [Thodoris Greasidis]
>>> * Drop the package-lock.json [Thodoris Greasidis]
>>>
>>> ##### balena-image-fs-7.5.0 - 2025-03-26
>>>
>>> * Add function to find a partition by name/label [Ken Bannister]
>>>
>>> ##### balena-image-fs-7.4.1 - 2025-02-21
>>>
>>> * bump ext2fs to 4.2.4 [Ryan Cooke]
>>>
>>> ##### balena-image-fs-7.4.0 - 2025-01-27
>>>
>>> * Add getLabel() to retrieve filesystem label [Ken Bannister]
>>>
>>> ##### balena-image-fs-7.3.0 - 2025-01-06
>>>
>>> * Drop Bluebird from devDependencies [Thodoris Greasidis]
>>> * flowzone: Remove empty with clause [Thodoris Greasidis]
>>> * Add the promises namespace as part of the exposed fs [Thodoris Greasidis]
>>>
>>> ##### balena-image-fs-7.2.2 - 2024-01-02
>>>
>>> * Update dependency @types/node to v20 [Self-hosted Renovate Bot]
>>>
>>> ##### balena-image-fs-7.2.1 - 2023-12-19
>>>
>>> * Remove repo config from flowzone.yml [Kyle Harding]
>>>
>>> ##### balena-image-fs-7.2.0 - 2023-01-20
>>>
>>> * Add support for Node 18 [Akis Kesoglou]
>>>
>>> ##### balena-image-fs-7.1.2 - 2023-01-05
>>>
>>> * Update dependencies [ab77]
>>>
>>> ##### balena-image-fs-7.1.1 - 2022-12-20
>>>
>>> * Update dependency jsdoc-to-markdown to 8.0.0 [Renovate Bot]
>>>
>>> ##### balena-image-fs-7.1.0 - 2022-12-13
>>>
>>> * update dependencies [Zane Hitchcox]
>>>
>>
>> </details>
>>
>> * Convert to TypeScript and es module exports [Thodoris Greasidis]
>> * Switch target to es2018 [Thodoris Greasidis]
>> * Drop hound, travis & appveyor ymls [Thodoris Greasidis]
>>
>> #### resin-device-operations-3.0.1 - 2025-09-22
>>
>> * Lint tests [Thodoris Greasidis]
>> * Convert tests to TypeScript [Thodoris Greasidis]
>>
>
> </details>
>
> * Update reconfix to 1.0.1 [Thodoris Greasidis]
> * Drop not used string-to-stream dependency [Thodoris Greasidis]
>
> ### balena-device-init-8.1.13 - 2025-09-22
>
>
> <details>
> <summary> Update balena-semver to 3.0.10 [Thodoris Greasidis] </summary>
>
>> #### balena-semver-3.0.10 - 2025-08-22
>>
>> * Simplify automation of tests/docs by using the mocha cli [Pagan Gazzard]
>> * Improve readability of README examples [Pagan Gazzard]
>> * Enable linting for automation scripts [Pagan Gazzard]
>>
>> #### balena-semver-3.0.9 - 2025-08-22
>>
>> * Switch tsconfig module to `Node16`, remaining as commonjs [Pagan Gazzard]
>>
>> #### balena-semver-3.0.8 - 2025-08-22
>>
>> * Update dependencies [Pagan Gazzard]
>>
>> #### balena-semver-3.0.7 - 2025-06-07
>>
>> * Update dependency lint-staged to v16 [balena-renovate[bot]]
>>
>> #### balena-semver-3.0.6 - 2025-04-09
>>
>> * Update dependency husky to v9 [balena-renovate[bot]]
>>
>> #### balena-semver-3.0.5 - 2025-04-08
>>
>> * Update balena-lint to v9 [joshbwlng]
>>
>> #### balena-semver-3.0.4 - 2025-04-08
>>
>> * Update dependency jsdoc-to-markdown to v9 [balena-renovate[bot]]
>>
>> #### balena-semver-3.0.3 - 2025-04-02
>>
>> * Update dependency mocha to v11 [balena-renovate[bot]]
>>
>> #### balena-semver-3.0.2 - 2025-03-25
>>
>> * Update dependency @balena/lint to v8 [balena-renovate[bot]]
>>
>> #### balena-semver-3.0.1 - 2025-02-14
>>
>> * Fix parsing & incrementing semver parts > 1000 [Thodoris Greasidis]
>>
>> #### balena-semver-3.0.0 - 2023-12-12
>>
>> * Update dependencies [Thodoris Greasidis]
>> * Drop support for nodejs < 16.0.0 [Thodoris Greasidis]
>>
>> #### balena-semver-2.3.5 - 2023-10-25
>>
>> * Test sorting pre-releases across revisions of the same semver [Thodoris Greasidis]
>> * Block the creation of package-lock.json [Thodoris Greasidis]
>>
>> #### balena-semver-2.3.4 - 2023-10-25
>>
>> * Fix the `.compare()` method test when used with sorting [Thodoris Greasidis]
>>
>> #### balena-semver-2.3.3 - 2023-07-14
>>
>> * Update TypeScript to 4.9.5 [Thodoris Greasidis]
>> * patch: Update flowzone.yml [Kyle Harding]
>>
>> #### balena-semver-2.3.2 - 2022-09-26
>>
>> * Delete redundant .resinci.yml [Thodoris Greasidis]
>>
>> #### balena-semver-2.3.1 - 2022-09-22
>>
>> * Drop the .travis.yml [Thodoris Greasidis]
>> * Specify node 10 as the minimum supported node engine in the package.json [Thodoris Greasidis]
>> * Replace balenaCI with flowzone [Thodoris Greasidis]
>>
>> #### balena-semver-2.3.0 - 2020-03-11
>>
>> * Support underscore version variants [Cameron Diver]
>>
>
> </details>
>
>
> ### balena-device-init-8.1.12 - 2025-09-19
>
> * Update flowzone custom actions to use node 20 as per the supported engines [Thodoris Greasidis]
> * Update jsdoc-to-markdown to 9.1.2 to fix tests in node 24 [Thodoris Greasidis]
> * Switch from ts-mocha to mocha & ts-node to fix node 22.18 tests failing [Thodoris Greasidis]
> * Drop not used rindle dependency [Thodoris Greasidis]
>
</details>
* Drop no longer needed @types/bluebird devDependency [Thodoris Greasidis]
<details>
<summary> Update livepush to 3.5.2 [Thodoris Greasidis] </summary>
> ### livepush-3.5.2 - 2025-09-22
>
> * Drop Bluebird [Thodoris Greasidis]
> * Replace circleci with flowzone [Thodoris Greasidis]
> * Update devDependencies [Thodoris Greasidis]
> * Enable TypeScript esModuleInterop compiler option [Thodoris Greasidis]
> * Update TypeScript to 5.9.2 [Thodoris Greasidis]
> * Block creating a package-lock.json [Thodoris Greasidis]
> * Stop using global typings [Thodoris Greasidis]
> * Make ts-node a devDependency [Thodoris Greasidis]
>
</details>
* Update reconfix to 1.0.1 [Thodoris Greasidis]
<details>
<summary> Update tar-utils to 3.0.3 [Thodoris Greasidis] </summary>
> ### node-tar-utils-3.0.3 - 2025-09-19
>
> * tests: Remove no longer used Bluebird import [Thodoris Greasidis]
>
> ### node-tar-utils-3.0.2 - 2023-07-05
>
> * Update to tar-stream 3.1.6 [Pagan Gazzard]
>
> ### node-tar-utils-3.0.1 - 2023-07-05
>
> * Fix `cloneTarStream` when passing `onEntry` option [Pagan Gazzard]
>
> ### node-tar-utils-3.0.0 - 2023-07-05
>
> * Update tar-stream to 3.x [Pagan Gazzard]
> * Switch from bluebird to native promises [Pagan Gazzard]
> * Update minimum nodejs version to 16.13.0 [Pagan Gazzard]
>
> ### node-tar-utils-2.1.3 - 2020-08-20
>
> * Add .version/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
>
> ### node-tar-utils-2.1.2 - 2020-08-14
>
> * Explicitly disable backpressure in `cloneTarStream` to buffer in memory [Pagan Gazzard]
> * Remove lodash dependency [Pagan Gazzard]
> * Switch to @balena/lint [Pagan Gazzard]
>
</details>
<details>
<summary> Update resin-cli-form to 5.0.0 [Thodoris Greasidis] </summary>
> ### resin-cli-form-5.0.0 - 2025-09-21
>
>
> <details>
> <summary> Update resin-cli-visuals from 3.0.1 to 4.0.1 [Thodoris Greasidis] </summary>
>
>> #### resin-cli-visuals-4.0.0 - 2025-09-18
>>
>> * horizontal: Use nullish check to fallback from the alias to the prop name [Thodoris Greasidis]
>> * vertical: Explicitly convert values to string [Thodoris Greasidis]
>> * Replace the SpinnerPromise class with a createSpinnerPromise factory function [Thodoris Greasidis]
>> * Switch to async await and drop Bluebird [Thodoris Greasidis]
>> * Switch target to es2018 [Thodoris Greasidis]
>> * Convert files to use es modules imports & exports [Thodoris Greasidis]
>> * Convert to TypeScript & lint [Thodoris Greasidis]
>>
>
> </details>
>
> * Switch to async await and drop Bluebird [Thodoris Greasidis]
> * Switch target to es2018 [Thodoris Greasidis]
> * Convert to TypeScript es module exports [Thodoris Greasidis]
>
> ### resin-cli-form-4.0.2 - 2025-09-19
>
> * Convert tests to TypeScript and drop mochainon [Thodoris Greasidis]
>
</details>
<details>
<summary> Update resin-cli-visuals to 4.0.1 [Thodoris Greasidis] </summary>
> ### resin-cli-visuals-4.0.1 - 2025-09-18
>
> * progress: Allow null for the ProgressState.eta [Thodoris Greasidis]
> * table: Support using readonly string[] for the ordering [Thodoris Greasidis]
>
> ### resin-cli-visuals-4.0.0 - 2025-09-18
>
> * horizontal: Use nullish check to fallback from the alias to the prop name [Thodoris Greasidis]
> * vertical: Explicitly convert values to string [Thodoris Greasidis]
> * Replace the SpinnerPromise class with a createSpinnerPromise factory function [Thodoris Greasidis]
> * Switch to async await and drop Bluebird [Thodoris Greasidis]
> * Switch target to es2018 [Thodoris Greasidis]
> * Convert files to use es modules imports & exports [Thodoris Greasidis]
> * Convert to TypeScript & lint [Thodoris Greasidis]
>
</details>
## 22.4.8 - 2025-09-22
<details>
<summary> Update balena-semver to 3.0.10 [Thodoris Greasidis] </summary>
> ### balena-semver-3.0.10 - 2025-08-22
>
> * Simplify automation of tests/docs by using the mocha cli [Pagan Gazzard]
> * Improve readability of README examples [Pagan Gazzard]
> * Enable linting for automation scripts [Pagan Gazzard]
>
> ### balena-semver-3.0.9 - 2025-08-22
>
> * Switch tsconfig module to `Node16`, remaining as commonjs [Pagan Gazzard]
>
> ### balena-semver-3.0.8 - 2025-08-22
>
> * Update dependencies [Pagan Gazzard]
>
> ### balena-semver-3.0.7 - 2025-06-07
>
> * Update dependency lint-staged to v16 [balena-renovate[bot]]
>
> ### balena-semver-3.0.6 - 2025-04-09
>
> * Update dependency husky to v9 [balena-renovate[bot]]
>
> ### balena-semver-3.0.5 - 2025-04-08
>
> * Update balena-lint to v9 [joshbwlng]
>
> ### balena-semver-3.0.4 - 2025-04-08
>
> * Update dependency jsdoc-to-markdown to v9 [balena-renovate[bot]]
>
> ### balena-semver-3.0.3 - 2025-04-02
>
> * Update dependency mocha to v11 [balena-renovate[bot]]
>
> ### balena-semver-3.0.2 - 2025-03-25
>
> * Update dependency @balena/lint to v8 [balena-renovate[bot]]
>
> ### balena-semver-3.0.1 - 2025-02-14
>
> * Fix parsing & incrementing semver parts > 1000 [Thodoris Greasidis]
>
> ### balena-semver-3.0.0 - 2023-12-12
>
> * Update dependencies [Thodoris Greasidis]
> * Drop support for nodejs < 16.0.0 [Thodoris Greasidis]
>
</details>
## 22.4.7 - 2025-09-22
* Switch runtime uses of `rimraf` to use the native equivalent [Pagan Gazzard]
## 22.4.6 - 2025-09-18
* Convert various lodash methods to native versions [Pagan Gazzard]
## 22.4.5 - 2025-09-17
* Deduplicate dependencies [Matthew Yarmolinsky]
* Update `resin-cli-form` [Matthew Yarmolinsky]
* Update `resin-cli-visuals` [Matthew Yarmolinsky]
* Update `resin-doodles` [Matthew Yarmolinsky]
## 22.4.4 - 2025-09-15
* Update @balena/lint to 9.3.2 [Thodoris Greasidis]
* Update TypeScript to 5.9.2 [Thodoris Greasidis]
## 22.4.3 - 2025-09-10
* Replace `chalk` with `oclif` `ux.colorize` [Matthew Yarmolinsky]
* Drop dependency `chalk` [Matthew Yarmolinsky]
## 22.4.2 - 2025-09-10
* Deduplicate dependencies [Matthew Yarmolinsky]
* Fix minor typo in package.json [Matthew Yarmolinsky]
## 22.4.1 - 2025-09-02
* tests/ssh: Avoid an `as any` cast [Thodoris Greasidis]
## 22.4.0 - 2025-09-02
* config generate: Add support for the --initial-device-name flag [Thodoris Greasidis]
## 22.3.4 - 2025-09-02
* config generate: Deprecate the '--generate-device-api-key' flag [Thodoris Greasidis]
## 22.3.3 - 2025-09-02
* Deprecate 'balena os build-config' in favor of 'balena config generate' [Thodoris Greasidis]
## 22.3.2 - 2025-09-02
* os configure: Validate that the provided image & config file paths exist [Thodoris Greasidis]
## 22.3.1 - 2025-09-02
* os configure: Update the examples to use fleet slugs [Thodoris Greasidis]
* os configure: Deprecate the --version flag [Thodoris Greasidis]
## 22.3.0 - 2025-08-29
<details>
<summary> Add release_asset model [Otavio Jacobi] </summary>
> ### balena-sdk-22.1.0 - 2025-08-25
>
> * Add release_asset [Otavio Jacobi]
>
> ### balena-sdk-22.0.1 - 2025-08-20
>
> * Use NODE_OPTIONS=--no-experimental-strip-types for node 22.18 [Otavio Jacobi]
>
</details>
## 22.2.4 - 2025-08-09
* Fix uploading installer to github releases [Otavio Jacobi]
## 22.2.3 - 2025-08-08
* Update balena-sdk to v22 [Otavio Jacobi]
## 22.2.2 - 2025-08-06
* Remove no longer used repo from repo.yml [myarmolinsky]
## 22.2.1 - 2025-08-06
* Fix finalize step oclif promote command [Otavio Jacobi]
## 22.2.0 - 2025-08-05
* Upload built assets to s3 as standard oclif packages [Otavio Jacobi]
## 22.1.5 - 2025-08-01
* tests: Fix @balena/compose deep import in node 22.18.0 [Thodoris Greasidis]
## 22.1.4 - 2025-07-22
* Update oclif & @oclif/core deps and patches [Otavio Jacobi]
## 22.1.3 - 2025-07-21
* Stream json output on release list to avoid nodejs max string limit size [Otavio Jacobi]
## 22.1.2 - 2025-07-14
* Update build pipeline to use windows-2022 runner [Otavio Jacobi]
## 22.1.1 - 2025-06-19
* Deploy: Limit the submitted error_message of images that fail to build to 1000 characters [Thodoris Greasidis]
## 22.1.0 - 2025-06-09
* Add support for node 22 [Otavio Jacobi]
<details>
<summary> Bump etcher-sdk to v10.0.0 [Otavio Jacobi] </summary>
> ### etcher-sdk-10.0.0 - 2025-06-02
>
> * Drop support to node18 and add support to node 22 & 24 [Otavio Jacobi]
>
</details>
## 22.0.6 - 2025-06-02
* Remove `request` dependency [myarmolinsky]
* Replace `request` usage with `got` [myarmolinsky]
## 22.0.5 - 2025-05-29
<details>
<summary> Bump etcher-sdk to v9.1.4 [Otavio Jacobi] </summary>
> ### etcher-sdk-9.1.4 - 2025-05-29
>
> * Run `npm audit fix` which should only do non-breaking changes [Otavio Jacobi]
>
> ### etcher-sdk-9.1.3 - 2025-02-17
>
> * Embed config.json with a fixed timestamp to enable consistent checksums [Pagan Gazzard]
>
> ### etcher-sdk-9.1.2 - 2024-10-09
>
> * Update dependency unzip-stream to v0.3.2 [SECURITY] [Self-hosted Renovate Bot]
>
> ### etcher-sdk-9.1.1 - 2024-10-09
>
> * patch: add EXLOCK flag for windows [Talha Can Havadar]
>
</details>
## 22.0.4 - 2025-05-29
* tests: Replace request with got [Otavio Jacobi]
* deploy-legacy: Replace request with got [Otavio Jacobi]
## 22.0.3 - 2025-05-29
* Bump sentry to v9 [Otavio Jacobi]
## 22.0.2 - 2025-05-28
* Fix balena build to work with --nologs [Otavio Jacobi]
## 22.0.1 - 2025-05-28
* DeviceAPI: Move away from `request` in favor of BalenaSdk request [myarmolinsky]
* Update `nock` to 14.0.4 [myarmolinsky]
## 22.0.0 - 2025-05-26
* Add migration guide to v22 [Otavio Jacobi]
* Build standalone without pkg [Otavio Jacobi]
## 21.1.14 - 2025-05-21
<details>
<summary> Bump balena-preload to 18.0.4 [Otavio Jacobi] </summary>
> ### balena-preload-18.0.4 - 2025-05-21
>
> * Fix balena-preload pip deps [Otavio Jacobi]
>
</details>
## 21.1.13 - 2025-05-21
<details>
<summary> Bump balena-preload to 18.0.3 [Otavio Jacobi] </summary>
> ### balena-preload-18.0.3 - 2025-03-19
>
> * Update dependency sh to v1.14.3 [balena-renovate[bot]]
>
> ### balena-preload-18.0.2 - 2025-03-19
>
> * Update alpine Docker tag to v3.21 [balena-renovate[bot]]
>
</details>
## 21.1.12 - 2025-05-16
* Update @balena/compose dependency to fix error with build secrets. [Ken Bannister]
## 21.1.11 - 2025-05-06
* Fix typos in `os configure` and `config generate` help messages [myarmolinsky]
## 21.1.10 - 2025-05-05
* patch: fix windows signing [Edwin Joassart]
## 21.1.9 - 2025-04-07
<details>
<summary> Update balena-config-json to rely on the balena-image-fs helpers [Thodoris Greasidis] </summary>
> ### balena-config-json-4.2.7 - 2025-04-02
>
> * Fix getBootPartition always warning that the boot partitions were not found [Thodoris Greasidis]
>
> ### balena-config-json-4.2.6 - 2025-04-01
>
> * write: Allow undefined as a value for the deprecated type parameter [Thodoris Greasidis]
>
> <details>
> <summary> Use the balena-image-fs findPartition() helper to find the boot partition [Thodoris Greasidis] </summary>
>
>> #### balena-image-fs-7.5.0 - 2025-03-26
>>
>> * Add function to find a partition by name/label [Ken Bannister]
>>
>> #### balena-image-fs-7.4.1 - 2025-02-21
>>
>> * bump ext2fs to 4.2.4 [Ryan Cooke]
>>
>
> </details>
>
>
> ### balena-config-json-4.2.5 - 2025-03-26
>
> * Update @balena/lint to 9.1.4 [Thodoris Greasidis]
>
> ### balena-config-json-4.2.4 - 2025-03-26
>
> * Switch use ts-mocha instead of manually compiling the tests [Thodoris Greasidis]
> * Update TypeScript to 5.8.2 [Thodoris Greasidis]
>
> ### balena-config-json-4.2.3 - 2025-03-26
>
> * Update chai to v5 [balena-renovate[bot]]
>
> ### balena-image-fs-7.5.2 - 2025-04-02
>
> * Update dependency jsdoc-to-markdown to v9 [balena-renovate[bot]]
>
> ### balena-image-fs-7.5.1 - 2025-03-26
>
> * Update @balena/lint to v9 [Thodoris Greasidis]
> * Remove the no longer needed gpt detection helper [Thodoris Greasidis]
> * Update TypeScript to 5.8.2 [Thodoris Greasidis]
> * Drop the package-lock.json [Thodoris Greasidis]
>
</details>
## 21.1.8 - 2025-04-03
* Update actions/download-artifact action to v4.1.9 [balena-renovate[bot]]
## 21.1.7 - 2025-04-03
* Update actions/upload-artifact digest to ea165f8 [balena-renovate[bot]]
## 21.1.6 - 2025-04-03
* Update actions/setup-node digest to cdca736 [balena-renovate[bot]]
## 21.1.5 - 2025-04-03
* Update dockerode/docker-modem dependencies for fixes [Ken Bannister]
## 21.1.4 - 2025-04-02
* Add comment with secure boot signature file example for preload [Ken Bannister]
## 21.1.3 - 2025-03-28
* Fix device detail for open balena [Otavio Jacobi]
## 21.1.2 - 2025-03-27
* Deny preload for an image with secure boot enabled [Ken Bannister]
## 21.1.1 - 2025-03-26
<details>
<summary> Bump balena-sdk to 21.3.0 [Otavio Jacobi] </summary>
> ### balena-sdk-21.3.0 - 2025-03-26
>
> * device: add `changed_api_heartbeat_state_on__date` to typings [Otavio Jacobi]
>
> ### balena-sdk-21.2.2 - 2025-03-26
>
> * fix linting [Otavio Jacobi]
>
</details>
## 21.1.0 - 2025-03-12
* Add support for new requirement labels feature [Felipe Lalanne]
## 21.0.0 - 2025-03-11
* Drop support for OS versions <2.14.0 [myarmolinsky]
* api-key generate: Add required argument `expiryDate` [myarmolinsky]
* Update `balena-preload` to 18.0.1 [myarmolinsky]
* Add dependency `date-fns` [myarmolinsky]
* Update `balena-sdk` to 21.2.1 [myarmolinsky]
## 20.2.10 - 2025-03-10
* Update TypeScript to 5.8.2 [Thodoris Greasidis]
## 20.2.9 - 2025-02-26
* Fix CORS issue with X-Balena-Client header [Thodoris Greasidis]
## 20.2.8 - 2025-02-26
* Update balena-config-json dependency and fix test [Ken Bannister]
## 20.2.7 - 2025-02-25
* Use the CLI version in the X-Balena-Client header [Thodoris Greasidis]
## 20.2.6 - 2025-02-25
* Update actions/upload-artifact digest to 4cec3d8 [balena-renovate[bot]]
## 20.2.5 - 2025-02-25
* Update actions/setup-node digest to 1d0ff46 [balena-renovate[bot]]
## 20.2.4 - 2025-02-25
* Pin docker-modem and dockerode to avoid regression [Ken Bannister]
## 20.2.3 - 2025-01-15
* Remove unused old eslint version files [Otavio Jacobi]
## 20.2.2 - 2025-01-12
* Use the promises namespace of balena-image-fs [Thodoris Greasidis]
<details>
<summary> Update balena-device-init to 8.1.3 & balena-image-fs to 7.3.0 [Thodoris Greasidis] </summary>
> ### balena-image-fs-7.3.0 - 2025-01-06
>
> * Drop Bluebird from devDependencies [Thodoris Greasidis]
> * flowzone: Remove empty with clause [Thodoris Greasidis]
> * Add the promises namespace as part of the exposed fs [Thodoris Greasidis]
>
> ### balena-image-fs-7.2.2 - 2024-01-02
>
> * Update dependency @types/node to v20 [Self-hosted Renovate Bot]
>
> ### balena-image-fs-7.2.1 - 2023-12-19
>
> * Remove repo config from flowzone.yml [Kyle Harding]
>
> ### balena-image-fs-7.2.0 - 2023-01-20
>
> * Add support for Node 18 [Akis Kesoglou]
>
> ### balena-image-fs-7.1.2 - 2023-01-05
>
> * Update dependencies [ab77]
>
> ### balena-image-fs-7.1.1 - 2022-12-20
>
> * Update dependency jsdoc-to-markdown to 8.0.0 [Renovate Bot]
>
> ### balena-image-fs-7.1.0 - 2022-12-13
>
> * update dependencies [Zane Hitchcox]
>
> ### balena-device-init-8.1.3 - 2025-01-09
>
> * README: Remove the travisci badge [Thodoris Greasidis]
>
> ### balena-device-init-8.1.2 - 2025-01-09
>
>
> <details>
> <summary> Use the promises namespace of balena-image-fs [Thodoris Greasidis] </summary>
>
>> #### balena-image-fs-7.3.0 - 2025-01-06
>>
>> * Drop Bluebird from devDependencies [Thodoris Greasidis]
>> * flowzone: Remove empty with clause [Thodoris Greasidis]
>> * Add the promises namespace as part of the exposed fs [Thodoris Greasidis]
>>
>> #### balena-image-fs-7.2.2 - 2024-01-02
>>
>> * Update dependency @types/node to v20 [Self-hosted Renovate Bot]
>>
>> #### balena-image-fs-7.2.1 - 2023-12-19
>>
>> * Remove repo config from flowzone.yml [Kyle Harding]
>>
>> #### balena-image-fs-7.2.0 - 2023-01-20
>>
>> * Add support for Node 18 [Akis Kesoglou]
>>
>> #### balena-image-fs-7.1.2 - 2023-01-05
>>
>> * Update dependencies [ab77]
>>
>> #### balena-image-fs-7.1.1 - 2022-12-20
>>
>> * Update dependency jsdoc-to-markdown to 8.0.0 [Renovate Bot]
>>
>> #### balena-image-fs-7.1.0 - 2022-12-13
>>
>> * update dependencies [Zane Hitchcox]
>>
>
> </details>
>
>
> ### balena-device-init-8.1.1 - 2025-01-06
>
> * Convert some parts to async await and simplify [Thodoris Greasidis]
> * Avoid unnecessary destructuring [Thodoris Greasidis]
>
</details>
## 20.2.1 - 2025-01-01
<details>
<summary> Update balena-preload to 17.0.0 [Thodoris Greasidis] </summary>
> ### balena-preload-17.0.0 - 2024-10-21
>
> * Improve typings [Thodoris Greasidis]
> * Stop returning Bluebird promises & drop it from the dependencies [Thodoris Greasidis]
>
</details>
## 20.2.0 - 2024-12-31
<details>
<summary> os configure: Give precedence to the boot partition located in the image over the device-type.json contents [Thodoris Greasidis] </summary>
> ### balena-device-init-8.1.0 - Invalid date
>
> * Try to find the boot partition by inspecting the image [Thodoris Greasidis]
>
> ### balena-device-init-8.0.1 - 2024-12-19
>
> * Drop the unnecessary eslint.config.js [Thodoris Greasidis]
> * packacke.json: Explicitly set type commonjs [Thodoris Greasidis]
>
</details>
## 20.1.6 - 2024-12-30
* Add more realistic os configure tests [Thodoris Greasidis]
## 20.1.5 - 2024-12-20
* Update shrinkwrapped express to v4.21.2 [Oskar Williams]
## 20.1.4 - 2024-12-20
<details>
<summary> Update balena-device-init to 8.0.0 [Thodoris Greasidis] </summary>
> ### balena-device-init-8.0.0 - 2024-12-18
>
> * Avoid running linting in the custom tests [Thodoris Greasidis]
> * Stop returning Bluebird promises [Thodoris Greasidis]
> * package: Publish only the build & typings folders [Thodoris Greasidis]
> * Convert to TypeScript with es6 module notation [Thodoris Greasidis]
> * Replace gulp, coffeelint & mochainon with tsc, @balena/lint, mocha, chai & sinon [Thodoris Greasidis]
> * Drop support for node <20.6.0 [Thodoris Greasidis]
>
> ### balena-device-init-7.0.2 - 2024-12-17
>
> * flowzone: Update runner versions [Thodoris Greasidis]
> * Pin etcher-sdk to 9.0.8 to match resin-device-operations and fix tests [Thodoris Greasidis]
>
</details>
## 20.1.3 - 2024-12-20
* Update oclif to 4.17.0 and @oclif/core 4.1.0 [Otavio Jacobi]
## 20.1.2 - 2024-12-17
* Remove unnecessary `Promise.resolve` and `Promise.reject` [Pagan Gazzard]
## 20.1.1 - 2024-12-16
* Update @balena/lint to v9.1.3 [Otavio Jacobi]
## 20.1.0 - 2024-12-12
* `device os-update`: Add handling for updates that require takeover [myarmolinsky]
* Update `balena-sdk` [myarmolinsky]
* Update `@balena/compose` [myarmolinsky]
## 20.0.9 - 2024-12-05
* Update shrinkwrapped express to v4.21.1 [Oskar Williams]
## 20.0.8 - 2024-12-04
* Run test and publish with macos-13 [Otavio Jacobi]
## 20.0.7 - 2024-11-23
* Update TypeScript to 5.7.2 [Thodoris Greasidis]
## 20.0.6 - 2024-11-08
* Refactor balena build for clarity [Thodoris Greasidis]
## 20.0.5 - 2024-11-05
* Update actions/upload-artifact digest to b4b15b8 [balena-renovate[bot]]
## 20.0.4 - 2024-11-05
* Update actions/setup-node digest to 39370e3 [balena-renovate[bot]]
## 20.0.3 - 2024-11-05
* api-key generate: Display a descriptive error when the generation fails due to a stale JWT [Thodoris Greasidis]
## 20.0.2 - 2024-10-29
* Restore ability to cat key into `ssh-key add` [myarmolinsky]
## 20.0.1 - 2024-10-29
* Fix sending input to some aliases not working [myarmolinsky]
## 20.0.0 - 2024-10-25
* `device update`: Use detached HUP for os updates [jaomaloy]
* Drop `-h` flag for help and stop manually adding `help` per command in favor of oclif automatically adding it [myarmolinsky]
* Stop checking for very old, long-removed commands [myarmolinsky]
* Deprecate `devices supported` command in favor of `device-type list` [myarmolinsky]
* Deprecate `notes` command in favor of `device note` [myarmolinsky]
* Deprecate `tunnel` command in favor of `device tunnel` [myarmolinsky]
* Deprecate `env add` in favor of `env set` [myarmolinsky]
* Deprecate `ssh` command in favor of `device ssh` [myarmolinsky]
* Deprecate `logs` command in favor of `device logs` [myarmolinsky]
* Deprecate `scan` command in favor of `device detect` [myarmolinsky]
* Deprecate `orgs` command in favor of `organization list` [myarmolinsky]
* Deprecate `tags` command in favor of `tag list` [myarmolinsky]
* Deprecate `envs` command in favor of `env list` [myarmolinsky]
* Deprecate `key` commands in favor of `ssh-key` [myarmolinsky]
* Deprecate `keys` command in favor of `key list` [myarmolinsky]
* Deprecate `releases` command in favor of `release list` [myarmolinsky]
* Deprecate `fleets` command in favor of `fleet list` [myarmolinsky]
* Deprecate `api-keys` command in favor of `api-key list` [myarmolinsky]
* Deprecate `devices` command in favor of `device list` [myarmolinsky]
* Docs: Show whether an alias is deprecated [myarmolinsky]
* Update `balena-preload` to 16.0.0 [myarmolinsky]
* Tests: Drop unused `my_application` resource mock [myarmolinsky]
* Rename `device.overall_status` values: `IDLE` to `OPERATIONAL`, `OFFLINE` to `DISCONNECTED`; add `REDUCED_FUNCTIONALITY` [myarmolinsky]
* Update `@balena/compose` to 5.0.0 [myarmolinsky]
* Bump balena-sdk to 20.3.0 [myarmolinsky]
## 19.16.0 - 2024-10-23
* device-type list: Add `--all` flag for including no longer supported device types in the list [myarmolinsky]
* Add alias `device-type list` for command `devices supported` [myarmolinsky]
## 19.15.0 - 2024-10-23
* Add alias `device note` for command `notes` [myarmolinsky]
## 19.14.0 - 2024-10-22
* Add alias `device tunnel` for command `tunnel` [myarmolinsky]
## 19.13.1 - 2024-10-21
* Update dependency chalk to v4 [Self-hosted Renovate Bot]
## 19.13.0 - 2024-10-21
* Add alias `env set` for command `env add` [myarmolinsky]
## 19.12.1 - 2024-10-21
* Update `@oclif/core` [myarmolinsky]
## 19.12.0 - 2024-10-21
* Add alias `device ssh` for `ssh` command [myarmolinsky]
## 19.11.1 - 2024-10-21
* Update dependency sinon to v19 [Self-hosted Renovate Bot]
## 19.11.0 - 2024-10-21
* Add alias `device logs` for `logs` [myarmolinsky]
* git mv `logs/index` to `device/logs` [myarmolinsky]
## 19.10.0 - 2024-10-21
* Add alias `device detect` for `scan` [myarmolinsky]
## 19.9.0 - 2024-10-18
* Add alias `organization list` for `orgs` command [myarmolinsky]
## 19.8.0 - 2024-10-18
* Add alias `tag list` for `tags` command [myarmolinsky]
## 19.7.0 - 2024-10-18
* Add alias `env list` for command `envs` [myarmolinsky]
## 19.6.0 - 2024-10-18
* Add `ssh-key` as aliases for all `key` commands [myarmolinsky]
## 19.5.0 - 2024-10-17
* Add `key list` alias for `keys` command [myarmolinsky]
## 19.4.0 - 2024-10-16
* Add `release list` alias for `releases` command [myarmolinsky]
## 19.3.0 - 2024-10-16
* Add alias `fleet list` for `fleets` command [myarmolinsky]
## 19.2.0 - 2024-10-16
* Add alias `api-key list` for command `api-keys` [myarmolinsky]
## 19.1.3 - 2024-10-16
* Remove custom sorting of OS commands in docs in favor of alphabetizing [myarmolinsky]
## 19.1.2 - 2024-10-16
* Remove no longer needed dependency `get-stdin` [myarmolinsky]
* Remove custom override of oclif Command class in favor of `prerun` hook [myarmolinsky]
## 19.1.1 - 2024-10-14
* Deduplicate dependencies [myarmolinsky]
* Fix changelog entry for v19.1.0 [myarmolinsky]
## 19.1.0 - 2024-10-11
* Docs: Show aliases for commands [myarmolinsky]
* Add alias `device list` for `devices` command [myarmolinsky]
* Deduplicate dependencies [myarmolinsky]
## 19.0.20 - 2024-10-11
* Docs: Generate CLI command references from file names instead of usage [myarmolinsky]
* Use default oclif `USAGE` message for all commands [myarmolinsky]
## 19.0.19 - 2024-10-11
* Deduplicate dependencies [myarmolinsky]
* Fix update notification release notes link [myarmolinsky]
## 19.0.18 - 2024-10-08
* Contributing: No longer request separate folders for plural commands [myarmolinsky]
## 19.0.17 - 2024-10-08
* Remove dev dependency `parse-link-header` [myarmolinsky]
* Remove dev dependency @octokit/rest [myarmolinsky]
* Remove dev dependency @octokit/plugin-throttling [myarmolinsky]
* Remove no longer needed references and tests for mixpanel [myarmolinsky]
* Remove dev dependency `@types/mixpanel` [myarmolinsky]
## 19.0.16 - 2024-10-08
* compose: Reduce the properties updated to only the necessary [Thodoris Greasidis]
## 19.0.15 - 2024-10-08
* Remove unused `mockery` dev dependency [myarmolinsky]
## 19.0.14 - 2024-10-08
* Temporarily skip broken image-manager tests on Windows and Mac [myarmolinsky]
## 19.0.13 - 2024-09-23
* Remove extra line from recent changelog entry [myarmolinsky]
## 19.0.12 - 2024-09-20
* Add `image-manager` tests [myarmolinsky]
* Remove `balena-image-manager` dependency [myarmolinsky]
* Embed `balena-image-manager` instead of having it as a dependency [myarmolinsky]
## 19.0.11 - 2024-09-18
* Remove Bluebird as a direct dependency [Thodoris Greasidis]
## 19.0.10 - 2024-09-12
* Remove package `@resin.io/valid-email` [myarmolinsky]
## 19.0.9 - 2024-09-12
* Update actions/download-artifact action to v4.1.8 [Self-hosted Renovate Bot]
## 19.0.8 - 2024-09-12
* Update actions/upload-artifact digest to 5076954 [Self-hosted Renovate Bot]
## 19.0.7 - 2024-09-12
* Update actions/setup-node digest to 1e60f62 [Self-hosted Renovate Bot]
## 19.0.6 - 2024-09-12
* Remove moment and moment-duration-format in favor of native time parsing [Otavio Jacobi]
## 19.0.5 - 2024-09-10
* Update apple-actions/import-codesign-certs action to v2 [Self-hosted Renovate Bot]
## 19.0.4 - 2024-09-10
* Update TypeScript to 5.6.2 [Thodoris Greasidis]
## 19.0.3 - 2024-09-05
* Reduce use of CJS require() on automation files [Otavio Jacobi]
* Remove the use of CJS require() on test files [Otavio Jacobi]
* Remove not necessary 'import = require' syntax for js-yaml [Otavio Jacobi]
## 19.0.2 - 2024-09-03
* Update devDependency patch-package to v8.0.0 [Otavio Jacobi]
* Update devDependency mkdirp to v3.0.1 [Otavio Jacobi]
* Update devDependency fs-extra(to v11) and @types/fs-extra(to v11) [Otavio Jacobi]
* Update devDependency @types/parse-link-header to v2.0.3 [Otavio Jacobi]
* Remove unused devDependency @types/nock [Otavio Jacobi]
* Update devDependency klaw(to v4) and @types/klaw(to v3.0.6) [Otavio Jacobi]
* Update husky to v9.1.5 [Otavio Jacobi]
* Update devDependency @types/jsonwebtoken to v9.0.6 [Otavio Jacobi]
* Update devDependency archiver(to v7) and @types/archiver(to v6) [Otavio Jacobi]
* Removes unused devDependency @types/net-keepalive [Otavio Jacobi]
* Update devDependency rewire(to v7) and @types/rewire(to v2.5.30) [Otavio Jacobi]
* Update devDependency sinon(to v18) and @types/sinon(to v17) [Otavio Jacobi]
## 19.0.1 - 2024-09-02
* Bump @oclif/core from 3.27.0 to 4.0.18 [Otavio Jacobi]
## 19.0.0 - 2024-08-22
* Update all references of lib to src [Otavio Jacobi]
* Rename the lib folder to src [Otavio Jacobi]
* Update @balena/compose to 4.0.1 Update @balena/compose from 3.2.1 to 4.0.1 [Otavio Jacobi]
* Use standard visuals table component for fleet/s [Otavio Jacobi]
## 18.2.34 - 2024-07-29
* Run npm dedupe commands [Kyle Harding]
* Switch to self-hosted [Anton Belodedenko]
## 18.2.33 - 2024-07-17
* Improve discover balena os across different networks [Otavio Jacobi]
## 18.2.32 - 2024-07-16
* Remove unused code [Otavio Jacobi]
## 18.2.31 - 2024-07-15
* deploy: Use the sdk's pine instance with balena-compose [Thodoris Greasidis]
<details>
<summary> Update balena-sdk to 19.7.3 [Thodoris Greasidis] </summary>
> ### balena-sdk-19.7.3 - 2024-07-12
>
> * pinejs-client-core: Add some missing methods to the custom typings [Thodoris Greasidis]
>
</details>
## 18.2.30 - 2024-07-15
* Omit unicode control character escapes from test logs [Thodoris Greasidis]
## 18.2.29 - 2024-07-12
* Update balena-preload from 15.0.5 to 15.0.6 [Otavio Jacobi]
## 18.2.28 - 2024-07-12
* Downgrade pinejs-client-request to 7.4.2 to unblock the sdk update [Thodoris Greasidis]
<details>
<summary> Update balena-sdk to 19.7.2 [Thodoris Greasidis] </summary>
> ### balena-sdk-19.7.2 - 2024-07-12
>
>
> <details>
> <summary> Update balena-request from 13.3.1 to 13.3.2 [Thodoris Greasidis] </summary>
>
>> #### balena-request-13.3.2 - 2024-07-12
>>
>> * Fix always following redirects when followRedirect = false [Thodoris Greasidis]
>>
>
> </details>
>
>
> ### balena-sdk-19.7.1 - 2024-07-08
>
>
> <details>
> <summary> Limit pinejs-client-core to ~6.14.0, to fix errors in older TypeScript [Thodoris Greasidis] </summary>
>
>> #### pinejs-client-js-6.14.0 - 2023-12-05
>>
>> * Respect the Retry-After header when clients define the getRetryAfterHeader option [Thodoris Greasidis]
>>
>> #### pinejs-client-js-6.13.0 - 2023-07-11
>>
>> * Add support for $duration [Thodoris Greasidis]
>>
>> #### pinejs-client-js-6.12.4 - 2023-05-09
>>
>> * Avoid an unnecessary function creation on each get() call [Thodoris Greasidis]
>>
>> #### pinejs-client-js-6.12.3 - 2022-12-28
>>
>> * CI: Convert tests to TypeScript [Josh Bowling]
>>
>> #### pinejs-client-js-6.12.2 - 2022-11-18
>>
>> * Fix `$orderby: { a: { $count: ... }, $dir: 'asc' }` typings [Thodoris Greasidis]
>>
>> #### pinejs-client-js-6.12.1 - 2022-11-15
>>
>> * Update TypeScript to 4.9.3 [Thodoris Greasidis]
>>
>
> </details>
>
> * Fix the TypeScript incompatibility test [Thodoris Greasidis]
>
> ### balena-sdk-19.7.0 - 2024-07-05
>
> * Add identity provider & saml account model typing [Otavio Jacobi]
>
> ### balena-sdk-19.6.1 - 2024-06-20
>
> * Update TypeScript to 5.5.2 [Thodoris Greasidis]
>
> ### balena-sdk-19.6.0 - 2024-06-20
>
> * Add the application.getAllByOrganization() method [Thodoris Greasidis]
> * Deprecate the application.getAppByOwner() method [Thodoris Greasidis]
>
> ### balena-sdk-19.5.11 - 2024-05-28
>
> * tests: Make the cleanups more precise [Thodoris Greasidis]
>
> ### balena-sdk-19.5.10 - 2024-03-29
>
> * Drop the toWritable helper in favor of TypeScript's satisfies [Thodoris Greasidis]
>
> ### balena-sdk-19.5.9 - 2024-03-29
>
> * os: Update the comments on why we still need to be using the release_tags [Thodoris Greasidis]
>
> ### balena-sdk-19.5.8 - 2024-03-18
>
> * Fix `application.create` method being wrongly marked as deprecated [myarmolinsky]
>
> ### balena-sdk-19.5.7 - 2024-03-08
>
> * Fix missing underscore to describes__device property [Andrea Rosci]
>
> ### balena-sdk-19.5.6 - 2024-03-07
>
> * Update TypeScript to 5.4.2 [Thodoris Greasidis]
> * device-type.getInstructions: Convert etcher link to HTTPS [Vipul Gupta (@vipulgupta2048)]
>
</details>
## 18.2.27 - 2024-07-12
<details>
<summary> Update balena-sdk to 19.5.5 [Thodoris Greasidis] </summary>
> ### balena-sdk-19.5.5 - 2024-02-26
>
>
> <details>
> <summary> Update balena-auth to 6.0.1 [Thodoris Greasidis] </summary>
>
>> #### balena-auth-6.0.1 - 2024-02-23
>>
>> * Update jwt-decode to v3 [Thodoris Greasidis]
>>
>> #### balena-auth-6.0.0 - 2024-02-23
>>
>> * Update typescript to 5.3.3 [Thodoris Greasidis]
>> * Move the sources from lib to src [Thodoris Greasidis]
>> * Update @balena/lint to v7 [Thodoris Greasidis]
>> * Stop publishing the lib folder [Thodoris Greasidis]
>> * Drop support for nodejs < 18 [Thodoris Greasidis]
>> * Drop no longer used appveyor.yml [Thodoris Greasidis]
>>
>> #### balena-register-device-9.0.2 - 2024-02-23
>>
>> * Update @balena/lint to v7 [Thodoris Greasidis]
>> * Update balena-request to 13.3.0 [Thodoris Greasidis]
>>
>> #### balena-request-13.3.1 - 2024-02-23
>>
>> * Update balena-auth to 6.0.1 [Thodoris Greasidis]
>>
>
> </details>
>
>
> ### balena-sdk-19.5.4 - 2024-02-14
>
> * Bump balena-request Update balena-request from 13.2.0 to 13.3.0 [Otávio Jacobi]
>
> ### balena-sdk-19.5.3 - 2024-02-14
>
> * Replace deprecated flowzone input tests_run_on [Kyle Harding]
>
> ### balena-sdk-19.5.2 - 2024-02-13
>
> * tests: Reformat describe & it calls