Releases: marimo-team/marimo
0.8.6
What's Changed
- fix: handle escaped table names in SQL statements by @mscolnick in #2161
- chore: reorganize examples by @akshayka in #2162
- improve: deploying docs by @akshayka in #2163
- examples: cleanup marimo-widget examples by @mscolnick in #2164
- fix: fix column summaries to include filters by @mscolnick in #2165
- fix: import matplotlib.style explicitly by @akshayka in #2166
- 0.8.6 by @akshayka in #2167
Full Changelog: 0.8.5...0.8.6
0.8.5
What's Changed
Highlights
SQL Reactivity! ⚡🛢 This release adds reactivity across SQL cells. When you run a cell that creates a table or view, or attaches a schema, cells that refer to the table, view, or schema are marked as stale. When you delete a cell, any in-memory tables/views are dropped and schemas are detached, and SQL cells referring to them are invalidated.
All changes
- fix: admonition to display contents vertically by @mscolnick in #2150
- feat: add anthropic support by @mscolnick in #2147
- marimo.app_meta.theme and custom themers to auto switch plotting themes based on the display theme by @metaboulie in #2126
- fix #2139: disable heading detection for carousel, accordion and tabs by @metaboulie in #2154
- fix: islands render_html() head needs marimo tags by @akshayka in #2156
- improvement: open the tutorials from the homepage by @mscolnick in #2157
- improvement: parse sql CREATE table names by @mscolnick @akshayka in #2031
- fix: mo.ui.dataframe don't infer data types, use backend data types by @mscolnick in #2155
- fix: fix browser freezing when rendering large dataframes by @mscolnick in #2159
- 0.8.5 by @akshayka in #2160
Full Changelog: 0.8.4...0.8.5
0.8.4
What's Changed
This release rides on the coattails of the uv package manager to introduce exciting new features related to package reproducibility!
With this release, it's now possible to create standalone notebook files that have package requirements embedded in them as a comment, using PEP 723's inline metadata! marimo can generate these requirements for you and even start notebooks in isolated virtual environments.
These features are only possible because unlike Jupyter notebooks, marimo notebooks are stored as pure Python files, letting them take advantage of the exciting new developments in the Python ecosystem such as uv
and PEP 723.
Highlights
📦 Automatic tracking of packages used by notebooks. marimo can now automatically serialize package dependencies in notebook files as inline script metadata, generating a comment header that looks something like this:
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "pandas",
# "altair",
# ]
# ///
This lets you create standalone notebook files that have their package requirements serialized in them.
Enable package tracking in the notebook settings:
Note: This feature requires uv
.
🚀 Run marimo notebooks in package sandboxes. Use
marimo edit --sandbox notebook.py
to edit a Python notebook in a completely isolated virtual environment! This increases reproducibility and helps prevent environment pollution. If your notebook has inline script metadata, marimo will automatically install the enumerated packages before running the notebook; if it doesn't, marimo will prompt you to install the missing packages on notebook startup.
This exciting new workflow is only made possible thanks to uv
, which is blazingly fast.
Other improvements
- You can now customize marimo CSS; customization is limited today but will grow over time.
- Dataframe rows are now paginated server-side, improving performance of notebooks that output alrge dataframes.
- ANSI color support is now available in stderr.
- A dedicated "stop" button has been added to the marimo editor, making interrupting cell execution more reliable (no more accidentally running a cell after interrupting it).
All changes
- improve: Enable ANSI support in stderr by @wasimsandhu in #2110
- fix: publish docker containers for arm64 (mac compat) by @mscolnick in #2111
- chore: add biome-lint to remove unused imports by @mscolnick in #2116
- chore: enable more biome rules by @mscolnick in #2117
- improvement: paginate mo.ui.table rows (server-side rows) by @mscolnick in #2115
- docs: pre-built containers by @mscolnick in #2118
- improvement: split run and stop buttons by @akshayka in #2119
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2121
- feat(mo.ui.table): Freeze table columns by @wasimsandhu in #2122
- fix: Show outputs below in HTML export if configured by @mscolnick in #2129
- fix: add bokeh theme color to iframe background by @mscolnick in #2128
- feat: custom css by @mscolnick in #2120
- fix: catch/log oserror by @akshayka in #2131
- fix: consolidate shadows to be easily overriden by @mscolnick in #2130
- feat: configure auto-add script metadata to notebook file, when using uv by @mscolnick in #2102
- feat: marimo edit --sandbox nb.py by @mscolnick in #2134
- docs: --sandbox by @mscolnick in #2136
- docs: add package management to toc by @akshayka in #2135
- smoke-tests: for theming different libraries by @mscolnick in #2145
- 0.8.4 by @akshayka in #2149
Full Changelog: 0.8.3...0.8.4
0.8.3
What's Changed
Fixes and quality-of-life improvements.
- fix: switching between copilot and codium by @mscolnick in #2094
- fix: auto-grow text input for dataframe sql name by @mscolnick in #2096
- fix: macOS logging by @akshayka in #2095
- chore: more debug logging in kernel by @akshayka in #2097
- example: add great_tables by @mscolnick in #2099
- fix: anywidget reactivity by @mscolnick in #2104
- improvement: support dict in mo.ui.table by @mscolnick in #2098
- fix: don't import tomlkit top-level by @akshayka in #2103
- improvement: support polars filtering in altair by @mscolnick in #2108
- improve: Python-like values in JSON outputs by @akshayka in #2105
- 0.8.3 by @akshayka in #2109
Full Changelog: 0.8.2...0.8.3
0.8.2
What's Changed
- chore: profile kernel execution by @akshayka in #2088
- fix: don't include trailing quotes in completions by @akshayka in #2089
- feat: supports tooltips with data-tooltip attribute by @mscolnick in #2086
- fix: altair_chart() on dataframes with >5k rows by @akshayka in #2091
- 0.8.2 by @akshayka in #2093
Full Changelog: 0.8.1...0.8.2
0.8.1
What's Changed
Quality-of-life improvements and bug fixes ~
- fix(mo.ui.dataframe): Apply previous transforms on dataframe change by @wasimsandhu in #2041
- docs railway by @mscolnick in #2039
- experimetanl: release marimo docker containers to gcr.io by @mscolnick in #2040
- Create README_Chinese.md. by @OOAAHH in #2044
- feat(mo.ui.dataframe): Explode columns and expand dictionaries by @wasimsandhu in #2042
- tests: followup tests handlers.py, cells.test.ts by @mscolnick in #2046
- example: motherduck by @mscolnick in #2045
- some changes for the Chinese README by @metaboulie in #2048
- Fix#2035 by @metaboulie in #2047
- fix: bar chart x-scale for boolean column preview by @akshayka in #2054
- fix: sync anywidget python back to frontend by @mscolnick in #2055
- fix(deps): update all non-major dependencies by @renovate in #2053
- chore(deps): update dependency openapi-typescript to v7 by @renovate in #2056
- chore(deps): update dependency pytest to v8 by @renovate in #2057
- fix: slides styling on latex by @mscolnick in #2064
- development: marimo development inline-packages by @mscolnick in #2061
- improvement: toast user for new marimo versions by @mscolnick in #2066
- feature: queue stack on the left side-bar by @mscolnick in #2069
- Update README.md highlights by @akshayka in #2071
- update docs highlights by @akshayka in #2072
- feat: user config for dataframe viewer by @akshayka in #2067
- Update README_Chinese.md highlights by @metaboulie in #2075
- tests: run more smoke tests in CI by @mscolnick in #2058
- improvement: color functions in theme, bold keywords by @mscolnick in #2076
- add uv instructions to docs by @akshayka in #2077
- Update dropdown.md to show of dict options and selected_key by @ggggggggg in #2079
- increase code editor max font size by @akshayka in #2082
- chore: add internal tracing for debugging by @mscolnick in #2074
- Add formatter for lets-plot figures. by @alshan in #2084
- 0.8.1 by @akshayka in #2085
New Contributors
- @OOAAHH made their first contribution in #2044
- @ggggggggg made their first contribution in #2079
- @alshan made their first contribution in #2084
Full Changelog: 0.8.0...0.8.1
0.8.0
What's Changed
Highlights
🏃 Fewer cell re-runs when importing modules. In version 0.8.0, marimo minimizes cell re-runs when importing modules: if you incrementally add imports to the same cell, only cells depending on the newly imported modules will run. This means that you can now collect all your imports in a single cell without having to worry about marimo running cells unrelated to the new imports. Learn more here: #1955
👌 Quality-of-life improvements. Toggle presentation view from the notebook menu; use Meta+z
to undo cell deletion; faster table loads for large tables; create files and folders from the file explorer; undo splitting cells; and more!
All changes
- feat: import cells by @akshayka in #1955
- fix typo by @akshayka in #2014
- improvement: add Presentation toggling to menu dropdown, allow forcing slides by URL query param by @mscolnick in #2010
- chore: upgrade codemirror by @mscolnick in #2011
- [doc] missing word by @majidaldo in #2013
- fix: cache reducer action creation by @mscolnick in #2020
- improvement: bind meta-z to undo toast by @mscolnick in #2021
- fix: altair geo charts: don't use custom transformers and don't enable selection by @mscolnick in #2015
- fix: add bool method to UIElement to handle truth value by @mscolnick in #2025
- try fix flaky test by @akshayka in #2027
- improvement: add CreateFile and CreateFolder to file explorer by @mscolnick in #2024
- improvement: Render URLs in tables as hyperlinks by @mscolnick in #2026
- improve: Undo split cells via toast by @wasimsandhu in #2018
- fix: Undo split cell with code snapshot by @wasimsandhu in #2030
- improvement: reduce payload of version check from pypi by @mscolnick in #2032
- fix(mo.ui.table): implement row count limit on column summaries; various bug fixes by @mutongx in #2017
- fix: skip update checks in ci by @mscolnick in #2034
- 0.8.0 by @akshayka in #2036
New Contributors
- @majidaldo made their first contribution in #2013
Full Changelog: 0.7.20...0.8.0
0.7.20
What's Changed
Highlights
Redirect console logs to the browser console in marimo run
: Use marimo run notebook.py --redirect-console-to-browser
to redirect console logs to the browser console, which can help in debugging.
Support for altair 5.4.0
. Accommodate a breaking change in Altair 5.4.0
.
Return to notebook directory page. If marimo was launched with marimo edit
, the notebook menu will now include an option that lets you return to the notebook directory with one click.
All changes
- fix: reenabling module watcher by @akshayka in #1978
- Fix #1403: Redirecting Error Messages by @metaboulie in #1981
- test: check that certain globals are populated in execution context by @dmadisetti in #1989
- add substrate example by @akshayka in #1990
- Fix: disable transitively status by @akshayka in #1992
- Update tutorials by @akshayka in #1996
- feat/fix: reactive filename/ fallback for file by @dmadisetti in #1991
- fix: duckdb lowerbound by @akshayka in #1998
- chore(deps): update dependency typescript to ^5.5.4 by @renovate in #1934
- chore(deps): update all storybook dependencies to ^8.2.8 by @renovate in #1938
- improve: Home button in notebook menu by @wasimsandhu in #1997
- improvement: cleanup markdown, use prose (try 2) by @mscolnick in #2003
- fix: fix altair api break, cleanup DependencyManager by @mscolnick in #2006
- fix: don't autorun on rename when runtime is lazy by @akshayka in #1999
- 0.7.20 by @akshayka in #2007
Full Changelog: 0.7.19...0.7.20
0.7.19
0.7.18
What's Changed
- You can now skip the marimo upgrade check in the CLI
mo.image()
now expands user directories in paths
- feat: support skipping update check in
marimo edit
by @mutongx in #1948 - fix: gap between cells for wasm by @akshayka in #1957
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1956
- fix link by @akshayka in #1961
- Editing pass over our guides by @akshayka in #1965
- fix: expand user for mo.image() by @akshayka in #1968
- optional email in feedback form by @akshayka in #1966
- update anywidget docs by @akshayka in #1969
- docs: update CLI run by @akshayka in #1970
- docs md editor by @akshayka in #1972
- 0.7.18 by @akshayka in #1973
Full Changelog: 0.7.17...0.7.18