Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f28bc60
chore(internal): codegen related update
stainless-app[bot] Apr 24, 2025
e4dbfbc
chore(ci): only use depot for staging repos
stainless-app[bot] Apr 24, 2025
ce64b45
chore(internal): java 17 -> 21 on ci
stainless-app[bot] Apr 24, 2025
f9f4254
chore(internal): update java toolchain
stainless-app[bot] May 2, 2025
3b5c63c
chore(internal): remove flaky `-Xbackend-threads=0` option
stainless-app[bot] May 7, 2025
5d14bd0
feat(client): allow providing some params positionally
stainless-app[bot] May 9, 2025
42ec597
feat(client)!: extract auto pagination to shared classes
stainless-app[bot] May 9, 2025
bac039c
chore(docs): grammar improvements
stainless-app[bot] May 22, 2025
fd77b27
fix(client): remove `@MustBeClosed` for future returning methods
stainless-app[bot] May 29, 2025
4610a9c
feat(client): implement per-endpoint base URL support
stainless-app[bot] Jun 12, 2025
1da1cfa
feat(client): add a `withOptions` method
stainless-app[bot] Jun 13, 2025
40d994c
chore(ci): enable for pull requests
stainless-app[bot] Jun 17, 2025
e817e93
fix(client): bump max requests per host to max requests (5 -> 64)
stainless-app[bot] Jun 24, 2025
755910d
fix(ci): release-doctor — report correct token name
stainless-app[bot] Jun 27, 2025
ed7f8d9
chore(ci): only run for pushes and fork pull requests
stainless-app[bot] Jun 28, 2025
76d0366
fix(client): don't close client on `withOptions` usage when original …
stainless-app[bot] Jun 30, 2025
1dc2b4d
refactor(internal): minor `ClientOptionsTest` change
stainless-app[bot] Jul 1, 2025
067e7c8
chore(ci): ensure docs generation always succeeds
stainless-app[bot] Jul 9, 2025
a5b0e85
chore(ci): bump `actions/setup-java` to v4
stainless-app[bot] Jul 16, 2025
ff998ed
chore(internal): allow running specific example from cli
stainless-app[bot] Jul 17, 2025
7f3b3e0
fix(client): ensure error handling always occurs
stainless-app[bot] Jul 18, 2025
8b05411
chore(internal): refactor delegating from client to options
stainless-app[bot] Jul 19, 2025
0ae6f5d
feat(client): add https config options
stainless-app[bot] Jul 19, 2025
bbca12c
feat(client): allow configuring env via system properties
stainless-app[bot] Jul 22, 2025
0d82daf
feat(client): add `{QueryParams,Headers}#put(String, JsonValue)` methods
stainless-app[bot] Jul 22, 2025
d1346c2
docs: fix missing readme comment
stainless-app[bot] Jul 24, 2025
641c2dc
fix(client): accidental mutability of some classes
stainless-app[bot] Jul 24, 2025
bbd6ab6
chore(internal): remove unnecessary `[...]` in `@see`
stainless-app[bot] Jul 25, 2025
cba7926
docs: more code comments
stainless-app[bot] Jul 25, 2025
cf76b62
feat(client): ensure compat with proguard
stainless-app[bot] Jul 29, 2025
ad8114f
feat: add retryable exception
stainless-app[bot] Jul 30, 2025
4796a86
fix(client): r8 support
stainless-app[bot] Aug 1, 2025
4d23bb8
chore(internal): reduce proguard ci logging
stainless-app[bot] Aug 1, 2025
c823880
chore(internal): bump ci test timeout
stainless-app[bot] Aug 1, 2025
62dce85
chore(internal): add async lock helper
stainless-app[bot] Aug 5, 2025
3f434c4
chore(example): fix run example comment
stainless-app[bot] Aug 6, 2025
e88d096
chore: increase max gradle JVM heap to 8GB
stainless-app[bot] Aug 8, 2025
7138c31
chore: update @stainless-api/prism-cli to v5.15.0
stainless-app[bot] Aug 9, 2025
fb33197
chore(internal): update comment in script
stainless-app[bot] Aug 9, 2025
1e2fa56
chore(internal): codegen related update
stainless-app[bot] Aug 13, 2025
9fcff68
chore(internal): dynamically determine included projects
stainless-app[bot] Aug 13, 2025
26ca502
chore(internal): support passing arguments to test script
stainless-app[bot] Aug 13, 2025
12585ed
perf(internal): make formatting faster
stainless-app[bot] Aug 13, 2025
72ca2fc
chore(ci): add build job
stainless-app[bot] Aug 14, 2025
d72b3c9
chore(client): refactor closing / shutdown
stainless-app[bot] Aug 20, 2025
1bfd53a
chore(internal): support running formatters directly
stainless-app[bot] Aug 20, 2025
d8ca7a9
chore: remove memory upper bound from publishing step
stainless-app[bot] Aug 21, 2025
57adf59
chore(ci): reduce log noise
stainless-app[bot] Aug 22, 2025
ed3c3b2
fix: update singularization rules
stainless-app[bot] Aug 22, 2025
89a22c7
fix: fix casing issue
stainless-app[bot] Aug 23, 2025
f69d0fe
fix(ci): use java-version 21 for publish step
stainless-app[bot] Sep 3, 2025
60b12e5
codegen metadata
stainless-app[bot] Sep 9, 2025
b6e41d0
chore: improve formatter performance
stainless-app[bot] Sep 12, 2025
2ed652b
chore(internal): codegen related update
stainless-app[bot] Sep 13, 2025
cd321c9
chore(internal): codegen related update
stainless-app[bot] Sep 13, 2025
48913a4
fix(client): incorrect `getPackageVersion` impl
stainless-app[bot] Sep 16, 2025
0cf2fec
feat(client): expose sleeper option
stainless-app[bot] Sep 20, 2025
7e03e85
chore: improve formatter performance
stainless-app[bot] Sep 20, 2025
599e59c
fix(client): deserialization of empty objects
stainless-app[bot] Sep 26, 2025
84f72e2
fix(client): multi-value header serialization
stainless-app[bot] Nov 14, 2025
4e9004a
fix(client): cancel okhttp call when future cancelled
stainless-app[bot] Nov 27, 2025
c162005
docs: remove `$` for better copy-pasteabality
stainless-app[bot] Dec 3, 2025
8667f5f
release: 0.10.0
stainless-app[bot] Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
54 changes: 43 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
name: CI
on:
push:
branches:
- main
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches:
- main
- next
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
timeout-minutes: 10
timeout-minutes: 15
name: lint
runs-on: ubuntu-latest
runs-on: ${{ github.repository == 'stainless-sdks/braintrust-sdk-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4

Expand All @@ -22,18 +28,44 @@ jobs:
distribution: temurin
java-version: |
8
17
21
cache: gradle

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Run lints
run: ./scripts/lint

build:
timeout-minutes: 15
name: build
runs-on: ${{ github.repository == 'stainless-sdks/braintrust-sdk-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4

- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: |
8
21
cache: gradle

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Build SDK
run: ./scripts/build

test:
timeout-minutes: 10
timeout-minutes: 15
name: test
runs-on: ubuntu-latest
runs-on: ${{ github.repository == 'stainless-sdks/braintrust-sdk-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

Expand All @@ -43,7 +75,7 @@ jobs:
distribution: temurin
java-version: |
8
17
21
cache: gradle

- name: Set up Gradle
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-sonatype.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:
- uses: actions/checkout@v4

- name: Set up Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: |
8
17
21
cache: gradle

- name: Set up Gradle
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
.gradle
.idea
.kotlin
build
build/
codegen.log
kls_database.db
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.9.0"
".": "0.10.0"
}
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 110
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/manugoyal%2Fbraintrust-sdk-f0d64ce0e0efde75f9c171f7f3c3d4a72f00a77abb3bc5a7d65b7be1e715689b.yml
openapi_spec_hash: a027e48cc6aea2fab3cbdd38f4081119
config_hash: 1ea10787f4def6c54a53f0e6f776f0a5
config_hash: dca6e2cafd0764aa5fa3e78987e8b07c
98 changes: 98 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,103 @@
# Changelog

## 0.10.0 (2025-12-03)

Full Changelog: [v0.9.0...v0.10.0](https://github.com/braintrustdata/braintrust-java/compare/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](https://github.com/braintrustdata/braintrust-java/commit/ad8114f1410bdf0b8de7d97803ee1567256beb11))
* **client:** add `{QueryParams,Headers}#put(String, JsonValue)` methods ([0d82daf](https://github.com/braintrustdata/braintrust-java/commit/0d82dafca840d9bab25d431f90bf624161f657d5))
* **client:** add a `withOptions` method ([1da1cfa](https://github.com/braintrustdata/braintrust-java/commit/1da1cfac2d57ac0c4619888357cad8bd8ad8b55a))
* **client:** add https config options ([0ae6f5d](https://github.com/braintrustdata/braintrust-java/commit/0ae6f5d5c5d0236d95f801afe0f648021c9f4c27))
* **client:** allow configuring env via system properties ([bbca12c](https://github.com/braintrustdata/braintrust-java/commit/bbca12cb7c4c9a3b4914c31c1e3767ee944c9f6b))
* **client:** allow providing some params positionally ([5d14bd0](https://github.com/braintrustdata/braintrust-java/commit/5d14bd085513672de3d1c064e2db919b5f0bffa2))
* **client:** ensure compat with proguard ([cf76b62](https://github.com/braintrustdata/braintrust-java/commit/cf76b62a5d08699560aada21ebbe26d809a2a87e))
* **client:** expose sleeper option ([0cf2fec](https://github.com/braintrustdata/braintrust-java/commit/0cf2fec7e371018483fa266379d854fc0a461c05))
* **client:** extract auto pagination to shared classes ([42ec597](https://github.com/braintrustdata/braintrust-java/commit/42ec597072a9392a0a8fadf99bdf228960a66e37))
* **client:** implement per-endpoint base URL support ([4610a9c](https://github.com/braintrustdata/braintrust-java/commit/4610a9cfca70a2b0567c952044434739beb591cd))


### Bug Fixes

* **ci:** release-doctor — report correct token name ([755910d](https://github.com/braintrustdata/braintrust-java/commit/755910da108b3010293d0d84bfc0e2696796448a))
* **ci:** use java-version 21 for publish step ([f69d0fe](https://github.com/braintrustdata/braintrust-java/commit/f69d0fed4cf2ae0119e0bcf84503782208de89a0))
* **client:** accidental mutability of some classes ([641c2dc](https://github.com/braintrustdata/braintrust-java/commit/641c2dc41ddbc04b225e944033fedb5f2efa7d02))
* **client:** bump max requests per host to max requests (5 -> 64) ([e817e93](https://github.com/braintrustdata/braintrust-java/commit/e817e93b721d4bdbc4fcbf50c5e6dd019e1d6d1d))
* **client:** cancel okhttp call when future cancelled ([4e9004a](https://github.com/braintrustdata/braintrust-java/commit/4e9004a568ad7c4309f30995df9bb7514d12ded7))
* **client:** deserialization of empty objects ([599e59c](https://github.com/braintrustdata/braintrust-java/commit/599e59c37526f17fb2813776f35bf10ed7d176f9))
* **client:** don't close client on `withOptions` usage when original is gc'd ([76d0366](https://github.com/braintrustdata/braintrust-java/commit/76d0366cca717ebf63a425cd6674b933b31519c9))
* **client:** ensure error handling always occurs ([7f3b3e0](https://github.com/braintrustdata/braintrust-java/commit/7f3b3e052acb0e5053e3d470b9a67e226252e488))
* **client:** ensure single timer is created per client ([0cf2fec](https://github.com/braintrustdata/braintrust-java/commit/0cf2fec7e371018483fa266379d854fc0a461c05))
* **client:** incorrect `getPackageVersion` impl ([48913a4](https://github.com/braintrustdata/braintrust-java/commit/48913a4f26fae541609b186470f5e4d21a5892b3))
* **client:** multi-value header serialization ([84f72e2](https://github.com/braintrustdata/braintrust-java/commit/84f72e20dea2803431834f698337574545c1ab29))
* **client:** r8 support ([4796a86](https://github.com/braintrustdata/braintrust-java/commit/4796a86bef99bc10c8db95c0f8eae469542dbdcb))
* **client:** remove `@MustBeClosed` for future returning methods ([fd77b27](https://github.com/braintrustdata/braintrust-java/commit/fd77b2799b7c290451a1fdc2cb3bde9970c8ccc8))
* fix casing issue ([89a22c7](https://github.com/braintrustdata/braintrust-java/commit/89a22c7ada67d638f3c3a95b9b5dc83a57d6436c))
* update singularization rules ([ed3c3b2](https://github.com/braintrustdata/braintrust-java/commit/ed3c3b22c536f4fdc470eca6ed3129af7e4176c7))


### Performance Improvements

* **internal:** make formatting faster ([12585ed](https://github.com/braintrustdata/braintrust-java/commit/12585ed0aa09ac429ba618d7efb82d18c556bdc0))


### Chores

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


### Documentation

* fix missing readme comment ([d1346c2](https://github.com/braintrustdata/braintrust-java/commit/d1346c2f1c8be9157d5e77d7db8a20b746b933e3))
* more code comments ([cba7926](https://github.com/braintrustdata/braintrust-java/commit/cba79267f1c5e2a82b728fec6e44709d9387bd92))
* remove `$` for better copy-pasteabality ([c162005](https://github.com/braintrustdata/braintrust-java/commit/c162005e4957239975573760d8e07cdb0e0b851f))


### Refactors

* **internal:** minor `ClientOptionsTest` change ([1dc2b4d](https://github.com/braintrustdata/braintrust-java/commit/1dc2b4d4f57bab9408f18407c877569540a6e7f0))

## 0.9.0 (2025-04-23)

Full Changelog: [v0.8.0...v0.9.0](https://github.com/braintrustdata/braintrust-java/compare/v0.8.0...v0.9.0)
Expand Down
Loading