mckinsey/vizro
Vizro is a low-code toolkit for building high-quality data visualization apps.
30 Releases
Latest: yesterday
vizro-core-0.1.580.1.58Latest
🐛 Fixed
- Fix `AgGrid` raising an exception when the `dashGridOptions` is not specified. ([#1759](https://github.com/mckinsey/vizro/pull/1759))
- <a id='changelog-0.1.57'></a>
vizro-core-0.1.570.1.57
📋 Changed
- Allow mixed-type `options` and `value` in `vm.Checklist`, `vm.Dropdown` and `vm.RadioItems` selectors. ([#1733](https://github.com/mckinsey/vizro/pull/1733))
🐛 Fixed
- Fix tab content not rendering on first load. ([#1752](https://github.com/mckinsey/vizro/pull/1752))
- <a id='changelog-0.1.56'></a>
vizro-e2e-flow-0.1.7
✨ Added
- Add `example_ag_grid.py` reference to `dashboard-build` with canonical Vizro AG Grid patterns (drop-in `dash_ag_grid` factory and custom `@capture("ag_grid")`), plus explicit guidance on what to ignore: `vm.Table` / Dash DataTable, Plotly-as-table hacks, and JS-only AG Grid features. ([#1744](https://github.com/mckinsey/vizro/pull/1744))
- Add a `## Tables` section to `selecting-vizro-charts` so table-related guidance lives next to chart and KPI guidance. ([#1744](https://github.com/mckinsey/vizro/pull/1744))
- Add `assets/` folder to `dashboard-design` and `dashboard-build` skills, holding the 5 spec templates (`1_information_architecture.md`, `2_interaction_ux.md`, `3_visual_design.md`, `4_implementation.md`, `5_test_report.md`) per the Anthropic skill convention. ([#1744](https://github.com/mckinsey/vizro/pull/1744))
📋 Changed
- Migrate all 5 spec outputs from YAML to markdown. Templates ship in `assets/` and are copied into the project's `spec/` directory. The SKILL.md "REQUIRED OUTPUT" sections now point to the template files instead of embedding them inline. ([#1744](https://github.com/mckinsey/vizro/pull/1744))
- Strengthen Step 2 (Browser Testing) in `dashboard-build`: (1) Playwright install now uses `--with-deps chromium` so it works on slim Linux base images (Docker, CI runners, devcontainers) where the plain install fails at launch; (2) the testing flow is reframed as "batch errors, don't loop one-at-a-time" — collect all errors in a single walk, batch the fixes, restart the dashboard once, and re-walk. ([#1744](https://github.com/mckinsey/vizro/pull/1744))
- <a id='changelog-0.1.6'></a>
vizro-e2e-flow-0.1.6
✨ Added
- Add `wiring-vizro-actions` skill with 5 interaction patterns: Hierarchical Drill-Down, Single-Page Drill-Down, Comparison Spotlight, Multi-Dimensional Slice, and Data Export. ([#1737](https://github.com/mckinsey/vizro/pull/1737))
- <a id='changelog-0.1.5'></a>
vizro-core-0.1.560.1.56
📦 Highlights ✨
- The components compendium showcases all Vizro components and features in a single page, with graphics, GIFs and code to copy. See the [components compendium](https://vizro.readthedocs.io/en/stable/pages/components_compendium/). ([#1734](https://github.com/mckinsey/vizro/pull/1734))
- <a id='changelog-0.1.55'></a>
vizro-core-0.1.550.1.55
📦 Highlights ✨
- Custom actions can have notifications to show their status: in progress, success, error, and custom notifications based on action outcomes. See the [user guide on custom action notifications](https://vizro.readthedocs.io/en/stable/pages/user-guides/custom-actions/#notifications). ([#1574](https://github.com/mckinsey/vizro/pull/1574))
- Hierarchical/cascading filters: set `vm.Filter(column=["continent", "country"])` to filter by groups of options. See the [user guide on hierarchical filters](https://vizro.readthedocs.io/en/stable/pages/user-guides/filters/#hierarchical-filters). ([#1683](https://github.com/mckinsey/vizro/pull/1683))
✨ Added
- Introduce new `set_control` value options (`"cell"`, `"column"`, `"row"`) for accessing clicked cell data in AgGrid. See the [user guide on clicked cell AgGrid interactions](https://vizro.readthedocs.io/en/stable/pages/user-guides/graph-table-actions/#cross-filter-from-table). ([#1670](https://github.com/mckinsey/vizro/pull/1670))
- Add `vm.Cascader` hierarchical selector for `Filter` and `Parameter` controls. ([#1683](https://github.com/mckinsey/vizro/pull/1683))
- Enable use of `set_control` action with non-categorical selectors. ([#1684](https://github.com/mckinsey/vizro/pull/1684))
📋 Changed
- Align bundled Bootstrap CSS, Vizro CSS overrides, and default Plotly themes with updated design tokens. ([#1694](https://github.com/mckinsey/vizro/pull/1694))
- <a id='changelog-0.1.54'></a>
vizro-e2e-flow-0.1.5
✨ Added
- Add eval framework (`evals/evals.json`) with 3 business-first test cases, validation scripts (`validate_colors.py`, `validate_aggregation.py`), and Playwright Python fallback for browser testing. ([#1692](https://github.com/mckinsey/vizro/pull/1692))
📋 Changed
- Make Step 2 (Testing) in dashboard-build non-optional, strengthen pre-aggregation guidance, and add `vizro.plotly.express` import warning. ([#1692](https://github.com/mckinsey/vizro/pull/1692))
- <a id='changelog-0.1.4'></a>
vizro-core-0.1.540.1.54
✨ Added
- Add `ControlGroup` model for grouping page level controls. See the [user guide on `ControlGroup`](https://vizro.readthedocs.io/en/stable/pages/user-guides/controls/#group-controls). ([#1660](https://github.com/mckinsey/vizro/pull/1660))
🐛 Fixed
- Fix `vm.Container` titles hidden under tabs. ([#1671](https://github.com/mckinsey/vizro/pull/1671))
- <a id='changelog-0.1.53'></a>
vizro-dash-components-0.1.1
✨ Added
- Add `Cascader` hierarchical dropdown component supporting single-select and multi-select with cascading side-by-side panels. ([#1673](https://github.com/mckinsey/vizro/pull/1673/))
- <a id='changelog-0.1.0'></a>
vizro-core-0.1.530.1.53
✨ Added
- Add `position` argument to `vm.NavBar` model to enable horizontal navigation. See the [user guide on horizontal navigation](https://vizro.readthedocs.io/en/stable/pages/user-guides/navigation/#use-a-horizontal-navigation-bar). ([#1576](https://github.com/mckinsey/vizro/pull/1576))
- Add new sequential palettes (positive, negative, warning) and diverging color scales to themes. See the [API reference](https://vizro.readthedocs.io/en/stable/pages/API-reference/themes/#vizro.themes) for all available palettes and colors. ([#1655](https://github.com/mckinsey/vizro/pull/1655))
📋 Changed
- Extend global Mantine theme so that DMC-based custom components better match Vizro's theme. ([#1623](https://github.com/mckinsey/vizro/pull/1623))
- Update waterfall increase/decrease/total colors and KPI positive/negative indicator colors. ([#1650](https://github.com/mckinsey/vizro/pull/1650))
- <a id='changelog-0.1.52'></a>
vizro-dash-components-0.1.0
✨ Added
- Initial release of vizro-dash-components (`vdc`) with `Markdown` component: a clone of `dcc.Markdown` that uses `dmc.CodeHighlight` and `dmc.InlineCodeHighlight`. ([#1571](https://github.com/mckinsey/vizro/pull/1571))
vizro-core-0.1.520.1.52
📦 Highlights ✨
- Refreshed, colorblind-safe palettes for charts and an interface for accessing them via `vizro.themes`. See the [themes user guide](https://vizro.readthedocs.io/en/stable/pages/user-guides/themes/#palettes) and [API reference](https://vizro.readthedocs.io/en/stable/pages/API-reference/themes/) for details. ([#1482](https://github.com/mckinsey/vizro/pull/1482))
✨ Added
- Add `extra` argument to `Flex` model to enable passing additional properties (e.g., `justify`, `align`) to the underlying `dmc.Flex` component. ([#1561](https://github.com/mckinsey/vizro/pull/1561))
- Export png button in modebar inside `Graph`. ([#1566](https://github.com/mckinsey/vizro/pull/1566))
- Enable styling of `vm.Dropdown` with a new argument `variant="plain"/"filled"`. See the [user guide on styled dropdowns](https://vizro.readthedocs.io/en/stable/pages/user-guides/selectors/#styled-dropdown) for more details. ([#1581](https://github.com/mckinsey/vizro/pull/1581))
📋 Changed
- Add support for `dash>=4.0.0`, including the redesigned `Dropdown`, `Slider`, and `RangeSlider` components. ([#1462](https://github.com/mckinsey/vizro/pull/1462))
- Switch `Flex` model implementation from Bootstrap-based `html.Div` to [`dmc.Flex`](https://www.dash-mantine-components.com/components/flex). ([#1561](https://github.com/mckinsey/vizro/pull/1561))
- Migrated AG Grid to use new theming API v33 for improved theme consistency and customization. ([#1569](https://github.com/mckinsey/vizro/pull/1569))
- Chart backgrounds are no longer transparent. ([#1566](https://github.com/mckinsey/vizro/pull/1566))
🐛 Fixed
- Fix theme-specific logo visibility when using `logo_dark` and `logo_light` assets. ([#1559](https://github.com/mckinsey/vizro/pull/1559))
- <a id='changelog-0.1.51'></a>
vizro-e2e-flow-0.1.2
📋 Changed
- Add instruction for Cursor setup. ([#1580](https://github.com/mckinsey/vizro/pull/1580)) <a id='changelog-0.1.1'></a>
vizro-mcp-0.1.4
✨ Added
- Add support for Python 3.14. ([#1484](https://github.com/mckinsey/vizro/pull/1484))
📋 Changed
- Simplified MCP prompts by removing opinionated layout instructions to make the tool more neutral. ([#1535](https://github.com/mckinsey/vizro/pull/1535)) <a id='changelog-0.1.3'></a>
vizro-ai-0.4.0
📦 Highlights ✨
- Complete rewrite of Vizro-AI. It is now based on Pydantic AI and supports async execution, streaming, dependency injection, and integration with the A2A protocol. See the [docs](https://vizro.readthedocs.io/projects/vizro-ai/en/latest/) for more details and a [migration guide for versions prior to `0.4.0`](https://vizro.readthedocs.io/projects/vizro-ai/en/latest/pages/explanation/faq/#migration-guide-for-versions-prior-to-040). ([#1533](https://github.com/mckinsey/vizro/pull/1533))
- <a id='changelog-0.3.8'></a>
vizro-core-0.1.510.1.51
📋 Changed
- Simplify chart UI when graph is not an action trigger. ([#1544](https://github.com/mckinsey/vizro/pull/1544))
- Hide all internal Vizro callbacks in the Dash dev tools callback graph. ([#1502](https://github.com/mckinsey/vizro/pull/1502))
🐛 Fixed
- Fix `rowSelection` checkboxes for custom AgGrid with `actions`. ([#1539](https://github.com/mckinsey/vizro/pull/1539))
- <a id='changelog-0.1.50'></a>
vizro-e2e-flow-0.1.1
🐛 Fixed
- Stronger guidance to model to not use custom charts as KPI cards. ([#1553](https://github.com/mckinsey/vizro/pull/1553))
vizro-e2e-flow-0.1.0
✨ Added
- Initial release of vizro-e2e-flow Claude Code plugin with `dashboard-design` and `dashboard-build` Agent Skills. ([#1481](https://github.com/mckinsey/vizro/pull/1481))
vizro-ai-0.3.8
🗑️ Removed
- Remove `dashboard_ui` example. ([#1332](https://github.com/mckinsey/vizro/pull/1332))
- Drop support for Python 3.9. ([#1484](https://github.com/mckinsey/vizro/pull/1484))
- Drop support for Python 3.14 until dependencies are updated. ([#1529](https://github.com/mckinsey/vizro/pull/1529))
- <a id='changelog-0.3.7'></a>
vizro-core-0.1.500.1.50
📦 Highlights ✨
- Add `show_notification` and `update_notification` actions to display notification messages to users. Notifications can be customized with different variants, icons, and timing, and can be triggered by, for example, buttons, graphs, or cards. See the [notification actions user guide](../user-guides/notification-actions.md) for details. ([#1496](https://github.com/mckinsey/vizro/pull/1496))
- Multi-select controls can now be updated by the `set_control` action. For example, you can set controls by using lasso select on a graph or selecting multiple rows on a table. ([#1515](https://github.com/mckinsey/vizro/pull/1515))
📋 Changed
- Set `clickmode="event+select"` as the default for all charts in a dashboard, enabling point/data highlighting on click. ([#1515](https://github.com/mckinsey/vizro/pull/1515))
- <a id='changelog-0.1.49'></a>
vizro-core-0.1.490.1.49
🗑️ Removed
- Drop support for Python 3.9. ([#1484](https://github.com/mckinsey/vizro/pull/1484))
✨ Added
- Add support for Python 3.14. ([#1484](https://github.com/mckinsey/vizro/pull/1484))
📋 Changed
- Add support for `kedro>=1.0.0` and bump optional dependency lower bound to `kedro>=0.19.9`. ([#1493](https://github.com/mckinsey/vizro/pull/1493))
- `project_path` is no longer a required argument for Kedro integration functions `catalog_from_project` and `pipelines_from_project` when your Vizro app is inside the Kedro project. ([#1493](https://github.com/mckinsey/vizro/pull/1493))
🐛 Fixed
- Set minimum width for graphs inside a flex layout. ([#1495](https://github.com/mckinsey/vizro/pull/1495))
- Fix regression that prevented custom controls being nested arbitrarily deep inside `Page.controls` and `Container.controls`. ([#1508](https://github.com/mckinsey/vizro/pull/1508))
- <a id='changelog-0.1.48'></a>
vizro-core-0.1.480.1.48
🐛 Fixed
- Fix graph rendering bug in flex layouts. ([#1487](https://github.com/mckinsey/vizro/pull/1487))
- <a id='changelog-0.1.47'></a>
vizro-core-0.1.470.1.47
✨ Added
- Allow hiding `Filter` and `Parameter` by setting `visible=False`. ([#1428](https://github.com/mckinsey/vizro/pull/1428))
- Add a reset button by default, allowing users to restore all page controls to their default values. ([#1437](https://github.com/mckinsey/vizro/pull/1437))
- Add support for `header`, `description` and `footer` in `Card` for more flexible styling. See our user guide on [Cards](https://vizro.readthedocs.io/en/stable/pages/user-guides/card/#add-header-and-footer) for an example. ([#1443](https://github.com/mckinsey/vizro/pull/1443))
- Make `Card` clickable to trigger actions (e.g. clicking the `Card` to filter another chart). See our user guide on [Actions](<(https://vizro.readthedocs.io/en/stable/pages/user-guides/actions/#trigger-an-action-with-a-card)>) for an example. ([#1443](https://github.com/mckinsey/vizro/pull/1443))
- Make `Figure` clickable to trigger actions (e.g. clicking the `kpi_card` to filter another chart). ([#1439](https://github.com/mckinsey/vizro/pull/1439))
- `Card` can be the source of a `set_control` action. ([#1443](https://github.com/mckinsey/vizro/pull/1443))
- `Figure` can be the source of a `set_control` action. ([#1439](https://github.com/mckinsey/vizro/pull/1439))
- `Button` can be the source of a `set_control` action. ([#1441](https://github.com/mckinsey/vizro/pull/1441))
🐛 Fixed
- Fix dynamic filters to correctly handle year values (e.g. 1995).([#1450](https://github.com/mckinsey/vizro/pull/1450))
- <a id='changelog-0.1.46'></a>
vizro-mcp-0.1.3
✨ Added
- Added ability to use KPI cards in `Figure`. ([#1392](https://github.com/mckinsey/vizro/pull/1392))
📋 Changed
- Updated Layout prompting for better Layout performance of the MCP server. ([#1405](https://github.com/mckinsey/vizro/pull/1405))
- Updated Vizro version to >=0.1.46. ([#1423](https://github.com/mckinsey/vizro/pull/1423))
🐛 Fixed
- Added tool parameter descriptions to Field definition instead of docstring so that they display properly in hosts like Cursor. ([#1374](https://github.com/mckinsey/vizro/pull/1374)) <a id='changelog-0.1.2'></a>
vizro-core-0.1.460.1.46
📦 Highlights ✨
- Introduce `set_control` action to enable much more powerful and flexible graph and table interactions such as cross-filtering and cross-highlighting. See the [user guide on graph and table interactions](https://vizro.readthedocs.io/en/stable/pages/user-guides/graph-table-actions/) for more information. ([#1373](https://github.com/mckinsey/vizro/pull/1373))
✨ Added
- Add support for any Bootstrap theme via, for example, `Vizro(external_stylesheets=[dbc.themes.BOOTSTRAP])`. ([#1244](https://github.com/mckinsey/vizro/pull/1244))
- A control's `selector` can be used as an action input or output by referring to the parent control's `id`. ([#1366](https://github.com/mckinsey/vizro/pull/1366))
📋 Changed
- Make the logo clickable so it redirects to the homepage. ([#1393](https://github.com/mckinsey/vizro/pull/1393))
- NavBar no longer collapses with the left side panel. ([#1394](https://github.com/mckinsey/vizro/pull/1394))
🗑️ Deprecated
- Deprecate `va.filter_interaction` in favor of new `va.set_control` action. ([#1379](https://github.com/mckinsey/vizro/pull/1379))
🐛 Fixed
- Fix `VizroBaseModel._to_python()` to include `vizro.figures` in the imports. ([#1391](https://github.com/mckinsey/vizro/pull/1391))
- <a id='changelog-0.1.45'></a>
vizro-core-0.1.450.1.45
📦 Highlights ✨
- New syntax for attaching custom actions: you should now specify runtime inputs directly in the function call as `vm.Action(function=action_function("dropdown_id"))`. See the new [tutorial on custom actions](https://vizro.readthedocs.io/en/stable/pages/user-guides/custom-actions/) for more information. ([#1054](https://github.com/mckinsey/vizro/pull/1054))
- New syntax for attaching built-in actions: you should now specify `actions=va.export_data()` instead of `actions=vm.Action(function=va.export_data())`. ([#1054](https://github.com/mckinsey/vizro/pull/1054))
✨ Added
- Custom action inputs and outputs can directly refer to models, for example `vm.Action(function=update_text("my_selector"), outputs="my_text")`. ([#1153](https://github.com/mckinsey/vizro/pull/1153))
- Custom action inputs and outputs can directly refer to model fields, for example `outputs="my_graph.header"`. ([#1178](https://github.com/mckinsey/vizro/pull/1178))
- Custom actions can now return a dictionary to make it easier to handle actions with many return values. ([#1143](https://github.com/mckinsey/vizro/pull/1143))
- Enable passing a single action to the `actions` argument without nesting it in a list. You can now specify `actions=vm.Action(...)` instead of `actions=[vm.Action(...)]`. ([#1328](https://github.com/mckinsey/vizro/pull/1328))
- Enable passing a single output to the `Action` model without nesting it in a list. You can now specify `outputs="component_id.property"` instead of `outputs=["component_id.property"]`. ([#1334](https://github.com/mckinsey/vizro/pull/1334))
- Add `icon` argument to `vm.Button`, enabling any icon from the [Google Material Icons library](https://fonts.google.com/icons) to be displayed inside the `vm.Button`. This also enables circular buttons with only an icon. ([#1341](https://github.com/mckinsey/vizro/pull/1341))
- Add global progress indicator next to theme switch that shows when actions are running. ([#1352](https://github.com/mckinsey/vizro/pull/1352))
📋 Changed
- All built-in actions are now Pydantic models and hence validate arguments, exist in the Vizro schema, and can be subclassed. ([#1054](https://github.com/mckinsey/vizro/pull/1054))
- Page ID is now set independently from the page title. You can refer to a page in navigation by ID or title. ([#1339](https://github.com/mckinsey/vizro/pull/1339))
🗑️ Deprecated
- The `inputs` argument of the `vm.Action` model is deprecated. Pass references to runtime inputs directly as arguments of `function`. ([#1377](https://github.com/mckinsey/vizro/pull/1377))
- Passing a static argument to a custom action is deprecated. All arguments must instead be runtime inputs. ([#1377](https://github.com/mckinsey/vizro/pull/1377))
- Deprecate old syntax for attaching built-in actions using `vm.Action`. ([#1377](https://github.com/mckinsey/vizro/pull/1377))
- <a id='changelog-0.1.44'></a>
vizro-core-0.1.440.1.44
✨ Added
- Add `show_select_all` argument to `vm.Checklist` so that users can remove 'Select All' option. ([#1283](https://github.com/mckinsey/vizro/pull/1283))
- Add `vm.Switch` model as a new selector for `Filter` and `Parameter`. ([#1286](https://github.com/mckinsey/vizro/pull/1286))
📋 Changed
- Make the left navigation panel narrower (from 324px to 280px) to give more space to dashboard content. ([#1277](https://github.com/mckinsey/vizro/pull/1277))
🐛 Fixed
- Fix the `Dropdown` filter so it keeps its value after refreshing the page when it targets a figure that uses dynamic data. ([#1280](https://github.com/mckinsey/vizro/pull/1280))
- Improve AgGrid column sizing behavior by removing `flex` from default column options and setting `columnSize: "responsiveSizeToFit"` as the default, ensuring columns automatically adjust to fit their content. ([#1986](https://github.com/mckinsey/vizro/pull/1986))
- <a id='changelog-0.1.43'></a>
vizro-core-0.1.430.1.43
📦 Highlights ✨
- Introduce the "Select All" option for `Checklist` and multi-select `Dropdown`. Easily select or deselect all options with a single click within the selector. ([#1000](https://github.com/mckinsey/vizro/pull/1000))
- The current state of controls on a page in your app can be shared by sharing its URL. Set `show_in_url=True` in `Filter` and `Parameter` to include their values in the URL. See the [user guide on filters](https://vizro.readthedocs.io/en/stable/pages/user-guides/filters/#show-in-url) for more information. ([#1243](https://github.com/mckinsey/vizro/pull/1243))
🗑️ Removed
- Simplified the `left-side` container by removing the extra `left-sidebar` and `left-main` containers. The left-side now directly uses `nav-bar` and `nav-control-panel` as its children. ([#1268](https://github.com/mckinsey/vizro/pull/1268))
✨ Added
- Add `custom_header` static method to `Dashboard`, allowing users to inject custom Dash components into a dedicated area of the dashboard header. See the [user guide](https://vizro.readthedocs.io/en/stable/pages/user-guides/dashboard/#customize-the-header) for details. ([#1267](https://github.com/mckinsey/vizro/pull/1267))
- Emit a warning in all models when `description` is set but `title` is missing or empty. ([#1275](https://github.com/mckinsey/vizro/pull/1275))
📋 Changed
- Update several header class names for improved clarity and consistency. ([#1267](https://github.com/mckinsey/vizro/pull/1267))
- <a id='changelog-0.1.42'></a>
vizro-mcp-0.1.2
✨ Added
- Add Dockerfile for Vizro MCP server to enable containerized local setup. ([#1184](https://github.com/mckinsey/vizro/pull/1184))
- Add capability to create custom charts (beyond Plotly Express) with Vizro-MCP. ([#1227](https://github.com/mckinsey/vizro/pull/1227))
📋 Changed
- Update Vizro version to `>=0.1.42`. ([#1227](https://github.com/mckinsey/vizro/pull/1227))
- Improve usability of MCP server in IDE environments like Cursor. ([#1227](https://github.com/mckinsey/vizro/pull/1227))
- <a id='changelog-0.1.1'></a>
vizro-core-0.1.420.1.42
✨ Added
- yaml/json configurations can specify `_target_` functions with any import path rather than being restricted to built-in Vizro functions. ([#1255](https://github.com/mckinsey/vizro/pull/1255))
- Add option to validate yaml/json configurations without importing `CapturedCallable` functions. See [the user guide on extensions](https://vizro.readthedocs.io/en/stable/pages/user-guides/extensions/) for more details. ([#1255](https://github.com/mckinsey/vizro/pull/1255))
🐛 Fixed
- Temporarily limit the upper bound of `dash` to `<3.1.0` to investigate [a bug in `dash==3.1.0`](https://github.com/plotly/dash/issues/3349). ([#1259](https://github.com/mckinsey/vizro/pull/1259))
- <a id='changelog-0.1.41'></a>
