chore: 🐝 Update SDK - Generate SDK 0.5.1#303
Conversation
3c54b94 to
59db128
Compare
There was a problem hiding this comment.
Perry's Review
Automated Speakeasy SDK regeneration (0.5.0 to 0.5.1) picking up a merged spec change: unifies the two benchmark endpoints into a single Benchmarks.GetBenchmarks() call and adds workspace-budget / observability / preset operations.
Verdict: 🔁 Needs changes
Details
Risk: 🔴 High — human approval required
CI: no checks configured on this repo (0 reported); local go build and go test both pass on the head SHA.
Findings (see inline comments):
- 🔴
internal/utils/union.go:132— generator downgrade reverts the union scorer to call Elem() on the active variant, which panics at runtime (reflect Value.Elem on a slice value) for any union whose active member is a non-pointer such as a slice, map, or any. A/B-confirmed: head panics, origin/main does not. The upstream test that covered exactly this case is deleted by the same downgrade. - 🟡
.speakeasy/gen.lock:6— root cause: the regen downgrades the generator 1.778.0 to 1.761.1 (generationVersion 2.904.2 to 2.879.6, core 3.13.46 to 3.13.40, unions 2.87.7 to 2.87.6). The downgrade is what reintroduces the union panic above and reverts the go module directive 1.25.10 to 1.22. - 🟡
.speakeasy/gen.yaml:38— two public methods are removed (Breaking) but the SDK ships as a patch (0.5.1). Caret or tilde-pinned consumers will auto-upgrade and break at compile time.
Codex (gpt-5.5): 2 distinct findings — (1) the patch-bump-for-breaking-removal concern (matches my gen.yaml finding; deduped). (2) a retry branch in the new benchmarks file calls AfterSuccess for 4xx/5xx — verified this is an identical generated-template pattern present in every service file on both main and head, not introduced by this PR; discarded.
Analysis lanes: corroborated the generator/feature-version downgrade across core, pagination, serverEvents, and unions (security + correctness lanes); remaining ~200 lane items were generated gen.lock "lacks test coverage" noise — discarded.
Research: Speakeasy versioning docs confirm the generator does not analyze operation-level content — a breaking removal that doesn't bump info.version (or carry a major label) falls through to a checksum-driven patch bump. The PR body's own TIP banner says the same.
Security: no concerns — secret-pattern grep over added lines clean; no auth, key-handling, or credential surface touched. This is generated request/response model code.
Test coverage: the downgrade deletes the union test that guards the panic path. The full test suite passes only because that test is gone — coverage regressed.
Unresolved threads: none.
Scope: first review (full)
Review: tier=large · model=claude-opus-latest · score=85.0
| if activeVariant != nil { | ||
| countFieldsRecursive(candidate, activeVariant.Type, variantVal, raw) | ||
| if activeVariant != nil && !variantVal.IsNil() { | ||
| countFieldsRecursive(candidate, activeVariant.Type.Elem(), variantVal.Elem(), raw) |
There was a problem hiding this comment.
[blocker] countFieldsRecursive(candidate, activeVariant.Type.Elem(), variantVal.Elem(), raw) — panics at runtime for any union whose active member is a non-pointer (slice / map / any).
Details
Why: This line is reverted by the generator downgrade (gen.lock 1.778.0 → 1.761.1, unions 2.87.7 → 2.87.6). It assumes every union variant is a pointer and calls .Elem() on the active variant's type and value. When the active member is a slice, map, or any, reflect.Value.Elem() panics:
- slice member (e.g.
[]string,[]ChatContentItems) →reflect: call of reflect.Value.Elem on slice Value anymember →reflect: Elem of invalid type interface {}
Reachability: PickBestUnionCandidate runs countFields on each candidate whenever len(candidates) > 1. ~35 generated union types have non-pointer members (Stop, System, the Chat/Messages/Responses message-content unions, FiltersUnion, etc.) — i.e. the most-trafficked request/response deserialization paths. A response (or nested struct) that drives the scorer into one of these members panics the caller.
A/B confirmation: I ran the upstream-deleted test case against both trees — origin/main (1.778.0) returns picked list; this PR's head (1.761.1) panics with reflect: call of reflect.Value.Elem on slice Value. The downgrade also deletes TestPickBestUnionCandidate_NonPointerUnionVariants in union_test.go, which is exactly why go test ./... still passes here.
Fix: the correct (1.778.0 / main) form recurses without forcing .Elem(), letting countFieldsRecursive handle the pointer/slice/map/any cases:
if activeVariant != nil {
countFieldsRecursive(candidate, activeVariant.Type, variantVal, raw)
}Don't hand-patch generated code — fix it at the source by not downgrading the generator (see the gen.lock comment). Bumping .speakeasy/workflow.yaml's speakeasyVersion back to ≥ 1.778.0 and regenerating restores this code and the deleted test.
Ref: Go reflect.Value.Elem — "It panics if v's Kind is not Interface or Pointer."
Prompt for agents
internal/utils/union.go line 132 (inside countFieldsRecursive) was regenerated by an older Speakeasy generator (1.761.1) and now reads:
countFieldsRecursive(candidate, activeVariant.Type.Elem(), variantVal.Elem(), raw)
This panics at runtime whenever a union's active member is a non-pointer (slice/map/any) because reflect.Value.Elem() is only valid on Interface or Pointer kinds. Do NOT hand-edit this generated file. Instead, restore the newer generator: in .speakeasy/workflow.yaml set speakeasyVersion back to the version main was generated with (>= 1.778.0), and regenerate the SDK. That regeneration restores the safe form (countFieldsRecursive(candidate, activeVariant.Type, variantVal, raw)) AND re-adds the deleted internal/utils/union_test.go test TestPickBestUnionCandidate_NonPointerUnionVariants which covers slice/map/any union members. Verify with: go test ./internal/utils/.
Reviewed at 59db128
| generationVersion: 2.904.2 | ||
| releaseVersion: 0.5.0 | ||
| configChecksum: a8cd011d0fa84720f7c3504347addacc | ||
| speakeasyVersion: 1.761.1 |
There was a problem hiding this comment.
[suggestion] .speakeasy/gen.lock:6 — this regen downgrades the Speakeasy generator (1.778.0 → 1.761.1), which is the root cause of the union-scorer panic above.
Details
Why: origin/main's committed gen.lock was generated with 1.778.0; this PR rewrites it to 1.761.1. Feature versions move backwards with it: generationVersion 2.904.2 → 2.879.6, core 3.13.46 → 3.13.40, pagination 2.82.7 → 2.82.6, serverEvents 0.1.9 → 0.1.7, unions 2.87.7 → 2.87.6. The unions downgrade reintroduces the .Elem() panic in internal/utils/union.go; the same downgrade also reverts go.mod from go 1.25.10 to go 1.22.
The pin lives in .speakeasy/workflow.yaml (speakeasyVersion: 1.761.1) — unchanged by this PR, but already behind what main was last generated with. Every regen from this pin silently rolls back generator improvements (including the union fix) until the pin is advanced.
Fix: bump .speakeasy/workflow.yaml's speakeasyVersion to ≥ 1.778.0 (match or exceed what produced main), then regenerate so the lock moves forward, not backward.
Prompt for agents
.speakeasy/gen.lock at this PR's head downgrades the Speakeasy generator from 1.778.0 (on main) to 1.761.1, reverting feature versions (unions 2.87.7 -> 2.87.6 among others) and reintroducing a runtime panic in internal/utils/union.go. The version pin is in .speakeasy/workflow.yaml (speakeasyVersion: 1.761.1). Update .speakeasy/workflow.yaml to speakeasyVersion >= 1.778.0 (whatever generated main), regenerate the SDK, and confirm gen.lock's speakeasyVersion/generationVersion/core/unions are >= the values currently on origin/main and that go test ./internal/utils/ passes.
Reviewed at 59db128
| preApplyUnionDiscriminators: true | ||
| go: | ||
| version: 0.5.0 | ||
| version: 0.5.1 |
There was a problem hiding this comment.
[suggestion] .speakeasy/gen.yaml:38 — two public methods are removed (Breaking
Details
Why: Datasets.GetBenchmarksArtificialAnalysis() and Datasets.GetBenchmarksDesignArena() are removed and replaced by Benchmarks.GetBenchmarks(source=…). Both are flagged **Removed** (Breaking ⚠️) in the PR body, yet the version label is patch. Per Speakeasy versioning, the generator does not inspect operation-level content for breaking changes — when info.version isn't bumped it falls through to a checksum-driven patch. Go consumers pinned with ~ / caret-style constraints will auto-upgrade to 0.5.1 and fail to compile (the removed methods vanish).
The removal itself is clean — grep finds zero dangling references to the removed symbols anywhere in the worktree, and go build ./... passes. The concern is purely the version signal under SemVer.
Fix: force a minor (pre-1.0 breaking → minor) bump rather than patch: add a minor label to this PR, or set SPEAKEASY_BUMP_OVERRIDE=minor, or bump info.version in the source OpenAPI doc so the next regen versions correctly. The same removal was carried as a standing breaking-under-patch note on the sibling typescript-sdk (#496) and python-sdk (#344) regens.
Prompt for agents
This SDK regen (.speakeasy/gen.yaml version 0.5.0 -> 0.5.1) removes two public methods — Datasets.GetBenchmarksArtificialAnalysis() and Datasets.GetBenchmarksDesignArena() — which is a breaking change, but ships as a patch. Speakeasy does not auto-detect operation removals, so it defaulted to a checksum patch bump. Re-version this as a minor (pre-1.0 breaking maps to minor): add a "minor" label to the PR, OR set SPEAKEASY_BUMP_OVERRIDE=minor in the generation workflow, OR bump info.version in the source OpenAPI document, then regenerate. Confirm gen.yaml's version field reflects the corrected bump.
Reviewed at 59db128
59db128 to
547c162
Compare
Superseded by updated Perry review
* `OpenRouter.Benchmarks.GetBenchmarks()`: **Added** * `OpenRouter.Images.Generate()`: **Added** * `OpenRouter.Images.ListModels()`: **Added** * `OpenRouter.Images.ListModelEndpoints()`: **Added** * `OpenRouter.Workspaces.ListBudgets()`: **Added** * `OpenRouter.Workspaces.DeleteBudget()`: **Added** * `OpenRouter.Workspaces.SetBudget()`: **Added** * `OpenRouter.Datasets.GetBenchmarksArtificialAnalysis()`: **Removed** (Breaking⚠️ ) * `OpenRouter.Datasets.GetBenchmarksDesignArena()`: **Removed** (Breaking⚠️ ) * `OpenRouter.Beta.Analytics.QueryAnalytics()`: `response.Data.Warnings` **Added** * `OpenRouter.Beta.Responses.Send()`: * `request.ResponsesRequest` **Changed** * `response` **Changed** * `OpenRouter.Chat.Send()`: * `request.ChatRequest` **Changed** * `response` **Changed** * `OpenRouter.Embeddings.Generate()`: `response.Usage` **Changed** * `OpenRouter.Embeddings.ListModels()`: `response.Data[].Reasoning` **Added** * `OpenRouter.Models.Get()`: `response.Data.Reasoning` **Added** * `OpenRouter.Models.List()`: `response.Data[].Reasoning` **Added** * `OpenRouter.Models.ListForUser()`: `response.Data[].Reasoning` **Added** * `OpenRouter.Presets.CreatePresetsChatCompletions()`: `request.ChatRequest` **Changed** * `OpenRouter.Presets.CreatePresetsMessages()`: `request.MessagesRequest` **Changed** * `OpenRouter.Presets.CreatePresetsResponses()`: `request.ResponsesRequest` **Changed**
547c162 to
6f104d8
Compare
There was a problem hiding this comment.
Perry's Review
Speakeasy SDK regen to release 0.5.1 — a 280-file generated diff that restructures the benchmarks API (two per-source methods removed in favour of a unified endpoint) and, as a side effect, regenerates with an older generator than the one that produced current main.
Verdict: 🔁 Needs changes
Details
Risk: 🔴 High — human approval required
Re-review note: This is the third pass on this PR (head force-pushed to 6f104d8). The only delta since my last review is regen metadata — the gen.lock generation_id / pristine_commit_hash and a RELEASES.md timestamp. All three findings below sit on byte-identical source to what I reviewed last time, so I am not re-posting line-level findings — the three existing review threads (union scorer, generator downgrade, breaking-removal-under-patch) are still open and unresolved, and remain the blockers. Re-affirming them here rather than duplicating those threads.
CI: none green — combined commit status is pending (no statuses), there are zero check-runs on the head SHA, and the only Actions run (Examples) is action_required (awaiting maintainer approval). There is no test gate catching the panic below.
Findings (already tracked in the three open review threads — re-affirmed, not re-posted):
- 🔴 blocker — the union scorer's recursion forces a pointer dereference on the active union member. Re-confirmed at this head by A/B test: restoring the upstream-deleted non-pointer test case panics on this PR's tree (reflect Value.Elem on a slice value) while current main passes it cleanly. ~48 generated union members are non-pointer (slice / map / any), so the most-trafficked deserialization paths can panic at runtime.
- 🟡 suggestion — root cause: this regen downgrades the Speakeasy generator relative to main (generationVersion 2.904.2 → 2.879.6; go directive 1.25.10 → 1.22), reverting the union-scorer fix and deleting its covering test. Bump the pinned speakeasyVersion in the workflow back to the version main was generated with and regenerate.
- 🟡 suggestion — two public methods are removed (Datasets benchmark accessors), replaced by a new unified Benchmarks service — a breaking API change — yet the release is labelled a patch (0.5.0 → 0.5.1). Caret-pinned Go consumers would auto-upgrade and fail to compile. Re-version as a minor.
Codex (second opinion): surfaced an undiscriminated-anyOf concern in the OpenAPI source doc (upstream spec, out of scope for the SDK regen) and a retry-hook ordering note that is generic Speakeasy boilerplate identical across every generated service (the non-retry path correctly routes 4xx/5xx through AfterError) — both discarded after verification. A README import-path nit was the only other item and is not blocking.
Research: Confirmed against the Go reflect docs that Value.Elem panics on any Kind other than Interface or Pointer (slices and maps included); the reverted recursion is therefore unsafe for the non-pointer members present in this generated SDK. Confirmed against Speakeasy versioning docs that operation removals are not auto-detected, so a checksum-driven patch bump is expected here and must be overridden to minor.
Security: no concerns — no secrets in the diff; generated SDK code touches no auth, credential, or tenant-isolation surface.
Test coverage: the regen deletes the non-pointer union test that previously covered the exact panic, so green CI (when it runs) would not catch the regression. No new tests added.
Unresolved threads: three open Perry threads (union scorer panic, generator downgrade, breaking-removal-under-patch) — all still valid on byte-identical code.
Scope: incremental — net-new delta is regen metadata only (gen.lock id + RELEASES.md timestamp); all source byte-identical to prior review
Review: tier=large · model=claude-opus-latest · score=169.4
SDK update
Versioning
Version Bump Type: [patch] - 🤖 (automated)
Tip
If updates to your OpenAPI document introduce breaking changes, be sure to update the
info.versionfield to trigger the correct version bump.Speakeasy supports manual control of SDK versioning through multiple methods.
Go SDK Changes:
OpenRouter.Benchmarks.GetBenchmarks(): AddedOpenRouter.Images.Generate(): AddedOpenRouter.Images.ListModels(): AddedOpenRouter.Images.ListModelEndpoints(): AddedOpenRouter.Workspaces.ListBudgets(): AddedOpenRouter.Workspaces.DeleteBudget(): AddedOpenRouter.Workspaces.SetBudget(): AddedOpenRouter.Datasets.GetBenchmarksArtificialAnalysis(): Removed (BreakingOpenRouter.Datasets.GetBenchmarksDesignArena(): Removed (BreakingOpenRouter.Beta.Analytics.QueryAnalytics():response.Data.WarningsAddedOpenRouter.Beta.Responses.Send():request.ResponsesRequestChangedresponseChangedOpenRouter.Chat.Send():request.ChatRequestChangedresponseChangedOpenRouter.Embeddings.Generate():response.UsageChangedOpenRouter.Embeddings.ListModels():response.Data[].ReasoningAddedOpenRouter.Models.Get():response.Data.ReasoningAddedOpenRouter.Models.List():response.Data[].ReasoningAddedOpenRouter.Models.ListForUser():response.Data[].ReasoningAddedOpenRouter.Presets.CreatePresetsChatCompletions():request.ChatRequestChangedOpenRouter.Presets.CreatePresetsMessages():request.MessagesRequestChangedOpenRouter.Presets.CreatePresetsResponses():request.ResponsesRequestChangedView full SDK changelog
OpenAPI Change Summary
View full report
Linting Report
0 errors, 1 warnings, 0 hintsView full report
GO CHANGELOG
core: 3.13.40 - 2026-03-23
🐛 Bug Fixes
core: 3.13.39 - 2026-03-23
🐛 Bug Fixes
core: 3.13.38 - 2026-03-23
🐛 Bug Fixes
core: 3.13.37 - 2026-03-23
🐛 Bug Fixes
core: 3.13.36 - 2026-03-12
🐛 Bug Fixes
core: 3.13.35 - 2026-03-12
🐛 Bug Fixes
core: 3.13.34 - 2026-03-11
🐛 Bug Fixes
Get(commit by @danielkov)core: 3.13.23 - 2026-03-11
🐛 Bug Fixes
core: 3.13.21 - 2026-03-04
🐛 Bug Fixes
core: 3.13.20 - 2026-02-27
🐛 Bug Fixes
core: 3.13.19 - 2026-02-27
🐛 Bug Fixes
core: 3.13.33 - 2026-02-24
🐛 Bug Fixes
core: 3.13.22 - 2026-02-24
🐛 Bug Fixes
core: 3.13.17 - 2026-02-23
🐛 Bug Fixes
core: 3.13.16 - 2026-02-21
🐛 Bug Fixes
core: 3.13.15 - 2026-02-19
🐛 Bug Fixes
core: 3.13.14 - 2026-02-18
🐛 Bug Fixes
core: 3.13.13 - 2026-02-18
🐛 Bug Fixes
core: 3.13.12 - 2026-01-29
🐛 Bug Fixes
core: 3.13.11 - 2026-01-23
🐛 Bug Fixes
core: 3.13.10 - 2026-01-11
🐛 Bug Fixes
core: 3.13.9 - 2026-01-07
🐛 Bug Fixes
core: 3.13.8 - 2026-01-03
🐛 Bug Fixes
core: 3.13.7 - 2025-12-18
🐛 Bug Fixes
core: 3.13.6 - 2025-12-02
🐛 Bug Fixes
core: 3.13.4 - 2025-11-25
🐝 New Features
core: 3.13.3 - 2025-11-24
🐝 New Features
inferUnionDiscriminators: truein gen.yaml (commit by @mfbx9da4)core: 3.13.2 - 2025-11-10
🐛 Bug Fixes
core: 3.13.5 - 2025-11-06
🐛 Bug Fixes
core: 3.13.1 - 2025-11-05
🐝 New Features
core: 3.12.1 - 2025-10-30
🐛 Bug Fixes
core: 3.13.0 - 2025-10-24
🐝 New Features
core: 3.12.0 - 2025-10-13
🐝 New Features
core: 3.11.1 - 2025-09-23
🐛 Bug Fixes
core: 3.11.0 - 2025-09-17
🐝 New Features
core: 3.10.1 - 2025-09-15
🔧 Chores
core: 3.9.7 - 2025-09-10
🐛 Bug Fixes
core: 3.10.0 - 2025-09-09
🐝 New Features
core: 3.9.6 - 2025-09-02
🐛 Bug Fixes
core: 3.9.5 - 2025-09-01
🔧 Chores
core: 3.9.4 - 2025-08-27
🔧 Chores
core: 3.9.3 - 2025-07-31
🐛 Bug Fixes
core: 3.9.2 - 2025-07-31
🐛 Bug Fixes
core: 3.9.1 - 2025-07-24
🔧 Chores
core: 3.9.0 - 2025-07-15
🐝 New Features
core: 3.8.1 - 2025-06-09
🐛 Bug Fixes
core: 3.8.0 - 2025-06-05
🐝 New Features
core: 3.7.5 - 2025-05-07
🐛 Bug Fixes
core: 3.7.4 - 2025-04-11
🐛 Bug Fixes
core: 3.7.3 - 2025-04-03
🐛 Bug Fixes
core: 3.7.2 - 2025-02-21
🐛 Bug Fixes
core: 3.7.1 - 2025-02-14
🐛 Bug Fixes
core: 3.7.0 - 2025-02-04
🐝 New Features
core: 3.6.12 - 2025-01-31
🐛 Bug Fixes
core: 3.6.11 - 2025-01-29
🐛 Bug Fixes
core: 3.6.10 - 2025-01-27
🐛 Bug Fixes
core: 3.6.9 - 2025-01-20
🐛 Bug Fixes
core: 3.6.8 - 2025-01-20
🐛 Bug Fixes
core: 3.6.7 - 2025-01-20
🐛 Bug Fixes
core: 3.6.5 - 2025-01-14
🐛 Bug Fixes
Content-Type: */*request header for relevant operations (commit by @tristanspeakeasy)core: 3.6.4 - 2025-01-14
🐛 Bug Fixes
core: 3.6.6 - 2025-01-13
🐛 Bug Fixes
core: 3.6.3 - 2025-01-13
🐛 Bug Fixes
core: 3.6.2 - 2024-12-16
🐛 Bug Fixes
core: 3.6.1 - 2024-12-13
🐛 Bug Fixes
core: 3.6.0 - 2024-12-12
🐝 New Features
core: 3.5.18 - 2024-12-06
🐛 Bug Fixes
core: 3.5.17 - 2024-11-22
🐛 Bug Fixes
core: 3.5.16 - 2024-11-12
🐛 Bug Fixes
core: 3.5.15 - 2024-10-31
🐛 Bug Fixes
core: 3.5.14 - 2024-10-09
🐛 Bug Fixes
core: 3.5.13 - 2024-10-07
🐛 Bug Fixes
core: 3.5.12 - 2024-09-27
🐛 Bug Fixes
core: 3.5.11 - 2024-09-25
🐛 Bug Fixes
core: 3.5.10 - 2024-09-25
🐛 Bug Fixes
core: 3.5.9 - 2024-09-18
🐛 Bug Fixes
core: 3.5.8 - 2024-09-11
🔧 Chores
core: 3.5.7 - 2024-09-10
🔧 Chores
core: 3.5.6 - 2024-09-05
🐛 Bug Fixes
core: 3.5.5 - 2024-08-16
🐛 Bug Fixes
core: 3.5.4 - 2024-08-13
🐛 Bug Fixes
core: 3.5.3 - 2024-08-01
🐛 Bug Fixes
core: 3.5.2 - 2024-07-23
🐛 Bug Fixes
defaultstatus code is available and considered succesful (commit by @disintegrator)core: 3.5.1 - 2024-07-23
🐛 Bug Fixes
core: 3.4.16 - 2024-07-16
🔧 Chores
core: 3.5.0 - 2024-07-11
🐝 New Features
core: 3.4.15 - 2024-07-09
🐛 Bug Fixes
core: 3.4.14 - 2024-06-21
🔧 Chores
core: 3.4.13 - 2024-06-20
🐛 Bug Fixes
core: 3.4.12 - 2024-06-17
🐛 Bug Fixes
core: 3.4.11 - 2024-06-03
🐛 Bug Fixes
core: 3.4.10 - 2024-05-21
🐛 Bug Fixes
core: 3.4.9 - 2024-05-21
🐛 Bug Fixes
core: 3.4.8 - 2024-05-09
🐛 Bug Fixes
core: 3.4.7 - 2024-04-25
🐛 Bug Fixes
core: 3.4.6 - 2024-04-07
♻️ Refactors
core: 3.4.5 - 2024-03-22
🐛 Bug Fixes
core: 3.4.4 - 2024-03-06
🐛 Bug Fixes
core: 3.4.3 - 2024-02-23
🐛 Bug Fixes
core: 3.4.2 - 2024-02-22
🐛 Bug Fixes
core: 3.4.1 - 2024-02-15
♻️ Refactors
core: 3.3.3 - 2024-02-13
🔧 Chores
core: 3.4.0 - 2024-02-12
🐝 New Features
core: 3.3.2 - 2024-02-02
🐛 Bug Fixes
core: 3.3.1 - 2024-01-16
🔧 Chores
core: 3.3.0 - 2023-12-19
🐝 New Features
core: 3.2.2 - 2023-12-14
🐛 Bug Fixes
core: 3.2.1 - 2023-12-14
🐛 Bug Fixes
core: 3.1.6 - 2023-12-06
🐛 Bug Fixes
🔧 Chores
core: 3.2.0 - 2023-12-05
🐝 New Features
core: 3.1.5 - 2023-11-14
🐛 Bug Fixes
core: 3.1.4 - 2023-11-09
🔧 Chores
core: 3.1.3 - 2023-11-09
🐛 Bug Fixes
core: 3.1.2 - 2023-11-08
🔧 Chores
core: 3.1.1 - 2023-11-07
🐛 Bug Fixes
core: 3.1.0 - 2023-11-01
🐝 New Features
core: 3.0.1 - 2023-11-01
🐛 Bug Fixes
core: 3.0.0 - 2023-10-24
🐝 New Features
core: 2.94.0 - 2023-10-20
🐝 New Features
core: 2.93.3 - 2023-10-20
🐛 Bug Fixes
core: 2.93.2 - 2023-10-19
🐛 Bug Fixes
core: 2.93.1 - 2023-10-19
🐛 Bug Fixes
core: 2.93.0 - 2023-10-18
🐝 New Features
core: 2.91.6 - 2023-10-18
🐛 Bug Fixes
core: 2.91.5 - 2023-10-13
🐛 Bug Fixes
core: 2.91.4 - 2023-10-06
🐛 Bug Fixes
core: 2.91.3 - 2023-10-05
🐛 Bug Fixes
core: 2.91.2 // globalSecurity: 2.82.2 - 2023-10-04
🐛 Bug Fixes
core: 2.91.1 - 2023-10-01
🐛 Bug Fixes
core: 2.91.0 - 2023-09-29
🐝 New Features
core: 2.90.0 - 2023-09-26
🐝 New Features
core: 2.89.3 - 2023-09-26
🐛 Bug Fixes
core: 2.89.2 - 2023-09-26
🐛 Bug Fixes
core: 2.89.1 - 2023-09-25
🐛 Bug Fixes
core: 2.88.4 - 2023-09-21
🐛 Bug Fixes
core: 2.89.0 - 2023-09-20
🐝 New Features
core: 2.88.3 - 2023-09-18
🔧 Chores
core: 2.88.2 - 2023-09-15
🐛 Bug Fixes
core: 2.88.1 - 2023-09-13
🐛 Bug Fixes
core: 2.88.0 - 2023-09-06
🐝 New Features
core: 2.86.4 - 2023-09-04
🐛 Bug Fixes
core: 2.86.3 - 2023-09-01
🐛 Bug Fixes
core: 2.86.2 - 2023-08-31
🐛 Bug Fixes
core: 2.86.1 - 2023-08-30
🐛 Bug Fixes
core: 2.86.0 - 2023-08-29
🐝 New Features
core: 2.85.0 - 2023-08-29
🐝 New Features
core: 2.84.2 - 2023-08-28
🐛 Bug Fixes
core: 2.84.1 - 2023-08-25
🐛 Bug Fixes
core: 2.84.0 - 2023-08-24
🐝 New Features
core: 2.83.1 - 2023-08-23
🐛 Bug Fixes
core: 2.83.0 - 2023-08-14
🐝 New Features
core: 2.82.0 - 2023-08-07
🐝 New Features
pagination: 2.82.6 - 2026-02-21
🐛 Bug Fixes
pagination: 2.82.5 - 2025-10-15
🐛 Bug Fixes
pagination: 2.82.4 - 2025-03-06
🐛 Bug Fixes
pagination: 2.82.3 - 2025-02-19
🐛 Bug Fixes
pagination: 2.82.2 - 2024-12-20
🐛 Bug Fixes
pagination: 2.82.1 - 2024-03-25
🐛 Bug Fixes
pagination: 2.82.0 - 2024-02-28
🐝 New Features
pagination: 2.81.2 - 2023-10-17
🐛 Bug Fixes
serverEvents: 0.1.7 - 2026-03-10
🐛 Bug Fixes
serverEvents: 0.1.6 - 2026-03-03
🐛 Bug Fixes
serverEvents: 0.1.5 - 2026-02-13
🐛 Bug Fixes
serverEvents: 0.1.4 - 2026-02-02
🐛 Bug Fixes
serverEvents: 0.1.3 - 2025-02-02
🐛 Bug Fixes
serverEvents: 0.1.2 - 2024-02-15
🐛 Bug Fixes
serverEvents: 0.1.1 - 2024-02-05
🐛 Bug Fixes
serverEvents: 0.1.0 - 2024-01-17
🐝 New Features
unions: 2.87.6 - 2026-03-12
🐝 New Features
unions: 2.87.5 - 2026-02-24
🐛 Bug Fixes
unions: 2.87.4 - 2026-02-12
🐝 New Features
unions: 2.87.3 - 2026-02-02
🐛 Bug Fixes
respectTitlesForPrimitiveUnionMembers) (commit by @mfbx9da4)unions: 2.87.2 - 2025-11-20
🔧 Fixes
unions: 2.87.1 - 2025-11-10
🐛 Bug Fixes
unions: 2.87.0 - 2025-10-23
🐝 New Features
unions: 2.86.0 - 2025-10-01
🐝 New Features
unions: 2.85.14 - 2025-08-29
🐛 Bug Fixes
unions: 2.85.13 - 2025-08-26
🐛 Bug Fixes
unions: 2.85.12 - 2025-07-03
🐛 Bug Fixes
unions: 2.85.11 - 2025-06-09
🐛 Bug Fixes
unions: 2.85.10 - 2024-11-05
🐛 Bug Fixes
unions: 2.85.9 - 2024-08-09
🐛 Bug Fixes
unions: 2.85.8 - 2024-05-17
🔧 Chores
unions: 2.85.7 - 2024-05-16
🐛 Bug Fixes
unions: 2.85.6 - 2024-05-14
🐛 Bug Fixes
unions: 2.85.5 - 2024-05-02
🐛 Bug Fixes
unions: 2.85.4 - 2024-02-29
🐛 Bug Fixes
unions: 2.85.3 - 2024-02-07
🐛 Bug Fixes
unions: 2.85.2 - 2023-12-14
🐛 Bug Fixes
unions: 2.85.1 - 2023-12-14
🐛 Bug Fixes
unions: 2.84.1 - 2023-10-31
🐛 Bug Fixes
unions: 2.85.0 - 2023-10-24
🐝 New Features
unions: 2.84.0 - 2023-10-18
🐝 New Features
unions: 2.83.1 - 2023-09-30
🐛 Bug Fixes
unions: 2.83.0 - 2023-09-15
🐝 New Features
unions: 2.82.0 - 2023-09-04
🐝 New Features
unions: 2.81.2 - 2023-08-07
🐛 Bug Fixes
Based on Speakeasy CLI 1.761.1
Last updated by Speakeasy workflow