Skip to content

Commit 5a44ce6

Browse files
release: 7.4.0 (#553)
* chore(ci): bump `actions/setup-java` to v4 * feat(api): api update * chore(internal): allow running specific example from cli * codegen metadata * fix(client): ensure error handling always occurs * codegen metadata * chore(internal): refactor delegating from client to options * feat(client): add https config options * codegen metadata * feat(client): allow configuring env via system properties * feat(client): add `{QueryParams,Headers}#put(String, JsonValue)` methods * fix(internal): fix error handlers on ClientImpl * fix: use errorHandler * feat(api): api update * docs: fix missing readme comment * fix(client): accidental mutability of some classes * chore(internal): remove unnecessary `[...]` in `@see` * docs: more code comments * release: 7.4.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: David Meadows <dmeadows@stainless.com>
1 parent 8370327 commit 5a44ce6

File tree

220 files changed

+3703
-2187
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+3703
-2187
lines changed

.github/workflows/publish-sonatype.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: actions/checkout@v4
1818

1919
- name: Set up Java
20-
uses: actions/setup-java@v3
20+
uses: actions/setup-java@v4
2121
with:
2222
distribution: temurin
2323
java-version: |

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "7.3.1"
2+
".": "7.4.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 45
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-f7e741bc6e0175fd96a9db5348092b90a77b0985154c0814bb681ad5dccdf19a.yml
3-
openapi_spec_hash: b348a9ef407a8e91dd770fcb219d4ac5
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-73c284d36c1ed2d9963fc733e421005fad76e559de8efe9baa6511a43dd72668.yml
3+
openapi_spec_hash: 1e58c4445919b71c77e5c7f16bd6fa7d
44
config_hash: 5146b12344dae76238940989dac1e8a0

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
# Changelog
22

3+
## 7.4.0 (2025-07-24)
4+
5+
Full Changelog: [v7.3.1...v7.4.0](https://github.com/Finch-API/finch-api-java/compare/v7.3.1...v7.4.0)
6+
7+
### Features
8+
9+
* **api:** api update ([f1f21d9](https://github.com/Finch-API/finch-api-java/commit/f1f21d90ad56582d33c0e1f8b7248cba3ccf381a))
10+
* **api:** api update ([21939b3](https://github.com/Finch-API/finch-api-java/commit/21939b3e793ae932cfe333a50e4996388900464f))
11+
* **client:** add `{QueryParams,Headers}#put(String, JsonValue)` methods ([c85d73a](https://github.com/Finch-API/finch-api-java/commit/c85d73ace557d4a52fadccbfca80ebf81a63c15d))
12+
* **client:** add https config options ([4ae1b1a](https://github.com/Finch-API/finch-api-java/commit/4ae1b1ad7b9ba3f76f027ae32e5bee6525706dd5))
13+
* **client:** allow configuring env via system properties ([acdb059](https://github.com/Finch-API/finch-api-java/commit/acdb059e62754399064125ff41c1d5a2ac1305ab))
14+
15+
16+
### Bug Fixes
17+
18+
* **client:** accidental mutability of some classes ([f1e80c0](https://github.com/Finch-API/finch-api-java/commit/f1e80c04aca7aa069e3a653252705e1e32d3d018))
19+
* **client:** ensure error handling always occurs ([98e72bc](https://github.com/Finch-API/finch-api-java/commit/98e72bc3ee2085f94175a8326f2bc75c11dca281))
20+
* **internal:** fix error handlers on ClientImpl ([8cfda8e](https://github.com/Finch-API/finch-api-java/commit/8cfda8eb135f79e051f882b23eeb61e18367da5b))
21+
* use errorHandler ([f1f1119](https://github.com/Finch-API/finch-api-java/commit/f1f11199de44aa3277553ffdfa35715e966bc13c))
22+
23+
24+
### Chores
25+
26+
* **ci:** bump `actions/setup-java` to v4 ([a15c7b6](https://github.com/Finch-API/finch-api-java/commit/a15c7b62eedd8278ea6f4cc65dc1211b3d2c92da))
27+
* **internal:** allow running specific example from cli ([c1eebc5](https://github.com/Finch-API/finch-api-java/commit/c1eebc5989312477b4c60d26e21e7b59e43a6c1d))
28+
* **internal:** refactor delegating from client to options ([e9e1c40](https://github.com/Finch-API/finch-api-java/commit/e9e1c400440734ec210fc759149de5b014102d11))
29+
* **internal:** remove unnecessary `[...]` in `[@see](https://github.com/see)` ([8b2df3c](https://github.com/Finch-API/finch-api-java/commit/8b2df3cab95afc11b9275bbce043a7ba061a1c26))
30+
31+
32+
### Documentation
33+
34+
* fix missing readme comment ([32795c6](https://github.com/Finch-API/finch-api-java/commit/32795c657795d4855a237d88ef8509cd6c420aee))
35+
* more code comments ([7e48fcf](https://github.com/Finch-API/finch-api-java/commit/7e48fcff3d3c3a80fae1585250d7ae9767a8cea7))
36+
337
## 7.3.1 (2025-07-08)
438

539
Full Changelog: [v7.3.0...v7.3.1](https://github.com/Finch-API/finch-api-java/compare/v7.3.0...v7.3.1)

README.md

Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

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

5-
[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/7.3.1)
6-
[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.3.1/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.3.1)
5+
[![Maven Central](https://img.shields.io/maven-central/v/com.tryfinch.api/finch-java)](https://central.sonatype.com/artifact/com.tryfinch.api/finch-java/7.4.0)
6+
[![javadoc](https://javadoc.io/badge2/com.tryfinch.api/finch-java/7.4.0/javadoc.svg)](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.4.0)
77

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

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

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

18-
The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.3.1).
18+
The REST API documentation can be found on [developer.tryfinch.com](https://developer.tryfinch.com/). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.tryfinch.api/finch-java/7.4.0).
1919

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

@@ -26,7 +26,7 @@ The REST API documentation can be found on [developer.tryfinch.com](https://deve
2626
### Gradle
2727

2828
```kotlin
29-
implementation("com.tryfinch.api:finch-java:7.3.1")
29+
implementation("com.tryfinch.api:finch-java:7.4.0")
3030
```
3131

3232
### Maven
@@ -35,7 +35,7 @@ implementation("com.tryfinch.api:finch-java:7.3.1")
3535
<dependency>
3636
<groupId>com.tryfinch.api</groupId>
3737
<artifactId>finch-java</artifactId>
38-
<version>7.3.1</version>
38+
<version>7.4.0</version>
3939
</dependency>
4040
```
4141

@@ -54,7 +54,8 @@ import com.tryfinch.api.models.HrisDirectoryListPage;
5454
import com.tryfinch.api.models.HrisDirectoryListParams;
5555

5656
FinchClient client = FinchOkHttpClient.builder()
57-
// Configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
57+
// Configures using the `finch.clientId`, `finch.clientSecret`, `finch.webhookSecret` and `finch.baseUrl` system properties
58+
// Or configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
5859
.fromEnv()
5960
.accessToken("My Access Token")
6061
.build();
@@ -64,14 +65,15 @@ HrisDirectoryListPage page = client.hris().directory().list();
6465

6566
## Client configuration
6667

67-
Configure the client using environment variables:
68+
Configure the client using system properties or environment variables:
6869

6970
```java
7071
import com.tryfinch.api.client.FinchClient;
7172
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
7273

7374
FinchClient client = FinchOkHttpClient.builder()
74-
// Configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
75+
// Configures using the `finch.clientId`, `finch.clientSecret`, `finch.webhookSecret` and `finch.baseUrl` system properties
76+
// Or configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
7577
.fromEnv()
7678
.accessToken("My Access Token")
7779
.build();
@@ -95,20 +97,23 @@ import com.tryfinch.api.client.FinchClient;
9597
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
9698

9799
FinchClient client = FinchOkHttpClient.builder()
98-
// Configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
100+
// Configures using the `finch.clientId`, `finch.clientSecret`, `finch.webhookSecret` and `finch.baseUrl` system properties
101+
// Or configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
99102
.fromEnv()
100103
.accessToken("My Access Token")
101104
.build();
102105
```
103106

104107
See this table for the available options:
105108

106-
| Setter | Environment variable | Required | Default value |
107-
| --------------- | ---------------------- | -------- | ---------------------------- |
108-
| `clientId` | `FINCH_CLIENT_ID` | false | - |
109-
| `clientSecret` | `FINCH_CLIENT_SECRET` | false | - |
110-
| `webhookSecret` | `FINCH_WEBHOOK_SECRET` | false | - |
111-
| `baseUrl` | `FINCH_BASE_URL` | true | `"https://api.tryfinch.com"` |
109+
| Setter | System property | Environment variable | Required | Default value |
110+
| --------------- | --------------------- | ---------------------- | -------- | ---------------------------- |
111+
| `clientId` | `finch.clientId` | `FINCH_CLIENT_ID` | false | - |
112+
| `clientSecret` | `finch.clientSecret` | `FINCH_CLIENT_SECRET` | false | - |
113+
| `webhookSecret` | `finch.webhookSecret` | `FINCH_WEBHOOK_SECRET` | false | - |
114+
| `baseUrl` | `finch.baseUrl` | `FINCH_BASE_URL` | true | `"https://api.tryfinch.com"` |
115+
116+
System properties take precedence over environment variables.
112117

113118
> [!TIP]
114119
> Don't create more than one client in the same application. Each client has a connection pool and
@@ -155,7 +160,8 @@ import com.tryfinch.api.models.HrisDirectoryListParams;
155160
import java.util.concurrent.CompletableFuture;
156161

157162
FinchClient client = FinchOkHttpClient.builder()
158-
// Configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
163+
// Configures using the `finch.clientId`, `finch.clientSecret`, `finch.webhookSecret` and `finch.baseUrl` system properties
164+
// Or configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
159165
.fromEnv()
160166
.accessToken("My Access Token")
161167
.build();
@@ -173,7 +179,8 @@ import com.tryfinch.api.models.HrisDirectoryListParams;
173179
import java.util.concurrent.CompletableFuture;
174180

175181
FinchClientAsync client = FinchOkHttpClientAsync.builder()
176-
// Configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
182+
// Configures using the `finch.clientId`, `finch.clientSecret`, `finch.webhookSecret` and `finch.baseUrl` system properties
183+
// Or configures using the `FINCH_CLIENT_ID`, `FINCH_CLIENT_SECRET`, `FINCH_WEBHOOK_SECRET` and `FINCH_BASE_URL` environment variables
177184
.fromEnv()
178185
.accessToken("My Access Token")
179186
.build();
@@ -373,7 +380,7 @@ If the SDK threw an exception, but you're _certain_ the version is compatible, t
373380

374381
### Retries
375382

376-
The SDK automatically retries 2 times by default, with a short exponential backoff.
383+
The SDK automatically retries 2 times by default, with a short exponential backoff between requests.
377384

378385
Only the following error types are retried:
379386

@@ -383,7 +390,7 @@ Only the following error types are retried:
383390
- 429 Rate Limit
384391
- 5xx Internal
385392

386-
The API may also explicitly instruct the SDK to retry or not retry a response.
393+
The API may also explicitly instruct the SDK to retry or not retry a request.
387394

388395
To set a custom number of retries, configure the client using the `maxRetries` method:
389396

@@ -445,6 +452,28 @@ FinchClient client = FinchOkHttpClient.builder()
445452
.build();
446453
```
447454

455+
### HTTPS
456+
457+
> [!NOTE]
458+
> Most applications should not call these methods, and instead use the system defaults. The defaults include
459+
> special optimizations that can be lost if the implementations are modified.
460+
461+
To configure how HTTPS connections are secured, configure the client using the `sslSocketFactory`, `trustManager`, and `hostnameVerifier` methods:
462+
463+
```java
464+
import com.tryfinch.api.client.FinchClient;
465+
import com.tryfinch.api.client.okhttp.FinchOkHttpClient;
466+
467+
FinchClient client = FinchOkHttpClient.builder()
468+
.fromEnv()
469+
// If `sslSocketFactory` is set, then `trustManager` must be set, and vice versa.
470+
.sslSocketFactory(yourSSLSocketFactory)
471+
.trustManager(yourTrustManager)
472+
.hostnameVerifier(yourHostnameVerifier)
473+
.accessToken("My Access Token")
474+
.build();
475+
```
476+
448477
### Custom HTTP client
449478

450479
The SDK consists of three artifacts:

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ repositories {
88

99
allprojects {
1010
group = "com.tryfinch.api"
11-
version = "7.3.1" // x-release-please-version
11+
version = "7.4.0" // x-release-please-version
1212
}
1313

1414
subprojects {

0 commit comments

Comments
 (0)