Release v4.6.0 - #518
Merged
Merged
Conversation
Aggregate the user-facing changes merged since v4.5.0, ordered by significance (new APIs, enhancements, type/docs sync, fixes, deprecations, maintenance). Internal-only changes (test refactors, the maintainer skill) are intentionally excluded.
Both helper accessors are new in this cycle but shipped without the @SInCE tag every other 4.6.0 addition carries; add it for consistency.
…nessCategory Profiles gained the string businessCategory this cycle, and onboarding already deprecates its numeric categoryCode. Annotate the profiles field consistently; the @deprecated propagates to the request params via PickOptional. JSDoc-only, non-breaking.
…fter approval) master is protected, so the version bump rides in via a release PR rather than a direct push; verification must happen before npm version (the publish workflow only runs unit tests); and the tag should be pushed only once the PR is approved, to avoid stale-tag rework. Align CONTRIBUTING.md, the project CLAUDE.md, and the publish workflow header comment.
edorivai
approved these changes
Jun 30, 2026
edorivai
left a comment
Collaborator
There was a problem hiding this comment.
Reviewed as a release PR. LGTM.
- Version: 4.5.0 → 4.6.0 minor bump — correct, since the whole batch is additive + deprecations with no breaking changes.
- CHANGELOG: cross-checked against every PR merged since v4.5.0 — complete and accurate. Correctly omits the non-user-facing ones (#481 test fix, #493 test reorg, #513 dev tooling). Date is today.
- src changes: three
@since 4.6.0/@deprecatedJSDoc backfills (InvoiceHelper.getPdfUrl, OrganizationHelper.getDashboardUrl, profile categoryCode→businessCategory) — appropriate; other new helpers already carried@sincefrom their own PRs. - Process docs (CLAUDE.md/publish.yml/CONTRIBUTING.md) now match the protected-master / release-PR flow this PR uses. Self-consistent.
One pre-publish check (not blocking this PR): #508 (terminal pairing codes) ships in this release and was previously held over two unverified runtime constants — the resource dispatch string (terminal-pairing-code) and the _embedded key (terminal-pairing-codes). Worth confirming both against a real API response before publishing the GitHub Release, since a wrong value throws at runtime on every pairing-code call.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares the v4.6.0 release. Full flat list in
CHANGELOG.md; categorized notes for the GitHub Release body are drafted inRELEASE_NOTES_v4.6.0.md.New APIs
paymentRoutes.get+ a routegetPayment()helper (feat: complete Routes API coverage (get endpoint + payment link) #511)Runtime & compatibility
dangerouslyAllowBrowser(feat: support non-Node.js runtimes (Bun, Deno, edge) #490)Enhancements
parameterDefaultsoption for OAuth clients (feat: add parameterDefaults for OAuth clients #517)storeCredentialson payment/order create (feat: add storeCredentials parameter to payment create and order create #480)testmode/profileIdon the remaining endpoints; deprecate callback-as-second-argument overloads (feat: declare testmode/profileId on endpoints that accept them #514)testmodeonpermissions.get(feat: support testmode on get-permission + sync permissions docs #503);profileIdon the Apple Pay session (feat(applePay): add profileId to payment session request #512)legalEntity/registrationOffice/incorporationDateon Create client link (feat: add legalEntity, registrationOffice, incorporationDate to client link params #495)metadataon connect balance transfers (feat(balance-transfers): support metadata on connect balance transfers #492);mode/updatedAton theTerminaltype (fix: align terminal response type with the API #507)Type & documentation sync
Fixes
embedinstead of the ignoredinclude(fix(captures): embed the payment via theembedquery parameter #483)Deprecations
Maintenance
form-dataadvisory (chore(deps): update dev dependencies and patch form-data advisory #482)Release prep (this PR)
@since 4.6.0tags, deprecate the numeric profilescategoryCode, clarify the release-process docs, and bump to 4.6.0.