UNPKG

balena-cli

Version:

The official balena Command Line Interface

1,613 lines (1,302 loc) • 339 kB
# Change Log All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). ## 25.1.6 - 2026-05-15 * Fix link in help output about FAQ and troubleshooting [Matthew Yarmolinsky] ## 25.1.5 - 2026-05-13 * Update GitHub Actions [balena-renovate[bot]] ## 25.1.4 - 2026-05-13 * Bump @balena/compose-parser to 0.2.4, @balena/compose to 8.0.3 [Christina Ying Wang] ## 25.1.3 - 2026-05-04 * Bump @balena/compose-parser to 0.2.1, @balena/compose to 8.0.2 [Christina Ying Wang] ## 25.1.2 - 2026-05-04 * Fix handleError exit code fallback [Christina Ying Wang] ## 25.1.1 - 2026-05-04 * tests: Update builder dashboard link [Matthew Yarmolinsky] ## 25.1.0 - 2026-04-29 * Add organization management commands [Thodoris Greasidis] ## 25.0.0 - 2026-04-28 * Update @balena/compose to v8, add @balena/compose-parser dependency [Christina Ying Wang] ## 24.1.4 - 2026-04-28 * Retry ratelimited requests that have a Retry-After less than 60 seconds [Thodoris Greasidis] ## 24.1.3 - 2026-04-08 * test(device ssh): unset proxy env vars that break stderr assertions [Kyle Harding] ## 24.1.2 - 2026-04-07 * Unblock color tests on CI after deduplicating supports-color [Thodoris Greasidis] * Update @balena/lint to prepare for TS6.0 [Thodoris Greasidis] ## 24.1.1 - 2026-04-07 * Explicitly align express in package.json with the one in the shrinkwrap [Thodoris Greasidis] ## 24.1.0 - 2026-04-07 * os download: download the default type if the type passed is the same [Matthew Yarmolinsky] * os download: warn if no type is chosen and default is installation-media [Matthew Yarmolinsky] * os download: Add `type` flag for specifying `disk-image` or `installation-media` [Matthew Yarmolinsky] * Update balena-sdk to 23.1.13 [Matthew Yarmolinsky] * Update author [Matthew Yarmolinsky] ## 24.0.4 - 2026-04-06 * Prune unused prebuilds, sign .bare binaries, fix klaw codesign handler [Kyle Harding] ## 24.0.3 - 2026-02-26 * Disable background auto-updates [Thodoris Greasidis] ## 24.0.2 - 2026-02-18 <details> <summary> Update balena-sdk to 23.0.2 [Thodoris Greasidis] </summary> > ### balena-sdk-23.0.2 - 2026-02-13 > > * Add url as a devDependency to fix mochttp in browser tests [Thodoris Greasidis] > > <details> > <summary> Update balena-request to 14.1.6 [Thodoris Greasidis] </summary> > >> #### balena-request-14.1.6 - 2026-02-12 >> >> * Make url a devDependency since it should now only be necessary in the browser tests [Thodoris Greasidis] >> * Replace internal uses of the deprecated url.parse & url.resolve with WHATWG URL API [Thodoris Greasidis] >> * Update flowzone config [Thodoris Greasidis] >> >> #### balena-request-14.1.5 - 2025-05-29 >> >> * Remove no longer needed timekeeper dev dependency [Thodoris Greasidis] >> >> #### balena-request-14.1.4 - 2025-05-29 >> >> * Update dependency buffer to v6 [balena-renovate[bot]] >> >> #### balena-request-14.1.3 - 2025-05-28 >> >> * Abstract the timeout implementation [Thodoris Greasidis] >> >> #### balena-request-14.1.2 - 2025-05-27 >> >> * Simplify the event emitting logic in the stream() method [Thodoris Greasidis] >> >> #### balena-request-14.1.1 - 2025-05-27 >> >> * Update dependency temp to ^0.9.0 [balena-renovate[bot]] >> >> #### balena-request-14.1.0 - 2025-05-27 >> >> * Add test for stream() progress events [Thodoris Greasidis] >> * tests/stream: Remove redundant response length checks [Thodoris Greasidis] >> * Convert the stream tests to async await [Thodoris Greasidis] >> * Add typing for the progress event on the result of the stream() method [Thodoris Greasidis] >> > > </details> > > > ### balena-sdk-23.0.1 - 2026-02-11 > > * Replace the deprecated url.parse & url.resolve with WHATWG URL API [Thodoris Greasidis] > </details> ## 24.0.1 - 2026-02-18 * Nudge users to update using the OCLIF update command [Jonathan Berger] ## 24.0.0 - 2026-02-16 * Group all OS related helpers to utils/os.ts [Thodoris Greasidis] * preload: Include the release version in the selection list of releases [Thodoris Greasidis] * os download,device init: Drop support for the 'recommended' & 'default' os version aliases in favor of 'latest' [Thodoris Greasidis] * Preserve support for using short uuds & commits [Thodoris Greasidis] <details> <summary> Update balena-sdk to v23.0.0 [Thodoris Greasidis] </summary> > ### balena-sdk-23.0.0 - 2026-02-10 > > * Rename device.setSupervisorRelease to device.pinToSupervisorRelease [Thodoris Greasidis] > * os.getAvailableOsVersions: Change the includeDraft convenience options to be passed as a third parameter [Thodoris Greasidis] > * Drop support for node < 22.18.0 [Thodoris Greasidis] > > <details> > <summary> Block OS Upgrades from OS < 2.14.0 and target OS < 2.16.0 [Thodoris Greasidis] </summary> > >> #### balena-hup-action-utils-7.0.0 - 2026-01-19 >> >> * Update minimum supported TypeScript to 5.9.3 [Thodoris Greasidis] >> * Update dependency balena-semver to v4 [Thodoris Greasidis] >> * tsconfig: Change the compilation target to es2017 with es2019 lib [Thodoris Greasidis] >> * Drop support for nodejs <20.12.0 [Thodoris Greasidis] >> * Explicitly mark the package.json as type commonjs [Thodoris Greasidis] >> * Stop publishing the lib folder [Thodoris Greasidis] >> * Drop support for OS Upgrades from OS < 2.14.0 and target OS < 2.16.0 [Thodoris Greasidis] >> * Drop support for OS Upgrades between v1 & v2 balenaOS [Thodoris Greasidis] >> >> #### balena-hup-action-utils-6.2.10 - 2025-06-08 >> >> * Update dependency lint-staged to v16 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.9 - 2025-04-02 >> >> * Update dependency husky to v9 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.8 - Invalid date >> >> * Update dependency rimraf to v6 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.7 - 2025-03-27 >> >> * Update dependency @types/chai-as-promised to v8 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.6 - 2025-03-26 >> >> * Update dependency mocha to v11 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.5 - 2025-03-26 >> >> * Update dependency @balena/lint to v9 [Thodoris Greasidis] >> * Update TypeScript to 5.8.2 [Thodoris Greasidis] >> >> #### balena-hup-action-utils-6.2.4 - 2025-03-26 >> >> * Update dependency balena-semver to v3 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.3 - 2025-03-19 >> >> * Update dependency @balena/lint to v8 [balena-renovate[bot]] >> >> #### balena-hup-action-utils-6.2.2 - 2024-12-16 >> >> * Eliminate prod/dev variants in version comparison for takeover [Ken Bannister] >> >> #### balena-hup-action-utils-6.2.1 - 2024-12-10 >> >> * Update `getHUPActionType` description [Matthew Yarmolinsky] >> > > </details> > > * os.getMaxSatisfyingVersion: Drop the 'default' versionRange value in favor of 'latest' [Thodoris Greasidis] > * Drop support for using short release commits as parameters [Thodoris Greasidis] > * Drop support for using short device uuids as parameters [Thodoris Greasidis] > * Drop the device.lastOnline() method [Thodoris Greasidis] > * device.getWithServiceDetails(), application.getWithDeviceServiceDetails(), remove the current_services property [Thodoris Greasidis] > * os.getSupportedOsUpdateVersions: List both Default & ESR OS releases by default [Thodoris Greasidis] > > ### balena-sdk-22.4.9 - 2026-02-03 > > * os.getSupportedOsUpdateVersions: Fix the jsdoc of osType to String|Null [Thodoris Greasidis] > > ### balena-sdk-22.4.8 - 2026-01-27 > > * Stop setting NODE_OPTIONS=--no-experimental-strip-types since it's no longer needed [Thodoris Greasidis] > * Update devDependencies [Thodoris Greasidis] > > ### balena-sdk-22.4.7 - 2026-01-20 > > * patch: Publish NPM package(s) using OIDC auth. [Anton B.] > > ### balena-sdk-22.4.6 - 2026-01-13 > > * Remove `as T` from mergePineOptions calls to have proper type checking [Thodoris Greasidis] > * Explicitly type the return type of most methods [Thodoris Greasidis] > > ### balena-preload-19.0.0 - 2026-02-10 > > > <details> > <summary> Update balena-sdk to 23.0.0 [Thodoris Greasidis] </summary> > >> #### balena-sdk-23.0.0 - 2026-02-10 >> >> * Rename device.setSupervisorRelease to device.pinToSupervisorRelease [Thodoris Greasidis] >> * os.getAvailableOsVersions: Change the includeDraft convenience options to be passed as a third parameter [Thodoris Greasidis] >> * Drop support for node < 22.18.0 [Thodoris Greasidis] >> >> <details> >> <summary> Block OS Upgrades from OS < 2.14.0 and target OS < 2.16.0 [Thodoris Greasidis] </summary> >> >>> ##### balena-hup-action-utils-7.0.0 - 2026-01-19 >>> >>> * Update minimum supported TypeScript to 5.9.3 [Thodoris Greasidis] >>> * Update dependency balena-semver to v4 [Thodoris Greasidis] >>> * tsconfig: Change the compilation target to es2017 with es2019 lib [Thodoris Greasidis] >>> * Drop support for nodejs <20.12.0 [Thodoris Greasidis] >>> * Explicitly mark the package.json as type commonjs [Thodoris Greasidis] >>> * Stop publishing the lib folder [Thodoris Greasidis] >>> * Drop support for OS Upgrades from OS < 2.14.0 and target OS < 2.16.0 [Thodoris Greasidis] >>> * Drop support for OS Upgrades between v1 & v2 balenaOS [Thodoris Greasidis] >>> >>> ##### balena-hup-action-utils-6.2.10 - 2025-06-08 >>> >>> * Update dependency lint-staged to v16 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.9 - 2025-04-02 >>> >>> * Update dependency husky to v9 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.8 - Invalid date >>> >>> * Update dependency rimraf to v6 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.7 - 2025-03-27 >>> >>> * Update dependency @types/chai-as-promised to v8 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.6 - 2025-03-26 >>> >>> * Update dependency mocha to v11 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.5 - 2025-03-26 >>> >>> * Update dependency @balena/lint to v9 [Thodoris Greasidis] >>> * Update TypeScript to 5.8.2 [Thodoris Greasidis] >>> >>> ##### balena-hup-action-utils-6.2.4 - 2025-03-26 >>> >>> * Update dependency balena-semver to v3 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.3 - 2025-03-19 >>> >>> * Update dependency @balena/lint to v8 [balena-renovate[bot]] >>> >>> ##### balena-hup-action-utils-6.2.2 - 2024-12-16 >>> >>> * Eliminate prod/dev variants in version comparison for takeover [Ken Bannister] >>> >>> ##### balena-hup-action-utils-6.2.1 - 2024-12-10 >>> >>> * Update `getHUPActionType` description [Matthew Yarmolinsky] >>> >> >> </details> >> >> * os.getMaxSatisfyingVersion: Drop the 'default' versionRange value in favor of 'latest' [Thodoris Greasidis] >> * Drop support for using short release commits as parameters [Thodoris Greasidis] >> * Drop support for using short device uuids as parameters [Thodoris Greasidis] >> * Drop the device.lastOnline() method [Thodoris Greasidis] >> * device.getWithServiceDetails(), application.getWithDeviceServiceDetails(), remove the current_services property [Thodoris Greasidis] >> * os.getSupportedOsUpdateVersions: List both Default & ESR OS releases by default [Thodoris Greasidis] >> >> #### balena-sdk-22.4.9 - 2026-02-03 >> >> * os.getSupportedOsUpdateVersions: Fix the jsdoc of osType to String|Null [Thodoris Greasidis] >> >> #### balena-sdk-22.4.8 - 2026-01-27 >> >> * Stop setting NODE_OPTIONS=--no-experimental-strip-types since it's no longer needed [Thodoris Greasidis] >> * Update devDependencies [Thodoris Greasidis] >> >> #### balena-sdk-22.4.7 - 2026-01-20 >> >> * patch: Publish NPM package(s) using OIDC auth. [Anton B.] >> >> #### balena-sdk-22.4.6 - 2026-01-13 >> >> * Remove `as T` from mergePineOptions calls to have proper type checking [Thodoris Greasidis] >> * Explicitly type the return type of most methods [Thodoris Greasidis] >> >> #### 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]] >> >> #### 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] >> >> #### balena-sdk-22.1.4 - 2025-09-24 >> >> * Remove no longer needed eslint-disable @typescript-eslint/await [Thodoris Greasidis] >> >> #### balena-sdk-22.1.3 - 2025-09-18 >> >> * tests/logs: Increase the timeout for logs.subscribe() tests [Thodoris Greasidis] >> * tests/logs: Improve logging of tests that timeout [Thodoris Greasidis] >> * Clear all created `setTimeout`s explicitly [Thodoris Greasidis] >> >> #### balena-sdk-22.1.2 - 2025-09-16 >> >> * Update @balena/lint from 9.3.3 to 9.3.6 [Thodoris Greasidis] >> * Update TypeScript to 5.9.2 [Thodoris Greasidis] >> >> #### balena-sdk-22.1.1 - 2025-09-01 >> >> * Add release assets docs [Otavio Jacobi] >> >> #### 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> > > * Drop support for node < 22.18.0 [Thodoris Greasidis] > </details> ## 23.2.32 - 2026-02-11 * tests/build: Increase the test timeout to 1.5 minute [Thodoris Greasidis] * Remove unnecessary 'url' imports [Thodoris Greasidis] * tests: Replace the deprecated url.parse with new URL() [Thodoris Greasidis] ## 23.2.31 - 2026-02-11 * tests: Add ignore rule for DEP0169 url.parse deprecation [Thodoris Greasidis] ## 23.2.30 - 2026-01-16 * Update dependency balena-settings-client to v6 [balena-renovate[bot]] ## 23.2.29 - 2026-01-16 * server.spec: Test for undefined bodies [Matthew Yarmolinsky] * server: Add optional chain after `request.body` [Matthew Yarmolinsky] * Drop unneeded dependency `@types/body-parser` [Matthew Yarmolinsky] * Update dependency body-parser to v2 [balena-renovate[bot]] ## 23.2.28 - 2026-01-16 <details> <summary> Update dependency balena-semver to v4 [balena-renovate[bot]] </summary> > ### balena-semver-4.0.1 - 2026-01-02 > > * Update tsconfig target to es2017 [Matthew Yarmolinsky] > > ### balena-semver-4.0.0 - 2026-01-02 > > * Drop support for node < 20.12.0 [Matthew Yarmolinsky] > * Replace lodash with memoizee [Matthew Yarmolinsky] > </details> ## 23.2.27 - 2026-01-15 * Update actions/setup-node digest to 6044e13 [balena-renovate[bot]] ## 23.2.26 - 2026-01-15 * Update apple-actions/import-codesign-certs action to v6 [balena-renovate[bot]] ## 23.2.25 - 2026-01-15 * Update actions/download-artifact action to v7 [balena-renovate[bot]] ## 23.2.24 - 2026-01-15 * Update actions/upload-artifact action to v6 [balena-renovate[bot]] ## 23.2.23 - 2026-01-15 * Change common-flags modules to factories instead of static object [Otavio Jacobi] ## 23.2.22 - 2026-01-14 * Reduce overall usage of `require` [Otavio Jacobi] * Remove unused `setMaxListeners` function [Otavio Jacobi] ## 23.2.21 - 2026-01-13 * Remove no longer needed direct dependencies `file-disk` and `partitioninfo` [Matthew Yarmolinsky] * Remove no longer needed code in favor of `balena-image-fs` [Matthew Yarmolinsky] * Update `balena-image-fs` to 7.6.0 [Matthew Yarmolinsky] ## 23.2.20 - 2026-01-13 * Add `getPackageJson` lazy getter to centralize package.json access [Otavio Jacobi] ## 23.2.19 - 2026-01-13 * Run `npm audit fix` [Matthew Yarmolinsky] * Add missing dependency `partitioninfo` [Matthew Yarmolinsky] * Add missing dependency `file-disk` [Matthew Yarmolinsky] * Add missing dev dependency `pinejs-client-core` [Matthew Yarmolinsky] * Add missing dependency `indent-string` [Matthew Yarmolinsky] * Remove unused dev dependencies [Matthew Yarmolinsky] * README: remove `david-dm` link [Matthew Yarmolinsky] ## 23.2.18 - 2026-01-13 * Add tests for balena config generate [Thodoris Greasidis] ## 23.2.17 - 2026-01-12 * Drop `exit-hook` patch [Matthew Yarmolinsky] * Update balena-device-init to 8.2.1 [Matthew Yarmolinsky] * Update reconfix to 1.0.2 [Matthew Yarmolinsky] * os download: Correct img names to match devices type in examples [Matthew Yarmolinsky] ## 23.2.16 - 2026-01-09 * Unpin balena-request from v14.0.6 [Otavio Jacobi] * tests: Replace `nock`, `mock-require` and `rewire` with `mockttp` and `sinon` [Otavio Jacobi] ## 23.2.15 - 2026-01-09 * Fix intermitent test on image-manager [Otavio Jacobi] ## 23.2.14 - 2026-01-02 * 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-Clie