fabric-cicd v1.2.0 is here - new publish feature released!
Hello fabric-cicd community!
We’re excited to announce fabric-cicd v1.2.0 for June. This release brings new item type support, more flexible parameterization options, important reliability and security updates, and one of the larger enhancements we’ve introduced recently: bulk publish mode.
What’s new in v1.2.0?
New features
Bulk publish mode
Bulk publish mode is one of the larger features in this release, and we encourage users to try it. It allows fabric-cicd to publish multiple items in a single API call using the Fabric bulk import API, instead of publishing each item individually through the standard staged deployment path. This can make deployments more efficient.
Because dependencies are managed by the API during publish, bulk publish can reduce the rigidity of item-type-based staging and better support cross-item dependencies when logical ID references are used. It may also reduce the number of item-specific parameter values you need to configure.
This feature is currently experimental and requires feature flags, so we recommend trying it first in non-production environments while we continue gathering feedback. A few limitations apply: not every item type supported by the standard fabric-cicd deployment path is supported in bulk publish, and parameterization does not currently support dynamic variable resolution. For unsupported scenarios, fabric-cicd automatically falls back to the standard publish flow, so users can try bulk publish without manually switching deployment paths. If you test it in your CI/CD workflows, please share your experience through GitHub issues so we can continue refining it.
To learn more, read the bulk publish documentation here.
Expanded item type support
Map and Paginated Report items are now officially supported in fabric-cicd, expanding the range of Microsoft Fabric artifacts that can be automated through deployment pipelines and making it easier to include more reporting and visual artifacts in workspace deployment flows.
Parameter enhancements for find_value field
The find_value field in find_replace parameter received some useful updates in this release, including support for dynamic replacement variables and case-insensitive matching.
Now $workspace variables can be used to allow dynamic resolution for the values being searched for in the item definition files, reducing the amount of hard coding.
To use case-insensitive matching, add the ignore_case field within the parameter and set it to "true". This should make replacement rules easier to apply across environments where casing may not be perfectly consistent. Read here for more information.
Support for multiple connection IDs in semantic model binding parameter
The semantic_model_binding parameter now supports multiple connection IDs, making it easier to handle scenarios where a semantic model needs to bind across more than one connection in a target environment. Special thanks to u/alwortma2 for this valuable community contribution! See docs here.
Bug fixes
Fix management of Activator item dependencies
This release improves Activator item dependency handling by accounting for multiple Fabric item references that were previously missed as the Activator item type evolved. Thanks to the community for raising issues like this and helping us maintain a high-quality library experience. It also highlights where bulk publish can help by using a graph-based publish approach instead of fabric-cicd’s standard staged approach, bulk publish can adapt to dependency changes more seamlessly.
Other updates
Make log file creation opt-in
Log files can contain sensitive information, so file logging now requires an intentional opt-in through the FABRIC_CICD_FILE_LOGGING_ENABLED environment variable before any log file is created or written. This makes log creation a conscious decision and improves the default security posture by avoiding unnecessary local log files.
Enforce owner-only file permissions on sensitive files for POSIX systems
Sensitive files created by the library on POSIX systems now enforce owner-only permissions, improving the default security posture for generated files.
Documentation updates
The docs also received a few updates in this release, including a new devcontainer setup, a section about contributing to documentation, and a reorganization of item type documentation under the new Reference section for better clarity. Thank you u/cmaneu for contributing these awesome documentation improvements!
Upgrade Now
pip install --upgrade fabric-cicd