Skip to content

baukit 0.10.24

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:09
· 82 commits to main since this release

baukit v0.10.24

One release train for the Rust crates, TypeScript packages, and templates.

Rust crates

baukit-auth

  • Principal::from_api_token(subject, token) is public. Products whose token owner is not the
    OIDC subject build API-token principals with the resolved subject and keep the token's grants
    and created_at as authenticated_at(). ApiTokenVerifier still uses the owner id.
  • Add ApiTokenFormat::generate_secret() for products that store tokens in their own tables.
    GeneratedApiToken exposes the secret, its hash_api_token hash, and display prefix.
    Debug output redacts the secret and hash, and drop zeroizes the secret unless
    into_secret() transfers it to the caller. ApiTokenService uses the same generation path.

baukit-config

  • No component-specific changes in this train.

baukit-core

  • No component-specific changes in this train.

baukit-credential-vault

  • No component-specific changes in this train.

baukit-egress

Fixed

  • Failed or timed-out error body reads preserve the HTTP status and retry class,
    including the capped Retry-After delay, and return no captured body.

Added

  • EgressOptions::with_error_body_limit(bytes) captures bounded non-2xx bodies.
    It is off by default. The limit must be nonzero and no larger than max_response_bytes.
    Reads use the existing request timeout and stop at the limit without a size error.
  • ErrorBody exposes bytes(), truncated(), content_type(), and problem_code().
    The code comes from the shared Baukit error envelope. EgressError::error_body()
    returns the captured body. Display omits bodies; Debug shows only their length,
    truncation flag, and problem code. Failure telemetry logs the code without raw bytes.

Changed

  • Breaking: EgressError::Status adds body: Option<ErrorBody>. Add .. to matches
    that only need status and class.
  • Every 5xx with a valid Retry-After now carries RetryAfter, capped by
    max_retry_after. Without a usable header, 504 stays Timeout and other 5xx
    stay Unavailable.

baukit-erasure

  • No component-specific changes in this train.

baukit-events

  • No component-specific changes in this train.

baukit-http

Changed

  • Every 5xx response with a valid Retry-After now classifies as RetryAfter,
    including 504. Delta-seconds and HTTP dates respect the configured delay cap.
    Without a usable delay, 504 stays Timeout and other 5xx stay Unavailable.
    401 and 403 keep their existing behavior.

baukit-integrations

  • No component-specific changes in this train.

baukit-jobs

  • No component-specific changes in this train.

baukit-mcp

  • No component-specific changes in this train.

baukit-openapi

  • No component-specific changes in this train.

baukit-ops

  • No component-specific changes in this train.

baukit-push

  • No component-specific changes in this train.

baukit-ratelimit

  • No component-specific changes in this train.

baukit-runtime

  • No component-specific changes in this train.

baukit-suite

  • No component-specific changes in this train.

baukit-sync

  • No component-specific changes in this train.

baukit-telemetry

  • No component-specific changes in this train.

baukit-test

  • No component-specific changes in this train.

TypeScript packages

a11y-core

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

analytics-core

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

analytics-posthog-native

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/analytics-core@0.10.24

analytics-posthog-web

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/analytics-core@0.10.24

api-runtime

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

auth-native

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

auth-node

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

auth-web

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

data-contracts-dexie

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/data-contracts@0.10.24

data-contracts-expo-sqlite

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/data-contracts@0.10.24

data-contracts

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

events

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

integrations-client

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

localization-core

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

navigation

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/a11y-core@0.10.24
    • @baukit/ui-tokens@0.10.24

notifications-core

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/localization-core@0.10.24

notifications-expo

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/notifications-core@0.10.24

preferences-core

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

pwa-web

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

suite-client

Patch Changes

  • Release the coordinated baukit 0.10.24 train.
  • Updated dependencies
    • @baukit/integrations-client@0.10.24
    • @baukit/localization-core@0.10.24

sync-client

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

ui-tokens

Patch Changes

  • Release the coordinated baukit 0.10.24 train.

Commits

  • chore: prepare baukit v0.10.24 (ab440f5a)
  • fix(templates): pin Expo 57.0.28 patch releases (ea5f12fc)
  • fix(templates): skip sdkmanager when Android SDK packages are installed (d5f8e96d)
  • fix(templates): use stock Pixel 6 AVDs for Android QA (870c8a0e)
  • feat(auth): make Principal::from_api_token public with an explicit subject (00dc8ba0)
  • feat(cli): accept multiple browser origin ports (d277edfa)
  • feat(auth): generate API token secrets without a store (9d8e90e6)
  • fix(egress): preserve status when error body capture fails (5e072509)
  • feat(egress): retain retry delays and bounded error bodies (aad25b87)