What's Changed
Version 0.5.0 introduces a brand new **lazy runtime** which makes working with expensive notebooks much more ergonomic, and it also makes it possible to **export notebooks as markdown**.
Highlights
**Lazy runtime.** We've heard your feedback: you can now configure the marimo runtime to be lazy, **giving you full control over when cells are run**. When a cell is run, instead of automatically running affected cells, marimo's lazy runtime will **mark them as stale**. Cells are still always run with the latest inputs (stale parents of a cell are run if needed), and your notebook is still required to be a DAG, so you're **still guaranteed** that your code and outputs are consistent.
Learn more: https://docs.marimo.io/guides/runtime_configuration.html
**Export as markdown.** Export marimo notebooks as markdown with `marimo export md notebook.py -o notebook.md`, or convert markdown to marimo with `marimo convert notebook.md > notebook.py`.
Shout out to dmadisetti for contributing this feature.
What's coming
Future updates in the 0.5.x series will bring more improvements to both the runtime and using markdown -- stay tuned!
All changes
Thanks Ubehebe for making your first contribution; welcome to the marimo fam!
* feat: convert and export from markdown by dmadisetti in https://github.com/marimo-team/marimo/pull/1296
* fix: add markdown sanitization for malicious notebooks by dmadisetti in https://github.com/marimo-team/marimo/pull/1315
* fix: handle duplicate columns in pandas when inferring datatype by mscolnick in https://github.com/marimo-team/marimo/pull/1313
* fix: don't crash the table on 1 million rows by mscolnick in https://github.com/marimo-team/marimo/pull/1314
* test: consolidate some 'edit' e2e tests to a single server by mscolnick in https://github.com/marimo-team/marimo/pull/1320
* Run typos checks in makefile by akshayka in https://github.com/marimo-team/marimo/pull/1318
* fix: allow int columns in mo.ui.dataframe by mscolnick in https://github.com/marimo-team/marimo/pull/1322
* chore: improve wasm development, e2e test by mscolnick in https://github.com/marimo-team/marimo/pull/1323
* improvement: load pyodide dev version on marimo dev releases by mscolnick in https://github.com/marimo-team/marimo/pull/1324
* feat: lazy runtime by akshayka in https://github.com/marimo-team/marimo/pull/1302
* refactor: lazy-load top-level pages, reduce initial page load by mscolnick in https://github.com/marimo-team/marimo/pull/1295
* improvement: add cell actions and input/output variables to dag viewer panel by mscolnick in https://github.com/marimo-team/marimo/pull/1328
* fix: marimo config to follow_symlink in StaticFiles by Ubehebe in https://github.com/marimo-team/marimo/pull/1327
* fix: Fix playwright tests by mscolnick in https://github.com/marimo-team/marimo/pull/1329
* Persist App state + Cell state in md conversions by dmadisetti in https://github.com/marimo-team/marimo/pull/1326
* docs: lazy runtime by akshayka in https://github.com/marimo-team/marimo/pull/1333
* 0.5.0 by akshayka in https://github.com/marimo-team/marimo/pull/1334
New Contributors
* Ubehebe made their first contribution in https://github.com/marimo-team/marimo/pull/1327
**Full Changelog**: https://github.com/marimo-team/marimo/compare/0.4.11...0.5.0