Skip to content

v0.5.0

Latest

Choose a tag to compare

@dalberola dalberola released this 17 Aug 11:47
· 4 commits to main since this release
Immutable release. Only release title and notes can be modified.
5d5276a

Maintenance release. Dependency and tooling work only — no new features and no fixes to Dredd's own logic.

⚠️ Compatibility

  • engines.node raised from >=22 to >=22.22.2 in both packages. This narrows who can install, which is why this is a minor rather than a patch. The previous floor was already understated: inquirer@14 required ^22.13.0. CI (22.x, 24.x) and the Docker image (node:22-alpine) were already on satisfying versions.

📦 Runtime dependencies

  • js-yaml 4 → 5 and markdown-it 14 → 15 in dredd. Both verified behaviour-neutral for how Dredd uses them:
    • a realistic dredd.yml (color: yes, timeout: 0777, level: 12:30, floats) parses 9/9 identically under 4.2.0 and 5.3.0
    • markdown-it 15's breaking changes are confined to linkify-it 6, which never applies — linkify defaults to false and HTMLReporter passes no options
  • js-yaml 5 dropped its default export and now bundles its own types, so configUtils and init use a namespace import and @types/js-yaml is gone. markdown-it 15 ships types, so the hand-written ambient declaration was removed.

📝 Documentation

  • Corrected the published READMEs (#121). dredd's claimed Node.js >= 20 against a real floor of >=22.22.2, and both READMEs pointed at the abandoned upstream packages (npm install -g dredd, npm install dredd-transactions) rather than the @stacklych/ scoped names.
  • dredd-transactions' README now documents OpenAPI 3.2 support — the shared compiler path, the query (QUERY) method and additionalOperations, in: querystring with serializedValue, and the streaming/sequential-media warning. It had described only 3.1 since 3.2 shipped in v0.4.0.

🧹 Maintenance

  • Every direct dependency brought to its latest usable version (#114): c8 11→12, plus commitlint, cucumber, globals, mocha, nock, prettier, sinon, tsx, typescript-eslint, eslint.
  • All three resolutions pins removedjson-schema-faker (dead), ansi-regex (#116, was downgrading modern consumers), lodash (#117, redundant). The block is now gone entirely.
  • Dependabot config repaired (#118, #119): every ignore rule was stale, and nock > 10.0.6 / winston > 2.4.0 had been silently suppressing all updates to those packages.

🔒 Held back, with reasons

  • typescript stays on 6.0.3 — typescript-eslint@8.67.0 peer-requires typescript >=4.8.4 <6.1.0, and TS 7's stable compiler API isn't due until 7.1.
  • which stays on 6.0.1 — which@7's engines are ^22.22.2 || ^24.15.0 || >=26.0.0, a disjoint set excluding Node 23.x and 24.0–24.14.

Verification

Build, lint, prettier, smoke, coverage, and the full suite: dredd-transactions 222, dredd unit 556, dredd integration 529 — 0 failing. npm audit --omit=dev on the packed tarballs reports 0 vulnerabilities.