This SDK has been modernized and contains breaking changes. Highlights below are organized by area.
- Gradle wrapper upgraded to
9.3.1(requires Java 17+ to run the build). - Kotlin upgraded to
2.3.0. - Dependency versions are centralized in
gradle/libs.versions.toml(Gradle Version Catalog). jcenter()removed; builds resolve from Maven Central viasettings.gradle.
- OkHttp upgraded to
5.3.2. - kotlinx.serialization-json upgraded to
1.10.0. - Test stack upgraded to JUnit Jupiter
5.14.2+ AssertJ3.27.7. - Removed unused/legacy deps:
jersey-core,commons-codec,guava,jackson-*,moshi,commons-math3.
TutiApiClient.sendRequest(...)no longer creates a dedicatedThreadper request.- Requests now use OkHttp async
Call.enqueue(...). - Query params are now URL-encoded via
HttpUrl(no more manual?k=vconcatenation).
- Requests now use OkHttp async
runOnOwnThreadwas removed.TutiApiClient.billInquiry(...)now returnsokhttp3.Call(instead ofThread).TutiApiClient.authTokenis now@Volatileto avoid stale reads across threads.- HTTP logging is now disabled by default; enable explicitly via
TutiApiClient.setHttpLoggingLevel(...).
TutiApiClient()now defaults tohttps://api.noebs.sd/for bothserverURL(consumer API) andnoebsServer(wallet/ws/root routes).
- IPIN encryption code no longer depends on jersey Base64 or commons-codec.
- Base64 handling uses Okio (
okio.ByteString) instead.
- Base64 handling uses Okio (