Skip to content

v0.30.0

Choose a tag to compare

@iemejia iemejia released this 24 Jun 16:20
· 39 commits to main since this release

What's New

This release brings a major upgrade to agent discoverability with context hints embedded in every --help output, a complete rewrite of the Data Agent command group to use the new public staging management API (28 subcommands), and significant CI/CD and Docker improvements including distroless images and full GitHub Actions SHA pinning.

Data Agent: Full Staging Management API

The Data Agent command group has been completely rewritten to use Fabric's new public staging management API (Jun 2026), replacing the previous read-modify-write definition approach with 28 dedicated endpoints:

  • get-config/update-config with --stage staging|published
  • add-datasource/remove-datasource/list-datasources/show-datasource/update-datasource (auto-type detection, LRO-aware)
  • select-tables (toggle table selection in discovered schema)
  • list-elements/describe-element/delete-element with --stage
  • add-fewshot/remove-fewshot/list-fewshots/show-fewshot/update-fewshot/clear-fewshots/upload-fewshots (JSON + CSV/TSV bulk upload)
  • query --stage sandbox|production with --timeout and --show-steps
  • publish/reset for staging lifecycle

Context Discovery Hints for AI Agents

Every --help output now includes a CONTEXT section pointing agents to relevant schemas, workflows, and examples:

fabio lakehouse --help
...
CONTEXT:
  fabio context schema lakehouse         Item definition schema
  fabio context workflow lakehouse-etl    Multi-step workflow recipe
  fabio context examples lakehouse list  Output shape example
  • All 72 command groups annotated with contextual hints
  • 12 new output examples for high-value command groups (lakehouse, workspace, deploy, etc.)
  • fabio context examples now supports optional group-browsable discovery
  • Agent schema (fabio context agent) updated with all 88 previously missing subcommands

Dataflow Execute-Query: LRO + Arrow Version

fabio dataflow execute-query now handles 202 LRO responses for long-running queries (up to 90s server-side) and supports --arrow-version 1|2 for Apache Arrow IPC format version selection.

Improvements

  • performance: Pre-allocate collections on hot paths, add #[inline] hints to hot-path functions
  • refactoring: Deduplicate hash functions, standardize base64 imports, adopt idiomatic Rust patterns (6 refactoring rounds total)
  • MSRV bump to 1.96: Leverages floor_char_boundary(), is_none_or(), is_some_and(), Duration::from_mins(), and other modern Rust features
  • apache-airflow-job: Add --update-metadata flag to update-definition
  • paginated-report: Harmonize --content handling across commands

Bug Fixes

  • context: Agent schema now covers the complete CLI surface (88 subcommands were missing)
  • ci: Tolerate GitHub API unreachable in upgrade tests
  • ci: Resolve clippy, test, and audit failures

Docker & Build

  • Distroless runtime image: Production Docker image now uses debian-slim with vendored OpenSSL and non-root user (~20MB smaller)
  • Devcontainer: Tools baked into image, pinned to ubuntu:24.04, multi-arch build (amd64 + arm64)

CI/CD

  • All GitHub Actions pinned to full commit SHA (supply-chain hardening)
  • Cancel-in-progress for PR-triggered workflows
  • Reduced GHA minutes: extracted fmt check, dropped release builds from CI, weekly CodeQL
  • Cache cleanup workflow for stale PR/branch caches
  • rustsec/audit-check action replaces manual audit
  • Docker workflow only triggers on Dockerfile/devcontainer changes

Testing

  • data-agent: Complete E2E test coverage for all 28 subcommands (34 tests)
  • workspace CMK: E2E tests for encryption assign/reset/get commands

Stats

  • 51 commits, 205 files changed, +7,414 / -3,855 lines
  • MSRV bumped from 1.85 to 1.96
  • Data Agent rewritten: 28 subcommands via public staging API

Full Changelog: v0.29.0...v0.30.0

What's Changed

  • chore(deps): bump softprops/action-gh-release from 3.0.0 to 3.0.1 by @dependabot[bot] in #23
  • chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #24
  • feat: sync with Fabric REST API spec 2026-06-24 by @iemejia in #25

Full Changelog: v0.29.0...v0.30.0