Bump version to 0.19.0 - #920
Conversation
Promotes MIGRATING.md's Unreleased section to v0.19.0 and carries the version across the eleven version files and eight lockfiles. Adds one migration note the promotion did not cover. #912 carries the breaking label, so it will appear under the release notes' Breaking Changes heading, and MIGRATING.md had nothing to match it. The EventFeed operations reach a tagged release for the first time here — PollEvents and PollInbox do not exist in v0.18.0 — so the error shapes #912 replaced were never released and there is nothing for a consumer to migrate. That is worth a section rather than a silence: the release notes are generated from labels and cannot say it.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approved
The release declarations and lockfile references are consistently synchronized to v0.19.0, with appropriate migration documentation.
Pull request overview
Prepares the coordinated v0.19.0 SDK release by synchronizing version metadata, lockfiles, and migration guidance.
Changes:
- Bumps all SDK version declarations to
0.19.0. - Refreshes eight lockfiles.
- Promotes the migration section and documents #912’s pre-release breaking changes.
[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or rungh pr ready --undo.
Click "Ready for review" or rungh pr readyto reengage.
File summaries
| File | Description |
|---|---|
package.json |
Bumps the root version. |
MIGRATING.md |
Promotes v0.19.0 and documents #912. |
go/pkg/basecamp/version.go |
Bumps the Go SDK version. |
typescript/package.json |
Bumps the TypeScript package version. |
typescript/package-lock.json |
Synchronizes the TypeScript lockfile. |
typescript/src/client.ts |
Updates the TypeScript runtime version. |
ruby/lib/basecamp/version.rb |
Bumps the Ruby SDK version. |
ruby/Gemfile.lock |
Synchronizes the Ruby lockfile. |
python/pyproject.toml |
Bumps the Python package version. |
python/src/basecamp/_version.py |
Updates the Python runtime version. |
python/uv.lock |
Synchronizes the Python lockfile. |
swift/Sources/Basecamp/BasecampConfig.swift |
Bumps the Swift SDK version. |
kotlin/sdk/build.gradle.kts |
Bumps the Kotlin package version. |
kotlin/sdk/src/commonMain/kotlin/com/basecamp/sdk/BasecampConfig.kt |
Updates the Kotlin runtime version. |
rust/basecamp-sdk/Cargo.toml |
Bumps the Rust crate version. |
rust/Cargo.lock |
Synchronizes the Rust lockfile. |
conformance/runner/typescript/package-lock.json |
Refreshes the linked TypeScript SDK metadata. |
conformance/runner/ruby/Gemfile.lock |
Refreshes the linked Ruby SDK version. |
conformance/runner/python/uv.lock |
Refreshes the linked Python SDK version. |
conformance/runner/rust/Cargo.lock |
Refreshes the linked Rust SDK version. |
Review details
Files not reviewed (2)
- conformance/runner/typescript/package-lock.json: Generated file
- typescript/package-lock.json: Generated file
- Files reviewed: 12/20 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Cuts v0.19.0 from
4523eac7.make bump VERSION=0.19.0promoted MIGRATING.md's# Unreleasedheading and carried the version across eleven version files and eight lockfiles; nothing else in the tree changed.What the release carries
Nine migration sections were sitting under Unreleased, the oldest since v0.18.0 shipped on 2026-09-10: the Rust SDK's first appearance, the gauges spec drifts (#731),
Retry-Afterconverging on SPEC §6's table (#799), Swift's sixthBasecampError.apivalue (#775), the Python list-body andretryablechanges (#906), two exit-code changes, andEvent/WebhookEventgainingPerformedBy(#898) — which also brought the account event feed's wire layer.Most of the feed work landed after that note was written: the Go connector and its tier-2 conformance family (#777, #705, #778), the generated operations (#898), the split poll-lane errors (#912), the inbox lane (#897), the Layer-1 adapters (#899), and the capacity ceiling (#919).
One note added by hand
The promotion is mechanical, so it could not notice that #912 carries the⚠️ Breaking Changes pointing at nothing.
breakinglabel with no MIGRATING section to match it. Release notes are generated from labels, so #912 would have appeared underThe honest answer is that there is nothing to migrate, and it is worth saying rather than leaving blank:
PollEventsandPollInboxdo not exist in v0.18.0 — theEventFeedoperations reach a tagged release for the first time in this one — so the error shapes #912 replaced lived only onmainand no released code can be holding them. The new section says that, and says why it is there.After this merges
make release VERSION=0.19.0frommainruns the version-consistency and lockfile-freshness gates, then tagsv0.19.0and pushes it, which triggers the seven publish workflows.One downstream consumer is waiting on the tag: basecamp-cli is pinned to the
mainpseudo-versiona8046263for the feed commands and can re-pin to a release once it exists.Summary by cubic
Cuts v0.19.0: moves
MIGRATING.md's# Unreleasedsection under# v0.19.0and bumps the version across all SDK version files and lockfiles. Aside from one migration note, no SDK behavior changes.EventFeedoperations reach a tagged release for the first time in this version, so the error shapes Event feed: split the poll lanes' 410s and give their 400 a reason #912 replaced existed only onmain; no released code can be holding them.make release VERSION=0.19.0runs the version and lockfile gates, tagsv0.19.0, and triggers the seven publish workflows.basecamp-cliis pinned to amainpseudo-version for the feed commands and can re-pin once the tag exists.Written for commit 5e33d5e. Summary will update on new commits.