Skip to content

SDK v0.3.0

Latest

Choose a tag to compare

@aaraujo aaraujo released this 29 Oct 01:58
2fa68dd

SDK 0.3.0

Packages: packdb-client 0.3.0 and packdb-otel 0.3.0. This release changes the public API; see COMPATIBILITY.md ("Errors and transports in 0.3.0") for migration.

Breaking changes:

  • ClientError is #[non_exhaustive] and distinguishes Unauthenticated (HTTP 401, gRPC Unauthenticated) and PermissionDenied (HTTP 403, gRPC PermissionDenied), which were ConnectionError. (#34)
  • SqlClientConfig::http_only is replaced by transport: SqlTransport (Auto, Http, FlightSql). An explicit transport never falls back. Auto falls back to HTTP only when the Flight SQL connection could not be opened before any request was sent, not after a failure part-way through a query. (#34)
  • New ClientError::QueryError (a 400, or a trace search's 422) and ClientError::NotFound (a trace the server reports it has no part of). (#36)
  • packdb-otel and the flight-sql feature of packdb-client no longer enable tonic's zstd feature; gzip remains. An application that needs zstd gRPC compression enables tonic's zstd feature itself. (#37)

Additions:

  • QueryApiClient for the PromQL, LogQL and TraceQL HTTP APIs, with no feature required. (#36)
  • SqlClient::execute_query_rows_with_transport, returning RowsAnswer with the transport that answered and any fallback reason, or a QueryFailure. (#34)
  • OutputFormat::render for rows already in hand.

Deprecated: ClientError::exit_code.

Fixes:

  • Table and CSV output no longer change values: each cell is the decoded value, so integers above 2^53 keep every digit, 1 prints as 1, and a column that started null or changed type keeps its values. JSON output is unchanged. (#42)
  • tokio 1.53.3 for RUSTSEC-2026-0386. (#35)

Packages retain publish = false. This source release does not publish crates to crates.io.

Qualified source: 2fa68dd3ac773bbcfc1d0ef074bc10a19cca97a9.

Full qualification: https://github.com/packdb-oss/packdb-sdk/actions/runs/40799650458 (attempt 1). The downloaded source archive matches this Git tree byte for byte, its three LICENSE files are the Apache License 2.0 text released in 0.2.4, and package/dependency inventories and checksums were verified.

GitHub attaches package inventories by filename. Put the package inventory files in package-inventories/ before checking the original SHA256SUMS.