Skip to content

chore: bump @workos/oagen to ^0.15.0#77

Merged
gjtorikian merged 1 commit intomainfrom
chore/bump-oagen-0.15
May 2, 2026
Merged

chore: bump @workos/oagen to ^0.15.0#77
gjtorikian merged 1 commit intomainfrom
chore/bump-oagen-0.15

Conversation

@gjtorikian
Copy link
Copy Markdown
Collaborator

Why workos/openapi-spec#17 still shows breaking changes

oagen 0.13/0.14/0.15 ship rename-detection passes (#49, #51, #53) that downgrade type/enum renames from breaking to soft-risk in compat reports. But oagen-emitters declares `"@workos/oagen": "^0.12.0"` — a constraint that pins to 0.12.x and prevents npm from deduping with the root.

Concretely: when openapi-spec installs oagen 0.15.0 at the root, npm also installs a nested copy of oagen 0.12.0 under `node_modules/@workos/oagen-emitters/node_modules/@workos/oagen` to satisfy the `^0.12.0` constraint. At runtime, oagen-emitters' `import { phpExtractor } from '@workos/oagen/compat'` resolves through the nested 0.12.0 — so the new extractor + differ logic never runs.

Result: the compat report on PR #17 shows the same 11 breaking changes it would have shown before any of #49/#51/#53 were merged.

What this PR changes

One-line: bump the dependency constraint to `^0.15.0` so npm can dedup to the root install. `package-lock.json` updated.

Verified

Locally re-extracted + re-diffed all five language SDKs against PR #17's spec change with this bump applied:

Language Before this bump After
dotnet 0 breaking 0 breaking
go 0 breaking 0 breaking
php 7 breaking 0 breaking
python 3 breaking 0 breaking
ruby 2 breaking 0 breaking

(dotnet and go were already 0 because oagen-emitters' nested 0.12.0 happened to include the differ-side passes via re-export resolution, but the extractor changes from #53 — which give PHP/Python/Ruby their field/enum_member info — only kick in once oagen ≥ 0.15 is the resolved version.)

Once this lands and oagen-emitters cuts a release, openapi-spec only needs to bump oagen-emitters and CI on PR #17 should default-pass.

Test plan

  • `npm test` — 399/399
  • `npm install` resolves `@workos/oagen@0.15.0` (no nested copy)

🤖 Generated with Claude Code

oagen 0.13/0.14/0.15 ship the rename-detection passes that downgrade
type/enum renames from breaking to soft-risk in compat reports
(workos/oagen #49, #51, #53). Until this bump, downstream consumers
that pull oagen-emitters still resolve to oagen 0.12.0 nested under
node_modules/@workos/oagen-emitters/node_modules — so the new
extractor + differ logic never runs and breaking-changes reports stay
unchanged from pre-0.13 behaviour.

Verified: workos/openapi-spec#17 currently shows breaking=11 because
oagen-emitters is pinned to ^0.12.0; after this bump and an
oagen-emitters release, the same diff drops to breaking=0 across all
five languages (validated locally by re-extracting + re-diffing each
SDK with oagen 0.15.0).

All 399 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@gjtorikian gjtorikian merged commit 6f287ae into main May 2, 2026
5 checks passed
@gjtorikian gjtorikian deleted the chore/bump-oagen-0.15 branch May 2, 2026 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant