Skip to content

Releases: marimo-team/marimo

0.11.2

10 Feb 21:56
Compare
Choose a tag to compare

What's Changed

  • feat: add searchable dropdown functionality by @devin-ai-integration in #3723
  • fix: update value when clearing chat messages by @devin-ai-integration in #3729
  • fix: polars category filtering by @mscolnick in #3744
  • fix: merge anywidget partial updates by @mscolnick in #3745

Full Changelog: 0.11.1...0.11.2

0.11.1

10 Feb 18:08
Compare
Choose a tag to compare

Bug fixes and improvements.

What's Changed

Full Changelog: 0.11.0...0.11.1

0.11.0

04 Feb 20:25
Compare
Choose a tag to compare

Highlights ⭐

  1. SQL Engine Support. Connect to various databases like postgresql, mysql, snowflake and more, using your preferred SQL engine.

This release adds support for using for multiple SQL connection libraries, such as SQLModel and SQLAlchemy. You can now define SQL connections in your code like:

import sqlalchemy
import sqlmodel
import duckdb

# Create an in-memory SQLite database with SQLAlchemy
sqlite_engine = sqlachemy.create_engine("sqlite:///:memory:")
# Create a Postgres database with SQLModel
postgres_engine = sqlmodel.create_engine("postgresql://username:password@server:port/database")
# Create a DuckDB connection
duckdb_conn = duckdb.connect("file.db")

And then select which connection to use in the SQL cell.

image

h/t @Light2Dark

  1. Markdown file-format improvements - Markdown notebooks (i.e. marimo edit notebook.md) has an improved syntax format: python {.marimo}. You can also use SQL cells in the markdown file-format, using sql {.marimo}. To learn more, run marimo tutorial markdown-format

h/t @dmadisetti

  1. Markdown syntax - Added support for details, admonitions, and emojis in markdown

  2. Performance & Reliability - Lots of bug fixes for better resource cleanup and memory management, as well as disabling features not used in run-mode.

What's Changed

New Contributors

Full Changelog: 0.10.19...0.11.0

0.10.19

31 Jan 15:45
Compare
Choose a tag to compare

This release contains some important improvements to memory consumption.

What's Changed

Full Changelog: 0.10.18...0.10.19

0.10.18

30 Jan 21:28
Compare
Choose a tag to compare

Highlights ⭐

  • 🐳 Added DeepSeek support and documentation for AI completions
  • 🖥️ New mo.ui.app_meta().request API to access incoming request context (headers, query params, and user info)
  • 🐛 Various bug fixes to mo.Thread, Altair charts, and table formatting.

What's Changed

  • fix: allow editable installs when devloping locally with sandbox by @mscolnick in #3568
  • feat: add wasm watch and some docs on set up by @Light2Dark in #3572
  • fix: support running in FIPS-enabled environments by @marcodlk in #3571
  • chore: deflake tmpdir cleanup in tests by @akshayka in #3573
  • docs: fix admonition rendering by @Haleshot in #3577
  • chore(deps): update all storybook dependencies to ^8.5.1 by @renovate in #3582
  • fix: lower timeout in version check by @mscolnick in #3585
  • fix: handle timezone in samples by @mscolnick in #3584
  • feat: add configurable width to mo.sidebar() (#3570) by @devin-ai-integration in #3591
  • fix: support altair map selection when vconcat or hconcat by @mscolnick in #3590
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #3592
  • fix: scope ag-grid styles to plugin to avoid style pollution by @mscolnick in #3601
  • docs: add DeepSeek configuration to AI completion guide by @Haleshot in #3597
  • Add DeepSeek chatbot example by @Haleshot in #3598
  • fix: Simplify and resolve pandas snippet error by @Haleshot in #3605
  • fix: persistent loader save path (+ feat: test tweaks / json loader for interpretability) by @dmadisetti in #3595
  • example: nvidia nims endpoint by @mscolnick in #3608
  • tidy: make tests stricter to better capture cache state invalidation by @dmadisetti in #3609
  • fix: handle numeric formatting in table widgets by @devin-ai-integration in #3618
  • fix: correct time formatting for minutes and seconds in cell status by @devin-ai-integration in #3621
  • feat: add mo.ui.app_meta().request by @mscolnick in #3619
  • fix: mo.Thread communication to output area by @akshayka in #3611
  • fix: printing in mo.Threads by @akshayka in #3628
  • added CLA notes to the CONTRIBUTING guide by @paddymul in #3633

New Contributors

Full Changelog: 0.10.17...0.10.18

0.10.17

25 Jan 00:14
Compare
Choose a tag to compare

What's Changed

Quality-of-life improvements:

  • 🪟 Improvements to multi-column notebooks
  • 🕐 A bug fix for timezone rendering in altair charts
  • 💾 API improvements to persistent caching

All changes

Full Changelog: 0.10.16...0.10.17

0.10.16

22 Jan 18:45
Compare
Choose a tag to compare

Highlights

📈 Tracing panel: This release includes a new helper panel for cell tracing and observability. This can be used for real-time tracking of slow cells, visualizing execution order, and monitoring of execution statuses. This feature was built by @Light2Dark.

videoo.mp4

What's Changed

New Contributors

Full Changelog: 0.10.15...0.10.16

0.10.15

20 Jan 17:01
Compare
Choose a tag to compare

Highlights

mo.download allows for (async) functions as that data arg

# JSON download with lazy loading
async def get_json_data():
    await asyncio.sleep(1)
    _data = {"message": "Hello", "count": 42}
    return json.dumps(_data).encode("utf-8")


download = mo.download(
    data=get_json_data,
    filename="data.json",
    label="Download JSON",
)
download

What's Changed

New Contributors

Full Changelog: 0.10.14...0.10.15

0.10.14

17 Jan 23:30
Compare
Choose a tag to compare

What's Changed

Highlights

🪟 Lay out notebooks in columns! Thanks to work by @wasimsandhu, you can now arrange cells into multiple columns while editing — use your screen real-estate to the fullest! (Docs.)

image

📃 Edit notebooks using your own editor. Announcing initial support for one of our most asked-for features: you can now edit notebook files using your editor of choice (neovim, Cursor, VS Code, ...) and stream changes to a running edit session. To opt-in, start your edit session with --watch:

marimo edit --watch my_notebook.py

When editing my_notebook.py in your text editor, changes are sent to the browser on save.

Expect quality-of-life improvements to the external editor experience in the future.

🏃 Re-run all cells. A new command in the command palette lets you re-run all cells; you can assign a keyboard shortcut to this in the notebook settings.

All changes

New Contributors

Full Changelog: 0.10.13...0.10.14

0.10.13

14 Jan 17:20
Compare
Choose a tag to compare

What's Changed

This release contains many quality of life improvements, including contributions from two new contributors! 🎉

New Contributors

Full Changelog: 0.10.12...0.10.13