Releases: maxanatsko/pbir.tools
Release list
PBIR Tools v0.9.29
Install:
uv tool install pbir-cliorpip install pbir-cli, which is the recommended
route on every platform including Linux. Native and portable downloads are attached below for
macOS on Apple silicon and Windows x64.
What’s new
- Conditional formatting almost everywhere — titles, subtitles, borders, tooltips, axis
bounds, reference line positions, data label text, and error bar styling can now be driven by
a measure, not just data point colors.pbir schema describe <visual>.<container>lists what
a given container accepts. - Images and SVG from measures — a measure returning an image URL or an SVG data URI can be
placed on a card or in a table column, so DAX-generated visuals reach the canvas. - Error bars, fully — whiskers, caps, markers and their labels can be added, styled, and
driven conditionally per plotted series. - Formatting one column by another — a grid column or a chart series can be formatted using
a measure that is not the one being displayed. - More dependable formatting writes — conditional formats are stored where Power BI actually
reads them, and copying formatting between visuals preserves what each property needs to
render.
Run pbir --help to get started, and see the
pbir-cli documentation for the full
command reference. Feedback is welcome in the
pbir.tools issue tracker.
PBIR Tools v0.9.28
Install:
uv tool install pbir-cliorpip install pbir-cli. Native and portable
downloads are attached below for macOS on Apple silicon, Windows x64, and Linux on x64 or
arm64.
What’s new
- More dependable report changes — field and visual updates stay within the intended part of
a report and work across more of the structures generated by Power BI Desktop. - Smoother theme workflows — theme colors and custom themes move more reliably between
inspection, edits, templates, and Desktop saves. - Clearer visual authoring — bindings, interactions, and measure-driven titles are easier to
inspect and change without leaving stale configuration behind. - Broader reliability coverage — filters, field references, report scopes, and packaging have
had a focused regression pass against real PBIR fixtures.
Run pbir --help to get started. Feedback is welcome in the
pbir.tools issue tracker.
PBIR Tools v0.9.27
Install:
uv tool install pbir-cliorpip install pbir-cli. Native and portable
downloads are attached below for macOS on Apple silicon, Windows x64, and Linux on x64 or
arm64.
What’s new
- Calmer terminal output — success, warnings, errors, and report names use a small,
consistent set of colors. Power BI yellow stays focused on the logo and loading animation. - Portable downloads — run
pbirwithout an installer on macOS, Windows, or Linux. The regular
signed PKG and MSI installers are still here too. - More dependable report changes — field replacement, hierarchy binding, page and visual
updates, themes, bookmarks, filters, and legacy-to-PBIR conversion have all had a broad
reliability pass. - Better report and model handoffs — report paths and model references are handled more
consistently when you move between local PBIR work and connected semantic models.
Power BI skills
The companion
power-bi-agentic-development skills v26.28
now give agents a clearer te + pbir workflow for changes that span a semantic model and its
reports. They also explicitly keep report edits inside pbir instead of patching JSON directly.
Versions 26.26 through 26.38 are a transition period for the skills. Pin 26.25 or earlier if you
need the old structure to stay put.
Run pbir --help to get started. Feedback is welcome in the
pbir.tools issue tracker.
PBIR Tools v0.9.25
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills (v26.25): Get skills from the
power-bi-agentic-development
marketplace. For Claude Code:claude plugin add marketplace data-goblin/power-bi-agentic-development
New
- Deeper Power BI Desktop integration -- hot-reload TMDL from disk into an open Power BI Desktop instance (auto-validated on load), and screenshot one page or every page.
pbir desktop reload "Report.Report" --modelpbir desktop screenshot "Report.Report" --all
- Discover visual capabilities -- browse a visual's formatting objects, properties, and allowed values before you edit.
pbir schema describe barChart
- Skip validation -- switch off individual checks, or all of them, per run.
pbir --skip schema-version validate "Report.Report"
- Stronger validation -- deep coverage of report invalidation cases.
- Fonts & colors -- new command groups for bulk find/replace of fonts and colors across a report.
pbir fonts replace "Report.Report" --from "Calibri" --to "Segoe UI" -fpbir color replace "Report.Report" --from "#FF0000" --to "#00FF00" -f
New (Experimental)
Experimental commands are new and still evolving -- expect rough edges, and please report issues.
- Convert legacy to PBIR format -- convert reports to PBIR without opening or publishing them.
pbir convert "Legacy.Report" --format pbir
- Migrate & clear DAX -- migrate thin-report measures into a connected model, then clear them from the report; also work with or clear visual calculations.
pbir dax measures migrate "Report.Report" --all && pbir dax measures clear "Report.Report" -fpbir dax viscalcs clear "Report.Report" -f
- Usage from the terminal -- Power BI report views at the workspace, report, and page level. Link a local report to its published copy, then query.
pbir report link "Report.Report" "Sales.Workspace/Exec.Report" && pbir usage "Report.Report"
Bug Fixes
- Clearer error when
pbir desktop reload --modeltargets a model whose culture defines linguistic metadata, instead of a raw engine failure.
Changes
- Various fixes and improvements -- thanks for all the feedback!
Thanks
Thanks to Microsoft for the new Power BI APIs in preview in Desktop, and the efforts investing in Power BI agentic report development on their side.
PBIR Tools v0.9.24
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills (v26.24): Get skills from the
power-bi-agentic-development
marketplace. For Claude Code:claude plugin add marketplace data-goblin/power-bi-agentic-development
New
fields replace-table-- rename a table across every field binding in a report in one command (the table-level counterpart tofields replace), keeping each field's own name. Covers structured field references, query projections, sort definitions, conditional-formatting and selector metadata, and filters.
Bug Fixes
- Fixed
fields replace-tableleaving query references and selector metadata inconsistent when the table name was supplied in a different letter-case than the stored reference -- mixed-case references now rename consistently across every surface.
Changes
- Faster bulk edits -- bulk operations across many visuals are substantially quicker on large reports:
set,fields replace,theme colors --replace,visuals resize/align/move, the position / size / format property commands,pages conform, andrm --fields. Single-visual edits keep full validation and are unchanged.
PBIR Tools v0.9.23
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills (v26.24): Get skills from the
power-bi-agentic-development
marketplace. For Claude Code:claude plugin add marketplace data-goblin/power-bi-agentic-development
New
- Update notice -- pbir now lets you know when a newer release is available (checked at most once a day; suppressed in quiet and JSON output modes)
Bug Fixes
- Fixed
pbir --helpcrashing on Windows consoles that use legacy code pages (pip/uv installs) - Fixed
pbir bpa runfailing with "Report.init() missing 2 required positional arguments" on valid reports (fixes #32) - Pressing Ctrl+C while pbir is starting up now exits quietly instead of printing a long traceback
- Fixed
pbir getcrashing on color-valued properties (for example a visual background color) - Clearer error message when
pbir add pageis given a report path instead of a page path
Changes
- Faster startup -- every command begins executing noticeably sooner
PBIR Tools v0.9.20
New
- Code signing - binaries now come code signed both on Windows and macOS
- Page conformance -
pbir pages conformenforces visual formatting properties (title, background, border) against theme defaults across a page or report, with--dry-runpreview, JSON output, and idempotent apply mode - Field where-used -
pbir fields where-usedfinds every visual and filter that references a given field, with exact and substring matching
Bug Fixes
- Card visuals now apply font color conditional formatting correctly using the Power BI default
dataViewWildcardselector, fixingpbir visuals cfoncardVisualvalue properties pbir fieldsandpbir treenow traverse report pages by directory path rather than display name, so pages with em dashes, parentheses, or other path-like characters in their names resolve correctly- Visual group parent links broken by
pbir connectdownloads are now repaired automatically during download, and group membership changes are tracked through the object model change history - Visual group operations (
list,ungroup, group workflow) are now more reliable: page and path validation is enforced before mutations, cleanup is persisted after ungroup, and edge cases in multi-step group workflows are handled pbir visuals bindnow fails closed when the semantic model cannot be loaded - explicit--no-validateis required to proceed, and the model load error is surfaced in the output- Validation JSON output now includes
model_load_errordetail alongside the existingmodel_loadedflag - Validation now reports orphan parent groups and stale visual interaction entries as diagnostics
- Animated startup splash is replaced with a static splash on Windows and non-interactive consoles, fixing rendering artifacts on Windows terminals
- Microsoft schema and bundled runtime artifacts were refreshed to May 2026
PBIR Tools v0.9.19
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills: Get skills from the power-bi-agentic-development marketplace.
For Claude Code:claude plugin add marketplace data-goblin/power-bi-agentic-development
New
- Best Practice Analyzer --
pbir bpa runanalyzes PBIR reports with built-in and custom JSON rules, CI-friendly failure thresholds, JSON output, optional fixes, and rule suppressions - BPA rule management --
pbir bpa rules list/ignore/unignore/ignoredfor listing rules, suppressing noisy findings, and auditing ignored rules across reports - Default report context -- path-like commands can now use the active report from
pbir connect, including relative paths, globs, and.as the active report sentinel - Active theme colors --
pbir theme colors --used-onlynow shows colors actively used by report and page formatting, visual expressions, DAX measures, and conditional formatting - Visual edit dry runs --
pbir visuals position,pbir visuals resize, andpbir visuals bindnow support--dry-runso layout and binding changes can be previewed before saving
Bug Fixes
- Newer
visualContainerschema declarations now degrade to warning-only fallback instead of blocking validation when bundled schemas are behind Microsoft - Table names containing dots, such as
0. Measures, now resolve correctly in field references - Donut chart role metadata now uses the correct canonical measure role while preserving compatibility with legacy role casing
- Filter validation now checks report, page, and visual filter field references against the semantic model
- Validation output now uses more readable target locations while preserving raw locations in JSON output
- UTF-8 BOM-prefixed PBIR JSON files now load consistently across report, page, visual, theme, and packaged resource readers
Report.new()now fails cleanly and avoids leaving partially created report folders after scaffold write failures.platformdisplay-name metadata now uses the current FabricplatformPropertiesshape and repairs invalid report metadata before saving- PBIX mutation paths now fail closed: PBIX files remain available for read-only inspection, but editable operations are directed to
.Reportfolders - Removing visuals now cleans up orphaned visual interactions
- Deleting
visualGroupcontainers is now guarded so grouped visuals are not removed accidentally - Visual size guidance now runs through BPA, with
validate --qapreserving the existingVISUAL_UNDERSIZEDcompatibility mapping - Built-in visual role metadata now matches canonical PBIR queryState role names, including current card, slicer, AI/Q&A, RDL, group, and custom visual cases
- Microsoft schema and bundled runtime artifacts were refreshed, including theme schema
2.153
PBIR Tools v0.9.9
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills (v0.26.0): Get skills from the
power-bi-agentic-development
marketplace. For Claude Code:claude plugin add marketplace data-goblin/power-bi-agentic-development
New
- Error bars --
pbir visuals error-bars add/list/removefor bullet chart patterns using upper/lower bound measures on chart series - Reference lines --
pbir visuals reference-line add/list/removefor constant or measure-driven reference lines on chart axes - CF dot-path syntax -- read and write conditional formatting via
pbir get/setusing.cf.gradient,.cf.rules,.cf.measurepaths - Model schema disk cache --
pbir setwithfield()selectors now caches model definitions to disk, cutting repeated calls from ~23s to ~0.4s pbir model --clear-cache-- invalidate cached model definitions after schema changes
Bug Fixes
- Field names with parentheses (e.g.
OTD % (Lines)) now work correctly infield()selectors pbir pages rename --tonow updates both folder name and displayName (previously only renamed the folder).pbiruntime-state files no longer cause schema validation crashes
Deprecated
pbir setup-- replaced by native plugin marketplaces; runpbir setupfor instructionspbir visuals format-field-- usepbir set "Visual.component.field(Table.Field).property"insteadpbir visuals format-state-- usepbir set "Visual.component.hover.property"instead
PBIR Tools v0.9.8
Important: This tool works best for targeted, iterative changes to existing reports -- formatting, property adjustments, field binding, theme changes, validation. It's not designed to replace your thinking or design, and it's also constrained by the brittle limitations of Power BI reports, themselves.
Install:
uv tool install pbir-cliorpip install pbir-cli(recommended over native installers)Skills (v0.22.4): Run
pbir setupafter installing, or get skills from the
power-bi-agentic-development
marketplace.
New
- Auto-upgrade schemas on validate --
pbir validatenow silently upgrades outdated$schemareferences to the latest bundled versions before validation, enabling full visual-type-specific checks without a separate step - Per-series/field/state selector syntax for
get_property/set_propertypaths (e.g. set formatting per data series) - Thick PBIX graceful error -- converting a thick PBIX now shows clear steps (open in Desktop, Save As PBIP) instead of a cryptic module error
- Schema provenance tracking --
pbir validate -vnow shows exactly which schema was used, where it came from (bundled/cached/fetched), and whether it's authoritative
Bug Fixes
pbir catno longer crashes with "No module named pygments" in the binary installer (fixes #11, #13)- Field resolver now correctly detects measures vs columns using the connected model, replacing broken DMV queries (fixes #7 measure binding)
active: trueno longer emitted on query projections, preventing Desktop crashes when adding fields to tables (fixes #7 active property)- camelCase data role names (e.g.
smallMultiples) now resolve correctly via visual-type-aware matching - New reports now use the latest bundled schema versions instead of hardcoded old ones
Changes
- Pygments dependency fully removed -- JSON output uses
console.print_jsoninstead of syntax highlighting - Schema validation now tracks three separate families (report, semantic model, theme) with explicit provenance states
pbir validate --update-schemasflag deprecated -- auto-upgrade happens automatically