Repository navigation
Spice Java SDK v0.8.1
Fixes
🔑 API key Authentication
The client now accepts any API key that is not empty for API key authentication. (#60)
try (SpiceClient client = SpiceClient.builder()
.withApiKey("my-runtime-key")
.build()) {
// ...
}- A key that the runtime rejects fails at once with
UNAUTHENTICATED. The client does not retry it, and does not prepare a cached statement again with the same key.
Dataset refresh authentication
refreshDataset now sends the configured API key as X-API-Key, matching the other HTTP calls. Auth-enabled runtimes no longer reject refresh with 401.
TLS / Spice Cloud connections
The published POM now declares the Netty 4.1.x modules the Flight/gRPC stack needs as direct dependencies. Maven does not apply a dependency's dependencyManagement (the SDK's netty-bom import) to consumers, so 0.8.0 mixed Arrow Flight 19's netty-handler 4.2.9 with netty-common 4.1.x and crashed every TLS connection — including withSpiceCloud().build() — with NoClassDefFoundError: io.netty.util.LeakPresenceDetector.
Dependencies
org.bouncycastle:bcprov-jdk18on1.80 → 1.85 andorg.bouncycastle:bcpkix-jdk18on1.80 → 1.84 (#59)io.netty:netty-transport-native-epoll4.1.130.Final → 4.1.137.Final (#59, #63)- Netty
common,buffer,transport,handler,codec,codec-http,codec-http2,handler-proxy, andtransport-native-unix-commonare now direct dependencies at 4.1.137.Final so consumers resolve a single Netty version.
Compatibility
- No breaking changes. japicmp finds no binary-incompatible or source-incompatible changes against v0.8.0.
- The Netty modules above were already on the classpath transitively; they are now direct so the published POM pins them for consumers.
Full changelog: v0.8.0...v0.8.1