github balena-io/open-balena v4.1.976

4 hours ago

Update balena/open-balena-api Docker tag to v50

Notable changes

  • Update postgres:18 Docker digest to 4ef4dbc [balena-renovate[bot]]
    -balena-io/open-balena-db (balena/open-balena-db)
  • Update Node.js to v26.12.1 [balena-renovate[bot]]
    -balena-io-modules/open-balena-base (balena/open-balena-base)
  • Update postgres:18 Docker digest to 1267c7e [balena-renovate[bot]]
  • Update postgres:18 Docker digest to 5486e8f [balena-renovate[bot]]
  • Update debian:13 Docker digest to 4c25275 [balena-renovate[bot]]
  • Update silo-pkg to v3.14.2 and upstream minio-go to v7.4.1. Failed multipart
  • Build and test with Go 1.27.2. Refresh Go x/* modules, compress v1.20.3,
  • Update fwd to v1.2.1 to preserve bytes returned together with a read error
  • Refresh the pinned UBI 9 release images and use nFPM v2.48.0 for its security
    -pgsty/mc (pgsty/mc)
  • instrumentation-express: don't leave an ignored request handler's path in http.route (#​3802) (a5ee809)
    -open-telemetry/opentelemetry-js-contrib (@​&#​8203;opentelemetry/instrumentation-express)
  • Require Node.js 22 c633f8f
  • Call .cancel() on the input on every timeout and abort (#​47) d938bcd
  • Reject with the exact abort reason, even when it is null f2b3ae3
  • Only create a TimeoutError when the timeout can reject with it bcc57d3
  • Fix timeouts above 2 ** 31 - 1 milliseconds firing immediately 7273802
  • Fix custom clearTimeout being called with undefined when no timer exists f6e3d89
  • Fix cleanup failures changing the outcome or leaking the abort listener 0beb15c
  • Reject with a clear TypeError for invalid customTimers beaa523
    -sindresorhus/p-timeout (p-timeout)
  • Require Node.js 22 300a52d
  • The queue is now an EventTarget instead of an EventEmitter 300a52d
  • .clear() now rejects the promises of the removed tasks with an AbortError instead of leaving them pending forever 64311ff
  • TimeoutError is now a DOMException named TimeoutError, like the error of AbortSignal.timeout() 300a52d
  • Remove the deprecated carryoverConcurrencyCount option: use carryoverIntervalCount 300a52d
  • Stricter validation of options 76a48ba d65d567
  • .start(), .clear(), and setting concurrency no longer emit empty and idle when the queue is already empty, so idle no longer fires on a queue that never had a task aeedf53
  • A custom queueClass must now implement remove() 300a52d
  • Zero dependencies! 300a52d
  • A task now runs in the async context of its .add() call, so it sees the AsyncLocalStorage values of the caller, also when it starts later (Node.js 22.3 and later, Deno, and Bun) (#​200) a5b7b54
  • A task with a timeout now gets a signal that aborts when the task times out, so you can pass it on to fetch() and similar to stop the work 300a52d
  • .onEmpty() and the empty event now fire when the last waiting task starts, not when the next task finishes 1cf5b82 cb25a0a
  • .addAll() now resolves with a typed tuple when the tasks return different types 36e83aa
  • Fix many rate-limit bugs where intervalCap was exceeded at the end of a window, a waiting task got stuck, or isRateLimited was wrong 6af55a7 1cf5b82 6c08a4f ac89911 450356a
  • Fix slow add, run, and abort for many tasks that share a signal, and PriorityQueue keeping finished tasks in memory 95622a4 6fb8337
  • Fix many edge cases with events and priorities, like infinite recursion in an idle listener and events in the wrong order aeedf53 b33dd44 8792846 e79f970 d65d567 6f6028a
  • Fix undefined options and an invalid .timeout setter breaking the queue d6cf96b 48586f4
  • Fix many TypeScript types 36e83aa fa3c3e0
  • console.log(result);
  • If you add the same listener twice, it is called once.
  • A listener that is removed while an event is dispatched is not called for that event.
  • The TimeoutError stack trace no longer shows where the task was added.
  • With timeout set, the task's signal is no longer linked to your signal after the task finishes.
  • Tasks with a signal or timeout settle 2 microtasks later than before.
    -sindresorhus/p-queue (p-queue)
    -queue.on('completed', result => {
  • console.log(result);
    -});
    -queue.once('idle', () => {});
  • Update dependency lint-staged to v17.6.0 [balena-renovate[bot]]
    -balena-io-modules/node-balena-lint (@​&#​8203;balena/lint)
  • deps: update deps matching '@​​opentelemetry/*' (#​3804) (36fcb9c)
  • The following workspace dependencies were updated
  • Merge pull request #​907 from JH8459/fix/ephemeral-loopback-bind 884cd26
  • fix: bind ephemeral server to the loopback address it connects to e74a1e0
    -ladjs/supertest (supertest)
  • Update Node.js to v26.12.0 [balena-renovate[bot]]
    -open-telemetry/opentelemetry-js (@​&#​8203;opentelemetry/instrumentation-http)
  • Fix CVE-2026-90711 (GHSA-jqcg-44mw-7w3h)
    -jshttp/proxy-addr (proxy-addr)
  • Fix CVE-2026-87776 (GHSA-vc2v-76pw-4v95)
  • deps: add destroy@​1.2.0
  • Match Cache-Control: no-transform directive case-insensitively
    -expressjs/compression (compression)
  • Remove typed-error dependency [Pagan Gazzard]
  • Change MetricsGatherer to a type-only export, use the metrics singleton [Pagan Gazzard]
  • Convert to ESM [Pagan Gazzard]
  • Switch from deprecated prom-client to @prometheus-io/client [Pagan Gazzard]
  • Set minimum support nodejs version to 24.x [Pagan Gazzard]
    -balena-io-modules/node-metrics-gatherer (@​&#​8203;balena/node-metrics-gatherer)
  • Update Node.js to v26.11.1 [balena-renovate[bot]]
  • Update Node.js to v26.11.0 [balena-renovate[bot]]
  • Update debian:13 Docker digest to 913f670 [balena-renovate[bot]]
  • Update postgres:18 Docker digest to 74935e7 [balena-renovate[bot]]
  • Update postgres:18 Docker digest to fc973eb [balena-renovate[bot]]
  • Update postgres:18 Docker digest to 6737476 [balena-renovate[bot]]
  • keep watching when the last test file is removed (#​6355) (921c161)
  • show require() error on unsupported directory import (#​6354) (a68344f)
  • support --X one-char aliases (#​6391) (1227939)
  • refresh help output, fix stale links (#​6357) (bb2e69a)
  • add --import=tsx integration test (#​6356) (3382fdd)
  • touch a new file without stamping it afterwards (#​6349) (d59467a)
    -mochajs/mocha (mocha)
  • build(deps): bump qs from 6.11.2 to 6.14.1 by @​​dependabot[bot] in #​1760
  • chore(deps): update dependency globals to v17 by @​​renovate[bot] in #​1761
  • fix: only consider unique expected keys in keys() by @​​43081j in #​1762
  • Drop NODE_AUTH_TOKEN from publish script by @​​keithamus in #​1763
  • chore: bump actions and switch to sha by @​​43081j in #​1764
  • chore(deps): update dependency check-error to v2.1.3 by @​​renovate[bot] in #​1765
  • chore(deps): update dependency eslint-plugin-jsdoc to v62 by @​​renovate[bot] in #​1767
  • chore(deps): update dependencies by @​​renovate[bot] in #​1768
  • build(deps-dev): bump lodash from 4.17.21 to 4.17.23 by @​​dependabot[bot] in #​1769
  • chore(deps): update dependencies by @​​renovate[bot] in #​1770
  • chore(deps): update dependencies by @​​renovate[bot] in #​1771
  • chore(deps): update dependencies by @​​renovate[bot] in #​1773
  • docs: fix syntax errors in assert examples by @​​EvanHahn in #​1774
  • build(deps): bump qs from 6.14.1 to 6.14.2 by @​​dependabot[bot] in #​1775
  • chore(deps): update dependency eslint-plugin-jsdoc to v62.5.5 by @​​renovate[bot] in #​1776
  • chore(deps): update dependencies by @​​renovate[bot] in #​1777
  • chore(deps): update eslint monorepo to v10 (major) by @​​renovate[bot] in #​1772
  • chore(deps): update dependencies by @​​renovate[bot] in #​1782
  • build(deps): bump rollup from 4.22.4 to 4.59.0 by @​​dependabot[bot] in #​1780
  • build(deps-dev): bump minimatch from 9.0.5 to 9.0.9 by @​​dependabot[bot] in #​1783
  • chore(deps): update dependency c8 to v11 by @​​renovate[bot] in #​1778
  • chore(deps): update dependency esbuild to v0.27.4 by @​​renovate[bot] in #​1784
  • build(deps-dev): bump flatted from 3.3.3 to 3.4.2 by @​​dependabot[bot] in #​1786
  • chore(deps): update dependency eslint to v10.1.0 by @​​renovate[bot] in #​1787
  • chore(deps): update dependency typescript to v6 by @​​renovate[bot] in #​1788
  • build(deps): bump picomatch by @​​dependabot[bot] in #​1789
  • chore(deps): update dependency eslint-plugin-jsdoc to v62.8.1 by @​​renovate[bot] in #​1790
  • chore(deps): update dependencies by @​​renovate[bot] in [#​1792](https://redirect.github.com/chaijs/chai/
balena-io/open-balena-api (balena/open-balena-api)

v50.0.33

Compare Source

Update balena/open-balena-db Docker tag to v8.0.30

Notable changes
  • Update postgres:18 Docker digest to 4ef4dbc [balena-renovate[bot]]
balena-io/open-balena-db (balena/open-balena-db)
v8.0.30

Compare Source

(2026-10-21)
  • Update postgres:18 Docker digest to 4ef4dbc [balena-renovate[bot]]
List of commits

fc1a320 (Update balena/open-balena-db Docker tag to v8.0.30, 2026-10-21)

v50.0.32

Compare Source

Update balena/open-balena-base Docker tag to v22.0.5

Notable changes
  • Update Node.js to v26.12.1 [balena-renovate[bot]]
balena-io-modules/open-balena-base (balena/open-balena-base)
v22.0.5

Compare Source

(2026-10-21)
  • Update Node.js to v26.12.1 [balena-renovate[bot]]
List of commits

f8b1073 (Update balena/open-balena-base Docker tag to v22.0.5, 2026-10-21)

v50.0.31

Compare Source

Update balena/open-balena-db Docker tag to v8.0.29

Notable changes
  • Update postgres:18 Docker digest to 1267c7e [balena-renovate[bot]]
balena-io/open-balena-db (balena/open-balena-db)
v8.0.29

Compare Source

(2026-10-21)
  • Update postgres:18 Docker digest to 1267c7e [balena-renovate[bot]]
List of commits

89d22c0 (Update balena/open-balena-db Docker tag to v8.0.29, 2026-10-21)

v50.0.30

Compare Source

Update balena/open-balena-db Docker tag to v8.0.28

Notable changes
  • Update postgres:18 Docker digest to 5486e8f [balena-renovate[bot]]
balena-io/open-balena-db (balena/open-balena-db)
v8.0.28

Compare Source

(2026-10-21)
  • Update postgres:18 Docker digest to 5486e8f [balena-renovate[bot]]
List of commits

8532616 (Update balena/open-balena-db Docker tag to v8.0.28, 2026-10-21)

v50.0.29

Compare Source

Update balena/open-balena-base Docker tag to v22.0.4

Notable changes
  • Update debian:13 Docker digest to 4c25275 [balena-renovate[bot]]
balena-io-modules/open-balena-base (balena/open-balena-base)
v22.0.4

Compare Source

(2026-10-21)
  • Update debian:13 Docker digest to 4c25275 [balena-renovate[bot]]
List of commits

082873d (Update balena/open-balena-base Docker tag to v22.0.4, 2026-10-21)

v50.0.28

Compare Source

a6cb7a6 (Convert registry interactions from request to fetch, 2026-10-19)

v50.0.27

Compare Source

96b48ac (Update grafana/loki Docker tag to v3.7.9, 2026-10-20)

v50.0.26

Compare Source

25a0c21 (Tests: read from loki, 2026-10-20)

v50.0.25

Compare Source

09829ca (Logs: add the additional context to the read context as well, 2026-10-19)
e40b2d7 (Logs: update the getWriteContext key as the contents format changed, 2026-10-19)

v50.0.24

Compare Source

b558c94 (Enable zod automatic schema compilation for v4.5.0+ performance, 2026-10-18)

v50.0.23

Compare Source

371c3be (Create a secret KeyObject once to sign and verify JWTs, 2026-10-19)

v50.0.22

Compare Source

6f854d6 (Logs: fetch loki additional context with the initial write context, 2026-10-17)

v50.0.21

Compare Source

43372c5 (Tests: add tests for /device/v2/:uuid/log-stream endpoint, 2026-10-18)

v50.0.20

Compare Source

3681be5 (Lock file maintenance, 2026-10-19)

v50.0.19

Compare Source

dcb928b (Sentry: also ignore request bodies for state patch, 2026-10-17)

v50.0.18

Compare Source

Update pgsty/mc Docker tag to RELEASE.2026-10-18T00-00-00Z

Notable changes
  • Update silo-pkg to v3.14.2 and upstream minio-go to v7.4.1. Failed multipart
  • Build and test with Go 1.27.2. Refresh Go x/* modules, compress v1.20.3,
  • Update fwd to v1.2.1 to preserve bytes returned together with a read error
  • Refresh the pinned UBI 9 release images and use nFPM v2.48.0 for its security
pgsty/mc (pgsty/mc)
vRELEASE.2026-10-18T00-00-00Z

Compare Source

Package version: 20261018000000.0.0. GitHub assets and Docker Hub images
published on 2026-10-17. Release and latest images cover Linux amd64/arm64.
Release notes.
Changes since 20260916

  • Update silo-pkg to v3.14.2 and upstream minio-go to v7.4.1. Failed multipart
    uploads are cleaned up after cancellation, retention timestamps are sent in
    UTC, and STS duration requests are preserved. Existing copy error and
    checksum handling is retained. Parallel SDK GET and ComposeObject remain
    opt-in; this update does not enable them in mcli.
  • Build and test with Go 1.27.2. Refresh Go x/* modules, compress v1.20.3,
    msgp v1.6.5 and the etcd clients v3.7.2. Update golangci-lint to v2.15.0,
    govulncheck to v1.9.0 and gofumpt to v0.12.0.
  • Update fwd to v1.2.1 to preserve bytes returned together with a read error
    and correct Skip offsets and fallback behavior on pipes. Update cpuid to
    v2.4.1 for CPU cache identification fixes.
  • Refresh the pinned UBI 9 release images and use nFPM v2.48.0 for its security
    dependency updates and RPM/APK packaging fixes. Use GoReleaser v2.18.3 for
    secret redaction, archive error handling and Draft release fixes.

The go-systemd v22.6.0 portability pin and tablewriter v0.0.5 API remain
unchanged. This release does not require a server or Console upgrade.

List of commits

b4dc49c (Update pgsty/mc Docker tag to RELEASE.2026-10-18T00-00-00Z, 2026-10-19)

v50.0.17

Compare Source

7e78594 (Logs: avoid using a JSON.stringify replacer so we stay on the fast path, 2026-10-18)

v50.0.16

Compare Source

Update dependency @​opentelemetry/instrumentation-express to v0.71.1

Notable changes
  • instrumentation-express: don't leave an ignored request handler's path in http.route (#​3802) (a5ee809)
open-telemetry/opentelemetry-js-contrib (@​&#​8203;opentelemetry/instrumentation-express)
v0.71.1

Compare Source

Bug Fixes
  • instrumentation-express: don't leave an ignored request handler's path in http.route (#​3802) (a5ee809)
List of commits

0e922df (Update dependency @​opentelemetry/instrumentation-express to v0.71.1, 2026-10-18)

v50.0.15

Compare Source

Update dependency p-timeout to v8

Notable changes
  • Require Node.js 22 c633f8f
  • Call .cancel() on the input on every timeout and abort (#​47) d938bcd
  • Reject with the exact abort reason, even when it is null f2b3ae3
  • Only create a TimeoutError when the timeout can reject with it bcc57d3
  • Fix timeouts above 2 ** 31 - 1 milliseconds firing immediately 7273802
  • Fix custom clearTimeout being called with undefined when no timer exists f6e3d89
  • Fix cleanup failures changing the outcome or leaking the abort listener 0beb15c
  • Reject with a clear TypeError for invalid customTimers beaa523
sindresorhus/p-timeout (p-timeout)
v8.0.0

Compare Source

Breaking
  • Require Node.js 22 c633f8f
  • Call .cancel() on the input on every timeout and abort (#​47) d938bcd
    • Before, only a timeout without a fallback called it. Now a timeout with a fallback, an abort of signal, and an already aborted signal also call it.
    • Cancellation is best-effort. If .cancel() throws, the error is ignored and the promise still settles. Before, the error escaped the timer as an uncaught exception and the promise never settled.
    • .cancel() runs after the outcome is decided, so it cannot change the outcome.
    • A fallback that returns the input itself now gets a cancelled input.
  • Reject with the exact abort reason, even when it is null f2b3ae3
    • controller.abort(null) used to reject with a generic AbortError.
Improvements
  • Only create a TimeoutError when the timeout can reject with it bcc57d3
    • Capturing a stack trace is expensive, and most promises settle before the timeout.
Fixes
  • Fix timeouts above 2 ** 31 - 1 milliseconds firing immediately 7273802
    • They now never time out, the same as Infinity.
  • Fix custom clearTimeout being called with undefined when no timer exists f6e3d89
  • Fix cleanup failures changing the outcome or leaking the abort listener 0beb15c
  • Reject with a clear TypeError for invalid customTimers beaa523
    • Before, this failed with an unrelated error, or was ignored when the input settled synchronously or the timeout was Infinity.

List of commits

df64349 (Update dependency p-timeout to v8, 2026-10-18)

v50.0.14

Compare Source

Update dependency p-queue to v10

Notable changes
  • Require Node.js 22 300a52d
  • The queue is now an EventTarget instead of an EventEmitter 300a52d
  • .clear() now rejects the promises of the removed tasks with an AbortError instead of leaving them pending forever 64311ff
  • TimeoutError is now a DOMException named TimeoutError, like the error of AbortSignal.timeout() 300a52d
  • Remove the deprecated carryoverConcurrencyCount option: use carryoverIntervalCount 300a52d
  • Stricter validation of options 76a48ba d65d567
  • .start(), .clear(), and setting concurrency no longer emit empty and idle when the queue is already empty, so idle no longer fires on a queue that never had a task aeedf53
  • A custom queueClass must now implement remove() 300a52d
  • Zero dependencies! 300a52d
  • A task now runs in the async context of its .add() call, so it sees the AsyncLocalStorage values of the caller, also when it starts later (Node.js 22.3 and later, Deno, and Bun) (#​200) a5b7b54
  • A task with a timeout now gets a signal that aborts when the task times out, so you can pass it on to fetch() and similar to stop the work 300a52d
  • .onEmpty() and the empty event now fire when the last waiting task starts, not when the next task finishes 1cf5b82 cb25a0a
  • .addAll() now resolves with a typed tuple when the tasks return different types 36e83aa
  • Fix many rate-limit bugs where intervalCap was exceeded at the end of a window, a waiting task got stuck, or isRateLimited was wrong 6af55a7 1cf5b82 6c08a4f ac89911 450356a
  • Fix slow add, run, and abort for many tasks that share a signal, and PriorityQueue keeping finished tasks in memory 95622a4 6fb8337
  • Fix many edge cases with events and priorities, like infinite recursion in an idle listener and events in the wrong order aeedf53 b33dd44 8792846 e79f970 d65d567 6f6028a
  • Fix undefined options and an invalid .timeout setter breaking the queue d6cf96b 48586f4
  • Fix many TypeScript types 36e83aa fa3c3e0
    -queue.on('completed', result => {
  • console.log(result);
    -});
    -queue.once('idle', () => {});
  • If you add the same listener twice, it is called once.
  • A listener that is removed while an event is dispatched is not called for that event.
  • The TimeoutError stack trace no longer shows where the task was added.
  • With timeout set, the task's signal is no longer linked to your signal after the task finishes.
  • Tasks with a signal or timeout settle 2 microtasks later than before.
sindresorhus/p-queue (p-queue)
v10.0.0

Compare Source

Breaking
  • Require Node.js 22 300a52d
  • The queue is now an EventTarget instead of an EventEmitter 300a52d
    • Use .addEventListener() and .removeEventListener() instead of .on(), .once(), .off(), and the other EventEmitter methods.
    • The completed and error events have the result or the error in event.detail.
    • An error thrown in an event listener now exits the process. Node.js reports it as an uncaught exception.
  • .clear() now rejects the promises of the removed tasks with an AbortError instead of leaving them pending forever 64311ff
    • .clear() marks these promises as handled, but a promise made from them, like the one from .addAll() or queue.add(fn).then(…), now rejects, so handle it.
  • TimeoutError is now a DOMException named TimeoutError, like the error of AbortSignal.timeout() 300a52d
  • Remove the deprecated carryoverConcurrencyCount option: use carryoverIntervalCount 300a52d
  • Stricter validation of options 76a48ba d65d567
    • concurrency and intervalCap must be integers (or Infinity). A limit of 1.5 used to let 2 tasks run.
    • timeout and interval above 2147483647 ms (the maximum timer delay) are rejected. They used to fire after 1 ms.
    • .add() rejects with a TypeError when priority is NaN or not a number.
  • .start(), .clear(), and setting concurrency no longer emit empty and idle when the queue is already empty, so idle no longer fires on a queue that never had a task aeedf53
  • A custom queueClass must now implement remove() 300a52d
Improvements
  • Zero dependencies! 300a52d
  • A task now runs in the async context of its .add() call, so it sees the AsyncLocalStorage values of the caller, also when it starts later (Node.js 22.3 and later, Deno, and Bun) (#​200) a5b7b54
    • Previously, a waiting task could see the values of whatever started it, like another request on a server.
  • A task with a timeout now gets a signal that aborts when the task times out, so you can pass it on to fetch() and similar to stop the work 300a52d
  • .onEmpty() and the empty event now fire when the last waiting task starts, not when the next task finishes 1cf5b82 cb25a0a
  • .addAll() now resolves with a typed tuple when the tasks return different types 36e83aa
Fixes
  • Fix many rate-limit bugs where intervalCap was exceeded at the end of a window, a waiting task got stuck, or isRateLimited was wrong 6af55a7 1cf5b82 6c08a4f ac89911 450356a
  • Fix slow add, run, and abort for many tasks that share a signal, and PriorityQueue keeping finished tasks in memory 95622a4 6fb8337
  • Fix many edge cases with events and priorities, like infinite recursion in an idle listener and events in the wrong order aeedf53 b33dd44 8792846 e79f970 d65d567 6f6028a
  • Fix undefined options and an invalid .timeout setter breaking the queue d6cf96b 48586f4
  • Fix many TypeScript types 36e83aa fa3c3e0

Migration guide
Events
-queue.on('completed', result => {
-	console.log(result);
-});
+queue.addEventListener('completed', event => {
+	console.log(event.detail);
+});

-queue.once('idle', () => {});
+queue.addEventListener('idle', () => {}, {once: true});

If the result or the error is undefined, event.detail is null, because CustomEvent works that way.

Other differences from EventEmitter:

  • If you add the same listener twice, it is called once.
  • A listener that is removed while an event is dispatched is not called for that event.
.clear()

The promises of the removed tasks now reject with an AbortError. If you await them, handle the rejection:

const results = await queue.addAll(tasks).catch(error => {
	if (error.name === 'AbortError') {
		return [];
	}

	throw error;
});
Timeouts and signals

error instanceof TimeoutError still works. You can also check error.name === 'TimeoutError', which also matches the error of AbortSignal.timeout().

Other changes:

  • The TimeoutError stack trace no longer shows where the task was added.
  • With timeout set, the task's signal is no longer linked to your signal after the task finishes.
  • Tasks with a signal or timeout settle 2 microtasks later than before.

List of commits

a0d8884 (Update dependency p-queue to v10, 2026-10-17)

v50.0.13

Compare Source

230106e (Lock file maintenance, 2026-10-17)

v50.0.12

Compare Source

Update dependency @​balena/lint to ^9.4.10

Notable changes
  • Update dependency lint-staged to v17.6.0 [balena-renovate[bot]]
balena-io-modules/node-balena-lint (@​&#​8203;balena/lint)
v9.4.11

Compare Source

(2026-10-14)
  • Update dependency lint-staged to v17.6.0 [balena-renovate[bot]]
List of commits

96f6329 (Update dependency @​balena/lint to ^9.4.10, 2026-10-17)

v50.0.11

Compare Source

Update dependency @​opentelemetry/instrumentation-express to v0.71.0

Notable changes
  • deps: update deps matching '@​​opentelemetry/*' (#​3804) (36fcb9c)
  • The following workspace dependencies were updated
open-telemetry/opentelemetry-js-contrib (@​&#​8203;opentelemetry/instrumentation-express)
v0.71.0

Compare Source

Features
Dependencies
List of commits

4030841 (Update dependency @​opentelemetry/instrumentation-express to v0.71.0, 2026-10-15)

v50.0.10

Compare Source

Update dependency supertest to v7.3.1

Notable changes
  • Merge pull request #​907 from JH8459/fix/ephemeral-loopback-bind 884cd26
  • fix: bind ephemeral server to the loopback address it connects to e74a1e0
ladjs/supertest (supertest)
v7.3.1

Compare Source

  • Merge pull request #​907 from JH8459/fix/ephemeral-loopback-bind 884cd26
  • fix: bind ephemeral server to the loopback address it connects to e74a1e0

List of commits

eaab112 (Update dependency supertest to v7.3.1, 2026-10-15)

v50.0.9

Compare Source

Update balena/open-balena-base Docker tag to v22.0.3

Notable changes
  • Update Node.js to v26.12.0 [balena-renovate[bot]]
balena-io-modules/open-balena-base (balena/open-balena-base)
v22.0.3

Compare Source

(2026-10-14)
  • Update Node.js to v26.12.0 [balena-renovate[bot]]
List of commits

73c8d36 (Update balena/open-balena-base Docker tag to v22.0.3, 2026-10-15)

v50.0.8

Compare Source

10c426f (Update dependency @​types/node to v26.6.5, 2026-10-15)

v50.0.7

Compare Source

Update opentelemetry-js monorepo to v0.223.0

Notable changes
open-telemetry/opentelemetry-js (@​&#​8203;opentelemetry/instrumentation-http)
v0.223.0

Compare Source

List of commits

65c7d6d (Update opentelemetry-js monorepo to v0.223.0, 2026-10-15)

v50.0.6

Compare Source

25bc15e (Optimize the trust proxy caching, 2026-10-14)

v50.0.5

Compare Source

d54f2f9 (Tests: add support for unauthenticated s3 device type access to mocks, 2026-10-14)

v50.0.4

Compare Source

56886c6 (Switch to a more optimized fnv1a implementation, 2026-10-14)

v50.0.3

Compare Source

650d673 (Fix unauthenticated s3 device type access, 2026-10-13)

v50.0.2

Compare Source

Update dependency proxy-addr to v2.0.8 [SECURITY]

Notable changes
jshttp/proxy-addr (proxy-addr)
v2.0.8

Compare Source

=====

List of commits

c6d4c3c (Update dependency proxy-addr to v2.0.8 [SECURITY], 2026-10-12)

v50.0.1

Compare Source

Update dependency compression to v1.8.2 [SECURITY]

Notable changes
expressjs/compression (compression)
v1.8.2

Compare Source

=====

List of commits

afc12a1 (Update dependency compression to v1.8.2 [SECURITY], 2026-10-12)

v50.0.0

Compare Source

db2322d (Switch from aws-sdk v2 to @​aws-sdk/client-s3 v3, 2026-09-29)

v49.7.13

Compare Source

413e9a0 (Improve how handles & usernames are generated from non-ascii text, 2026-10-08)

v49.7.12

Compare Source

Update dependency @​balena/node-metrics-gatherer to v8

Notable changes
  • Remove typed-error dependency [Pagan Gazzard]
  • Change MetricsGatherer to a type-only export, use the metrics singleton [Pagan Gazzard]
  • Convert to ESM [Pagan Gazzard]
  • Switch from deprecated prom-client to @prometheus-io/client [Pagan Gazzard]
  • Set minimum support nodejs version to 24.x [Pagan Gazzard]
balena-io-modules/node-metrics-gatherer (@​&#​8203;balena/node-metrics-gatherer)
v8.0.0

Compare Source

(2026-10-07)
  • Remove typed-error dependency [Pagan Gazzard]
  • Change MetricsGatherer to a type-only export, use the metrics singleton [Pagan Gazzard]
  • Convert to ESM [Pagan Gazzard]
  • Switch from deprecated prom-client to @prometheus-io/client [Pagan Gazzard]
  • Set minimum support nodejs version to 24.x [Pagan Gazzard]
List of commits

e452450 (Update dependency @​balena/node-metrics-gatherer to v8, 2026-10-08)

v49.7.11

Compare Source

Update balena/open-balena-base Docker tag to v22.0.2

Notable changes
  • Update Node.js to v26.11.1 [balena-renovate[bot]]
  • Update Node.js to v26.11.0 [balena-renovate[bot]]
balena-io-modules/open-balena-base (balena/open-balena-base)
v22.0.2

Compare Source

(2026-10-08)
  • Update Node.js to v26.11.1 [balena-renovate[bot]]
  • Update Node.js to v26.11.0 [balena-renovate[bot]]
List of commits

6f1e289 (Update balena/open-balena-base Docker tag to v22.0.2, 2026-10-08)

v49.7.10

Compare Source

096d08c (Lock file maintenance, 2026-10-08)

v49.7.9

Compare Source

Update balena/open-balena-base Docker tag to v22.0.1

Notable changes
  • Update debian:13 Docker digest to 913f670 [balena-renovate[bot]]
balena-io-modules/open-balena-base (balena/open-balena-base)
v22.0.1

Compare Source

(2026-10-06)
  • Update debian:13 Docker digest to 913f670 [balena-renovate[bot]]
List of commits

7830af5 (Update balena/open-balena-base Docker tag to v22.0.1, 2026-10-08)

v49.7.8

Compare Source

Update balena/open-balena-db Docker tag to v8.0.27

Notable changes
  • Update postgres:18 Docker digest to 74935e7 [balena-renovate[bot]]
  • Update postgres:18 Docker digest to fc973eb [balena-renovate[bot]]
  • Update postgres:18 Docker digest to 6737476 [balena-renovate[bot]]
balena-io/open-balena-db (balena/open-balena-db)
v8.0.27

Compare Source

(2026-10-07)
  • Update postgres:18 Docker digest to 74935e7 [balena-renovate[bot]]
v8.0.26

Compare Source

(2026-10-06)
  • Update postgres:18 Docker digest to fc973eb [balena-renovate[bot]]
v8.0.25

Compare Source

(2026-10-06)
  • Update postgres:18 Docker digest to 6737476 [balena-renovate[bot]]
List of commits

0ffb6cf (Update balena/open-balena-db Docker tag to v8.0.27, 2026-10-07)

v49.7.7

Compare Source

17edcb9 (Update dependency @​types/node to v26.6.4, 2026-10-04)

v49.7.6

Compare Source

Update dependency mocha to v12.0.3

Notable changes
mochajs/mocha (mocha)
v12.0.3

Compare Source

🩹 Fixes
📚 Documentation
🧹 Chores
List of commits

32b044e (Update dependency mocha to v12.0.3, 2026-10-04)

v49.7.5

Compare Source

f043f70 (Reduce delays for registry cleanup tests, 2026-10-02)

v49.7.4

Compare Source

Update dependency chai to v6.3.0

Notable changes

✂ Note

PR body was truncated to here.

List of commits

1e15f1f (Update balena/open-balena-api Docker tag to v50, 2026-10-23)

Don't miss a new open-balena release

NewReleases is sending notifications on new releases.