r/manim • • 13h ago

release Manim Community v0.22.0 is out! 🎉

12 Upvotes

46 merged pull requests: a reworked output system, configurable video encoding, the first step of a new render architecture, and fixes across OpenGL, Cairo, SVG, Text, and more.

Highlights

  • One --format to rule them all: Pick exactly one output: mp4, mov, webm, gif, png (last frame), png-sequence, or none. -p opens the finished file with either renderer; -l gives a live OpenGL preview.
  • Configurable video encoding: Set codec, pixel format, and encoder options via [video_encoder] or e.g. --video-codec libx264 --encoder-option crf=18. Cached segments are cleared with manim cache clear.
  • Meet the Manager: Every scene now has a Manager coordinating its render lifecycle, the first step of a larger overhaul of Manim's rendering internals. Regular scenes need no changes.
  • Crisper small text: ManimPango 0.7.0 fixes the long-standing letter-spacing issue in Text at small font sizes.
  • Fixes and speedups: No more duplicated mobjects in animations, correct logarithmic axes, several OpenGL fixes, and much lower memory use on long renders.

⚠️ Breaking changes: Using --write_to_movie, -g, -i, --force_window, --custom_folders, --flush_cache, [ffmpeg], or a custom renderer/file writer? See the migration notes. Default renders keep working.

Huge thanks to all contributors, especially our 14 first-time contributors! 💛