Releases: Hyphen/nodejs-sdk
Releases · Hyphen/nodejs-sdk
v4.0.0
@hyphen/sdk@4.0.0 — 2026-06-12
Raises the minimum Node.js runtime to 22.18+/24+ (drops Node 20/21) and fixes QR-code creation with custom options.
⚠ BREAKING CHANGES
- Minimum Node.js is now
^22.18.0 || >=24.0.0— Node 20 and 21 are no longer supported. Theengines.nodefloor was raised (45d8439, #134) to matchtsdown@0.22.2andhookified@3.0.0(865a5f3, #138), both of which require Node ≥22.18. Node 20 reached end-of-life in April 2026.
Migration: upgrade your runtime to Node 22.18+ or Node 24+. No SDK code changes are required — the public API (Hyphen,Toggle,Link,BaseService,HookifiedOptions) is unchanged. hookifiedupgraded 2.1.1 → 3.0.0 (major) (865a5f3, #138). Surfaced for consumers who usehookifieddirectly; its only breaking change is the Node ≥22.18 floor above. No SDK API changes.
Bug Fixes
createQrCodenow sends custom options asmultipart/form-datainstead of JSON (6de740b, #137). Creating a QR code withtitle,backgroundColor,color,size, orlogopreviously failed with HTTP 400; these options now work. Calls without options are unaffected. Closes #133.
Internal
- Migrate npm publish to OIDC trusted publishing with provenance attestations; drop the long-lived
NPM_TOKEN(de6caf4, #140) - Pin all third-party GitHub Actions to full commit SHAs — supply-chain hardening (cb849f9, #139)
- Upgrade GitHub Actions to latest majors: checkout v6, setup-node v6, codecov v7, codeql v4 (8506977, #136)
- Upgrade TypeScript and build tooling: typescript 6.0.3, tsdown 0.22.2, @types/node 25.9.2 (78cebba, #134)
- Upgrade cacheable ecosystem: @cacheable/net 2.0.8 (now uses the runtime's native fetch), cacheable 2.3.5 (ec25054, #132)
- Adopt pnpm 11 via corepack and
allowBuilds; consolidate the CI matrix to Node 22/24/26 (24a8dde, #132) - Pin
pnpm/action-setupto v6.0.8 by commit SHA (7d1930f, #132) - Upgrade code quality dependencies: @biomejs/biome 2.4.16, vitest & coverage-v8 4.1.8 (9a242b2, #132)
- Quarantine the live-API QR custom-options test (later re-enabled by #137) and add stubbed unit coverage to hold 100% (781e1a2, #132)
Contributors
- @jaredwray (7 PRs)
Full List of Changes
- root - chore: upgrade code quality dependencies + adopt pnpm 11 / Node 22-26 CI by @jaredwray in #132
- root - chore: upgrade TypeScript and build tooling (breaking) by @jaredwray in #134
- fix(link): send QR code custom options as multipart/form-data by @jaredwray in #137
- root - chore: upgrade GitHub Actions (breaking) by @jaredwray in #136
- root - chore: upgrade hookified (breaking) by @jaredwray in #138
- root - chore: defense - pin all GitHub Actions to full SHAs by @jaredwray in #139
- ci: migrate npm release to OIDC trusted publishing with provenance by @jaredwray in #140
Full diff: v3.1.0...v4.0.0
v3.1.0
What's Changed
- chore: upgradking biome, swc, types, vitest, and faker by @jaredwray in #127
- chore: upgrading cacheable and @cacheable/net by @jaredwray in #128
- chore: upgrading hookified to 2.1.1 by @jaredwray in #129
- feat: migrating from tsup to tsdown by @jaredwray in #130
Full Changelog: v3.0.1...v3.1.0
v3.0.1
What's Changed
- chore: upgrading biome and types by @jaredwray in #125
- chore: upgrading hookified to 2.1.0 by @jaredwray in #126
Full Changelog: v3.0.0...v3.0.1
v3.0.0
What's Changed
- chore: upgrading cacheable and @cacheable/net to latest by @jaredwray in #120
- chore: upgrading dev dependencies to latest by @jaredwray in #121
- chore: (breaking) migrating to hookified v2 by @jaredwray in #122
- fix: better jsDoc on omitting the publicApiKey from toggle option by @jaredwray in #124
Full Changelog: v2.2.1...v3.0.0
v2.2.1
What's Changed
- chore: upgrading vitest to 4.0.18 by @jaredwray in #115
- chore: upgrading @biomejs/biome to 2.3.14 by @jaredwray in #116
- chore: upgrading pino to 10.3.1 by @jaredwray in #117
- chore: upgrading hookified to 1.15.1 by @jaredwray in #118
- chore: upgrading cacheable to 2.3.2 by @jaredwray in #119
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
- chore: upgrading pino to 10.1.1 by @jaredwray in #111
- chore: removing src/index.ts exports from coverage report by @jaredwray in #112
- feat: adding in AGENTS.md by @jaredwray in #113
- feat: adding in getExecutionContext by @jaredwray in #114
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
- feat: updating the pull request template by @jaredwray in #105
- chore: upgrading @biomejs/biome to 2.3.8 by @jaredwray in #106
- chore: upgrading vitest to 4.0.15 by @jaredwray in #107
- chore: upgrading hookified to 1.14.0 by @jaredwray in #108
- chore: upgrading cacheable to 2.3.0 by @jaredwray in #109
- feat: moving to node env parsing module by @jaredwray in #110
Full Changelog: v2.0.3...v2.1.0
v2.0.3
What's Changed
- chore: upgrading vitest to 4.0.9 by @jaredwray in #101
- chore: upgrading @biomejs/biome to 2.3.5 by @jaredwray in #102
- chore: upgrading hookified to 1.13.0 by @jaredwray in #103
- chore: upgrading @cacheable/net to 2.0.2 by @jaredwray in #104
Full Changelog: v2.0.2...v2.0.3
v2.0.2
What's Changed
- chore: upgrading vitest to 4.0.1 by @jaredwray in #94
- chore: upgrading vitest to 4.0.2 by @jaredwray in #95
- chore: upgrading pino to 10.1.0 by @jaredwray in #96
- chore: upgrading hookified to 1.12.2 by @jaredwray in #97
- chore: upgrading cacheable to 2.1.1 by @jaredwray in #98
- chore: upgrading @faker-js/faker to 10.1.0 by @jaredwray in #99
- chore: upgrading @biomejs/biome to 2.2.7 by @jaredwray in #100
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- chore: upgrading @types/node to 24.7.2 by @jaredwray in #93
Full Changelog: v2.0.0...v2.0.1