Skip to content

Release Notes

2.5.1 - March 30, 2026

Fixed

  • API: Fixed a bug where validate_report (and the associated CLI validation rules) would fail to forward custom user configurations and parameters from pbir-sanitize.yaml (such as theme_path in set_theme), leading to TypeError during rule evaluation.

2.5.0 - March 29, 2026

Added

  • Sanitizer: Added remove_unused_hidden_pages action (opt-in) to safely delete hidden pages. Pages are kept if they are the active page, or referenced by tooltips, drillthroughs, used bookmarks, or page navigation.

Changed

  • Dependencies: Downgraded pyyaml requirement to >=6.0.2 (from 6.0.3) to resolve installation conflicts with ms-fabric-cli.

2.4.4 - March 22, 2026

Added

  • Sanitizer: Added clear_slicer_search_text action (enabled by default) to remove leftover search text from slicer visuals. This prevents viewers from seeing the developer's last search when they open a slicer dropdown.

2.4.3 - March 21, 2026

Fixed

  • Themes/Sanitizer: Fixed a bug where relative theme_path strings in pbir-sanitize.yaml resolved against the current working directory instead of the configuration file's directory when executed via the validation or Python API.

2.4.2 - March 15, 2026

Fixed

  • Themes/Sanitizer: Fixed a bug where set_theme would leave orphaned files in the StaticResources/RegisteredResources/ directory if the new theme had a different filename than the existing custom theme.
  • Filters/Sanitizer: Fixed a bug where clear_filters (used by the clear_all_report_filters sanitizer action or CLI command) would exit silently without outputting an info message when no filters matched the specified criteria.

2.4.1 - March 14, 2026

Added

  • Sanitizer / CLI: The set_theme action is now content-aware. It compares the JSON of the --theme-file with the report's existing custom theme, skipping application if the content is identical. This allows you to safely orchestrate theme enforcement across multiple reports. You can also specify a relative theme_path in pbir-sanitize.yaml, which resolves relative to the config file's directory.

Fixed

  • Sanitizer: Fixed a bug where cleanup_invalid_bookmarks would silently delete all bookmarks if you ran the folder standardization tool first.

2.4.0 - March 13, 2026

Added

  • Wireframe Visualizer: Selecting visuals now filters the Fields pane to show only the tables and columns they use. You can select multiple visuals by holding Ctrl or dragging a selection box. (#5)
  • Metadata Extraction: Added Visual Path column to extract-metadata --visuals-only to output the full visual grouping hierarchy. (#4)

Fixed

  • Wireframe Visualizer: Fixed visual coordinate calculations inside nested groups to recursively accumulate offsets from all ancestor groups.

2.3.0 - March 08, 2026

Added

  • Metadata Extraction: New --columns, --exclude-columns, and --define-column flags for extract-metadata. Select, reorder, exclude, or derive custom columns in CSV output using {ColumnName} templates. (#4)

2.2.6 - March 03, 2026

Changed

  • UI: Improved custom config loading UX. The generic load button is now replaced by a clear indicator displaying the loaded file name, along with direct controls to change or reset the configuration.

Fixed

  • UI: Fixed right-click context menu not working after switching to a different report.

2.2.5 - March 01, 2026

Added

  • UI & Wireframe: Redesigned the Fields pane to be a right-aligned collapsible bar, for better space efficiency and intuitiveness.

Changed

  • UI: Refined the Output pane toggle by replacing the floating blue button with a clean 24px clickable header bar.

Fixed

  • UI & Wireframe: Fixed an issue where the Fields pane was completely empty in static HTML wireframe exports.

2.2.2 - March 01, 2026

Fixed

  • Sanitizer: Fixed a bug where remove_unused_measures would incorrectly remove measures that were referenced by other measures across different entities (tables).

2.2.1 - February 28, 2026

Fixed

  • UI: Fixed an issue where wide reports were cut off on the left side due to an incorrect CSS justification on the wireframe canvas container, ensuring a scrollable, centered view at 100% zoom.

2.2.0 - February 28, 2026

Added

  • Pages: Introduced set_page_order() for reordering tabs and set_active_page() to specify default open pages.
  • Themes: Added capabilities to apply themes with set_theme(). Introduced reset_hardcoded_colors (and the reset-colors CLI command) to strip hardcoded hex colors from visuals, reverting them to their theme defaults.
  • Metadata: Enhanced extract-metadata to now capture DAX calculation contexts defined directly on visuals (NativeVisualCalculation).

Changed

  • UI:
  • UI Overhaul: Replaced structural emojis with crisp Lucide SVG icons (with secure emoji fallbacks for standalone HTML exports), refined the dark mode palette, standardized visual selection borders, and introduced sleek, modern scrollbars.
  • Activity Bar: Introduced a navigation rail to the left sidebar, replacing stacked accordions with a clean, dynamic sidebar that switches context (Reports, Actions, Validate, Export) and can be fully collapsed to maximize screen real estate.

2.1.3 - February 21, 2026

Fixed

  • ui:
  • Layout: Fixed a Firefox-only bug where the sidebar toggle button could appear detached from the sidebar edge (#3 by @Boreo).

2.1.2 - February 20, 2026

Fixed

  • ui:
  • Visuals: Fixed a bug where hiding a report-hidden visual would prevent interacting with or hiding the visuals underneath it.
  • Layout: Fixed an issue where the report page would incorrectly shrink or overlap when expanding sidebars.
  • Refresh Behavior: Ensured the latest app updates are immediately visible when refreshing the page, without needing to clear your browser cache.

2.1.1 - February 15, 2026

Features

  • ui:
    • Updated Fields Pane selection behavior: defaults to single-select, supports Ctrl+click for multi-select.
    • Moved Fields Pane selection controls to the header with a modern chip design for better visibility.

2.1.0 - February 15, 2026

Features

  • ui:
    • Improved initial view by collapsing secondary panes (Actions, Validate, Export, Output) by default.
    • File browser now defaults to the current working directory instead of user home.
    • Opening a report via CLI now correctly selects and highlights the report folder in the file browser.
    • Fixed context menu not closing when clicking outside or selecting a visual.
    • Fixed "Hide Page" icon in context menu.
    • Fixed hidden pages not restoring when clicking the "+X pages" indicator.
    • Enabled context menu and selection for "Report Hidden" visuals (dashed border).
    • Improved visual distinction for selected hidden visuals (now uses blue dashed border).
    • Added ability to drag-select multiple visuals on the report canvas.
    • Added Ctrl+click support for adding/removing visuals from selection.
    • Added bulk "Hide Visuals" option in context menu when multiple visuals are selected.
    • Added ability to search and filter by page name or page ID in the report wireframe.

2.0.6 - February 14, 2026

Bug Fixes

  • ui: Fixed custom sanitize/validation configuration being lost on page refresh or report change.

2.0.5 - February 14, 2026

Bug Fixes

  • sanitize: Fixed remove_unused_bookmarks incorrectly removing bookmarks from Navigator visuals configured to show "All" bookmarks.
    • Now correctly identifies navigators with missing or empty bookmarkGroup properties as using all bookmarks.

2.0.4 - January 20, 2026

Features

  • ui: Added "Select All" checkbox for Expression Rules in validation panel
    • Consistent with Actions panel UX pattern
    • Supports indeterminate state when some rules are selected

Improvements

  • cli: Validation summary separator line now dynamically matches text width
  • api: Refactored /validate/run and /validate/run/stream endpoints to use single validate_report call instead of two separate calls
    • Eliminates duplicate count calculation logic