Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/publish-sonatype.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v4

- name: Set up Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: |
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" --no-configuration-cache
./gradlew publishAndReleaseToMavenCentral -Dorg.gradle.jvmargs="-Xmx8g" --stacktrace -PmavenCentralUsername="$SONATYPE_USERNAME" -PmavenCentralPassword="$SONATYPE_PASSWORD" --no-configuration-cache
env:
SONATYPE_USERNAME: ${{ secrets.LITHIC_SONATYPE_USERNAME || secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.LITHIC_SONATYPE_PASSWORD || secrets.SONATYPE_PASSWORD }}
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.95.0"
".": "0.96.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 165
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-41b87f6139d55188993492b9c042a6bc1bc0506c166334c387072b57b6c79869.yml
openapi_spec_hash: 3327246caf3bcbd3504ce99c81062075
config_hash: b7425db12ddcc27a89a38de7042c4fa2
configured_endpoints: 167
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-b9c76d077831114f1e4c5c15ff3f1d835ef3e9361b768af8468f8eb07a09ef3e.yml
openapi_spec_hash: 5f9bcf1afd68f962a870727c35628394
config_hash: e9a46eb8acb9dc2c236f3e1958a1c4dd
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.96.0 (2025-07-15)

Full Changelog: [v0.95.0...v0.96.0](https://github.com/lithic-com/lithic-java/compare/v0.95.0...v0.96.0)

### Features

* **api:** adds Network Programs and Account/Card Sub-statuses ([076028b](https://github.com/lithic-com/lithic-java/commit/076028b56cbab680e6e56fd31578009de54ed394))


### Chores

* **ci:** bump `actions/setup-java` to v4 ([c59e95c](https://github.com/lithic-com/lithic-java/commit/c59e95c98f2bfcba62374d39aaf820a6c3d687d2))
* **ci:** ensure docs generation always succeeds ([1bf367a](https://github.com/lithic-com/lithic-java/commit/1bf367a7cffe53272387316678edaa89035f2330))

## 0.95.0 (2025-07-08)

Full Changelog: [v0.94.1...v0.95.0](https://github.com/lithic-com/lithic-java/compare/v0.94.1...v0.95.0)
Expand Down
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/com.lithic.api/lithic-java)](https://central.sonatype.com/artifact/com.lithic.api/lithic-java/0.95.0)
[![javadoc](https://javadoc.io/badge2/com.lithic.api/lithic-java/0.95.0/javadoc.svg)](https://javadoc.io/doc/com.lithic.api/lithic-java/0.95.0)
[![Maven Central](https://img.shields.io/maven-central/v/com.lithic.api/lithic-java)](https://central.sonatype.com/artifact/com.lithic.api/lithic-java/0.96.0)
[![javadoc](https://javadoc.io/badge2/com.lithic.api/lithic-java/0.96.0/javadoc.svg)](https://javadoc.io/doc/com.lithic.api/lithic-java/0.96.0)

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

Expand All @@ -13,7 +13,7 @@ The Lithic Java SDK is similar to the Lithic Kotlin SDK but with minor differenc

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

The REST API documentation can be found on [docs.lithic.com](https://docs.lithic.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.lithic.api/lithic-java/0.95.0).
The REST API documentation can be found on [docs.lithic.com](https://docs.lithic.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.lithic.api/lithic-java/0.96.0).

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

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

```kotlin
implementation("com.lithic.api:lithic-java:0.95.0")
implementation("com.lithic.api:lithic-java:0.96.0")
```

### Maven
Expand All @@ -33,7 +33,7 @@ implementation("com.lithic.api:lithic-java:0.95.0")
<dependency>
<groupId>com.lithic.api</groupId>
<artifactId>lithic-java</artifactId>
<version>0.95.0</version>
<version>0.96.0</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repositories {

allprojects {
group = "com.lithic.api"
version = "0.95.0" // x-release-please-version
version = "0.96.0" // x-release-please-version
}

subprojects {
Expand Down
4 changes: 4 additions & 0 deletions buildSrc/src/main/kotlin/lithic.publish.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,7 @@ configure<MavenPublishBaseExtension> {
}
}
}

tasks.withType<Zip>().configureEach {
isZip64 = true
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import com.lithic.api.services.blocking.FinancialAccountService
import com.lithic.api.services.blocking.FraudService
import com.lithic.api.services.blocking.FundingEventService
import com.lithic.api.services.blocking.ManagementOperationService
import com.lithic.api.services.blocking.NetworkProgramService
import com.lithic.api.services.blocking.PaymentService
import com.lithic.api.services.blocking.ReportService
import com.lithic.api.services.blocking.ResponderEndpointService
Expand Down Expand Up @@ -130,6 +131,8 @@ interface LithicClient {

fun fraud(): FraudService

fun networkPrograms(): NetworkProgramService

/** Status of api */
fun apiStatus(): ApiStatus = apiStatus(ClientApiStatusParams.none())

Expand Down Expand Up @@ -224,6 +227,8 @@ interface LithicClient {

fun fraud(): FraudService.WithRawResponse

fun networkPrograms(): NetworkProgramService.WithRawResponse

/**
* Returns a raw HTTP response for `get /v1/status`, but is otherwise the same as
* [LithicClient.apiStatus].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import com.lithic.api.services.async.FinancialAccountServiceAsync
import com.lithic.api.services.async.FraudServiceAsync
import com.lithic.api.services.async.FundingEventServiceAsync
import com.lithic.api.services.async.ManagementOperationServiceAsync
import com.lithic.api.services.async.NetworkProgramServiceAsync
import com.lithic.api.services.async.PaymentServiceAsync
import com.lithic.api.services.async.ReportServiceAsync
import com.lithic.api.services.async.ResponderEndpointServiceAsync
Expand Down Expand Up @@ -130,6 +131,8 @@ interface LithicClientAsync {

fun fraud(): FraudServiceAsync

fun networkPrograms(): NetworkProgramServiceAsync

/** Status of api */
fun apiStatus(): CompletableFuture<ApiStatus> = apiStatus(ClientApiStatusParams.none())

Expand Down Expand Up @@ -227,6 +230,8 @@ interface LithicClientAsync {

fun fraud(): FraudServiceAsync.WithRawResponse

fun networkPrograms(): NetworkProgramServiceAsync.WithRawResponse

/**
* Returns a raw HTTP response for `get /v1/status`, but is otherwise the same as
* [LithicClientAsync.apiStatus].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ import com.lithic.api.services.async.FundingEventServiceAsync
import com.lithic.api.services.async.FundingEventServiceAsyncImpl
import com.lithic.api.services.async.ManagementOperationServiceAsync
import com.lithic.api.services.async.ManagementOperationServiceAsyncImpl
import com.lithic.api.services.async.NetworkProgramServiceAsync
import com.lithic.api.services.async.NetworkProgramServiceAsyncImpl
import com.lithic.api.services.async.PaymentServiceAsync
import com.lithic.api.services.async.PaymentServiceAsyncImpl
import com.lithic.api.services.async.ReportServiceAsync
Expand Down Expand Up @@ -201,6 +203,10 @@ class LithicClientAsyncImpl(private val clientOptions: ClientOptions) : LithicCl
FraudServiceAsyncImpl(clientOptionsWithUserAgent)
}

private val networkPrograms: NetworkProgramServiceAsync by lazy {
NetworkProgramServiceAsyncImpl(clientOptionsWithUserAgent)
}

override fun sync(): LithicClient = sync

override fun withRawResponse(): LithicClientAsync.WithRawResponse = withRawResponse
Expand Down Expand Up @@ -265,6 +271,8 @@ class LithicClientAsyncImpl(private val clientOptions: ClientOptions) : LithicCl

override fun fraud(): FraudServiceAsync = fraud

override fun networkPrograms(): NetworkProgramServiceAsync = networkPrograms

override fun apiStatus(
params: ClientApiStatusParams,
requestOptions: RequestOptions,
Expand Down Expand Up @@ -388,6 +396,10 @@ class LithicClientAsyncImpl(private val clientOptions: ClientOptions) : LithicCl
FraudServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

private val networkPrograms: NetworkProgramServiceAsync.WithRawResponse by lazy {
NetworkProgramServiceAsyncImpl.WithRawResponseImpl(clientOptions)
}

override fun withOptions(
modifier: Consumer<ClientOptions.Builder>
): LithicClientAsync.WithRawResponse =
Expand Down Expand Up @@ -457,6 +469,8 @@ class LithicClientAsyncImpl(private val clientOptions: ClientOptions) : LithicCl

override fun fraud(): FraudServiceAsync.WithRawResponse = fraud

override fun networkPrograms(): NetworkProgramServiceAsync.WithRawResponse = networkPrograms

private val apiStatusHandler: Handler<ApiStatus> =
jsonHandler<ApiStatus>(clientOptions.jsonMapper).withErrorHandler(errorHandler)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ import com.lithic.api.services.blocking.FundingEventService
import com.lithic.api.services.blocking.FundingEventServiceImpl
import com.lithic.api.services.blocking.ManagementOperationService
import com.lithic.api.services.blocking.ManagementOperationServiceImpl
import com.lithic.api.services.blocking.NetworkProgramService
import com.lithic.api.services.blocking.NetworkProgramServiceImpl
import com.lithic.api.services.blocking.PaymentService
import com.lithic.api.services.blocking.PaymentServiceImpl
import com.lithic.api.services.blocking.ReportService
Expand Down Expand Up @@ -184,6 +186,10 @@ class LithicClientImpl(private val clientOptions: ClientOptions) : LithicClient

private val fraud: FraudService by lazy { FraudServiceImpl(clientOptionsWithUserAgent) }

private val networkPrograms: NetworkProgramService by lazy {
NetworkProgramServiceImpl(clientOptionsWithUserAgent)
}

override fun async(): LithicClientAsync = async

override fun withRawResponse(): LithicClient.WithRawResponse = withRawResponse
Expand Down Expand Up @@ -247,6 +253,8 @@ class LithicClientImpl(private val clientOptions: ClientOptions) : LithicClient

override fun fraud(): FraudService = fraud

override fun networkPrograms(): NetworkProgramService = networkPrograms

override fun apiStatus(
params: ClientApiStatusParams,
requestOptions: RequestOptions,
Expand Down Expand Up @@ -370,6 +378,10 @@ class LithicClientImpl(private val clientOptions: ClientOptions) : LithicClient
FraudServiceImpl.WithRawResponseImpl(clientOptions)
}

private val networkPrograms: NetworkProgramService.WithRawResponse by lazy {
NetworkProgramServiceImpl.WithRawResponseImpl(clientOptions)
}

override fun withOptions(
modifier: Consumer<ClientOptions.Builder>
): LithicClient.WithRawResponse =
Expand Down Expand Up @@ -438,6 +450,8 @@ class LithicClientImpl(private val clientOptions: ClientOptions) : LithicClient

override fun fraud(): FraudService.WithRawResponse = fraud

override fun networkPrograms(): NetworkProgramService.WithRawResponse = networkPrograms

private val apiStatusHandler: Handler<ApiStatus> =
jsonHandler<ApiStatus>(clientOptions.jsonMapper).withErrorHandler(errorHandler)

Expand Down
Loading