Skip to content

chore: 🐝 Update SDK - Generate SDK 0.5.1#299

Open
mattapperson wants to merge 1 commit into
mainfrom
speakeasy-sdk-regen-1781885106
Open

chore: 🐝 Update SDK - Generate SDK 0.5.1#299
mattapperson wants to merge 1 commit into
mainfrom
speakeasy-sdk-regen-1781885106

Conversation

@mattapperson

@mattapperson mattapperson commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

SDK update

Versioning

Version Bump Type: [patch] - 🤖 (automated)

Tip

If updates to your OpenAPI document introduce breaking changes, be sure to update the info.version field to trigger the correct version bump.
Speakeasy supports manual control of SDK versioning through multiple methods.

Go SDK Changes:

  • OpenRouter.Benchmarks.GetBenchmarks(): 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
  • OpenRouter.Chat.Send():
    • request.ChatRequest.Plugins[].union(fusion).Preset Added
    • 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.Plugins[].union(fusion).Preset Added
  • OpenRouter.Presets.CreatePresetsMessages(): request.MessagesRequest Changed
  • OpenRouter.Presets.CreatePresetsResponses(): request.ResponsesRequest Changed

View full SDK changelog

OpenAPI Change Summary
├─┬Paths
│ ├──[-] path (23924:3)❌ 
│ ├──[-] path (23840:3)❌ 
│ ├──[+] path (31948:3)
│ ├──[+] path (22931:3)
│ ├──[+] path (32012:3)
│ ├─┬/models
│ │ └─┬GET
│ │   └─┬Responses
│ │     └─┬200
│ │       └─┬application/json
│ │         └──[🔀] example (28496:17)
│ ├─┬/analytics/query
│ │ └─┬POST
│ │   ├─┬Responses
│ │   │ └─┬200
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └─┬data
│ │   │         └──[+] properties (22317:23)
│ │   └─┬Requestbody
│ │     └─┬application/json
│ │       └─┬Schema
│ │         ├─┬dimensions
│ │         │ └─┬Schema
│ │         │   └──[🔀] description (22190:34)
│ │         └─┬filters
│ │           └─┬Schema
│ │             ├─┬value
│ │             │ └──[🔀] description (22217:38)
│ │             └─┬field
│ │               └──[🔀] description (22199:38)
│ └─┬/embeddings
│   └─┬POST
│     └─┬Responses
│       └─┬200
│         └─┬application/json
│           └─┬Schema
│             └─┬usage
│               ├──[+] properties (24417:23)
│               ├──[+] properties (24439:23)
│               ├─┬total_tokens
│               │ └──[🔀] description (24443:38)
│               ├─┬prompt_tokens
│               │ ├──[+] required (24436:29)❌ 
│               │ ├──[+] required (24437:29)❌ 
│               │ ├──[🔀] type (24438:31)❌ 
│               │ ├──[🔀] description (24418:38)
│               │ ├──[+] nullable (24423:35)❌ 
│               │ ├──[🔀] example (24420:27)
│               │ ├──[+] properties (24425:27)
│               │ ├──[+] properties (24428:27)
│               │ └──[+] properties (24432:27)
│               └─┬prompt_tokens_details
│                 ├──[🔀] type (24441:31)❌ 
│                 ├──[🔀] description (24440:38)
│                 ├──[-] properties (24356:27)❌ 
│                 ├──[-] properties (24359:27)❌ 
│                 ├──[-] properties (24362:27)❌ 
│                 ├──[-] properties (24366:27)❌ 
│                 └──[-] properties (24370:27)❌ 
├─┬Tags
│ └──[+] Benchmarks (32362:5)
└─┬Components
  ├──[-] schemas (3924:7)❌ 
  ├──[-] schemas (3623:7)❌ 
  ├──[-] schemas (3761:7)❌ 
  ├──[-] schemas (3689:7)❌ 
  ├──[-] schemas (3851:7)❌ 
  ├──[-] schemas (3732:7)❌ 
  ├──[-] schemas (3642:7)❌ 
  ├──[+] schemas (6951:7)
  ├──[+] schemas (12064:7)
  ├──[+] schemas (20191:7)
  ├──[+] schemas (20789:7)
  ├──[+] schemas (20287:7)
  ├──[+] schemas (21817:7)
  ├──[+] schemas (20801:7)
  ├──[+] schemas (20118:7)
  ├──[+] schemas (20338:7)
  ├──[+] schemas (21766:7)
  ├──[+] schemas (10016:7)
  ├──[+] schemas (1151:7)
  ├──[+] schemas (20137:7)
  ├─┬WebSearchServerToolConfig
  │ └─┬max_results
  │   └──[🔀] description (21568:24)
  ├─┬Inputs
  │ └─┬ANYOF
  │   └─┬Schema
  │     ├──[+] anyOf (9580:7)
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (15349:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (14983:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (16218:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10067:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10128:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (19049:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (19096:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10245:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10155:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10183:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (10210:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (6754:20)❌ 
  │     ├─┬ANYOF
  │     │ └──[🔀] $ref (6788:9)❌ 
  │     └─┬ANYOF
  │       └──[🔀] $ref (5663:20)❌ 
  ├─┬ChatUsage
  │ ├──[🔀] example (5376:9)
  │ ├──[+] properties (5447:9)
  │ └─┬total_tokens
  │   ├──[🔀] type (5465:17)❌ 
  │   ├──[🔀] description (5448:24)
  │   ├──[+] nullable (5449:21)❌ 
  │   ├──[+] properties (5451:13)
  │   ├──[+] properties (5455:13)
  │   └──[+] properties (5460:13)
  ├─┬Model
  │ ├──[🔀] example (11801:9)
  │ ├──[+] properties (11897:9)
  │ ├─┬top_provider
  │ │ └──[🔀] $ref (11905:11)❌ 
  │ ├─┬supported_parameters
  │ │ └──[🔀] $ref (12064:20)❌ 
  │ └─┬supported_voices
  │   ├──[🔀] description (11900:24)
  │   ├──[-] nullable (12163:21)❌ 
  │   ├──[-] example (12160:20)
  │   └─┬Schema
  │     └──[🔀] $ref (16399:9)❌ 
  ├─┬Preview_20250311_WebSearchServerTool
  │ └─┬max_results
  │   └──[🔀] description (16877:24)
  ├─┬WebSearchServerTool
  │ └─┬max_results
  │   └──[🔀] description (21511:24)
  ├─┬Preview_WebSearchServerTool
  │ └─┬max_results
  │   └──[🔀] description (16902:24)
  ├─┬WebSearchConfig
  │ └─┬max_results
  │   └──[🔀] description (21381:24)
  ├─┬Legacy_WebSearchServerTool
  │ └─┬max_results
  │   └──[🔀] description (9677:24)
  ├─┬ProviderOptions
  │ └──[🔀] description (17046:20)
  ├─┬ChatWebSearchShorthand
  │ └─┬max_results
  │   └──[🔀] description (5525:24)
  ├─┬FusionPlugin
  │ ├──[+] properties (8031:9)
  │ └─┬tools
  │   ├──[+] enum (8035:15)
  │   ├──[+] enum (8036:15)
  │   ├──[-] items (8334:13)❌ 
  │   ├──[🔀] type (8038:17)❌ 
  │   ├──[-] maxItems (8370:21)❌ 
  │   ├──[🔀] description (8032:24)
  │   ├──[🔀] example (8037:20)
  │   └─┬Extensions
  │     └──[+] x-speakeasy-unknown-values (8039:39)
  └─┬AnthropicDocumentBlockParam
    └─┬source
      └──[+] oneOf (1151:7)
Document Element Total Changes Breaking Changes
paths 29 12
tags 1 0
components 69 30

View full report

Linting Report 0 errors, 1 warnings, 0 hints

View full report

GO CHANGELOG

core: 3.13.40 - 2026-03-23

🐛 Bug Fixes

  • reserve baseURL as an SDK keyword to prevent request body name collisions (commit by @danielkov)

core: 3.13.39 - 2026-03-23

🐛 Bug Fixes

  • avoid data variable redeclaration in union UnmarshalJSON when member type is named Data (commit by @danielkov)

core: 3.13.38 - 2026-03-23

🐛 Bug Fixes

  • normalize float literals in generated Go usage examples to ensure valid syntax (commit by @danielkov)

core: 3.13.37 - 2026-03-23

🐛 Bug Fixes

  • return nil for response-stream zero values instead of invalid composite literal (commit by @danielkov)

core: 3.13.36 - 2026-03-12

🐛 Bug Fixes

  • reserve s as an SDK keyword to prevent path parameter name collisions (commit by @danielkov)

core: 3.13.35 - 2026-03-12

🐛 Bug Fixes

  • avoid double-pointer wrapping for nullable optional const getters (commit by @danielkov)

core: 3.13.34 - 2026-03-11

🐛 Bug Fixes

  • resolve field/method name collision when property name starts with Get (commit by @danielkov)

core: 3.13.23 - 2026-03-11

🐛 Bug Fixes

  • use go run instead of go install for staticcheck to avoid toolchain version mismatch (commit by @danielkov)

core: 3.13.21 - 2026-03-04

🐛 Bug Fixes

  • include global security in SDK Example Usage snippets and per-operation docs (commit by @mfbx9da4)

core: 3.13.20 - 2026-02-27

🐛 Bug Fixes

  • make serverURL optional when operations define their own servers (commit by @danielkov)

core: 3.13.19 - 2026-02-27

🐛 Bug Fixes

  • derive installation URL from repo URL for monorepo subdirectory support (commit by @bradcypert)

core: 3.13.33 - 2026-02-24

🐛 Bug Fixes

  • prevent duplicate enum values after name normalization in generated Go models (commit by @danielkov)

core: 3.13.22 - 2026-02-24

🐛 Bug Fixes

  • deduplicate OAuth2 password security operations to prevent duplicate getCredentials methods (commit by @danielkov)

core: 3.13.17 - 2026-02-23

🐛 Bug Fixes

  • prevent model file name collisions with reserved SDK package names (commit by @danielkov)

core: 3.13.16 - 2026-02-21

🐛 Bug Fixes

  • prevent model file name collisions with reserved SDK package names (commit by @danielkov)

core: 3.13.15 - 2026-02-19

🐛 Bug Fixes

  • defer res.Body.Close in ConsumeRawBody to prevent resource leaks on error (commit by @vishalg0wda)

core: 3.13.14 - 2026-02-18

🐛 Bug Fixes

  • deduplicate OAuth2 scope enum members, handle pointer result fields in flat response format, truncate long filenames (commit by @danielkov)

core: 3.13.13 - 2026-02-18

🐛 Bug Fixes

  • close HTTP response body for no-content responses to prevent connection pool exhaustion (commit by @vishalg0wda)

core: 3.13.12 - 2026-01-29

🐛 Bug Fixes

  • avoid overwriting SubSDK comments with empty comments when same SubSDK is referenced by multiple tags (commit by @mfbx9da4)

core: 3.13.11 - 2026-01-23

🐛 Bug Fixes

  • discriminated union errors used in both successful and error response (commit by @mfbx9da4)

core: 3.13.10 - 2026-01-11

🐛 Bug Fixes

  • handle integer:string tags in nested structs without custom MarshalJSON/UnmarshalJSON (commit by @tristanspeakeasy)

core: 3.13.9 - 2026-01-07

🐛 Bug Fixes

  • properly escape quotes in struct tags when defaults contain backticks (commit by @mfbx9da4)

core: 3.13.8 - 2026-01-03

🐛 Bug Fixes

  • union query parameters now inherit the parent's parameter name when using inline serialization (commit by @subomi)

core: 3.13.7 - 2025-12-18

🐛 Bug Fixes

  • fixed escaping of template braces in defaults, consts, and comments (commit by @tristanspeakeasy)

core: 3.13.6 - 2025-12-02

🐛 Bug Fixes

  • do not enforce required fields unless gen.yaml explicitly defines it or union strategy depends on it (commit by @mfbx9da4)

core: 3.13.4 - 2025-11-25

🐝 New Features

  • allow inclusion of empty array query parameter (commit by @idbentley)

core: 3.13.3 - 2025-11-24

🐝 New Features

  • union discriminators are inferred for oneOfs missing the explicit OpenAPI discriminator mapping. Configure via inferUnionDiscriminators: true in gen.yaml (commit by @mfbx9da4)

core: 3.13.2 - 2025-11-10

🐛 Bug Fixes

  • handle application/* encoding in multipart forms (commit by @danielkov)

core: 3.13.5 - 2025-11-06

🐛 Bug Fixes

  • multi-part arrays now serialized according to RFC7578 (commit by @danielkov)

core: 3.13.1 - 2025-11-05

🐝 New Features

  • support body field name configuration via requestBodyFieldName in gen.yaml (commit by @subomi)

core: 3.12.1 - 2025-10-30

🐛 Bug Fixes

  • make security scheme resolution case-insensitive (commit by @vishalg0wda)

core: 3.13.0 - 2025-10-24

🐝 New Features

  • add configuration option for empty object serialization in Go SDKs (commit by @BlakeTheAwesome)

core: 3.12.0 - 2025-10-13

🐝 New Features

  • add config option for deep merging allOf nodes in OpenAPI specs (commit by @BlakeTheAwesome)

core: 3.11.1 - 2025-09-23

🐛 Bug Fixes

  • allow input/output models without suffixes (commit by @disintegrator)

core: 3.11.0 - 2025-09-17

🐝 New Features

  • Support Go module vendoring during compilation (commit by @bflad)

core: 3.10.1 - 2025-09-15

🔧 Chores

  • properly populate form values for union types (commit by @subomi)

core: 3.9.7 - 2025-09-10

🐛 Bug Fixes

core: 3.10.0 - 2025-09-09

🐝 New Features

  • add support for Go module retractions in go.mod (commit by @AshGodfrey)

core: 3.9.6 - 2025-09-02

🐛 Bug Fixes

  • enabled empty strings to be used as end cursor values in pagination (commit by @GorshkovIvan)

core: 3.9.5 - 2025-09-01

🔧 Chores

  • added support for lowercase Bearer tokens in Authorization headers (commit by @GorshkovIvan)

core: 3.9.4 - 2025-08-27

🔧 Chores

  • fixed go target to respect required fields instead of using zero values (commit by @subomi)

core: 3.9.3 - 2025-07-31

🐛 Bug Fixes

  • Always prefer generation configuration for README installation instructions (commit by @bflad)

core: 3.9.2 - 2025-07-31

🐛 Bug Fixes

  • Ensure empty string modulePath and packageName pass configuration validation (commit by @bflad)

core: 3.9.1 - 2025-07-24

🔧 Chores

core: 3.9.0 - 2025-07-15

🐝 New Features

  • Support modulePath, sdkPackageAlias, and sdkPackageName configurations (commit by @bflad)

core: 3.8.1 - 2025-06-09

🐛 Bug Fixes

core: 3.8.0 - 2025-06-05

🐝 New Features

  • Upgrade Go module minimum version to 1.22 (commit by @bflad)

core: 3.7.5 - 2025-05-07

🐛 Bug Fixes

  • fixed stability of generated examples using operation and field seeds, including fixes to union examples (commit by @tristanspeakeasy)

core: 3.7.4 - 2025-04-11

🐛 Bug Fixes

  • increase stability of generator model file names (commit by @vishalg0wda)

core: 3.7.3 - 2025-04-03

🐛 Bug Fixes

  • improve performance of generation on multicore machines and various fixes to correctness based on order of generation (commit by @tristanspeakeasy)

core: 3.7.2 - 2025-02-21

🐛 Bug Fixes

  • handle usage snippet templating when no servers are defined in the spec (commit by @vishalg0wda)

core: 3.7.1 - 2025-02-14

🐛 Bug Fixes

  • circular reference handling in usage snippets (commit by @vishalg0wda)

core: 3.7.0 - 2025-02-04

🐝 New Features

core: 3.6.12 - 2025-01-31

🐛 Bug Fixes

  • fixed handling of default fields in usage snippets and tests, fixed validation of required schema property (commit by @tristanspeakeasy)

core: 3.6.11 - 2025-01-29

🐛 Bug Fixes

  • use separate namespaces per ruleset (commit by @vishalg0wda)

core: 3.6.10 - 2025-01-27

🐛 Bug Fixes

  • sort subresponses based on the worst scoring response in the group to ensure that no unreachable code paths are created (commit by @idbentley)

core: 3.6.9 - 2025-01-20

🐛 Bug Fixes

core: 3.6.8 - 2025-01-20

🐛 Bug Fixes

  • fixed handling of any fields in tests and usage snippets (commit by @tristanspeakeasy)

core: 3.6.7 - 2025-01-20

🐛 Bug Fixes

core: 3.6.5 - 2025-01-14

🐛 Bug Fixes

  • avoid setting 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

  • handle 4XX and 5XX error ranges seperately (commit by @idbentley)

core: 3.6.3 - 2025-01-13

🐛 Bug Fixes

  • generate valid deprecated comments in Go (commit by @vishalg0wda)

core: 3.6.2 - 2024-12-16

🐛 Bug Fixes

  • flattening with hidden parameters (commit by @mfbx9da4)

core: 3.6.1 - 2024-12-13

🐛 Bug Fixes

  • Support OAS references under multipart/form-data file properties (commit by @bflad)

core: 3.6.0 - 2024-12-12

🐝 New Features

  • support passing extra request headers in sdk method calls (commit by @disintegrator)

core: 3.5.18 - 2024-12-06

🐛 Bug Fixes

  • support property names solely comprised of illegal characters (commit by @mfbx9da4)

core: 3.5.17 - 2024-11-22

🐛 Bug Fixes

  • handle circular references through unions correctly (commit by @disintegrator)

core: 3.5.16 - 2024-11-12

🐛 Bug Fixes

core: 3.5.15 - 2024-10-31

🐛 Bug Fixes

  • Prevent panic with invalid implicit discriminator mappings with propertyName within allOf object (commit by @bflad)

core: 3.5.14 - 2024-10-09

🐛 Bug Fixes

  • update readme handling of empty custom types section (commit by @adaam2)

core: 3.5.13 - 2024-10-07

🐛 Bug Fixes

  • ensure response body is closed after reading (commit by @disintegrator)

core: 3.5.12 - 2024-09-27

🐛 Bug Fixes

  • update readme formatting (commit by @adaam2)

core: 3.5.11 - 2024-09-25

🐛 Bug Fixes

  • update readme generation to replace welcome to new sdk section with new markdown notice (commit by @adaam2)

core: 3.5.10 - 2024-09-25

🐛 Bug Fixes

  • fixes to missing examples and improvements to number examples (commit by @tristanspeakeasy)

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

  • ensure generated examples are stable generation to generation (commit by @tristanspeakeasy)

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

  • avoid injecting empty 2xx sub-response if default status code is available and considered succesful (commit by @disintegrator)

core: 3.5.1 - 2024-07-23

🐛 Bug Fixes

  • fixed usage snippet generation not showing examples for oneOf/anyOf schemas (commit by @tristanspeakeasy)

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

  • Use 0666 file mode for writing configuration and lock files (commit by @bflad)

core: 3.4.14 - 2024-06-21

🔧 Chores

core: 3.4.13 - 2024-06-20

🐛 Bug Fixes

  • test response status codes in sdk methods in order of specificity (commit by @disintegrator)

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

  • do not crash when an enum value has a quote " within (commit by @ThomasRooney)

core: 3.4.4 - 2024-03-06

🐛 Bug Fixes

  • fixes to security header handling to be compatible with hooks (commit by @tristanspeakeasy)

core: 3.4.3 - 2024-02-23

🐛 Bug Fixes

  • example generation for complex objects (commit by @ThomasRooney)

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

  • improvements to example generation for usage snippets (commit by @TristanSpeakeasy)

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

  • fixed potential conflicts with enum consts and class names (commit by @TristanSpeakeasy)

core: 3.2.1 - 2023-12-14

🐛 Bug Fixes

  • fixed merging of allOf/oneOf schemas with their parents (commit by @TristanSpeakeasy)

core: 3.1.6 - 2023-12-06

🐛 Bug Fixes

🔧 Chores

core: 3.2.0 - 2023-12-05

🐝 New Features

  • add ability to use type name when available for selecting field name for untitled array schemas (commit by @TristanSpeakeasy)

core: 3.1.5 - 2023-11-14

🐛 Bug Fixes

  • ensure operation models don't collide with component models (commit by @TristanSpeakeasy)

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

  • improve README grammar by removing possessive adjectives (commit by @ThomasRooney)

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

  • retain configuration passed in on CLI for future gen runs (commit by @TristanSpeakeasy)

core: 2.93.2 - 2023-10-19

🐛 Bug Fixes

  • ensure complex allOfs are handle correctly with circular reference tracking (commit by @TristanSpeakeasy)

core: 2.93.1 - 2023-10-19

🐛 Bug Fixes

  • handling of circular references in allOf using inline schemas (commit by @TristanSpeakeasy)

core: 2.93.0 - 2023-10-18

🐝 New Features

core: 2.91.6 - 2023-10-18

🐛 Bug Fixes

  • additionalProperties not currently supported for parameter serialization so fall back to maps (commit by @TristanSpeakeasy)

core: 2.91.5 - 2023-10-13

🐛 Bug Fixes

  • catch literal nil derefs when mashaling models to JSON (commit by @disintegrator)

core: 2.91.4 - 2023-10-06

🐛 Bug Fixes

  • better handling of option fields when generating usage snippets (commit by @TristanSpeakeasy)

core: 2.91.3 - 2023-10-05

🐛 Bug Fixes

  • don't generate sub types for oneOf/anyOf if unions not support in language (commit by @TristanSpeakeasy)

core: 2.91.2 // globalSecurity: 2.82.2 - 2023-10-04

🐛 Bug Fixes

core: 2.91.1 - 2023-10-01

🐛 Bug Fixes

  • fix handling of allOf circular references when arrays and non-referenced schemas are involved (commit by @TristanSpeakeasy)

core: 2.91.0 - 2023-09-29

🐝 New Features

  • collapse primitive oneOf single sub schema type and fix handling of null and any types (commit by @TristanSpeakeasy)

core: 2.90.0 - 2023-09-26

🐝 New Features

  • added sdk package name to user-agent string in http requests (commit by @disintegrator)

core: 2.89.3 - 2023-09-26

🐛 Bug Fixes

  • deserialization of zero-valued date and time pointers in Go (commit by @anuraagnalluri)

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

  • fixes for regressions when dealing with consts and defaults (commit by @TristanSpeakeasy)

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

  • fixed handling of import paths when major version bumped (commit by @TristanSpeakeasy)

core: 2.88.0 - 2023-09-06

🐝 New Features

  • add support for nullable+required object properties (commit by @2ynn)

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

  • allow schemas that use enums with base types speakeasy doesn't support to still generate fields based on the base type (commit by @TristanSpeakeasy)

core: 2.86.1 - 2023-08-30

🐛 Bug Fixes

  • undefined accept header options in go methods (commit by @anuraagnalluri)

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

  • edge case which could cause conflicted names under some circumstances (commit by @ThomasRooney)

core: 2.83.0 - 2023-08-14

🐝 New Features

  • selectable accept headers in go (commit by @idbentley)

core: 2.82.0 - 2023-08-07

🐝 New Features

  • implement granular versioning to aid in generating relevant changelogs (commit by @TristanSpeakeasy)

pagination: 2.82.6 - 2026-02-21

🐛 Bug Fixes

  • handle cursor-based pagination when cursor input is inside a nested request body object (commit by @danielkov)

pagination: 2.82.5 - 2025-10-15

🐛 Bug Fixes

pagination: 2.82.4 - 2025-03-06

🐛 Bug Fixes

  • Fixed passing of arguments correctly within the next function (commit by @Kanwardeep)

pagination: 2.82.3 - 2025-02-19

🐛 Bug Fixes

  • handle paginated union response (commit by @2ynn)

pagination: 2.82.2 - 2024-12-20

🐛 Bug Fixes

  • respect pagination defaults from OpenAPI spec (commit by @disintegrator)

pagination: 2.82.1 - 2024-03-25

🐛 Bug Fixes

  • gracefully fail when pagination input is not defined on paginated operations (commit by @disintegrator)

pagination: 2.82.0 - 2024-02-28

🐝 New Features

  • handle non-numeric cursors (commit by @idbentley)

pagination: 2.81.2 - 2023-10-17

🐛 Bug Fixes

serverEvents: 0.1.7 - 2026-03-10

🐛 Bug Fixes

  • skip SSE events with no data field when data is required to prevent deserialization crashes (commit by @bradcypert)

serverEvents: 0.1.6 - 2026-03-03

🐛 Bug Fixes

  • SSE streaming no longer crashes on non-JSON event data in union types (commit by @tristanspeakeasy)

serverEvents: 0.1.5 - 2026-02-13

🐛 Bug Fixes

  • skip standalone SSE comment blocks between discriminated union events (commit by @vishalg0wda)

serverEvents: 0.1.4 - 2026-02-02

🐛 Bug Fixes

  • ensure compliance with HTML Living Standard and Web Platform Tests (commit by @2ynn)

serverEvents: 0.1.3 - 2025-02-02

🐛 Bug Fixes

  • support context cancellation in event streams (commit by @2ynn)

serverEvents: 0.1.2 - 2024-02-15

🐛 Bug Fixes

  • allow string enums to be used in SSE data (commit by @disintegrator)

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

  • add x-speakeasy-discriminator extension for clean identifier names on discriminator mappings (commit by @mfbx9da4)

unions: 2.87.5 - 2026-02-24

🐛 Bug Fixes

  • handle nullable discriminator fields in union factory functions (commit by @danielkov)

unions: 2.87.4 - 2026-02-12

🐝 New Features

  • add open (forward-compatible) unions with raw JSON fallback for unknown variants (commit by @vishalg0wda)

unions: 2.87.3 - 2026-02-02

🐛 Bug Fixes

  • respect title and x-speakeasy-name-override for primitive union members (controlled by gen.yaml flag respectTitlesForPrimitiveUnionMembers) (commit by @mfbx9da4)

unions: 2.87.2 - 2025-11-20

🔧 Fixes

  • consider inexact count of open enums when deserializing unions (commit by @idbentley)

unions: 2.87.1 - 2025-11-10

🐛 Bug Fixes

  • prevent name collisions in getter methods due to discriminator mapping (commit by @2ynn)

unions: 2.87.0 - 2025-10-23

🐝 New Features

  • introduce a smarter union deserialization strategy (commit by @ThomasRooney)

unions: 2.86.0 - 2025-10-01

🐝 New Features

  • support nested discriminated unions (commit by @vishalg0wda)

unions: 2.85.14 - 2025-08-29

🐛 Bug Fixes

  • properly support union types in query parameters (commit by @subomi)

unions: 2.85.13 - 2025-08-26

🐛 Bug Fixes

  • fixed deserialization of weak unions to better match field requiredness and support forward compatibility (commit by @tristanspeakeasy)

unions: 2.85.12 - 2025-07-03

🐛 Bug Fixes

  • fixed issues with enum names potentially conflicting with other types (commit by @tristanspeakeasy)

unions: 2.85.11 - 2025-06-09

🐛 Bug Fixes

unions: 2.85.10 - 2024-11-05

🐛 Bug Fixes

  • improved handling of complex allOf schemas that merge multiple types (commit by @tristanspeakeasy)

unions: 2.85.9 - 2024-08-09

🐛 Bug Fixes

unions: 2.85.8 - 2024-05-17

🔧 Chores

  • better error logs when failing to unmarshal bytes into union types (commit by @ThomasRooney)

unions: 2.85.7 - 2024-05-16

🐛 Bug Fixes

unions: 2.85.6 - 2024-05-14

🐛 Bug Fixes

  • more flexible types (allow unknown fields) if an anyOf child is used with a discriminant (commit by @ThomasRooney)

unions: 2.85.5 - 2024-05-02

🐛 Bug Fixes

  • handle unions in flat response format (commit by @idbentley)

unions: 2.85.4 - 2024-02-29

🐛 Bug Fixes

  • null-enums are treated as switch a oneOf field to nullable (commit by @disintegrator)

unions: 2.85.3 - 2024-02-07

🐛 Bug Fixes

  • handling of discriminator fields with non standard names (commit by @TristanSpeakeasy)

unions: 2.85.2 - 2023-12-14

🐛 Bug Fixes

unions: 2.85.1 - 2023-12-14

🐛 Bug Fixes

  • fixed merging of allOf/oneOf schemas with their parents (commit by @TristanSpeakeasy)

unions: 2.84.1 - 2023-10-31

🐛 Bug Fixes

  • support unions (oneOf) containing bigint and decimal members (commit by @disintegrator)

unions: 2.85.0 - 2023-10-24

🐝 New Features

  • Add tests to support complex unions in go (commit by @idbentley)

unions: 2.84.0 - 2023-10-18

🐝 New Features

  • support complex types in unions (commit by @idbentley)

unions: 2.83.1 - 2023-09-30

🐛 Bug Fixes

unions: 2.83.0 - 2023-09-15

🐝 New Features

  • add support for nullable unions (commit by @2ynn)

unions: 2.82.0 - 2023-09-04

🐝 New Features

  • create input and output unions when appropriate (commit by @idbentley)

unions: 2.81.2 - 2023-08-07

🐛 Bug Fixes

Based on Speakeasy CLI 1.761.1

Last updated by Speakeasy workflow

@github-actions github-actions Bot added the patch Patch version bump label Jun 19, 2026
@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1781885106 branch from 69cf9be to 44ba584 Compare June 20, 2026 00:46
@mattapperson mattapperson changed the title chore: 🐝 Update SDK - Generate SDK (spec change merged) 0.5.1 chore: 🐝 Update SDK - Generate SDK 0.5.1 Jun 20, 2026

@perry-the-pr-reviewer perry-the-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perry's Review

Speakeasy SDK regen to v0.5.1 that downgrades the generator (1.778.0 → 1.761.1), reintroducing a union-deserialization runtime panic and shipping two breaking method removals under a patch bump.

Verdict: 🔁 Needs changes

Details

Risk: 🔴 High — human approval required

CI: no checks configured on this repo (nothing to report)

Findings (see inline comments for full context):

  • 🔴 .speakeasy/workflow.lock:1 — generator downgraded 1.778.0→1.761.1; main is on 1.778.0, so this regenerates the whole SDK with an older toolchain (root cause of the union regression below)
  • 🔴 internal/utils/union.go:132 — regenerated union scorer assumes all variants are pointers (Elem/IsNil); empirically panics on the 23+ non-pointer (slice, any, map) union members in this SDK. Verified: main returns correctly, this PR panics; the covering test in union_test.go was deleted
  • 🔴 .speakeasy/gen.yaml:38 — Datasets.GetBenchmarksArtificialAnalysis and GetBenchmarksDesignArena are removed (PR body marks both "Breaking ⚠️") under a patch 0.5.0→0.5.1 bump — SemVer violation
  • 🟡 go.mod:3 — go 1.25.10 → go 1.22 but the README Requirements still says "requires Go 1.25" (newly-introduced drift)
  • 🟡 README.md:450 — retry example imports bare models/operations instead of the full module path; won't compile
  • 🟡 README.md:84 / USAGE.md:19 — quickstart calls GetUserActivity (management-key-only) with an inference API key; copy/paste fails auth

Codex (gpt-5.5): flagged the README/USAGE GetUserActivity auth mismatch (kept, in-diff) and a datasets.go pagination concern (discarded — that code is unchanged by this PR, out of differential scope).

Research: Speakeasy docs — speakeasyVersion pins the generator; gen.lock feature downgrades (core 3.13.46→3.13.40, unions 2.87.7→2.87.6) confirm an older toolchain. Go modules ref — for a library go 1.22 is more permissive than 1.25 (fine in isolation) but must match the README. Bare models/operations is not a valid import path for module github.com/OpenRouterTeam/go-sdk.

Security: no concerns — secret scan clean; no auth/streaming/credential-handling logic changed (generated SDK surface only).

Test coverage: the only non-pointer-union test (TestPickBestUnionCandidate_NonPointerUnionVariants) was deleted in this PR, removing the exact coverage that would have caught the union panic.

Unresolved threads: none

This is the same class of regression flagged on the sibling regen #297 (generator downgrade + Go-version drift + non-compiling README + breaking removals under patch). Re-running the regen on the current generator (1.778.0) should clear the union panic, the bare-import, and the auth-example issues; the breaking removals still need a minor/major bump.

Scope: first review (full)
Review: tier=large · model=claude-opus-latest · score=84.3

Comment thread .speakeasy/workflow.lock
@@ -1,20 +1,20 @@
speakeasyVersion: 1.778.0
speakeasyVersion: 1.761.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[blocker] speakeasyVersion: 1.761.1 — generator downgraded from 1.778.0 (current on main), regenerating the entire SDK with an older toolchain

Details

Why: main's .speakeasy/workflow.lock is on speakeasyVersion: 1.778.0; this PR sets it to 1.761.1. gen.lock corroborates the rollback (generationVersion 2.904.22.879.6, core 3.13.463.13.40, unions 2.87.72.87.6). The older generator emits the buggy union scorer (see internal/utils/union.go:132), the bare-path README import, and the management-key quickstart example — all of which the newer generator had already fixed. This is the root cause of the other findings.

Fix: re-run the regen on the current generator. Either let speakeasyVersion track latest / pin it back to 1.778.0, or investigate why this run resolved an older CLI. Do not merge an SDK generated by an older toolchain than what is already released.

Ref: Speakeasy — workflow file & version pinning

Prompt for agents
In .speakeasy/workflow.lock and .speakeasy/gen.yaml the Speakeasy generator was downgraded from 1.778.0 (current on main) to 1.761.1. Regenerate the go-sdk using the generator version main is on (1.778.0) or newer — do not ship an SDK built by an older toolchain. After regenerating, confirm internal/utils/union.go no longer calls .Elem()/.IsNil() unconditionally on union variants, the README retry example imports the full module path, and workflow.lock/gen.lock versions are >= main's.

Reviewed at 44ba584

Comment thread internal/utils/union.go
if activeVariant != nil {
countFieldsRecursive(candidate, activeVariant.Type, variantVal, raw)
if activeVariant != nil && !variantVal.IsNil() {
countFieldsRecursive(candidate, activeVariant.Type.Elem(), variantVal.Elem(), raw)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[blocker] activeVariant.Type.Elem() / variantVal.Elem() — assumes every union variant is a pointer; panics on the non-pointer ([]X, any, map) union members this SDK defines

Details

Why: the comment added at line 256 ("All union variants are pointers") is false for this SDK. Grepping union:"member" across models/ finds 23+ non-pointer variants — e.g. Stop.ArrayOfStr []string / Stop.Any any in chatrequest.go, and ArrayOf… slice variants in messagesmessageparam.go, providerpreferences.go, etc. When countFieldsRecursive scores a candidate whose active variant is a slice/any, reflect.Value.Elem() panics (reflect: call of reflect.Value.Elem on slice Value / Elem of invalid type interface {}).

Verified empirically: I restored the deleted TestPickBestUnionCandidate_NonPointerUnionVariants test and ran it at this PR's head — it panics; the same test passes on main (which calls countFieldsRecursive(candidate, activeVariant.Type, variantVal, raw) with no .Elem()). This is a real deserialization crash reachable from core request/response types, not a theoretical one.

Fix: this file is generated — fix it at the source by regenerating on the current generator (see .speakeasy/workflow.lock:1). The 1.778.0 generator emits variant handling that tolerates non-pointer members. Do not hand-patch generated code.

Prompt for agents
internal/utils/union.go:132 (generated) unconditionally calls activeVariant.Type.Elem() and variantVal.Elem(), which panics for non-pointer union variants (slices, any, maps). This SDK has 23+ such variants (e.g. chatrequest.go Stop.ArrayOfStr / Stop.Any). Fix by regenerating the SDK with Speakeasy 1.778.0+ (matching main) rather than the downgraded 1.761.1. Then re-add the deleted union_test.go coverage (TestPickBestUnionCandidate_NonPointerUnionVariants) and confirm go test ./internal/utils/ passes for slice/map/any variants.

Reviewed at 44ba584

Comment thread .speakeasy/gen.yaml
preApplyUnionDiscriminators: true
go:
version: 0.5.0
version: 0.5.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[blocker] SDK version: 0.5.1 ([patch] bump) ships two breaking public-API removals — SemVer violation

Details

Why: the PR body lists OpenRouter.Datasets.GetBenchmarksArtificialAnalysis() and OpenRouter.Datasets.GetBenchmarksDesignArena() as Removed (Breaking ⚠️) — verified: both func (s *Datasets) definitions are deleted from datasets.go and replaced by a new Benchmarks.GetBenchmarks() resource. Removing exported methods breaks any consumer calling them at compile time. Under SemVer a breaking change requires at least a minor pre-1.0 bump (or major post-1.0), not a patch.

Fix: bump info.version in the OpenAPI doc to trigger at least a minor bump (0.5.0 → 0.6.0), or use SPEAKEASY_BUMP_OVERRIDE=minor, so the release version reflects the breaking surface. Document the removals + the Benchmarks.GetBenchmarks() migration in the release notes.

Ref: Speakeasy — versioning & OpenAPI document changes

Prompt for agents
This regen removes two exported methods (Datasets.GetBenchmarksArtificialAnalysis, Datasets.GetBenchmarksDesignArena — confirmed deleted from datasets.go) but bumps only patch (0.5.0 -> 0.5.1). Breaking removals require at least a minor bump pre-1.0. Bump info.version in the OpenAPI source (or set SPEAKEASY_BUMP_OVERRIDE=minor) so the SDK releases as 0.6.0, and note the removals + the replacement Benchmarks.GetBenchmarks() in RELEASES.md / migration notes.

Reviewed at 44ba584

Comment thread go.mod
module github.com/OpenRouterTeam/go-sdk

go 1.25.10
go 1.22

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion] go 1.22 — downgraded from 1.25.10 (main) while README.md Requirements still says "requires Go 1.25"

Details

Why: main's go.mod is go 1.25.10 and its README says "This SDK requires Go 1.25 or higher" — consistent. This PR lowers go.mod to 1.22 (the older generator's default) but leaves the README at 1.25, so the two now disagree. For a library a lower go directive is actually more permissive (broader consumer compatibility), so the value itself isn't wrong — but the README must match whichever version ships. Regenerating on the current generator (see .speakeasy/workflow.lock:1) likely restores 1.25 and resolves this automatically.

Fix: after regenerating on the current generator, confirm go.mod and the README "Requirements" line state the same Go version.

Prompt for agents
go.mod was downgraded from go 1.25.10 to go 1.22, but README.md Requirements still says "requires Go 1.25 or higher". Make them consistent — regenerating on Speakeasy 1.778.0 (matching main) should restore go 1.25.x. If the lower go directive is intentional, update the README Requirements line to match instead.

Reviewed at 44ba584

Comment thread README.md
"github.com/OpenRouterTeam/go-sdk/models/operations"
"github.com/OpenRouterTeam/go-sdk/retry"
"log"
"models/operations"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion] "models/operations" — bare import path won't compile; must be the fully-qualified module path

Details

Why: the retry example imports "models/operations", but the module is github.com/OpenRouterTeam/go-sdk, so the only valid path is github.com/OpenRouterTeam/go-sdk/models/operations (which is what main's README uses). A copy/paste of this example fails go build with "package models/operations is not in std". This is an artifact of the downgraded generator.

Fix: regenerate on the current generator (see .speakeasy/workflow.lock:1), which emits the fully-qualified path.

Suggested change
"models/operations"
"github.com/OpenRouterTeam/go-sdk/models/operations"

Reviewed at 44ba584

Comment thread README.md
},
Temperature: optionalnullable.From(openrouter.Pointer(0.7)),
}, nil)
res, err := s.Analytics.GetUserActivity(ctx, nil, nil, nil)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion][codex] GetUserActivity quickstart uses OPENROUTER_API_KEY but this endpoint needs a management key

Details

Why: both the README quickstart (this line) and USAGE.md:19 now call s.Analytics.GetUserActivity(...), whose own doc comment states "[Management key] required". The example authenticates with OPENROUTER_API_KEY (an inference key), so a copy/paste fails auth. The previous generator used a Chat.Send example that works with a normal key. Same root cause: the generator downgrade.

Fix: regenerating on the current generator should restore an inference-key-friendly quickstart; otherwise configure the quickstart to an operation that works with OPENROUTER_API_KEY.

Prompt for agents
The README (line ~84) and USAGE.md (line ~19) quickstart call s.Analytics.GetUserActivity, which requires a management key, while authenticating with OPENROUTER_API_KEY (an inference key) — copy/paste fails auth. Regenerate on Speakeasy 1.778.0 (matching main) to restore the prior inference-key-friendly example, or set the quickstart operation to one that works with a standard OPENROUTER_API_KEY.

Reviewed at 44ba584

@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1781885106 branch from 44ba584 to b06ad26 Compare June 21, 2026 00:50
* `OpenRouter.Benchmarks.GetBenchmarks()`: **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**
* `OpenRouter.Chat.Send()`: 
  *  `request.ChatRequest.Plugins[].union(fusion).Preset` **Added**
  *  `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.Plugins[].union(fusion).Preset` **Added**
* `OpenRouter.Presets.CreatePresetsMessages()`:  `request.MessagesRequest` **Changed**
* `OpenRouter.Presets.CreatePresetsResponses()`:  `request.ResponsesRequest` **Changed**
@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1781885106 branch from b06ad26 to b1ef821 Compare June 22, 2026 00:50
@perry-the-pr-reviewer perry-the-pr-reviewer Bot dismissed their stale review June 22, 2026 01:03

Superseded by updated Perry review

@perry-the-pr-reviewer perry-the-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perry's Review

Re-review of the Speakeasy SDK regen to v0.5.1: the regeneration was re-run, but the only net-new change since my last review is metadata (the gen.lock generation_id / pristine_commit_hash and a RELEASES.md timestamp) — every flagged source file is byte-identical, so all prior blockers stand.

Verdict: 🔁 Needs changes

Details

Risk: 🔴 High — human approval required

CI: no checks configured on this repo (nothing to report)

Scope: incremental re-review. Net-new since the prior reviewed commit (44ba584) is 28 lines across two non-code files — .speakeasy/gen.lock (regeneration id + pristine hashes) and a RELEASES.md timestamp bump (2026-06-20 → 2026-06-22). The generated Go SDK, internal/utils/union.go, .speakeasy/workflow.lock, .speakeasy/gen.yaml, go.mod, README.md and USAGE.md are all byte-identical to the commit I reviewed last time (verified via git diff 44ba584..b1ef821).

Findings: no net-new findings — the regen produced identical code. All six findings from my prior review remain open and valid because the code they flag did not change:

  • 🔴 generator downgraded 1.778.0 → 1.761.1 (root cause of the union regression)
  • 🔴 regenerated union scorer assumes all variants are pointers; empirically panics on the 49 non-pointer (slice / any / map) union members this SDK defines (re-confirmed: slice member ArrayOfAnthropicWebSearchResultBlockParam and others are still present at head)
  • 🔴 two Datasets benchmark methods removed (PR body marks both "Breaking ⚠️") under a patch 0.5.0 → 0.5.1 bump — SemVer violation
  • 🟡 go directive downgraded 1.25.10 → 1.22 while the README Requirements still says Go 1.25
  • 🟡 retry example imports bare models/operations instead of the full module path; won't compile
  • 🟡 quickstart calls GetUserActivity (management-key-only) with an inference API key; copy/paste fails auth

Codex (gpt-5.5): re-surfaced the GetUserActivity auth mismatch and the README Go-version / beta-pin drift (all already captured by the open threads above) plus a benchmarks.go default-retry AfterSuccess/AfterError observation on unchanged generated code — out of differential scope this round.

Research: unchanged from prior review — Speakeasy pins the generator via speakeasyVersion; the gen.lock feature downgrades confirm an older toolchain, which is the source of the union-scorer regression.

Security: no concerns — secret scan clean on the net-new delta; no auth / streaming / credential-handling logic changed.

Test coverage: unchanged — the non-pointer-union regression test deleted in this PR is still absent at head, so nothing guards against the union panic.

Unresolved threads: 6 open (all mine, all still applicable) — the three blockers above must be addressed before this can merge. Re-running the regen on the current generator (1.778.0) should clear the union panic, the bare-import, and the auth-example issues; the breaking removals still require a minor/major version bump rather than patch.

Scope: incremental — 28 new lines (metadata only) since prior review
Review: tier=large · model=claude-opus-latest · score=84.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch Patch version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants