Releases: marimo-team/marimo
0.8.12
What's Changed
Improvements to GitHub Copilot, marimo slides, and other quality-of-life fixes.
All changes
- chore: silence py312 warning by @akshayka in #2226
- fix: add disabled param to mo.status.progress_bar by @metaboulie in #2235
- Auto apply theme to mo.ui.data_explorer based on the notebook display theme by @mscolnick in #2233
- fix: accordion max-width styling by @mscolnick in #2234
- chore: remove to_pandas in polars example by @akshayka in #2236
- feat: Create notebook copies by @wasimsandhu in #2227
- chore: workaround runtime warning in pandas table column summary by @akshayka in #2238
- fix: trim copilot prefix and suffix based on the response position and existing code by @mscolnick in #2239
- improvement: add Copilot icon to the footer and show loading state by @mscolnick in #2240
- chore: split up test workflow so they only run when changed by @mscolnick in #2241
- fix: empty tables total rows by @akshayka in #2244
- improvement: add typoegraphy setting for slides by @mscolnick in #2247
- 0.8.12 by @akshayka in #2248
Full Changelog: 0.8.11...0.8.12
0.8.11
What's Changed
This release adds --sandbox
as a flag to marimo new
, meaning you can create empty notebooks with sandboxed venvs from the CLI
marimo new --sandbox
This can be helpful when using marimo as a scratchpad.
To learn more about the sandbox feature, view our docs
Full Changelog: 0.8.10...0.8.11
0.8.10
What's Changed
🐞🔨
- fix: upgrade cmd-k to fix html query selector bug crash by @mscolnick in #2213
- fix: fix theme in ai assit editor by @mscolnick in #2212
- fix: pyarrow stubs by @akshayka in #2219
- fix: check for None max_rows from pandas series when formatting by @mscolnick in #2215
- fix: allow backslashes in app config (file format) by @akshayka in #2209
- 0.8.10 by @akshayka in #2222
Full Changelog: 0.8.9...0.8.10
0.8.9
What's Changed
- Update docs for ai features by @akshayka in #2201
- improvement: show mo.ui.table() first results from initial data by @mscolnick in #2204
- improvement: catch errors when applying themes by @mscolnick in #2205
- fix: file handling when directory does not exist by @akshayka in #2206
- improvement: show polars python code and ibis sql code in mo.ui.dataframe by @mscolnick in #2203
- fix: test_file_manager assertions by @akshayka in #2207
- 0.8.9 by @akshayka in #2208
Full Changelog: 0.8.8...0.8.9
0.8.8
What's Changed
Highlights
🤖🛢 An AI assistant that knows your dataframe/table schemas. Starting with this release, marimo's built-in AI assistant doesn't just understand your code -- it also understands your data. When you use our "Generate with AI" feature to generate code, you can now give the AI context about your dataframe and table schemas by tagging it in your query with @dataframe ...
.
ai-at-gh.mp4
To get started with our AI assistant, visit our docs: https://docs.marimo.io/guides/editor_features/ai_completion.html#using-ai-to-modify-cells
📆 New date components. We've added two new date components: mo.ui.datetime
and mo.ui.date_range
.
🖊 Realtime markdown rendering. Markdown cells now render as you type!
🛢 Ibis support in mo.ui.dataframe
. Transform Ibis dataframes without writing code using mo.ui.dataframe
.
All changes
- add theming to toc by @akshayka in #2178
- fix: sandbox requires marimo by @akshayka in #2177
- reorg some folders, add an example by @akshayka in #2176
- improve: md format tutorial by @akshayka in #2179
- improve: md format tutorial by @akshayka in #2180
- example: modal labs by @mscolnick in #2158
- feat: mo.ui.datetime, mo.ui.date_range by @mscolnick in #2174
- chore: add timeout to cli tests by @mscolnick in #2182
- fix: accordion text alignment by @mscolnick in #2183
- feat: Add support for @ mentions of dataframes and sql tables in AI assistant by @mscolnick in #2181
- fix: embed custom.css directly in index.html by @mscolnick in #2184
- fix docs by @akshayka in #2185
- readme touchup by @akshayka in #2186
- chore: dont overwrite user config in tests by @akshayka in #2187
- chore(deps): update all storybook dependencies to ^8.2.9 by @renovate in #2189
- Better nested progress bars by @adigioacchino in #2192
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #2195
- improvement: Realtime Markdown rendering by @wasimsandhu in #2138
- docs: update anywidget examples link to include third_party directory by @metaboulie in #2197
- fix: do not require plotly or bokeh when holoviews is used by @mb-915 in #2199
- improvement: ibis support in mo.ui.dataframe by @mscolnick in #2188
- 0.8.8 by @akshayka in #2200
New Contributors
- @adigioacchino made their first contribution in #2192
- @mb-915 made their first contribution in #2199
Full Changelog: 0.8.7...0.8.8
0.8.7
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