Repository navigation
v0.9.0
Added
scan --emit tx-rm: the findings as JSON Lines for tomix's batch removal, so
ripbi scan --emit tx-rm | tx rm --from - ./Model.SemanticModel --saveremoves every
unused model object, dead auto date/time tables included, as one change. Each line names
its object bytype,table, andname, with ripbi's id beside it; report measures and
bookmarks are comment lines. Needs atxwithrm --from.- Workspace-monitoring query logs (
--queries-from PATHonscananddeps, or
queries_frominripbi.toml): an export of Fabric workspace monitoring's
SemanticModelLogs(or Log Analytics'PowerBIDatasetsWorkspace)QueryEndevents
— CSV, JSON rows, a Kusto REST or Log Analytics query API response, plain,
gzipped, or zipped — makes every object a logged DAX or MDX
query names a reachability root, so what Excel pivots, thin reports, and XMLA
clients read stops being reported unused.ripbi deps --impactshows those objects
in aQueriedsection (how often, how many users, last seen, clients, reports) and
inqueriedplain records and a JSONqueriedarray;scan --jsoncounts them in
summary.queried. User names never reach the output. A workspace-wide export is
narrowed to the scanned model byItemName/ItemId(--queries-itemor
queries_itemwhen the service name differs), so another model's queries never
keep this one's objects alive; a log that does not identify the model is a
stale_stateskip notice, so--strictfails on it. A queried table keeps its
columns alive (a table expression returns every one), not its measures.
Changed
- Broken visual bindings name the visual and page as Power BI Desktop shows them:
the visual's type and literal title and the page's tab name, with the generated
IDs in parentheses —lineChart visual 'Sick leave %' (id '6caf…') on page 'Absence' (id 'b725…')instead of only the IDs. Human, Markdown and SARIF
output use the new phrase;scan --jsonadds it asbroken[].locationand
keepsprovenanceunchanged, so baselines still match. - Builds against
zip9. An archive member whose name cannot be read now fails
with an error instead of being skipped silently.
Downloads
- CLI: the
ripbi-<version>-<target>.zip/.tar.gzarchives containripbiandrib. - Desktop (experimental, Windows x64): use
ripbi-desktop-<version>-x86_64-pc-windows-msvc-setup.exefor the graphical interface. It shares this release's version and analysis engine.
The desktop installer is currently unsigned, so Windows may display an unknown-publisher or SmartScreen warning. It installs for the current user and downloads WebView2 if the runtime is missing (internet access required). Desktop updates are manual: download and run the installer from a newer release. ripbi update updates only the CLI.
sha256sums.txt covers both the CLI archives and desktop installer.
What's Changed
- Add workspace-monitoring query logs as consumers (--queries-from) by @bgarcevic in #169
- Neutralize a test comment and fix Clippy 1.99 lints by @bgarcevic in #174
- ci: automate releases with a release PR by @bgarcevic in #175
- ci: give Dependabot PRs conventional titles by @bgarcevic in #179
- build(deps): bump source-map-js from 1.2.1 to 1.2.2 in /desktop by @dependabot[bot] in #178
- build(deps): bump rustls from 0.23.44 to 0.23.45 by @dependabot[bot] in #177
- test: add Excel OLAP pivot fixtures for the upcoming xlsx ingest by @bgarcevic in #170
- build(deps): bump cargo dependencies and adapt to zip 9 by @bgarcevic in #181
- build(deps): bump the cargo-dependencies group across 1 directory with 2 updates by @dependabot[bot] in #182
- feat(scan): name visuals and pages as Power BI Desktop shows them in broken bindings by @bgarcevic in #183
- feat(scan): --emit tx-rm, findings as JSON Lines for tx rm --from by @bgarcevic in #184
- chore(release): prepare 0.9.0 by @github-actions[bot] in #176
New Contributors
- @github-actions[bot] made their first contribution in #176
Full Changelog: v0.8.1...v0.9.0