fix: align Fern-generated SDK version strings with published 4.0.0 - #18
Merged
Conversation
The publish job stamps SDK_VERSION, X-Fern-SDK-Version and User-Agent from the release tag in the CI checkout only, so main kept the 3.0.2 values Fern last generated while 4.0.0 shipped correctly. Set them to 4.0.0 so the tree matches the published package.
luke-speechify
added a commit
that referenced
this pull request
Aug 19, 2026
🤖 I have created a release *beep* *boop* --- ## [4.0.1](4.0.0...4.0.1) (2026-08-19) ### Bug Fixes * align Fern-generated SDK version strings with published 4.0.0 ([#18](#18)) ([3b72093](3b72093)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Luke Oliff <289678208+luke-speechify@users.noreply.github.com>
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.
On
main,src/version.tsandsrc/BaseClient.tsreport3.0.2while npmlatestfor@speechify/apiis4.0.0.Why they drifted
The publish job stamps the version literals from the release tag, but it does so in the CI checkout only and never commits the result back:
SDK_VERSIONinsrc/version.tsX-Fern-SDK-Versioninsrc/BaseClient.tsUser-Agentinsrc/BaseClient.tsSo the published
4.0.0artifact was correct — the assertion step verified the stamped values against the tag in bothdist/cjsanddist/esmbefore publishing. What stayed behind onmainwas whatever Fern last generated, which was3.0.2.The three files release-please owns structurally were already correct on
mainand are untouched here:package.jsonversion,.release-please-manifest.json, and.fern/metadata.jsonsdkVersionall read4.0.0.What this changes
Sets the three stale literals to
4.0.0, nothing else:src/version.tsSDK_VERSION = "3.0.2"SDK_VERSION = "4.0.0"src/BaseClient.ts"X-Fern-SDK-Version": "3.0.2""X-Fern-SDK-Version": "4.0.0"src/BaseClient.ts"User-Agent": "@speechify/api/3.0.2""User-Agent": "@speechify/api/4.0.0""Speechify-Version": options?.version ?? "2026-09-13"is deliberately not touched — that is the API date-version and it moves independently of the SDK version.No
x-release-please-versionmarker comment was added, andrelease-please-config.jsonis unchanged. The marker mechanism is forbidden perAGENTS.md: a Fern regen strips the comment and the generic updater then silently no-ops, which is the original cause of this class of bug.What happens next
This is a
fix:, so release-please will cut 4.0.1. On that release PR the same three literals get bumped again to4.0.1— at which point the tree and the published package finally agree, and future releases keep them in step via the stamp plus the pre-publish assertion.Interim state to expect: between merging this and the
4.0.1release,mainreads4.0.0in these files and npmlatestis4.0.0, so they match for the first time. After4.0.1publishes,mainwill again read one version behind until the next regen or alignment — that is the by-design consequence of stamping at publish time and is documented inAGENTS.md.Verification
pnpm install --frozen-lockfile— lockfile up to datepnpm build— passedpnpm test— 29 files, 533 tests, all passing4.0.0indist/cjs/version.js,dist/esm/version.mjs,dist/cjs/BaseClient.js,dist/esm/BaseClient.mjspackage.jsonrepository.urlverified as case-exactSpeechify-AI(provenance requirement)