v0.20.0¶
- Date
February 20, 2026
What’s Changed¶
Breaking Changes 🚨¶
Fix
ImageMobject3D rotation/flipping and remove resampling algorithmslanczos(antialias),boxandhammingby @chopan050 in PR #4266Fix
YELLOW_Cand addPURE_CYAN,PURE_MAGENTAandPURE_YELLOWby @chopan050 in PR #4562
Highlights 🌟¶
Rewrite MathTex to make it more robust regarding splitting by @henrikmidtiby in PR #4515
The MathTex implementation has been updated to make it more robust and fix a number of issues. A beneficial side effect is that named groups in svg files can now be accessed through SVGMobject.
Add new Animation Builder
Mobject.alwaysby @JasonGrace2282 in PR #4594This new feature is a convenience wrapper around
add_updaterthat allows adding updaters to a mobject in an intuitive and easy-to-read way. Example usage in a scene:d = Dot() s = Square() d.always.next_to(s, UP) self.add(s, d) self.play(s.animate.to_edge(LEFT))
New Features ✨¶
Add a
seedconfig option +--seedCLI option for reproducible randomness in rendered scenes by @arnaud-ma in PR #4532
Enhancements 🚀¶
Bug Fixes 🐛¶
using
colorinstead offill_colorwith MathTeX for node labels by @Schefflera-Arboricola in PR #4501fix: infinite recursion caused by accessing color of a highlighted Ta… by @BHearron in PR #4435
Prevent potential
UnboundLocalErrorinPolarPlaneby @RinZ27 in PR #4557Fixed division by 0 in
turn_animation_into_updaterby @SoldierSacha in PR #4567Fix TOCTOU Race Conditions when creating directories by @SoldierSacha in PR #4587
Resolve more race conditions potentially happening during directory creation by @SoldierSacha in PR #4589
Fix
c2p/coords_to_pointmethod call with single flat list or 1D array input by @danielalanbates in PR #4596
Documentation 📚¶
Enable rendered documentation of
RandomColorGeneratorby @arnaud-ma in PR #4533Remove pin to Python 3.13 in installation docs by @chopan050 in PR #4534
Fix broken aquabeam OpenGL link using Wayback Machine by @behackl in PR #4545
Add type annotations and docstrings in
opengl_renderer.pyby @arnaud-ma in PR #4537docs: improve
TransformFromCopydocstring by @GoThrones in PR #4597
Infrastructure & Build 🔨¶
Code Quality & Refactoring 🧹¶
Rework and consolidate release changelog script, add previously skipped changelog entries by @behackl in PR #4568
Remove
__future__.annotationsfrom required imports by @JasonGrace2282 in PR #4571Cleaned up
mypy.iniby @henrikmidtiby in PR #4584Add
py.typedto declare manim as having type hints by @Timmmm in PR #4553Fix assertion in
ImageMobjectFromCamera.interpolate_color()by @chopan050 in PR #4593Reduce dependency on scipy - replace
scipy.special.combwithmath.combby @fmuenkel in PR #4598
Type Hints 📝¶
Add type annotations to
rotation.pyby @fmuenkel in PR #4535Add type annotations to
opengl_compatibility.pyby @fmuenkel in PR #4585Add type annotations to
image_mobject.pyby @henrikmidtiby in PR #4458Add type annotations to
opengl_image_mobject.pyby @fmuenkel in PR #4536Add type annotations to
point_cloud_mobject.pyby @fmuenkel in PR #4586
New Contributors¶
@arnaud-ma made their first contribution in PR #4533
@Schefflera-Arboricola made their first contribution in PR #4501
@SoldierSacha made their first contribution in PR #4567
@GoThrones made their first contribution in PR #4597
@danielalanbates made their first contribution in PR #4596
Full Changelog: Compare view