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
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.112.0"
".": "0.113.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 172
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-e1901db484e520cc1f6aa88c8b00d0fcda30c8f9e5ea562a12b9edfc3fb3b6d6.yml
openapi_spec_hash: 59c317749628f3ed4cc7911b68f6351f
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-9791980619fc7ce8afb01f77dfe3c660a540975327378287cb666136ae4b0a99.yml
openapi_spec_hash: 0752074b2a7b0534329a1e3176c94a62
config_hash: aab05d0cf41f1f6b9f4d5677273c1600
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.113.0 (2025-11-20)

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

### Features

* **api:** Add Payoff Details ([d1ee88a](https://github.com/lithic-com/lithic-java/commit/d1ee88a985345da5724757142198d696169347d1))


### Bug Fixes

* **api:** Modify return type of returns API to payment-transaction ([d1ee88a](https://github.com/lithic-com/lithic-java/commit/d1ee88a985345da5724757142198d696169347d1))

## 0.112.0 (2025-11-17)

Full Changelog: [v0.111.0...v0.112.0](https://github.com/lithic-com/lithic-java/compare/v0.111.0...v0.112.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.112.0)
[![javadoc](https://javadoc.io/badge2/com.lithic.api/lithic-java/0.112.0/javadoc.svg)](https://javadoc.io/doc/com.lithic.api/lithic-java/0.112.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.113.0)
[![javadoc](https://javadoc.io/badge2/com.lithic.api/lithic-java/0.113.0/javadoc.svg)](https://javadoc.io/doc/com.lithic.api/lithic-java/0.113.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.112.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.113.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.112.0")
implementation("com.lithic.api:lithic-java:0.113.0")
```

### Maven
Expand All @@ -33,7 +33,7 @@ implementation("com.lithic.api:lithic-java:0.112.0")
<dependency>
<groupId>com.lithic.api</groupId>
<artifactId>lithic-java</artifactId>
<version>0.112.0</version>
<version>0.113.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.112.0" // x-release-please-version
version = "0.113.0" // x-release-please-version
}

subprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import java.io.InputStream
import java.time.DateTimeException
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.OffsetDateTime
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import java.time.temporal.ChronoField
Expand All @@ -37,6 +38,7 @@ fun jsonMapper(): JsonMapper =
SimpleModule()
.addSerializer(InputStreamSerializer)
.addDeserializer(LocalDateTime::class.java, LenientLocalDateTimeDeserializer())
.addDeserializer(OffsetDateTime::class.java, LenientOffsetDateTimeDeserializer())
)
.withCoercionConfig(LogicalType.Boolean) {
it.setCoercion(CoercionInputShape.Integer, CoercionAction.Fail)
Expand Down Expand Up @@ -165,3 +167,31 @@ private class LenientLocalDateTimeDeserializer :
}
}
}

/**
* A deserializer that can deserialize [OffsetDateTime], assuming UTC when a timezone isn't given.
*/
private class LenientOffsetDateTimeDeserializer :
StdDeserializer<OffsetDateTime>(OffsetDateTime::class.java) {
override fun logicalType(): LogicalType = LogicalType.DateTime

override fun deserialize(p: JsonParser, context: DeserializationContext?): OffsetDateTime {
val exceptions = mutableListOf<Exception>()

try {
return OffsetDateTime.parse(p.text)
} catch (e: DateTimeException) {
exceptions.add(e)
}

try {
return OffsetDateTime.parse(p.text + 'Z')
} catch (e: DateTimeException) {
exceptions.add(e)
}

throw JsonParseException(p, "Cannot parse `OffsetDateTime` from value: ${p.text}").apply {
exceptions.forEach { addSuppressed(it) }
}
}
}
Loading
Loading