sanitize: Added exclude_types parameter to page display option actions
Allows excluding specific page types (e.g., "Tooltip") when setting display options like "Fit to Page"
Default configuration now excludes Tooltip pages from display option changes
api: Added failed_rules property to ValidationResult for easy access to unique failed rule names as {rule_id: rule_name}
Bug Fixes
api:
Fixed ValidationResult to count unique failed rules by severity, not violation instances. str(result) now shows accurate rule-level counts (e.g., "3 warnings" = 3 rules failed, not 38 violation instances)
Fixed issue where sanitizer actions were running in validation stream even when excluded (e.g. via UI checkbox)
Bookmark Usage Check: Drastically improved speed of checking for unused bookmarks by scanning visuals in a single efficient pass.
Invalid Bookmark Cleanup: Significantly faster cleanup process by pre-loading valid visual data instead of repeated file checks.
Hidden Visuals Removal: Reduced file operations by 50% by merging duplicate scanning processes.
Metadata Extraction: Exponential speedup for large reports by optimizing how metadata expressions are matched and deduplicated.
Changed
CLI: All commands now consistently support auto-detection of report path when running from inside a .Report folder (batch-update and update-filters were updated)
Documentation
CLI Reference
Added comprehensive "Available Actions" table documenting all 22 sanitization actions with descriptions
Added "Default" column to action table showing which actions run by default vs. opt-in with --include
Added tips for config auto-discovery and report path auto-detection
Remove Measures: Significantly improved performance for reports with many measures by pre-computing visual usage and dependency graphs in a single pass instead of walking the file system for each measure
Fixed
Sanitize Command: Now raises an error when --config path doesn't exist, instead of silently falling back to defaults
Visualize Command: Fixed crash when a page has no visuals (empty legend labels) and prevented duplicate startup messages
Removed
CLI: Removed the redundant --error-on-change option from all commands (functionality can be achieved by checking --dry-run output)
Set Display Option Command: New set-display-option CLI command and set_page_display_option() Python API to set page display options in Power BI reports.
Supports three display options: ActualSize, FitToPage, FitToWidth
Target specific pages by displayName or internal name
CLI Startup Optimization: Reduced --help command time from ~10 seconds to under 1 second (~15x faster) by implementing lazy imports for heavy dependencies and deferring module loading until commands are executed.
Fixed
Wireframe Visualizer Coordinate Parsing: Fixed TypeError and ValueError in display_report_wireframes caused by coordinates being stored as strings or with @@__PRESERVE_FLOAT__@@ prefixes.
Missing Log for Hide Pages Action: hide_pages_by_type now prints an info message when no pages of the specified type are found.
Changed
Refactor: Removed redundant wrapper functions hide_tooltip_pages, hide_drillthrough_pages, and hide_tooltip_drillthrough_pages. Use hide_pages_by_type directly or via YAML configuration.
Missing Log for Hide Pages Action: hide_pages_by_type now prints an info message when no pages of the specified type are found.
Changed
Refactor: Removed redundant wrapper functions hide_tooltip_pages, hide_drillthrough_pages, and hide_tooltip_drillthrough_pages. Use hide_pages_by_type directly or via YAML configuration.