Skip to content

Conversation

@stainless-app
Copy link
Contributor

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

Automated Release PR

0.4.0 (2025-12-03)

Full Changelog: v0.3.0...v0.4.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
    • If you were referencing getNextPage or getNextPageParams:
      • Swap to nextPage() and nextPageParams()
      • Note that these both now return non-nullable types (use hasNextPage() before calling these, since they will throw if it's impossible to get another page)
  • client: refactor exception structure and methods (#132)
  • client: Migration: Previously you would access error JSON on an exception via exception.error()._additionalProperties(), which would return Map<String, JsonValue>. Now you would access this via exception.body(), which returns JsonValue. You should no longer assume that the returned error JSON is an object. You can check via exception.body().asObject().
  • client: refactor multipart formdata impl (#99)
  • client: Migration: 1. Builder methods that used to take contentType and filename as positional parameters after the main argument now no longer do. To set a custom contentType or filename, pass MultipartField, which can be constructed via MultipartField.builder(). 2. It's unlikely you were referencing it, but MultipartFormValue is now called MultipartField if you were.

Features

  • add retryable exception (a2c54ff)
  • api: api update (#50) (5e52131)
  • api: api update (#52) (c8a8e0e)
  • api: api update (#53) (b3c1bb2)
  • api: api update (#54) (9a85a86)
  • api: manual updates (#117) (b68f811)
  • api: manual updates (#118) (a820adb)
  • api: manual updates (#120) (4ef778b)
  • api: manual updates (#121) (093acc4)
  • api: manual updates (#75) (8f7b570)
  • api: manual updates (#77) (8732e08)
  • api: manual updates (#79) (5b6c4e5)
  • api: manual updates (#80) (ecaf2ae)
  • api: manual updates (#81) (72e13e2)
  • api: manual updates (#82) (b54f251)
  • api: manual updates (#83) (456fe14)
  • api: manual updates (#84) (7849b85)
  • api: manual updates (#91) (29bee4e)
  • client: accept InputStream and Path for file params (#102) (d68c4ee)
  • client: add {QueryParams,Headers}#put(String, JsonValue) methods (430e2f3)
  • client: add a withOptions method (0599455)
  • client: add enum validation method (1e676fb)
  • client: add https config options (789d35f)
  • client: allow configuring env via system properties (4604608)
  • client: allow configuring timeouts granularly (#97) (e92c8c8)
  • client: allow providing some params positionally (c543351)
  • client: detect binary incompatible jackson versions (#103) (2576b86)
  • client: ensure compat with proguard (42635ab)
  • client: expose request body setter and getter (#145) (9f61f5b)
  • client: expose sleeper option (dfcb76f)
  • client: extract auto pagination to shared classes (12a94f0)
  • client: implement per-endpoint base URL support (1839ec8)
  • client: make datetime deserialization more lenient (#144) (e1abefb)
  • client: make pagination robust to missing data (71968b4)
  • client: make union deserialization more robust (#143) (1e676fb)
  • client: support a lower jackson version (#137) (8fe19ac)
  • client: support raw response access (#98) (402d7d4)
  • client: support setting base URL via env var (a051a62)
  • client: throw on incompatible jackson version (8fe19ac)
  • generate and publish docs (#104) (af10dfa)

Bug Fixes

  • ci: release-doctor — report correct token name (c4b98ad)
  • ci: use java-version 21 for publish step (e72ceec)
  • client: accidental mutability of some classes (ff29dfc)
  • client: bump max requests per host to max requests (5 -> 64) (267ec75)
  • client: bump to better jackson version (1ecc879)
  • client: deserialization of empty objects (0ffe055)
  • client: don't call validate() during deserialization if we don't have to (#140) (4819d56)
  • client: don't close client on withOptions usage when original is gc'd (f34eb56)
  • client: ensure error handling always occurs (9c943ae)
  • client: ensure single timer is created per client (dfcb76f)
  • client: incorrect getPackageVersion impl (c901eb6)
  • client: limit json deserialization coercion (#141) (346b726)
  • client: map deserialization bug (0092e84)
  • client: multi-value header serialization (992e97d)
  • client: r8 support (3eeb5d5)
  • client: support kotlin 1.8 runtime (#129) (0437e08)
  • fix casing issue (a2c6996)
  • pluralize list response variables (#142) (a82733e)
  • update singularization rules (772887c)

Performance Improvements

  • client: cached parsed type in HttpResponseFor (#147) (be273d1)
  • internal: make formatting faster (b8e05ea)

Chores

  • api: manual updates (#58) (a98c90c)
  • ci: add build job (aa79cc8)
  • ci: add timeout thresholds for CI jobs (a4be02a)
  • ci: bump actions/setup-java to v4 (ae504a3)
  • ci: enable for pull requests (9883bd7)
  • ci: ensure docs generation always succeeds (53f3fde)
  • ci: only run for pushes and fork pull requests (6fe433e)
  • ci: only use depot for staging repos (c32ff0c)
  • ci: reduce log noise (140ff0c)
  • client: refactor closing / shutdown (96dc010)
  • client: refactor exception structure and methods (#132) (d06a530)
  • client: refactor multipart formdata impl (#99) (b6cd77a)
  • client: remove unnecessary json state from some query param classes (1e676fb)
  • deps: bump jackson to 2.18.1 (#86) (95066db)
  • docs: grammar improvements (149705f)
  • example: fix run example comment (5177a6e)
  • increase max gradle JVM heap to 8GB (735ab96)
  • internal: add .kotlin to .gitignore (#105) (3a73e2e)
  • internal: add generated comment (#124) (3a85ba6)
  • internal: add invalid json deserialization tests (1e676fb)
  • internal: add json roundtripping tests (1e676fb)
  • internal: add lock helper (1bfeedd)
  • internal: add missing release please block (#131) (73bca42)
  • internal: add tests for _headers() (#127) (37a409a)
  • internal: allow running specific example from cli (b685ffd)
  • internal: bump ci test timeout (cdb84ce)
  • internal: codegen related update (c842666)
  • internal: codegen related update (a9f3ce0)
  • internal: codegen related update (af659ea)
  • internal: codegen related update (#110) (114138e)
  • internal: codegen related update (#111) (3632207)
  • internal: codegen related update (#112) (9a6b149)
  • internal: codegen related update (#113) (29c3842)
  • internal: codegen related update (#114) (9d96723)
  • internal: codegen related update (#115) (e471285)
  • internal: codegen related update (#134) (942c135)
  • internal: codegen related update (#146) (e31b6eb)
  • internal: codegen related update (#87) (58407f3)
  • internal: codegen related update (#88) (e2385b2)
  • internal: codegen related update (#89) (7a1838c)
  • internal: codegen related update (#95) (40ba4ff)
  • internal: delete unused methods and annotations (#138) (0092e84)
  • internal: dynamically determine included projects (d7375bb)
  • internal: expand CI branch coverage (ebd3cbe)
  • internal: generate more tests (21aff2b)
  • internal: java 17 -> 21 on ci (7908cfe)
  • internal: make multipart assertions more robust (1c4b313)
  • internal: make test classes internal (#123) (ed8cb24)
  • internal: reduce CI branch coverage (34931ed)
  • internal: reduce proguard ci logging (d9e31bd)
  • internal: reenable warnings as errors (#106) (a2ece91)
  • internal: refactor ErrorHandlingTest (#96) (4ca424c)
  • internal: refactor delegating from client to options (6a172fb)
  • internal: refactor enum query param serialization (#130) (0f12e8a)
  • internal: refactor query param serialization impl and tests (#126) (9fcd889)
  • internal: reformat some tests (#128) (21aff2b)
  • internal: remove extra empty newlines (#116) (461eeda)
  • internal: remove flaky -Xbackend-threads=0 option (0ea5d66)
  • internal: remove unnecessary [...] in [@see](https://github.com/see) (8199199)
  • internal: remove unnecessary assertNotNull calls (1c4b313)
  • internal: support passing arguments to test script (a06c26e)
  • internal: support running ktfmt directly (08b97d9)
  • internal: swap from Builder().from(...) to toBuilder() (#139) (824e27f)
  • internal: update comment in script (0804ff2)
  • internal: update java toolchain (e419cef)
  • internal: update variable names in tests (#107) (9517ac1)
  • minor change to tests (#93) (5195a03)
  • rebuild project due to codegen change (#55) (1aff44c)
  • rebuild project due to codegen change (#56) (e16106b)
  • rebuild project due to codegen change (#57) (3a5fc1c)
  • rebuild project due to codegen change (#59) (fe5e454)
  • rebuild project due to codegen change (#60) (619fdf9)
  • rebuild project due to codegen change (#61) (34224b4)
  • rebuild project due to codegen change (#62) (8d3804c)
  • rebuild project due to codegen change (#63) (e941f87)
  • rebuild project due to codegen change (#64) (5b393df)
  • rebuild project due to codegen change (#65) (c86f18b)
  • rebuild project due to codegen change (#66) (ffdfb6b)
  • rebuild project due to codegen change (#67) (ba8f527)
  • rebuild project due to codegen change (#68) (d852b92)
  • rebuild project due to codegen change (#69) (7a303e4)
  • rebuild project due to codegen change (#71) (f7b50d0)
  • rebuild project due to codegen change (#73) (d08c8b7)
  • rebuild project due to codegen change (#74) (2ac019c)
  • rebuild project due to codegen change (#78) (f067007)
  • remove memory upper bound from publishing step (ad903a2)
  • update @stainless-api/prism-cli to v5.15.0 (08cdbb1)

Documentation

  • add build method comments (#125) (54c75b9)
  • add comments for page methods (71968b4)
  • add comments to JsonField classes (#148) (a53cd38)
  • add more phantom reachability docs (#94) (15a955a)
  • add raw response readme documentation (#100) (4c488b8)
  • client: update jackson compat error message (586f861)
  • deduplicate and refine comments (#122) (a47e6a6)
  • document JsonValue construction in readme (#109) (11b3017)
  • document how to forcibly omit required field (d1d2b4e)
  • explain http client customization (d19552a)
  • explain jackson compat in readme (0855121)
  • fix missing readme comment (32b005b)
  • minor readme tweak (#136) (d802340)
  • more code comments (869771b)
  • note required fields in builder javadoc (#101) (fac37c4)
  • refine comments on multipart params (#133) (1c4b313)
  • remove $ for better copy-pasteabality (9fbdb0d)
  • revise readme docs about nested params (#108) (6c4a081)
  • swap examples used in readme (#149) (d1d2b4e)
  • update documentation links to be more uniform (8d54da2)
  • update readme exception docs (#135) (cedf2ce)

Refactors

  • client: deduplicate page response classes (71968b4)
  • client: migrate pages to builder pattern (2113261)
  • internal: minor ClientOptionsTest change (151c8eb)

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 Bot and others added 30 commits November 6, 2024 19:01
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from a109aec to 9160c4d Compare September 16, 2025 03:20
fix(client): ensure single timer is created per client
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 9160c4d to 3a80119 Compare September 20, 2025 03:53
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 3a80119 to 6841105 Compare September 26, 2025 03:19
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 6841105 to b736217 Compare November 14, 2025 05:48
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from b736217 to 4a6a1bb Compare December 3, 2025 07:54
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.

2 participants