Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
a0ab87a
feat(api): api update (#9)
stainless-app[bot] Mar 27, 2025
de98db1
codegen metadata
stainless-app[bot] Mar 27, 2025
e5af84a
fix(client): don't call `validate()` during deserialization if we don…
stainless-app[bot] Mar 29, 2025
a476286
fix(client): limit json deserialization coercion (#12)
stainless-app[bot] Apr 1, 2025
a7a0b4a
fix: pluralize `list` response variables (#13)
stainless-app[bot] Apr 2, 2025
ebf7b97
feat(client): make union deserialization more robust (#14)
stainless-app[bot] Apr 2, 2025
d1cf89d
feat(client): make datetime deserialization more lenient (#15)
stainless-app[bot] Apr 3, 2025
69c2c6c
feat(client): expose request body setter and getter (#16)
stainless-app[bot] Apr 3, 2025
91c37b1
perf(client): cached parsed type in `HttpResponseFor` (#17)
stainless-app[bot] Apr 4, 2025
b4a0c8b
chore(internal): swap from `getNullable` to `getOptional` (#18)
stainless-app[bot] Apr 5, 2025
becb670
fix(client): return `Optional<T>` instead of `Optional<? extends T>` …
stainless-app[bot] Apr 5, 2025
4dc5520
docs: swap examples used in readme (#20)
stainless-app[bot] Apr 5, 2025
f78cf68
codegen metadata
stainless-app[bot] Apr 10, 2025
7b40d13
feat(client): support setting base URL via env var
stainless-app[bot] Apr 10, 2025
1eddeb1
chore(internal): expand CI branch coverage
stainless-app[bot] Apr 10, 2025
21f5b79
fix(client): bump to better jackson version
stainless-app[bot] Apr 10, 2025
c8a88d7
chore(internal): reduce CI branch coverage
stainless-app[bot] Apr 10, 2025
c878297
docs: update documentation links to be more uniform
stainless-app[bot] Apr 15, 2025
b2310d3
docs(client): update jackson compat error message
stainless-app[bot] Apr 16, 2025
b62faed
docs: explain jackson compat in readme
stainless-app[bot] Apr 16, 2025
668e12a
perf(internal): improve compilation+test speed
stainless-app[bot] Apr 17, 2025
e43d638
docs: explain http client customization
stainless-app[bot] Apr 17, 2025
2711202
chore(ci): add timeout thresholds for CI jobs
stainless-app[bot] Apr 23, 2025
0b6be6f
chore(internal): codegen related update
stainless-app[bot] Apr 24, 2025
76c8fa1
chore(ci): only use depot for staging repos
stainless-app[bot] Apr 24, 2025
afd652a
fix(client): add missing convenience methods
stainless-app[bot] Apr 24, 2025
2bcbac5
chore(internal): java 17 -> 21 on ci
stainless-app[bot] Apr 24, 2025
5c62cf3
chore(internal): update java toolchain
stainless-app[bot] May 2, 2025
2548d25
chore(internal): remove flaky `-Xbackend-threads=0` option
stainless-app[bot] May 7, 2025
4f35e18
feat(client): allow providing some params positionally
stainless-app[bot] May 9, 2025
e735ee9
feat(client)!: extract auto pagination to shared classes
stainless-app[bot] May 9, 2025
ccd164e
chore(docs): grammar improvements
stainless-app[bot] May 22, 2025
bb22539
feat(api): api update
stainless-app[bot] Jul 17, 2025
4e8ff89
chore: configure new SDK language
stainless-app[bot] Sep 6, 2025
d662f5a
codegen metadata
stainless-app[bot] Sep 6, 2025
5997aeb
feat(api): api update
stainless-app[bot] Sep 17, 2025
f5151f7
chore(internal): codegen related update
stainless-app[bot] Oct 8, 2025
589ce7a
feat(api): api update
stainless-app[bot] Jan 24, 2026
4babd04
codegen metadata
stainless-app[bot] Jan 24, 2026
4858dab
codegen metadata
stainless-app[bot] Jan 24, 2026
dfb03d4
codegen metadata
stainless-app[bot] Jan 24, 2026
03730e1
codegen metadata
stainless-app[bot] Jan 24, 2026
6cde4ff
codegen metadata
stainless-app[bot] Jan 24, 2026
508d13f
codegen metadata
stainless-app[bot] Jan 24, 2026
d53da51
codegen metadata
stainless-app[bot] Jan 24, 2026
d5064a0
codegen metadata
stainless-app[bot] Jan 24, 2026
39e9195
codegen metadata
stainless-app[bot] Jan 24, 2026
fcc0f22
codegen metadata
stainless-app[bot] Jan 24, 2026
ac119b5
codegen metadata
stainless-app[bot] Jan 24, 2026
28836e0
codegen metadata
stainless-app[bot] Jan 24, 2026
91d5019
codegen metadata
stainless-app[bot] Jan 24, 2026
62607f7
codegen metadata
stainless-app[bot] Jan 25, 2026
f5fba1a
codegen metadata
stainless-app[bot] Jan 25, 2026
50c8473
codegen metadata
stainless-app[bot] Jan 25, 2026
c8395d0
codegen metadata
stainless-app[bot] Jan 25, 2026
3cc5893
codegen metadata
stainless-app[bot] Jan 25, 2026
2984137
codegen metadata
stainless-app[bot] Jan 25, 2026
b6d19c4
codegen metadata
stainless-app[bot] Jan 25, 2026
21adf43
codegen metadata
stainless-app[bot] Jan 25, 2026
9b3684d
codegen metadata
stainless-app[bot] Jan 25, 2026
9edb4aa
codegen metadata
stainless-app[bot] Jan 25, 2026
02c9b4b
codegen metadata
stainless-app[bot] Jan 25, 2026
87f5a05
codegen metadata
stainless-app[bot] Jan 25, 2026
b718617
codegen metadata
stainless-app[bot] Jan 25, 2026
f77ad6a
codegen metadata
stainless-app[bot] Jan 25, 2026
241508e
codegen metadata
stainless-app[bot] Jan 25, 2026
11196a5
codegen metadata
stainless-app[bot] Jan 25, 2026
edd6ee0
codegen metadata
stainless-app[bot] Jan 25, 2026
088a20f
codegen metadata
stainless-app[bot] Jan 25, 2026
34e60c0
codegen metadata
stainless-app[bot] Jan 26, 2026
2a28462
codegen metadata
stainless-app[bot] Jan 26, 2026
6e5ce46
codegen metadata
stainless-app[bot] Jan 26, 2026
8391e56
codegen metadata
stainless-app[bot] Jan 26, 2026
bfe45ec
release: 0.1.0-alpha.3
stainless-app[bot] Jan 26, 2026
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
  •  
  •  
  •  
79 changes: 64 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,50 +1,99 @@
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: 15
name: lint
runs-on: ubuntu-latest

runs-on: ${{ github.repository == 'stainless-sdks/hanzo-ai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
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
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/hanzo-ai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v5
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

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/hanzo-ai-java'
id: github-oidc
uses: actions/github-script@v8
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Build and upload Maven artifacts
if: github.repository == 'stainless-sdks/hanzo-ai-java'
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
PROJECT: hanzo-ai-java
run: ./scripts/upload-artifacts
test:
timeout-minutes: 15
name: test
runs-on: ubuntu-latest

runs-on: ${{ github.repository == 'stainless-sdks/hanzo-ai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

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

- name: Set up Gradle
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish-sonatype.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

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

- name: Set up Gradle
Expand All @@ -33,7 +33,7 @@ jobs:
export -- GPG_SIGNING_KEY_ID
printenv -- GPG_SIGNING_KEY | gpg --batch --passphrase-fd 3 --import 3<<< "$GPG_SIGNING_PASSWORD"
GPG_SIGNING_KEY_ID="$(gpg --with-colons --list-keys | awk -F : -- '/^pub:/ { getline; print "0x" substr($10, length($10) - 7) }')"
./gradlew publishAndReleaseToMavenCentral --stacktrace -PmavenCentralUsername="$SONATYPE_USERNAME" -PmavenCentralPassword="$SONATYPE_PASSWORD"
./gradlew publishAndReleaseToMavenCentral --stacktrace -PmavenCentralUsername="$SONATYPE_USERNAME" -PmavenCentralPassword="$SONATYPE_PASSWORD" --no-configuration-cache
env:
SONATYPE_USERNAME: ${{ secrets.HANZO_SONATYPE_USERNAME || secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.HANZO_SONATYPE_PASSWORD || secrets.SONATYPE_PASSWORD }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'hanzoai/java-sdk' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Check release environment
run: |
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.1.0-alpha.2"
".": "0.1.0-alpha.3"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 188
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hanzo-industries-inc%2FHanzo-AI-45310ce8b457cd9d29707322ab26acd87a4b64b286d9fe804bd7b23b89067b77.yml
openapi_spec_hash: fb26cd549e0fe94f333db686235564fd
config_hash: 830747463ff4d018b5633ce511e88558
configured_endpoints: 187
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hanzo-industries-inc%2Fhanzo-ai-343e99ba0f6734359198b3b87c8330d8e81d4a44c0f0c9b8506524b41e872cf7.yml
openapi_spec_hash: 0536a5458fb3a37a5aa763333486acf5
config_hash: e927bafd76a1eace11894efc3517d245
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,79 @@
# Changelog

## 0.1.0-alpha.3 (2026-01-26)

Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/hanzoai/java-sdk/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)

### ⚠ 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

* **api:** api update ([589ce7a](https://github.com/hanzoai/java-sdk/commit/589ce7af97f7b1fcea2519ae75f184ea7a6529ff))
* **api:** api update ([5997aeb](https://github.com/hanzoai/java-sdk/commit/5997aeb3a12a1dbb0e628c3ae2e2b73d6f5c0391))
* **api:** api update ([bb22539](https://github.com/hanzoai/java-sdk/commit/bb225395cd286571c72d6ad48582d0f5b54b9db9))
* **api:** api update ([#9](https://github.com/hanzoai/java-sdk/issues/9)) ([a0ab87a](https://github.com/hanzoai/java-sdk/commit/a0ab87ace8769fc2320a22cf1bd2d259ede567ae))
* **client:** add enum validation method ([ebf7b97](https://github.com/hanzoai/java-sdk/commit/ebf7b9734d07621d28d394281160823dea9c8de3))
* **client:** allow providing some params positionally ([4f35e18](https://github.com/hanzoai/java-sdk/commit/4f35e180123ecba96578a2eab86af922115cd005))
* **client:** expose request body setter and getter ([#16](https://github.com/hanzoai/java-sdk/issues/16)) ([69c2c6c](https://github.com/hanzoai/java-sdk/commit/69c2c6cd26d41cd1e0a5012398cd8ba54a7617ca))
* **client:** extract auto pagination to shared classes ([e735ee9](https://github.com/hanzoai/java-sdk/commit/e735ee9fb131714101989c4d8a724399932e8026))
* **client:** make datetime deserialization more lenient ([#15](https://github.com/hanzoai/java-sdk/issues/15)) ([d1cf89d](https://github.com/hanzoai/java-sdk/commit/d1cf89db05f61aa38c0a8d274ba3ee77d17e0341))
* **client:** make union deserialization more robust ([#14](https://github.com/hanzoai/java-sdk/issues/14)) ([ebf7b97](https://github.com/hanzoai/java-sdk/commit/ebf7b9734d07621d28d394281160823dea9c8de3))
* **client:** support setting base URL via env var ([7b40d13](https://github.com/hanzoai/java-sdk/commit/7b40d13ad642b0db4f872cf54cb0e75a8fb5fc1c))


### Bug Fixes

* **client:** add missing convenience methods ([afd652a](https://github.com/hanzoai/java-sdk/commit/afd652a14b550ae68fc192379c2649f3dea63601))
* **client:** bump to better jackson version ([21f5b79](https://github.com/hanzoai/java-sdk/commit/21f5b79e8a12fb75bb6ea91fc46173f4fed1fc8f))
* **client:** don't call `validate()` during deserialization if we don't have to ([#11](https://github.com/hanzoai/java-sdk/issues/11)) ([e5af84a](https://github.com/hanzoai/java-sdk/commit/e5af84a40d2f50556adcb9b54d088ff4482c81c7))
* **client:** limit json deserialization coercion ([#12](https://github.com/hanzoai/java-sdk/issues/12)) ([a476286](https://github.com/hanzoai/java-sdk/commit/a4762869b0ad34a0212ed4ea2fc00cce3a020487))
* **client:** return `Optional&lt;T&gt;` instead of `Optional<? extends T>` ([#19](https://github.com/hanzoai/java-sdk/issues/19)) ([becb670](https://github.com/hanzoai/java-sdk/commit/becb670d92fab9e105289da811f8b2ce3c63d776))
* pluralize `list` response variables ([#13](https://github.com/hanzoai/java-sdk/issues/13)) ([a7a0b4a](https://github.com/hanzoai/java-sdk/commit/a7a0b4a6b847da6df6b459af2c149c7569ad9e0c))


### Performance Improvements

* **client:** cached parsed type in `HttpResponseFor` ([#17](https://github.com/hanzoai/java-sdk/issues/17)) ([91c37b1](https://github.com/hanzoai/java-sdk/commit/91c37b152243864b852b3ab04c05ab0aadf28912))
* **internal:** improve compilation+test speed ([668e12a](https://github.com/hanzoai/java-sdk/commit/668e12a649f917543d6a44810cdce0f035993afe))


### Chores

* **ci:** add timeout thresholds for CI jobs ([2711202](https://github.com/hanzoai/java-sdk/commit/271120209107485ef828f66150c6b32c14db9d2f))
* **ci:** only use depot for staging repos ([76c8fa1](https://github.com/hanzoai/java-sdk/commit/76c8fa1b7cc7a685bbc0326773579dee3120a678))
* **client:** remove unnecessary json state from some query param classes ([ebf7b97](https://github.com/hanzoai/java-sdk/commit/ebf7b9734d07621d28d394281160823dea9c8de3))
* configure new SDK language ([4e8ff89](https://github.com/hanzoai/java-sdk/commit/4e8ff890138cf98a46038bf5ca5484820136929a))
* **docs:** grammar improvements ([ccd164e](https://github.com/hanzoai/java-sdk/commit/ccd164eaddd08e28deb6dc7934e27b75febee968))
* **internal:** add invalid json deserialization tests ([ebf7b97](https://github.com/hanzoai/java-sdk/commit/ebf7b9734d07621d28d394281160823dea9c8de3))
* **internal:** add json roundtripping tests ([ebf7b97](https://github.com/hanzoai/java-sdk/commit/ebf7b9734d07621d28d394281160823dea9c8de3))
* **internal:** codegen related update ([f5151f7](https://github.com/hanzoai/java-sdk/commit/f5151f714c25e8331f9da13e5f3cf0169d2c1bd5))
* **internal:** codegen related update ([0b6be6f](https://github.com/hanzoai/java-sdk/commit/0b6be6fc53010ddef052f0142400aa2599225a26))
* **internal:** expand CI branch coverage ([1eddeb1](https://github.com/hanzoai/java-sdk/commit/1eddeb17b64eb80f6db6969d181c8f48ec9a08a6))
* **internal:** java 17 -&gt; 21 on ci ([2bcbac5](https://github.com/hanzoai/java-sdk/commit/2bcbac55db86820f67047c1be46898513970bee8))
* **internal:** reduce CI branch coverage ([c8a88d7](https://github.com/hanzoai/java-sdk/commit/c8a88d7303cd41aada70dea065bb8a51522c3373))
* **internal:** remove flaky `-Xbackend-threads=0` option ([2548d25](https://github.com/hanzoai/java-sdk/commit/2548d2575aaab0c2dbcf87b9df3e9d04cd2f9f25))
* **internal:** swap from `getNullable` to `getOptional` ([#18](https://github.com/hanzoai/java-sdk/issues/18)) ([b4a0c8b](https://github.com/hanzoai/java-sdk/commit/b4a0c8b295e7216dd22f472b4ee4198664f7dad0))
* **internal:** update java toolchain ([5c62cf3](https://github.com/hanzoai/java-sdk/commit/5c62cf3a190d7fc3d2c0def9b589c7dceb0bb025))
* **internal:** use `byteInputStream()` in tests ([afd652a](https://github.com/hanzoai/java-sdk/commit/afd652a14b550ae68fc192379c2649f3dea63601))


### Documentation

* add comments to `JsonField` classes ([becb670](https://github.com/hanzoai/java-sdk/commit/becb670d92fab9e105289da811f8b2ce3c63d776))
* **client:** update jackson compat error message ([b2310d3](https://github.com/hanzoai/java-sdk/commit/b2310d32ce73c02a5942f04fbfc66d38c6c371d7))
* document how to forcibly omit required field ([4dc5520](https://github.com/hanzoai/java-sdk/commit/4dc5520842ee6f01676aa386177d8924430fc3fa))
* explain http client customization ([e43d638](https://github.com/hanzoai/java-sdk/commit/e43d6381ec86c1c7372e03fede163b2bd4fa673a))
* explain jackson compat in readme ([b62faed](https://github.com/hanzoai/java-sdk/commit/b62faed4882e4f2a39014a11fda5297c09269a07))
* swap examples used in readme ([#20](https://github.com/hanzoai/java-sdk/issues/20)) ([4dc5520](https://github.com/hanzoai/java-sdk/commit/4dc5520842ee6f01676aa386177d8924430fc3fa))
* update documentation links to be more uniform ([c878297](https://github.com/hanzoai/java-sdk/commit/c878297f959b3215eacb52b1579d4dc0eae1f79b))

## 0.1.0-alpha.2 (2025-03-27)

Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/hanzoai/java-sdk/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 Hanzo
Copyright 2026 Hanzo

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading
Loading