Skip to content

0.23.11

Latest

Choose a tag to compare

@dmadisetti dmadisetti released this 25 Jun 20:02
· 2 commits to main since this release
0f6c605

What's Changed

This release gives mo.ui.table finer display control (fixed column widths, a toggleable search bar, and a reusable display config).
Additionally mo.output.clear_console() adds a way to clear console output mid-run, and ships a broad set of fixes across AI config, exports, and the data sources tree.

Various other bug fixes like matplotlib==3.11 support in mo.mpl.interactive and pydantic-slim integration also ship in this release.

⭐️ Highlights

More control over mo.ui.table display

You can now size and trim tables to fit your data. column_widths pins named columns to an exact pixel width (great for long file paths or notes that used to get clipped), while unlisted columns continue to size to their content. The search bar is now toggleable via show_search, and the four visibility flags are available as a reusable mo.ui.table.Display config you can build once and unpack into many tables (#9982, #9984).

mo.ui.table(df, column_widths={"filename": 600, "id": 60})

# Reusable display config
cfg = mo.ui.table.Display(show_search=False, show_download=False)
mo.ui.table(data, **cfg)
mo.ui.table(other, **{**cfg, "show_column_summaries": False})

Clear console output mid-run

mo.output.clear_console() clears a cell's console output while it's still running, and the clear now sticks across reconnects, exports, and the on-disk session cache, not just in the live view. This replaces the old "re-run the cell to clear it" workaround.

✨ Enhancements

  • Add show/hide all code commands to command palette (#9989)
  • Add show_search and a reusable mo.ui.table.Display config (#9984)
  • Add column_widths to mo.ui.table (#9982)
  • Stub serialization toolkit (class/lazy/module stubs) (#9896)
  • Add more trace attributes under an AI span (#9968)
  • Only auto-expand search matches in the data sources tree (#9955)
  • Disable settings overridden by pyproject.toml (#9961)
  • Tighten markdown heading spacing (#9962)
  • Add mo.output.clear_console() (#9950)

🐛 Bug fixes

  • Remove print page margin and inset content for themed PDF export (#9971)
  • Support matplotlib 3.11 interactive (#9990)
  • Add repair for orphaned tool calls (#9976)
  • Wrap cells in function scope before ruff formatting (#9889)
  • Allow DeepSeek custom provider configuration (#9969)
  • Stringify pint-pandas values in table JSON output (#9951)
  • Prevent hard failure on malformed AI config (#9960)
  • Open AI settings from command palette when ai.enabled is false (#9937)
  • Count lines like ast/tokenize, not str.splitlines() (#9957)
  • Keep interactively-created hidden cells editable on creation (#9958)
  • Delete local variables after cell execution (#9933)
  • Correct fully-qualified table name in column previews (#9954)

📚 Documentation

  • Fix shebangs /bin/bash -> /usr/bin/env bash (#9942)

📝 Other changes

  • Bump pydantic-ai, and cap to v2 (#9978)
  • sidebar code-mode: add run_scratchpad utility functions (#9637, 068f140)
  • Tooling to generate canonical DESIGN.md (#9641, 7f29fa3)
  • Support nested schemas for data sources (#9837, #9845, 06b152a)

Contributors

Thanks to all our community and contributors who made this release possible: @akshayka, @dmadisetti, @kirangadhave, @Light2Dark, @lzblack, @peter-gy, @skaphi, @VishakBaddur

And especially to our new contributors:

Full Changelog: 0.23.10...0.23.11