Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8da9545
Adding release and pull request information to contrib guide (#18)
bdemers Mar 16, 2026
5213191
chore(internal): tweak CI branches
stainless-app[bot] Mar 17, 2026
5871f8b
feat(api): api update
stainless-app[bot] Mar 18, 2026
993657b
chore(internal): update retry delay tests
stainless-app[bot] Mar 18, 2026
f86e1f2
fix(client): allow updating header/query affecting fields in `toBuild…
stainless-app[bot] Mar 18, 2026
ae8ff34
refactor(tests): switch from prism to steady
stainless-app[bot] Mar 20, 2026
f38504b
chore(internal): bump ktfmt
stainless-app[bot] Mar 20, 2026
a5530c1
codegen metadata
stainless-app[bot] Mar 20, 2026
0d022df
chore(tests): bump steady to v0.19.4
stainless-app[bot] Mar 21, 2026
d186f97
chore(tests): bump steady to v0.19.5
stainless-app[bot] Mar 21, 2026
c9b3d8f
chore(internal): update gitignore
stainless-app[bot] Mar 24, 2026
b5094e5
chore(tests): bump steady to v0.19.6
stainless-app[bot] Mar 24, 2026
d5942be
chore(ci): skip lint on metadata-only changes
stainless-app[bot] Mar 25, 2026
231a1a7
chore(tests): bump steady to v0.19.7
stainless-app[bot] Mar 25, 2026
9f53255
codegen metadata
stainless-app[bot] Mar 25, 2026
59fb8e2
codegen metadata
stainless-app[bot] Mar 26, 2026
abeec96
chore(internal): update multipart form array serialization
stainless-app[bot] Mar 27, 2026
b936990
chore(tests): bump steady to v0.20.1
stainless-app[bot] Apr 1, 2026
7dfba2e
chore(tests): bump steady to v0.20.2
stainless-app[bot] Apr 1, 2026
acfd5b0
feat(api): api update
stainless-app[bot] Apr 10, 2026
b4525d2
codegen metadata
stainless-app[bot] Apr 15, 2026
f7f972b
feat(api): api update
stainless-app[bot] Apr 16, 2026
bca6f99
chore(tests): bump steady to v0.22.1
stainless-app[bot] Apr 18, 2026
9c1f1d7
release: 0.1.0-alpha.6
stainless-app[bot] Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: CI
on:
push:
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
branches:
- '**'
- '!integrated/**'
- '!stl-preview-head/**'
- '!stl-preview-base/**'
- '!generated'
- '!codegen/**'
- 'codegen/stl/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
Expand All @@ -17,7 +19,7 @@ jobs:
timeout-minutes: 15
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/arcade-engine-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand All @@ -44,7 +46,7 @@ jobs:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/arcade-engine-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.prism.log
.stdy.log
.gradle
.idea
.kotlin
Expand Down
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.5"
".": "0.1.0-alpha.6"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 30
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-6ff494eafa2c154892716407682bb2296cff4f18c45765c5fb16bdf36f452ae1.yml
openapi_spec_hash: 63dde2481a7d51042a241bfba232b0b0
config_hash: bf64816643634a621cd0ffd93d9c4347
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-a509111298b23d3851de5439560c96b7d7831556094a790ba838cf11e9277ee7.yml
openapi_spec_hash: 0ad3aecc9853e08130587d8e4b1bb468
config_hash: 2d4163acdeacd75903f978cd79c35d14
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# Changelog

## 0.1.0-alpha.6 (2026-04-18)

Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/ArcadeAI/arcade-java/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)

### Features

* **api:** api update ([f7f972b](https://github.com/ArcadeAI/arcade-java/commit/f7f972bc274de10da54ffe2004d9d50fa16bc5a3))
* **api:** api update ([acfd5b0](https://github.com/ArcadeAI/arcade-java/commit/acfd5b0aedbb445e1269a6b879111ff19c8aeef5))
* **api:** api update ([5871f8b](https://github.com/ArcadeAI/arcade-java/commit/5871f8b7d0a2a89a6cbb57561a292b32381c74b6))


### Bug Fixes

* **client:** allow updating header/query affecting fields in `toBuilder()` ([f86e1f2](https://github.com/ArcadeAI/arcade-java/commit/f86e1f2dff33a369dd6d52119ce670747dfd2392))


### Chores

* **ci:** skip lint on metadata-only changes ([d5942be](https://github.com/ArcadeAI/arcade-java/commit/d5942be3ea63057a3267602dc72046e71d9a5855))
* **internal:** bump ktfmt ([f38504b](https://github.com/ArcadeAI/arcade-java/commit/f38504b554f72ac9f701716ff1ad40ec5f1a47b2))
* **internal:** tweak CI branches ([5213191](https://github.com/ArcadeAI/arcade-java/commit/521319108a7b064979e96ecf2fff5e74681b56bf))
* **internal:** update gitignore ([c9b3d8f](https://github.com/ArcadeAI/arcade-java/commit/c9b3d8f8b7825876526e6dca16859c9f12fcce37))
* **internal:** update multipart form array serialization ([abeec96](https://github.com/ArcadeAI/arcade-java/commit/abeec961730398bb0c49f01ea13312468be4787c))
* **internal:** update retry delay tests ([993657b](https://github.com/ArcadeAI/arcade-java/commit/993657b3ac45eafee6b85f76a578f2c6daaacfe2))
* **tests:** bump steady to v0.19.4 ([0d022df](https://github.com/ArcadeAI/arcade-java/commit/0d022dfe027631ea83e1794bcb9e79824ab28f0f))
* **tests:** bump steady to v0.19.5 ([d186f97](https://github.com/ArcadeAI/arcade-java/commit/d186f9769310ebff3584418642cc0b31a13e1d1c))
* **tests:** bump steady to v0.19.6 ([b5094e5](https://github.com/ArcadeAI/arcade-java/commit/b5094e5507917137cf7b30c90e1028c122bd1331))
* **tests:** bump steady to v0.19.7 ([231a1a7](https://github.com/ArcadeAI/arcade-java/commit/231a1a764782bb5bdcd1118630b3bbd544333aa4))
* **tests:** bump steady to v0.20.1 ([b936990](https://github.com/ArcadeAI/arcade-java/commit/b93699052685356a902c34f38d8e46a617e77454))
* **tests:** bump steady to v0.20.2 ([7dfba2e](https://github.com/ArcadeAI/arcade-java/commit/7dfba2ef15e2c5f6412a64f23cde8138159c42ea))
* **tests:** bump steady to v0.22.1 ([bca6f99](https://github.com/ArcadeAI/arcade-java/commit/bca6f993c4876c486640b25ca1d41ff45f299263))


### Refactors

* **tests:** switch from prism to steady ([ae8ff34](https://github.com/ArcadeAI/arcade-java/commit/ae8ff343537d6ff24a3346fac27516c2bc3e07d9))

## 0.1.0-alpha.5 (2026-03-16)

Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/ArcadeAI/arcade-java/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
Expand Down
21 changes: 20 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Most tests require you to [run a mock server](https://github.com/stoplightio/pri
./scripts/mock --daemon
```

The mock serer will run in the background allowing you to run tests from the command line `./gradlew test` or from your IDE.
The mock server will run in the background allowing you to run tests from the command line `./gradlew test` or from your IDE.

To stop the mock server run:
```shell
Expand All @@ -62,3 +62,22 @@ To format and fix all issues automatically:
```sh
$ ./scripts/format
```

## Release and pull request process

As mentioned above, most of the code in this repository is generated. So the pull requests process may different from what you are expecting. Here are the steps:

- Custom code changes should target the `next` branch in [`ArcadeAI/arcade-java`](https://github.com/arcadeai/arcade-java).
- Be selective on what you are changing, as this may cause [merge conflicts](https://www.stainless.com/docs/sdks/configure/custom-code) with the generated code.
- Create a new pull request against `next`, CI will build and test it.
- Once it is merged to `next`, and when there have been upstream changes to the OpenAPI spec, you will see a pull request titled "release: <version>" (where `<version>` is the next version to be released)
- Review it, most of the changes will have been generated, make sure the changes from your pull request are included.
- Approve the PR, and merge it.
- The `next` branch will be rebased to `main`, so you will need to rewrite the branch, something like: `git fetch origin next && git reset --hard origin/next`
- Once changes are merged to `main` a CI job will deploy the version to [Maven Central](https://central.sonatype.com/search?q=arcade-java). There may be a delay between the time it is published until the time it shows up in the Maven Central search results.

## Troubleshooting tips

If you are running into issues deploying to Maven Central, run the [`Release Doctor`](https://github.com/ArcadeAI/arcade-java/actions/workflows/release-doctor.yml) CI job, this will check that the required environment variables are set correctly.

The [`CI` workflow](https://github.com/ArcadeAI/arcade-java/blob/main/.github/workflows/ci.yml), includes a couple of `if` statments that look like: `github.repository == 'stainless-sdks/arcade-engine-java'`. These are ONLY used for pre-release builds when the Stainless SDK code is generated. These are NOT used currently (in the future if there are multiple Java project repositories, this Maven repository could be used to test nightly builds). Otherwise, [build from source](#building-the-repository-from-source).
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/dev.arcade/arcade-java)](https://central.sonatype.com/artifact/dev.arcade/arcade-java/0.1.0-alpha.5)
[![javadoc](https://javadoc.io/badge2/dev.arcade/arcade-java/0.1.0-alpha.5/javadoc.svg)](https://javadoc.io/doc/dev.arcade/arcade-java/0.1.0-alpha.5)
[![Maven Central](https://img.shields.io/maven-central/v/dev.arcade/arcade-java)](https://central.sonatype.com/artifact/dev.arcade/arcade-java/0.1.0-alpha.6)
[![javadoc](https://javadoc.io/badge2/dev.arcade/arcade-java/0.1.0-alpha.6/javadoc.svg)](https://javadoc.io/doc/dev.arcade/arcade-java/0.1.0-alpha.6)

<!-- x-release-please-end -->

Expand All @@ -13,7 +13,7 @@ It is generated with [Stainless](https://www.stainless.com/).

<!-- x-release-please-start-version -->

The REST API documentation can be found on [docs.arcade.dev](https://docs.arcade.dev). Javadocs are available on [javadoc.io](https://javadoc.io/doc/dev.arcade/arcade-java/0.1.0-alpha.5).
The REST API documentation can be found on [docs.arcade.dev](https://docs.arcade.dev). Javadocs are available on [javadoc.io](https://javadoc.io/doc/dev.arcade/arcade-java/0.1.0-alpha.6).

<!-- x-release-please-end -->

Expand All @@ -24,7 +24,7 @@ The REST API documentation can be found on [docs.arcade.dev](https://docs.arcade
### Gradle

```kotlin
implementation("dev.arcade:arcade-java:0.1.0-alpha.5")
implementation("dev.arcade:arcade-java:0.1.0-alpha.6")
```

### Maven
Expand All @@ -33,7 +33,7 @@ implementation("dev.arcade:arcade-java:0.1.0-alpha.5")
<dependency>
<groupId>dev.arcade</groupId>
<artifactId>arcade-java</artifactId>
<version>0.1.0-alpha.5</version>
<version>0.1.0-alpha.6</version>
</dependency>
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -453,13 +453,14 @@ private constructor(
headers.put("X-Stainless-Runtime", "JRE")
headers.put("X-Stainless-Runtime-Version", getJavaVersion())
headers.put("X-Stainless-Kotlin-Version", KotlinVersion.CURRENT.toString())
// We replace after all the default headers to allow end-users to overwrite them.
headers.replaceAll(this.headers.build())
queryParams.replaceAll(this.queryParams.build())
apiKey.let {
if (!it.isEmpty()) {
headers.put("Authorization", it)
headers.replace("Authorization", it)
}
}
headers.replaceAll(this.headers.build())
queryParams.replaceAll(this.queryParams.build())

return ClientOptions(
httpClient,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1231,6 +1231,17 @@ private constructor(

@JvmField val UPSTREAM_RUNTIME_UNMAPPED = of("UPSTREAM_RUNTIME_UNMAPPED")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_TIMEOUT = of("NETWORK_TRANSPORT_RUNTIME_TIMEOUT")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_UNREACHABLE =
of("NETWORK_TRANSPORT_RUNTIME_UNREACHABLE")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_UNMAPPED =
of("NETWORK_TRANSPORT_RUNTIME_UNMAPPED")

@JvmField val UNKNOWN = of("UNKNOWN")

@JvmStatic fun of(value: String) = Kind(JsonField.of(value))
Expand All @@ -1257,6 +1268,9 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT,
UPSTREAM_RUNTIME_SERVER_ERROR,
UPSTREAM_RUNTIME_UNMAPPED,
NETWORK_TRANSPORT_RUNTIME_TIMEOUT,
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE,
NETWORK_TRANSPORT_RUNTIME_UNMAPPED,
UNKNOWN,
}

Expand Down Expand Up @@ -1289,6 +1303,9 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT,
UPSTREAM_RUNTIME_SERVER_ERROR,
UPSTREAM_RUNTIME_UNMAPPED,
NETWORK_TRANSPORT_RUNTIME_TIMEOUT,
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE,
NETWORK_TRANSPORT_RUNTIME_UNMAPPED,
UNKNOWN,
/**
* An enum member indicating that [Kind] was instantiated with an unknown value.
Expand Down Expand Up @@ -1324,6 +1341,11 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT -> Value.UPSTREAM_RUNTIME_RATE_LIMIT
UPSTREAM_RUNTIME_SERVER_ERROR -> Value.UPSTREAM_RUNTIME_SERVER_ERROR
UPSTREAM_RUNTIME_UNMAPPED -> Value.UPSTREAM_RUNTIME_UNMAPPED
NETWORK_TRANSPORT_RUNTIME_TIMEOUT -> Value.NETWORK_TRANSPORT_RUNTIME_TIMEOUT
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE ->
Value.NETWORK_TRANSPORT_RUNTIME_UNREACHABLE
NETWORK_TRANSPORT_RUNTIME_UNMAPPED ->
Value.NETWORK_TRANSPORT_RUNTIME_UNMAPPED
UNKNOWN -> Value.UNKNOWN
else -> Value._UNKNOWN
}
Expand Down Expand Up @@ -1358,6 +1380,11 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT -> Known.UPSTREAM_RUNTIME_RATE_LIMIT
UPSTREAM_RUNTIME_SERVER_ERROR -> Known.UPSTREAM_RUNTIME_SERVER_ERROR
UPSTREAM_RUNTIME_UNMAPPED -> Known.UPSTREAM_RUNTIME_UNMAPPED
NETWORK_TRANSPORT_RUNTIME_TIMEOUT -> Known.NETWORK_TRANSPORT_RUNTIME_TIMEOUT
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE ->
Known.NETWORK_TRANSPORT_RUNTIME_UNREACHABLE
NETWORK_TRANSPORT_RUNTIME_UNMAPPED ->
Known.NETWORK_TRANSPORT_RUNTIME_UNMAPPED
UNKNOWN -> Known.UNKNOWN
else -> throw ArcadeInvalidDataException("Unknown Kind: $value")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1046,6 +1046,17 @@ private constructor(

@JvmField val UPSTREAM_RUNTIME_UNMAPPED = of("UPSTREAM_RUNTIME_UNMAPPED")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_TIMEOUT = of("NETWORK_TRANSPORT_RUNTIME_TIMEOUT")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_UNREACHABLE =
of("NETWORK_TRANSPORT_RUNTIME_UNREACHABLE")

@JvmField
val NETWORK_TRANSPORT_RUNTIME_UNMAPPED =
of("NETWORK_TRANSPORT_RUNTIME_UNMAPPED")

@JvmField val UNKNOWN = of("UNKNOWN")

@JvmStatic fun of(value: String) = Kind(JsonField.of(value))
Expand All @@ -1072,6 +1083,9 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT,
UPSTREAM_RUNTIME_SERVER_ERROR,
UPSTREAM_RUNTIME_UNMAPPED,
NETWORK_TRANSPORT_RUNTIME_TIMEOUT,
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE,
NETWORK_TRANSPORT_RUNTIME_UNMAPPED,
UNKNOWN,
}

Expand Down Expand Up @@ -1104,6 +1118,9 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT,
UPSTREAM_RUNTIME_SERVER_ERROR,
UPSTREAM_RUNTIME_UNMAPPED,
NETWORK_TRANSPORT_RUNTIME_TIMEOUT,
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE,
NETWORK_TRANSPORT_RUNTIME_UNMAPPED,
UNKNOWN,
/**
* An enum member indicating that [Kind] was instantiated with an unknown value.
Expand Down Expand Up @@ -1139,6 +1156,11 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT -> Value.UPSTREAM_RUNTIME_RATE_LIMIT
UPSTREAM_RUNTIME_SERVER_ERROR -> Value.UPSTREAM_RUNTIME_SERVER_ERROR
UPSTREAM_RUNTIME_UNMAPPED -> Value.UPSTREAM_RUNTIME_UNMAPPED
NETWORK_TRANSPORT_RUNTIME_TIMEOUT -> Value.NETWORK_TRANSPORT_RUNTIME_TIMEOUT
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE ->
Value.NETWORK_TRANSPORT_RUNTIME_UNREACHABLE
NETWORK_TRANSPORT_RUNTIME_UNMAPPED ->
Value.NETWORK_TRANSPORT_RUNTIME_UNMAPPED
UNKNOWN -> Value.UNKNOWN
else -> Value._UNKNOWN
}
Expand Down Expand Up @@ -1173,6 +1195,11 @@ private constructor(
UPSTREAM_RUNTIME_RATE_LIMIT -> Known.UPSTREAM_RUNTIME_RATE_LIMIT
UPSTREAM_RUNTIME_SERVER_ERROR -> Known.UPSTREAM_RUNTIME_SERVER_ERROR
UPSTREAM_RUNTIME_UNMAPPED -> Known.UPSTREAM_RUNTIME_UNMAPPED
NETWORK_TRANSPORT_RUNTIME_TIMEOUT -> Known.NETWORK_TRANSPORT_RUNTIME_TIMEOUT
NETWORK_TRANSPORT_RUNTIME_UNREACHABLE ->
Known.NETWORK_TRANSPORT_RUNTIME_UNREACHABLE
NETWORK_TRANSPORT_RUNTIME_UNMAPPED ->
Known.NETWORK_TRANSPORT_RUNTIME_UNMAPPED
UNKNOWN -> Known.UNKNOWN
else -> throw ArcadeInvalidDataException("Unknown Kind: $value")
}
Expand Down
Loading
Loading