Skip to content

Conversation

@stainless-app
Copy link
Contributor

@stainless-app stainless-app bot commented Sep 8, 2025

Automated Release PR

0.10.0 (2025-12-03)

Full Changelog: v0.9.0...v0.10.0

⚠ BREAKING CHANGES

  • client: extract auto pagination to shared classes
  • client: Migration: - If you were referencing the AutoPager class on a specific *Page or *PageAsync type, then you should instead reference the shared AutoPager and AutoPagerAsync types, under the core package
    • AutoPagerAsync now has different usage. You can call .subscribe(...) on the returned object instead to get called back each page item. You can also call onCompleteFuture() to get a future that completes when all items have been processed. Finally, you can call .close() on the returned object to stop auto-paginating early
    • If you were referencing getNextPage or getNextPageParams:
      • Swap to nextPage() and nextPageParams()
      • Note that these both now return non-optional types (use hasNextPage() before calling these, since they will throw if it's impossible to get another page)

Features

  • add retryable exception (ad8114f)
  • client: add {QueryParams,Headers}#put(String, JsonValue) methods (0d82daf)
  • client: add a withOptions method (1da1cfa)
  • client: add https config options (0ae6f5d)
  • client: allow configuring env via system properties (bbca12c)
  • client: allow providing some params positionally (5d14bd0)
  • client: ensure compat with proguard (cf76b62)
  • client: expose sleeper option (0cf2fec)
  • client: extract auto pagination to shared classes (42ec597)
  • client: implement per-endpoint base URL support (4610a9c)

Bug Fixes

  • ci: release-doctor — report correct token name (755910d)
  • ci: use java-version 21 for publish step (f69d0fe)
  • client: accidental mutability of some classes (641c2dc)
  • client: bump max requests per host to max requests (5 -> 64) (e817e93)
  • client: cancel okhttp call when future cancelled (4e9004a)
  • client: deserialization of empty objects (599e59c)
  • client: don't close client on withOptions usage when original is gc'd (76d0366)
  • client: ensure error handling always occurs (7f3b3e0)
  • client: ensure single timer is created per client (0cf2fec)
  • client: incorrect getPackageVersion impl (48913a4)
  • client: multi-value header serialization (84f72e2)
  • client: r8 support (4796a86)
  • client: remove @MustBeClosed for future returning methods (fd77b27)
  • fix casing issue (89a22c7)
  • update singularization rules (ed3c3b2)

Performance Improvements

  • internal: make formatting faster (12585ed)

Chores

  • ci: add build job (72ca2fc)
  • ci: bump actions/setup-java to v4 (a5b0e85)
  • ci: enable for pull requests (40d994c)
  • ci: ensure docs generation always succeeds (067e7c8)
  • ci: only run for pushes and fork pull requests (ed7f8d9)
  • ci: only use depot for staging repos (e4dbfbc)
  • ci: reduce log noise (57adf59)
  • client: refactor closing / shutdown (d72b3c9)
  • docs: grammar improvements (bac039c)
  • example: fix run example comment (3f434c4)
  • improve formatter performance (7e03e85)
  • improve formatter performance (b6e41d0)
  • increase max gradle JVM heap to 8GB (e88d096)
  • internal: add async lock helper (62dce85)
  • internal: allow running specific example from cli (ff998ed)
  • internal: bump ci test timeout (c823880)
  • internal: codegen related update (cd321c9)
  • internal: codegen related update (2ed652b)
  • internal: codegen related update (1e2fa56)
  • internal: codegen related update (f28bc60)
  • internal: dynamically determine included projects (9fcff68)
  • internal: java 17 -> 21 on ci (ce64b45)
  • internal: reduce proguard ci logging (4d23bb8)
  • internal: refactor delegating from client to options (8b05411)
  • internal: remove flaky -Xbackend-threads=0 option (3b5c63c)
  • internal: remove unnecessary [...] in [@see](https://github.com/see) (bbd6ab6)
  • internal: support passing arguments to test script (26ca502)
  • internal: support running formatters directly (1bfd53a)
  • internal: update comment in script (fb33197)
  • internal: update java toolchain (f9f4254)
  • remove memory upper bound from publishing step (d8ca7a9)
  • update @stainless-api/prism-cli to v5.15.0 (7138c31)

Documentation

  • fix missing readme comment (d1346c2)
  • more code comments (cba7926)
  • remove $ for better copy-pasteabality (c162005)

Refactors

  • internal: minor ClientOptionsTest change (1dc2b4d)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch 5 times, most recently from cc99146 to 3e84e03 Compare September 16, 2025 03:41
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch 3 times, most recently from 8931b4e to de1c0d6 Compare September 26, 2025 03:02
refactor(client)!: refactor async auto-pagination
refactor(client)!: rename `getNextPage{,Params}` to `nextPage{,Params}`
refactor(client)!: swap `nextPage{,Params}` to return non-optional

# Migration

- If you were referencing the `AutoPager` class on a specific `*Page` or `*PageAsync` type, then you should instead reference the shared `AutoPager` and `AutoPagerAsync` types, under the `core` package
- `AutoPagerAsync` now has different usage. You can call `.subscribe(...)` on the returned object instead to get called back each page item. You can also call `onCompleteFuture()` to get a future that completes when all items have been processed. Finally, you can call `.close()` on the returned object to stop auto-paginating early
- If you were referencing `getNextPage` or `getNextPageParams`:
   - Swap to `nextPage()` and `nextPageParams()`
   - Note that these both now return non-optional types (use `hasNextPage()` before calling these, since they will throw if it's impossible to get another page)

There are examples and further information about pagination in the readme.
Refactor `HttpRequest` to always take a `baseUrl`, instead of storing this in `OkHttpClient`. This allows better reuse of `OkHttpClient` when changing the `baseUrl`.
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from de1c0d6 to e42041b Compare October 23, 2025 16:20
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from e42041b to ce099ba Compare November 14, 2025 05:44
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from ce099ba to dab1656 Compare November 27, 2025 06:07
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from dab1656 to 8667f5f Compare December 3, 2025 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant