v0.22.0
Full fabric-cicd Compatibility
This release makes fabio deploy a strict superset of Microsoft's fabric-cicd Python library. Source directories exported by fabric-cicd or Fabric's git integration work identically with fabio — while fabio adds plan/apply separation, content-hash skip detection, rename tracking, and dry-run that fabric-cicd lacks.
New Deploy Features
- Config file support (
--config <file> --env <name>) — JSON or YAML with per-environment workspace mapping, filtering, and option defaults - Git-diff selective deploy (
--git-diff <ref>) — only deploy items changed since a git reference - Selective filtering —
--exclude-regex,--include-items,--include-folders,--exclude-folders - Workspace folder management — infers folder hierarchy from source directory, creates/moves/deletes folders automatically
- Workspace ID auto-replacement — replaces
00000000-...placeholder with target workspace UUID (regex-based, context-aware) - Protected type deletion guards — Lakehouse, Warehouse, SQLDatabase, Eventhouse, KQLDatabase require
--allow-delete-typesto be deleted - Dataflow dependency ordering — topological sort for cross-dataflow references (same as DataPipeline)
fabric-cicd Behavioral Compatibility
All per-item-type behaviors from fabric-cicd are now matched:
.children/KQL Database discovery under Eventhouses.pbi/directory exclusion from definitions- Notebook part ordering (
.pybefore.json) - Report
byPath→byConnectionautomatic transformation creationPayloadfrom.platformmetadata (fallback)SparkJobDefinitionV2format auto-detectionItemDisplayNameNotAvailableYetretry (up to 5 minutes)- Lakehouse
enableSchemasinference fromlakehouse.metadata.json - Shortcut self-reference resolution (lakehouse GUID, not workspace ID)
.platformincluded in definition parts but excluded from content hash (preserves idempotency)- Binary file graceful handling in parameter substitution
Documentation
- New "Why fabio?" section in README comparing against Fabric CLI and fabric-cicd
- Updated AGENTS.md with all new deploy behaviors and decisions
- Added
serde_yamldependency for YAML config file support
Testing
- 690 unit tests (9 new for deploy compatibility)
- 11 E2E tests validating against fabric-cicd's sample workspace
- Verified against live tenant: deployed items from microsoft/fabric-toolbox scenarios
Stats
- 13 commits, 3 new modules (
config.rs,folders.rs,git_diff.rs) - ~2,500 lines added across deploy module
- 12 new CLI flags on
deploy plan/apply
Full Changelog: v0.21.0...v0.22.0
Full Changelog: v0.21.0...v0.22.0