v0.19.1¶
- Date
December 01, 2025
What’s Changed¶
New Features¶
Introduce seed in
random_colormethod to produce colors deterministically by @ishu9bansal in PR #4265Add support for arithmetic operators
//,%,*,**and/onValueTrackerby @fmuenkel in PR #4351Add
TangentialArcmobject by @Brainsucker92 in PR #4469
Fixed Bugs and Enhancements¶
Fix environment formatting for Tex() mobject by @fmuenkel in PR #4159
Improved consistency of rate_function implementations by @BenKirkels in PR #4144
Make new
Codemobject compatible with OpenGL renderer by @behackl in PR #4164Fix HSL color ordering in ManimColor by @thehugwizard in PR #4202
Fix return type of
Polygram.get_vertex_groups()and rename variables in.round_corners()by @chopan050 in PR #4063Improve
Mobject.align_datadocstring by @irvanalhaq9 in PR #4152Fix :meth:
VMobject.pointwise_become_partialfailing whenvmobjectisselfby @irvanalhaq9 in PR #4193Fix
add_points_as_cornersnot connecting single point to existing path by @irvanalhaq9 in PR #4219Complete typing for logger_utils.py by @fmuenkel in PR #4134
Fix(graph): Allow any Line subclass as edge_type in Graph/DiGraph by @Akshat-Mishra-py in PR #4251
Replace exceptions, remove unused parameters, and fix type hints in
Animation,ShowPartial,Create,ShowPassingFlash, andDrawBorderThenFillby @irvanalhaq9 in PR #4214Fix:
Axessubmobject colors are not being set properly by @ishu9bansal in PR #4291Refactor
Rotatingand add docstrings toMobject.rotate()andRotatingby @irvanalhaq9 in PR #4147Fix default config of
manim init projectto use correctpixel_heightandpixel_widthby @StevenH34 in PR #4213Handle opacity and transparent images by @henrikmidtiby in PR #4313
Gracefully fall back when version metadata is missing by @mohiuddin-khan-shiam in PR #4324
Fix for issue 4255 - Do not clear points when the number of curves is zero by @henrikmidtiby in PR #4320
Use utf-8 encoding to read generated .tex files. by @OliverStrait in PR #4334
Add zero to vmobject points to remove negative zeros in
get_mobject_keyby @elshorbagyx in PR #4332Ensure
stroke_widthattribute ofSVGMobjectis not set toNoneby @henrikmidtiby in PR #4319Fix
Prismincorrectly rendering withdimensions=[2, 2, 2]in OpenGL by @ra1u in PR #4003Fix
BraceLabel.change_label()and documentBraceTextby @henrikmidtiby in PR #4347Include
Text.gradientin hash to properly regenerateTextwhen its gradient changes by @AbhilashaTandon in PR #4099Fixed surface animations in OpenGL by @nubDotDev in PR #4286
Add type hints and support for arithmetic operators
+and-onValueTrackerby @fmuenkel in PR #4129Fix duplicate references in
Scene.mobjectsafterReplacementTransformwith existing target mobject by @irvanalhaq9 in PR #4242Optimize
always_redraw()by reducingMobjectcopying inMobject.become()by @chopan050 in PR #4357Enhance
manim cfg showoutput and add info-level logging for config files read by @xnov18 in PR #4375Let
Cubeuse Bevel type line joints by @nubDotDev in PR #4361Properly define
init_pointsmethods for use in OpenGL instead of defininginit_points = generate_pointsby @chopan050 in PR #4360Allow passing a tuple to
buffinSurroundingRectangleto specify buffer in x and y direction independently by @nubDotDev in PR #4390Rewrite
color_gradientto always return a list of ManimColors by @henrikmidtiby in PR #4380Ensure leading whitespace does not change line height for lines in CodeMobject by @behackl in PR #4392
Simplify the function
remove_invisible_charsintext_mobject.pyby @henrikmidtiby in PR #4394Fix some config options specified via
--config_filenot being respected properly by @behackl in PR #4401Fix: Correct resolution tuple order to (height, width) by @Nikhil172913832 in PR #4440
Ensure that start and end points are stored as float values in Line3D by @SirJamesClarkMaxwell in PR #4080
OpenGL: Fix iterated nesting in
DecimalNumber.set_valueby @henrikmidtiby in PR #4373Update default resolution in CLI to match Manim’s 1920x1080 default settings by @SASHAKT1290 in PR #4452
Better parsing of color styles in CodeMobject by @SirJamesClarkMaxwell in PR #4454
Allow selection of all scenes to render using ‘*’ by @NightyStudios in PR #4470
Prevent mutation of
about_pointinapply_points_function_about_pointby @Morkunas in PR #4478Fix behavior of
Mobject.suspend_updating: when only suspending parent mobject, let children continue updating by @behackl in PR #4402Allow passing a
bufftoLabeledDotby @nubDotDev in PR #4403Pass ndarrays to
mapbox_earcut.triangulate_float32()to fixTypeErrorinmapbox_earcut==2.0.0by @GuiCT in PR #4479Fix duplicated arrow tips in DashedVMobject (issue #3220) by @jakekinchen in PR #4484
Documentation¶
Add docstring to :meth:
.Mobject.get_familyby @irvanalhaq9 in PR #4127Fix link formatting and clarify the distinction between Manim versions in index.rst by @irvanalhaq9 in PR #4131
Add instructions for installing system utilities
cairoandpkg-configvia Homebrew on MacOS by @behackl in PR #4146Add missing line break in Code of Conduct’s conflict of interest policy by @Hasan-Mesbaul-Ali-Taher in PR #4185
Replace poetry with uv in the README by @xinoehp512 in PR #4226
Improve docstring for
interpolatemethod inMobjectclass by @irvanalhaq9 in PR #4149Add docstrings to
Lineand removeNonehandling forpath_arcparameter by @irvanalhaq9 in PR #4223Add docstring to :meth:
Mobject.family_members_with_pointsby @irvanalhaq9 in PR #4128Update incorrect docstring for :attr:
ManimConfig.gui_locationproperty by @SAYAN02-DEV in PR #4254Fix formatting of color space documentation by @behackl in PR #4274
Enhance and Paraphrase Description of ManimCE in README.md by @irvanalhaq9 in PR #4141
docs: add explanation about the rate_func in the custom animation by @pedropxoto in PR #4278
Fixed artifact in docstring of Animation by @barollet in PR #4283
Rename update function
dot_positiontoupdate_labelin.add_updaterexample by @irvanalhaq9 in PR #4196Fix Microsoft typo in
TexFontTemplateLibraryscene inexample_scenes/advanced_tex_fonts.pyby @alterdim in PR #4305Improved readability, grammar, as well as added docstrings for consistency by @NASAnerd05 in PR #4267
Add docstrings for
ChangingDecimalandChangeDecimalToValueby @haveheartt in PR #4346Fix Sphinx exceptions when trying to build documentation via latex / as pdf by @behackl in PR #4370
Added license information to documentation landing page by @Nikil-D-Gr8 in PR #3986
Set the default Python version to 3.13 in the uv installation guide by @henrikmidtiby in PR #4480
Maintenance and Testing¶
Change project management tool from poetry to uv by @behackl in PR #4138
Re-add ffmpeg as dependency within Docker image by @behackl in PR #4150
Add tests for Matrix, DecimalMatrix, IntegerMatrix by @pdrzan in PR #4279
Add tests for polylabel utility by @giolucasd in PR #4269
Add support for
pycodestyle Wrule in Ruff by @KaiqueDultra in PR #4276Fix files with few MyPy typing errors by @henrikmidtiby in PR #4263
Explicitly mention all files that mypy should ignore in the
mypy.iniconfiguration file by @henrikmidtiby in PR #4306Remove dead code from
scene.pyandvector_space_scene.pyby @henrikmidtiby in PR #4310Add type annotations to
scene.pyandvector_space_scene.pyby @henrikmidtiby in PR #4260Replace setup-texlive-action in CI workflow by @behackl in PR #4326
Adding type annotations to polyhedra.py and matrix.py by @henrikmidtiby in PR #4322
Handling typing errors in text/numbers.py by @henrikmidtiby in PR #4317
Move
configure_pyguiinto aScenemethod and removemanim.guiby @chopan050 in PR #4314Add typing annotations to svg_mobject.py by @henrikmidtiby in PR #4318
Add type annotations to
mobject/svg/brace.pyand default tolabel_constructor=TextinBraceTextby @henrikmidtiby in PR #4309Add classes
MethodWithArgs,SceneInteractContinueandSceneInteractReruninside new modulemanim.data_structuresby @chopan050 in PR #4315Fix typo in import of OpenGLCamera in
utils/hashing.pyby @fmuenkel in PR #4352Add type annotations to
manim/renderer/shader.pyby @henrikmidtiby in PR #4350Add type annotations to
tex_mobject.pyby @henrikmidtiby in PR #4355Add type annotations to
three_d_camera.pyby @henrikmidtiby in PR #4356Revert change of default value for tex_environment by @henrikmidtiby in PR #4358
Add type hints to
scene_file_writer.py,section.py, andzoomed_scene.pyby @fmuenkel in PR #4133Add type annotations for most of
cameraandmobject.graphingby @henrikmidtiby in PR #4125Add
VectorNDLiketype aliases by @chopan050 in PR #4068Add type annotations to
dot_cloud.py,vectorized_mobject_rendering.pyandopengl_three_dimensions.pyby @henrikmidtiby in PR #4359Add type annotations to
indication.pyby @henrikmidtiby in PR #4367Add type annotations to
composition.pyby @henrikmidtiby in PR #4366Add type annotations to
growing.pyby @henrikmidtiby in PR #4368Add type annotations to
movement.pyby @henrikmidtiby in PR #4371Exclude check for cyclic imports by CodeQL by @behackl in PR #4384
Refactor imports from
collections.abc,typingandtyping_extensionsfor Python 3.9 by @chopan050 in PR #4353Add type annotations to
opengl_renderer_window.pyby @fmuenkel in PR #4363Rename
SceneFileWriter.save_final_image()tosave_image()by @fmuenkel in PR #4378Add type annotations to
text_mobject.pyby @henrikmidtiby in PR #4381Rename types like
RGBA_Array_FloattoFloatRGBAand add types likeFloatRGBA_Arrayby @chopan050 in PR #4386Add type annotations to
opengl_geometry.pyby @henrikmidtiby in PR #4396Add type annotations to
moving_camera.pyby @henrikmidtiby in PR #4397Add type annotations to
opengl_mobject.pyby @RBerga06 in PR #4398Add type annotations to
cairo_renderer.pyby @fmuenkel in PR #4393Fix type errors and add typings for
Mobject.apply_function(), its derivatives, and other utility functions by @godalming123 in PR #4228Bump macOS image from deprecated macos-13 to macos-15-intel by @chopan050 in PR #4481
Prepare new release
v0.19.1and bump minimum required Python version to 3.10 by @behackl in PR #4490
Dependency Version Changes¶
Bump typing extensions minimum version by @JasonGrace2282 in PR #4121
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4122
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4140
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4148
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4181
Bump astral-sh/setup-uv from 5 to 6 by @dependabot[bot] in PR #4234
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4204
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4391
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4405
Bump actions/setup-python from 5 to 6 by @dependabot[bot] in PR #4433
Bump actions/checkout from 4 to 5 by @dependabot[bot] in PR #4418
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4409
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4460
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in PR #4467
Bump github/codeql-action from 3 to 4 by @dependabot[bot] in PR #4466
Bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in PR #4465
Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in PR #4464
New Contributors¶
@BenKirkels made their first contribution in PR #4144
@Hasan-Mesbaul-Ali-Taher made their first contribution in PR #4185
@thehugwizard made their first contribution in PR #4202
@xinoehp512 made their first contribution in PR #4226
@SAYAN02-DEV made their first contribution in PR #4254
@Akshat-Mishra-py made their first contribution in PR #4251
@pedropxoto made their first contribution in PR #4278
@giolucasd made their first contribution in PR #4269
@KaiqueDultra made their first contribution in PR #4276
@ishu9bansal made their first contribution in PR #4291
@StevenH34 made their first contribution in PR #4213
@mohiuddin-khan-shiam made their first contribution in PR #4324
@elshorbagyx made their first contribution in PR #4332
@NASAnerd05 made their first contribution in PR #4267
@AbhilashaTandon made their first contribution in PR #4099
@nubDotDev made their first contribution in PR #4286
@haveheartt made their first contribution in PR #4346
@Nikil-D-Gr8 made their first contribution in PR #3986
@Nikhil172913832 made their first contribution in PR #4440
@SASHAKT1290 made their first contribution in PR #4452
@Brainsucker92 made their first contribution in PR #4469
@NightyStudios made their first contribution in PR #4470
@godalming123 made their first contribution in PR #4228
@jakekinchen made their first contribution in PR #4484
Full Changelog: https://github.com/ManimCommunity/manim/compare/v0.19.0…v0.19.1