github marimo-team/marimo 0.23.1

14 hours ago

What's Changed

This release includes quality of life improvements to marimo slides, bug fixes to marimo islands that revive our quarto extension, a new lint rule, and minor security improvements.

⭐ Highlights

Slides minimap

Slide mode now has a minimap: a scrollable panel showing your cells at reduced scale, with click-to-navigate and drag-to-reorder support. It's performance-aware — cells only render in the minimap when they're in view.

Screen.Recording.2026-04-08.at.6.46.33.PM.mov

Islands revived

We've fixed many bugs with [marimo islands], a way to embed marimo outputs and/or Python code in other HTML. These fixes also make our quarto-marimo. (#9071) extension compatible with this version of marimo as well.

Security

This release includes minor security improvements, including input sanitization, path traversal prevention, open redirect blocking, and auth endpoint hardening.

  • Sanitize plugin output slots (marimo-mpl-interactive, marimo-panel) to prevent script injection (#9133)
  • Restrict head_html injection to run mode only (#9137)
  • Prevent directory traversal via symlinks in asset serving (#9134)
  • Sanitize user-supplied custom.css (#9131)
  • Block open redirects via protocol-relative URLs (e.g. //evil.com) (#9112)
  • Restrict health endpoint exposure and add path validation for document writes (#9115)

We've also updated our security documentation with a standard operating procedure for future disclosures (#9114).

Thank You. The enthusiasm following our recent CVE disclosure is a testament to what a healthy open-source community looks like. A special thank you to @GCXWLP, @Jvr2022, @offset, @l3tchupkt, @Fushuling, @RacerZ-fighting, and @q1uf3ng for their engagement and reports during this sprint. It takes a community to keep FOSS secure. We're lucky to have this one!

All changes

Full Changelog: 0.23.0...0.23.1

Don't miss a new marimo release

NewReleases is sending notifications on new releases.