Skip to content

0.23.10

Latest

Choose a tag to compare

@mscolnick mscolnick released this 18 Jun 19:12
2f6ca50

What's Changed

This release brings threading and multiprocessing to WASM notebooks and makes remote storage browsing scale with search and pagination — alongside table column controls, slide editing improvements, and a broad set of fixes.

⭐️ Highlights

Pyodide 314.0

This release moves marimo's WebAssembly runtime to Pyodide's latest release: Pyodide 314.0. This allows use to use newer versions of duckdb, polars, and pyarrow as well as many other popular packages.

Threading and multiprocessing in WASM

WASM notebooks can now run threading- and multiprocessing-shaped code. marimo installs lightweight adapters for Pyodide so mo.Thread, stdlib threading primitives, and common multiprocessing APIs keep working in the browser, executing on a synthetic thread identity that the marimo runtime context follows (#9839).

Screen.Recording.2026-06-09.at.16.56.56.mov

Scalable remote storage browsing

Browsing large remote storage backends is now practical. Listings paginate behind a "Load more" button instead of loading everything up front, and when a prefix query matches none of the already-loaded entries, marimo pages through the backend to surface remote results — matching on full paths so partial path queries resolve, with clear status while it searches (#9834, #9835).

Screen.Recording.2026-06-10.at.11.56.00.AM.mov

✨ Enhancements

  • Search the backend when no loaded entries match (#9835)
  • Honor OTEL_SERVICE_NAME for traces (#9906)
  • Progressively mount cell editors in the editor view (#9904)
  • Generate Google Drive connection code for embedded environments (#9884)
  • Paginate remote storage listings with a "Load more" button (#9834)
  • Threading and multiprocessing adapters in WASM (#9839)
  • Gate schema discovery behind "auto" for remote engines (#9784)
  • Column visibility dropdown in table top bar (#9865)
  • Support ROCM for /api/usage endpoint (#9773)
  • Shared select-core for multiselect, dropdown, and filter picker (#9849)
  • Per-slide show-code config + editor toggles (#9831)
  • Resolve definitions and get docstring (#9838)
  • Minimap insert-cell + context menu (#9830)
  • Add a toggle to filter empty schemas and db (#9712)
  • Wire Dremio dialect into the SQL editor (#9817)
  • Allow lazy (callable) filename (#9799)
  • Styled tooltip for mo.ui.table hover_template (#9780)
  • Remove beta status for opencode (#9791)

🐛 Bug fixes

  • Deflake CI by ignoring finished WASM thread records (#9914)
  • Rewrite double-quoted DuckDB sources in WASM (#9925)
  • Avoid crash when creating a markdown cell (#9923)
  • Stop logging raw AI config at debug level (#9911)
  • Handle missing psutil gracefully for Android/Termux (#9872)
  • Make WASM as_completed timeout deterministic (#9891)
  • Keep !-command cells from disabling underscore-privatization on convert (#9873)
  • Respect user-configured marimo data transformer (#9887)
  • Skip chart for nested/unknown column types (#9876)
  • Correct editable input behavior with steps and fractional values (#9860)
  • Allow async cancellation (#9705)
  • Apply ordering to frozen set as it drifts with PYTHONHASHSEED (#9861)
  • Highlight python code blocks in ty hover tooltips (#9824)
  • Disable speaker notes handle on fullscreen (#9825)
  • Disambiguate storage entries with duplicate paths (#9832)
  • Add docstring styles for links (#9827)
  • Infer provider profile from base_url for custom providers (#9813)
  • Store video sources as virtual files instead of inlining (#9812)
  • Show static-preview notice once per session (#9796)
  • Stop reusable hint flicker on cell updates (#9782)
  • Land focus in target cell on right-click Go to Definition (#9795)
  • Fix reactive go-to-definition lookup (#9747)
  • Coalesce outgoing document transactions to avoid intra-batch conflicts (#9781)

📚 Documentation

  • Admonition (#9903)
  • Support PEP 508 Emscripten dependency markers (#9864)
  • Update SECURITY.md (#9863)
  • Add entry on jupyter-book-marimo plugin (#9802)

📝 Other changes

Contributors

Thanks to all our community and contributors who made this release possible: @agriyakhetarpal, @akshayka, @dmadisetti, @kirangadhave, @koaning, @Light2Dark, @mscolnick, @nkgotcode, @peter-gy, @Set27, @VishakBaddur

And especially to our new contributors:

Full Changelog: 0.23.9...0.23.10