Skip to content

Release notes: v5.2.0

Choose a tag to compare

@klesgidis klesgidis released this 21 Jul 06:57
· 39 commits to master since this release

Summary

Minor release with major dependency upgrades across the stack: Koa 3, Mongoose 9, and uuid 14, plus Node.js 18 removal and Node 24 added to CI. Includes a small Orka compatibility fix for Koa 3 CORS origin resolution.

Compared to v5.1.2 (previous tag and latest published npm version).

Requirements

  • Node.js 20+ is required. Node 18 is no longer tested or supported.
  • Node.js 24 is now included in the CI matrix alongside 20 and 22.

Breaking changes

Koa 2 → 3 (koa@^3.2.1, @types/koa@^3.0.3)

Resolved: 2.16.33.2.1

If you use Koa APIs directly, review the Koa 3 migration guide.

Notable upstream changes:

  • ctx.throw(status, error, properties) — status comes first
  • ctx.redirect('back') removed — use ctx.back() instead
  • Query string handling moved to URLSearchParams
  • Host header injection fix in ctx.hostname

Orka change:

  • CORS origin fallback updated from ctx.request.origin to `${ctx.protocol}://${ctx.host}` in orka-builder.ts

Mongoose 8 → 9 (mongoose@^9.8.0)

Resolved: 8.21.09.8.0

Includes MongoDB Node.js driver 7.5. Review:

UUID 8 → 14 (uuid@^14.0.1)

Resolved: 8.3.214.0.1

Requires Node 20+ and a global crypto object.

New Relic 13 → 14 (newrelic@^14.3.1, dev dependency)

Resolved: 13.10.014.3.1

Review the New Relic Node.js agent release notes if you use the optional integration.

Direct dependency updates

Package v5.1.2 v5.2.0
koa ^2.16.1 (2.16.3) ^3.2.1 (3.2.1)
mongoose ^8.7.0 (8.21.0) ^9.8.0 (9.8.0)
uuid ^8.3.2 (8.3.2) ^14.0.1 (14.0.1)
@types/koa ^2.13.9 (2.15.0) ^3.0.3 (3.0.3)
newrelic ^13.10.0 (13.10.0) ^14.3.1 (14.3.1)
axios ^1.13.2 (1.13.2) ^1.18.0 (1.18.0)
joi ^18.0.2 (18.0.2) ^18.2.3 (18.2.3)
lodash ^4.17.23 (4.17.23) ^4.18.1 (4.18.1)
qs ^6.10.3 (6.14.2) ^6.15.3 (6.15.3)

Transitive dependency updates

Package v5.1.2 v5.2.0
ws 8.19.0 8.21.1
postcss 8.5.6 8.5.20
undici 7.19.0 7.28.0
form-data 4.0.5 4.0.6
protobufjs 7.5.4 7.6.5
@protobufjs/utf8 1.1.0 1.1.2
flatted 3.3.3 3.4.2
picomatch 2.3.1 2.3.2
@apm-js-collab/code-transformer 0.8.2 0.14.0
@apm-js-collab/tracing-hooks 0.3.1 0.9.1

Other changes

  • CI matrix: Node 18.x removed; 24.x added → [20.x, 22.x, 24.x]
  • GitHub Actions: actions/checkout and actions/setup-node upgraded to v7 (CI and npm publish workflows)
  • Dependabot: weekly npm updates; auto-merge for non-major bumps
  • Docs: migration notes updated to reflect Node 20+ requirement

Upgrade checklist

  1. Run on Node.js 20+ (24 is tested in CI)
  2. Search for ctx.throw( and ctx.redirect('back') in application code
  3. Review Mongoose 9 migration if using MongoDB
  4. Review New Relic v14 notes if the integration is enabled
  5. Run your test suite against the updated lockfile

Note: The v5.1.2 tag/npm publish did not include these dependency bumps — they landed after that tag. Consumers on 5.1.2 will see all of the above when upgrading to 5.2.0.