- _find_pbi_window_pywin32: also match by PBIDesktop.exe process name so
newer Desktop versions that title windows with just the report name are
found correctly
- _try_pywin32: return None (not an error dict) when window is not found,
so reload_desktop() falls through to the PowerShell fallback as intended
- bump version to 3.10.7; sync __init__.py (was stale at 3.10.5)
- visual bind: remove legacy Commands/SemanticQueryDataShapeCommand block
(PBIR 2.7.0 uses additionalProperties:false -- Commands is a hard schema error)
- visual bind: add active:true to column (category/row/detail) projections
so Desktop treats the field as the active axis
- visual add: remove empty "objects:{}" from all 32 visual templates
(noisy and rejected by strict schema validators)
- visual add: write position coordinates as integers not floats
(Desktop normalises to int; 320.0 vs 320 caused inconsistency)
- report set-background: always write transparency:0 alongside color
(Desktop defaults missing transparency to 100 = fully invisible)
- report validate: drop false-positive layoutOptimization required error
(real Microsoft 3.2.0 schema does not require this field)
- all write commands: add --no-sync flag to report/visual/filters/bookmarks
groups to suppress per-command Desktop reload during scripted builds;
use pbi report reload for a single sync at the end
Remove the VIBE BI block-art header and marketing branding that was
added to all 17 assets in v3.10.3. Restore each SVG to its original
content focused on the feature it illustrates (chat demo, DAX
debugging, architecture flow, etc.) without the promotional overlay.
Remove marketing/ directory (51 files) and 19 unused asset files
that are not referenced in README.md from git tracking. Update
.gitignore to prevent re-adding them.
Only the 17 SVGs actually used in README are now tracked in assets/.
## Claude Code integration now fully opt-in (Fix 3)
- `pbi connect` no longer writes to ~/.claude/ automatically
- New `pbi-cli` entry point: `pbi-cli skills install/uninstall/list`
- `pbi-cli skills install` shows exact paths before writing and requires y/N confirmation
- `pbi connect` prints a one-line tip if skills are not yet installed
- `pbi skills` subgroup removed from the `pbi` entry point
## DLL licensing compliance (Fix 1)
- pyproject.toml updated to PEP 639 SPDX dual expression:
MIT AND LicenseRef-Microsoft-AS-Client-Libraries
- license-files declaration: LICENSE, THIRD_PARTY_LICENSES.md, NOTICE
- THIRD_PARTY_LICENSES.md: full verbatim MS Analysis Services Client Libraries EULA
- NOTICE: short-form attribution for wheel redistribution
- src/pbi_cli/dlls/README.md: in-directory sentinel for the MS DLLs
- setuptools requirement bumped to >=77.0 for PEP 639 support
## SECURITY.md rewrite (Fix 2)
- Supported versions table updated to 3.10.x
- Architecture section: no MCP server, no subprocess, direct pythonnet interop
- Global Configuration Modifications section updated to reflect opt-in model
- Bundled Binaries section references THIRD_PARTY_LICENSES.md
## Documentation
- README.md, README.pypi.md: corrected 3-step setup flow
- CHANGELOG.md: [3.10.3] entry
- CONTRIBUTING.md: pbi skills -> pbi-cli skills
- All 7 semantic model SKILL.md files: prerequisites updated to 3-step flow
- New SVG/PNG marketing and documentation assets
AI-generated ad-quality PNG for v3.10.1 release showing the evolution
from Vibe Modeling to VIBE BI with Claude Code, PBI-CLI, and Power BI
flow, stats, install CTA, and project URLs.
Print success message for skills and CLAUDE.md injection before
auto-discovery, so users see what succeeded even if Power BI Desktop
is not running. Bump version to 3.10.1.
Add 4 new SVG assets (layers, commands, stats, workflow) with drawn
icons, block art, and dark GitHub theme. Enhance banner and before-after
with visual redesigns. Update README to reference layers.svg and stats.svg.
- visual-types.svg: grid of 18 visual types with mini icons across 3 rows
(charts, cards/KPIs/tables, slicers/maps/decorative) + list of 14 more
- report-workflow.svg: 6-step flow (scaffold, pages, visuals, bind, theme, validate)
- chat-demo-report.svg: Claude chat example showing report commands in action