Download Latest Version 0.14.13 source code.tar.gz (123.5 MB)
Email in envelope

Get an email when there's a new version of marimo

Home / 0.14.11
Name Modified Size InfoDownloads / Week
Parent folder
0.14.11 source code.tar.gz 2025-07-15 123.5 MB
0.14.11 source code.zip 2025-07-15 125.1 MB
README.md 2025-07-15 9.8 kB
Totals: 3 Items   248.7 MB 0

This release adds command mode for cell navigation and a redesigned data editor. It also includes a breaking change to keyboard shortcuts. See full release notes below.

✨ Highlights

⌨️ Command mode

Many of you have told us that command mode was the one feature you missed most from Jupyter. We heard you, and we've built it into marimo.

Command mode lets you work at the cell level — navigating between cells, creating new ones, and applying operations to multiple cells at once. Press Escape to enter command mode (the cell border turns blue), and press Enter to return to edit mode.

Screenshot of marimo notebook demonstrating command mode. The interface shows multiple cells with blue borders indicating command mode is active, and a visual indicator showing cell selection and navigation between cells.

Navigation and cell management: - / - Move between cells - Enter - Edit the selected cell - a/b - Add a new cell above/below - c/v - Copy and paste cells - s - Save notebook - Ctrl/Cmd + ↑/↓ - Jump to top/bottom of notebook - Shift + Enter - Run cell and advance to next

Multi-cell selection: - Shift + ↑/↓ - Select multiple cells - Apply operations to all selected cells at once (hide, delete, disable, etc.)

For vim users: When vim keybindings are enabled, command mode feels natural with familiar navigation: - j/k - Move down/up - gg/G - Jump to first/last cell - Shift + j/k - Extend selection

📊 Revamped data editor

The data editor plugin (mo.ui.data_editor and mo.ui.dataframe) has been totally upgraded.

Animated demonstration of the marimo data editor showing interactive dataframe manipulation. The interface displays a spreadsheet-like grid where users can directly edit cells, add columns, apply filters, and see live updates to their data transformations.

Direct editing: - Paste from clipboard - Copy data from Excel or other sources and paste into cells - Column operations - Add, rename, or delete columns - Row deletion - Remove rows - No more limits - The 1000-row restriction is gone

Transformations: - Null value filtering - Filter by null/non-null values - Duplicate handling - Remove duplicates with control over which records to keep - Live updates - See changes as you edit - Improved performance - Upgraded grid engine handles large datasets

These improvements make the data editor feel more like a spreadsheet when you need it, while maintaining dataframe operations.

🚨 Breaking changes

  • Remove Alt-` for completions (#5609)

Why this change: The Alt + ` shortcut for triggering code completions conflicted with system shortcuts on several platforms, particularly on macOS where it's used for window switching. This caused frustration for users who couldn't access completions reliably.

What to use instead: Code completions now work automatically as you type, providing a smoother experience. If you need to manually trigger completions, use Ctrl + Space (or Cmd + Space on macOS if not reserved by Spotlight), which is the standard shortcut across most code editors.

🔬 Preview features

✨ Enhancements

  • Allow auto download to be configured globally (#5647)
  • Add vim bindings for top/bottom cell navigation: gg and G (#5636)
  • Better ollama configuration (#5644)
  • Absolute positioning of button and enable select all rows (#5643)
  • Data editor plugin v2 (#5514)
  • Multi-cell selection (#5633)
  • Use "i" to focus a cell from command mode when in vim keymap (#5632)
  • Propagate Ctrl+[ as Escape to enter command mode with vim keybindings (#5635)
  • Start markdown cells with hidden code (#5627)
  • Navigation, copy/paste, new cells hotkeys when on a cell (#5620)
  • Better focus navigation between cell and cell-editor (#5614)
  • Feat/add force capability on export (#5610)
  • style/fix: add form tooltip inline for mo.dataframe (#5600)
  • Set scrollToView to smooth (#5604)
  • Add default_table_max_columns to user config (#5598)
  • Autofocus generate with AI (#5592)
  • Add quick actions to change cell output area (#5596)
  • Scroll table with keyboard navigation (#5595)
  • Configurable skew protection in create_asgi_app, default False (#5585)
  • Display failed connection information + more graceful backoff. (#5584)
  • Gracefully handle BaseExceptions from downstream df libraries (#5576)
  • Show additional loading indicator after 5 seconds (#5580)
  • Remove title for table cell (#5574)
  • Allow select on table cells (#5565)
  • fix/improvement: add cursor introspection for dbapi spec (#5557)
  • Add null and non-null filter for dataframes (#5548)
  • Don't auto scroll when sending cell to top/bottom from menu (#5544)
  • Add tool-chaining, send back signature (anthropic), add tool ui in chat-panel (#5469)
  • Use upstream signature formatting code for pylsp (#5214)
  • Remove duplicate import in data_explorer docs (#5060)
  • Build plots and charts from tables, with Python code generation (#5452)
  • Add chart builder / chart-to-cell functionality within table (#5392)

🐛 Bug fixes

  • Lsp syncing fixes for hover and completion (#5637)
  • Enable cache decoration on class methods (#5630)
  • Variable kwargs did not invalidate cache (#5613)
  • Fix handling of class attribute references for reactive variables (#5616)
  • Patch matplotlib interactive to not steal focus on mount (#5586)
  • Rename dataframe transforms (#5599)
  • Fix overflow on footer styles (#5593)
  • Expand checks around decorated functions to enable functools usage (#5582)
  • Cast elements in list of enums to string for polars (#5572)
  • Detect datetime and handle timezones for pandas (#5573)
  • Make reactivity options in footer responsive for small screen widths (#5563)
  • Opening a notebook from the sidebar when in a subpath (#5561)
  • Fix deepcopy in from_anywidget.py (#5134)

📚 Documentation

  • Explain the difference between gho and ghp tokens (#5639)
  • Update cell docstring to better express current abillities (#5607)
  • Docs for Windsurf upgrade (#5587)
  • Add table panels and chart builder docs (#5533)

📝 Other changes

  • DRY up logic between vim keymap 'i' binding (#5645)
  • consolidate / cleanup cell keyboard props (#5631)

New Contributors

  • @jmsmdy made their first contribution in #5134
  • @rubiagatra made their first contribution in #5610
  • @YDX-2147483647 made their first contribution in #5639

Full Changelog: https://github.com/marimo-team/marimo/compare/0.14.10...0.14.11

Source: README.md, updated 2025-07-15