Skip to content

v0.8.1

Latest

Choose a tag to compare

@krinart krinart released this 27 Oct 19:51
· 1 commit to trunk since this release
38bc720

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-jdk18on 1.80 → 1.85 and org.bouncycastle:bcpkix-jdk18on 1.80 → 1.84 (#59)
  • io.netty:netty-transport-native-epoll 4.1.130.Final → 4.1.137.Final (#59, #63)
  • Netty common, buffer, transport, handler, codec, codec-http, codec-http2, handler-proxy, and transport-native-unix-common are 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