Back to Manim

v0.19.1

docs/source/changelog/0.19.1-changelog.md

0.20.115.0 KB
Original Source

v0.19.1

Date : December 01, 2025

What's Changed

New Features

  • Introduce seed in random_color method to produce colors deterministically by {user}ishu9bansal in {pr}4265
  • Add support for arithmetic operators //, %, *, ** and / on ValueTracker by {user}fmuenkel in {pr}4351
  • Add TangentialArc mobject by {user}Brainsucker92 in {pr}4469

Fixed Bugs and Enhancements

  • Fix environment formatting for Tex() mobject by {user}fmuenkel in {pr}4159
  • Improved consistency of rate_function implementations by {user}BenKirkels in {pr}4144
  • Make new Code mobject compatible with OpenGL renderer by {user}behackl in {pr}4164
  • Fix HSL color ordering in ManimColor by {user}thehugwizard in {pr}4202
  • Fix return type of Polygram.get_vertex_groups() and rename variables in .round_corners() by {user}chopan050 in {pr}4063
  • Improve Mobject.align_data docstring by {user}irvanalhaq9 in {pr}4152
  • Fix :meth:VMobject.pointwise_become_partial failing when vmobject is self by {user}irvanalhaq9 in {pr}4193
  • Fix add_points_as_corners not connecting single point to existing path by {user}irvanalhaq9 in {pr}4219
  • Complete typing for logger_utils.py by {user}fmuenkel in {pr}4134
  • Fix(graph): Allow any Line subclass as edge_type in Graph/DiGraph by {user}Akshat-Mishra-py in {pr}4251
  • Replace exceptions, remove unused parameters, and fix type hints in Animation, ShowPartial, Create, ShowPassingFlash, and DrawBorderThenFill by {user}irvanalhaq9 in {pr}4214
  • Fix: Axes submobject colors are not being set properly by {user}ishu9bansal in {pr}4291
  • Refactor Rotating and add docstrings to Mobject.rotate() and Rotating by {user}irvanalhaq9 in {pr}4147
  • Fix default config of manim init project to use correct pixel_height and pixel_width by {user}StevenH34 in {pr}4213
  • Handle opacity and transparent images by {user}henrikmidtiby in {pr}4313
  • Gracefully fall back when version metadata is missing by {user}mohiuddin-khan-shiam in {pr}4324
  • Fix for issue 4255 - Do not clear points when the number of curves is zero by {user}henrikmidtiby in {pr}4320
  • Use utf-8 encoding to read generated .tex files. by {user}OliverStrait in {pr}4334
  • Add zero to vmobject points to remove negative zeros in get_mobject_key by {user}elshorbagyx in {pr}4332
  • Ensure stroke_width attribute of SVGMobject is not set to None by {user}henrikmidtiby in {pr}4319
  • Fix Prism incorrectly rendering with dimensions=[2, 2, 2] in OpenGL by {user}ra1u in {pr}4003
  • Fix BraceLabel.change_label() and document BraceText by {user}henrikmidtiby in {pr}4347
  • Include Text.gradient in hash to properly regenerate Text when its gradient changes by {user}AbhilashaTandon in {pr}4099
  • Fixed surface animations in OpenGL by {user}nubDotDev in {pr}4286
  • Add type hints and support for arithmetic operators + and - on ValueTracker by {user}fmuenkel in {pr}4129
  • Fix duplicate references in Scene.mobjects after ReplacementTransform with existing target mobject by {user}irvanalhaq9 in {pr}4242
  • Optimize always_redraw() by reducing Mobject copying in Mobject.become() by {user}chopan050 in {pr}4357
  • Enhance manim cfg show output and add info-level logging for config files read by {user}xnov18 in {pr}4375
  • Let Cube use Bevel type line joints by {user}nubDotDev in {pr}4361
  • Properly define init_points methods for use in OpenGL instead of defining init_points = generate_points by {user}chopan050 in {pr}4360
  • Allow passing a tuple to buff in SurroundingRectangle to specify buffer in x and y direction independently by {user}nubDotDev in {pr}4390
  • Rewrite color_gradient to always return a list of ManimColors by {user}henrikmidtiby in {pr}4380
  • Ensure leading whitespace does not change line height for lines in CodeMobject by {user}behackl in {pr}4392
  • Simplify the function remove_invisible_chars in text_mobject.py by {user}henrikmidtiby in {pr}4394
  • Fix some config options specified via --config_file not being respected properly by {user}behackl in {pr}4401
  • Fix: Correct resolution tuple order to (height, width) by {user}Nikhil172913832 in {pr}4440
  • Ensure that start and end points are stored as float values in Line3D by {user}SirJamesClarkMaxwell in {pr}4080
  • OpenGL: Fix iterated nesting in DecimalNumber.set_value by {user}henrikmidtiby in {pr}4373
  • Update default resolution in CLI to match Manim’s 1920x1080 default settings by {user}SASHAKT1290 in {pr}4452
  • Better parsing of color styles in CodeMobject by {user}SirJamesClarkMaxwell in {pr}4454
  • Allow selection of all scenes to render using '*' by {user}NightyStudios in {pr}4470
  • Prevent mutation of about_point in apply_points_function_about_point by {user}Morkunas in {pr}4478
  • Fix behavior of Mobject.suspend_updating: when only suspending parent mobject, let children continue updating by {user}behackl in {pr}4402
  • Allow passing a buff to LabeledDot by {user}nubDotDev in {pr}4403
  • Pass ndarrays to mapbox_earcut.triangulate_float32() to fix TypeError in mapbox_earcut==2.0.0 by {user}GuiCT in {pr}4479
  • Fix duplicated arrow tips in DashedVMobject (issue #3220) by {user}jakekinchen in {pr}4484

Documentation

  • Add docstring to :meth:.Mobject.get_family by {user}irvanalhaq9 in {pr}4127
  • Fix link formatting and clarify the distinction between Manim versions in index.rst by {user}irvanalhaq9 in {pr}4131
  • Add instructions for installing system utilities cairo and pkg-config via Homebrew on MacOS by {user}behackl in {pr}4146
  • Add missing line break in Code of Conduct's conflict of interest policy by {user}Hasan-Mesbaul-Ali-Taher in {pr}4185
  • Fix links to Pango website by {user}ragibson in {pr}4217
  • Replace poetry with uv in the README by {user}xinoehp512 in {pr}4226
  • Improve docstring for interpolate method in Mobject class by {user}irvanalhaq9 in {pr}4149
  • Add docstrings to Line and remove None handling for path_arc parameter by {user}irvanalhaq9 in {pr}4223
  • Add docstring to :meth:Mobject.family_members_with_points by {user}irvanalhaq9 in {pr}4128
  • Update incorrect docstring for :attr:ManimConfig.gui_location property by {user}SAYAN02-DEV in {pr}4254
  • Fix formatting of color space documentation by {user}behackl in {pr}4274
  • Enhance and Paraphrase Description of ManimCE in README.md by {user}irvanalhaq9 in {pr}4141
  • docs: add explanation about the rate_func in the custom animation by {user}pedropxoto in {pr}4278
  • Fixed artifact in docstring of Animation by {user}barollet in {pr}4283
  • Rename update function dot_position to update_label in .add_updater example by {user}irvanalhaq9 in {pr}4196
  • Fix Microsoft typo in TexFontTemplateLibrary scene in example_scenes/advanced_tex_fonts.py by {user}alterdim in {pr}4305
  • Improved readability, grammar, as well as added docstrings for consistency by {user}NASAnerd05 in {pr}4267
  • Add docstrings for ChangingDecimal and ChangeDecimalToValue by {user}haveheartt in {pr}4346
  • Fix Sphinx exceptions when trying to build documentation via latex / as pdf by {user}behackl in {pr}4370
  • Added license information to documentation landing page by {user}Nikil-D-Gr8 in {pr}3986
  • Set the default Python version to 3.13 in the uv installation guide by {user}henrikmidtiby in {pr}4480

Maintenance and Testing

  • Change project management tool from poetry to uv by {user}behackl in {pr}4138
  • Re-add ffmpeg as dependency within Docker image by {user}behackl in {pr}4150
  • Add tests for Matrix, DecimalMatrix, IntegerMatrix by {user}pdrzan in {pr}4279
  • Add tests for polylabel utility by {user}giolucasd in {pr}4269
  • Add support for pycodestyle W rule in Ruff by {user}KaiqueDultra in {pr}4276
  • Fix files with few MyPy typing errors by {user}henrikmidtiby in {pr}4263
  • Explicitly mention all files that mypy should ignore in the mypy.ini configuration file by {user}henrikmidtiby in {pr}4306
  • Remove dead code from scene.py and vector_space_scene.py by {user}henrikmidtiby in {pr}4310
  • Add type annotations to scene.py and vector_space_scene.py by {user}henrikmidtiby in {pr}4260
  • Replace setup-texlive-action in CI workflow by {user}behackl in {pr}4326
  • Adding type annotations to polyhedra.py and matrix.py by {user}henrikmidtiby in {pr}4322
  • Handling typing errors in text/numbers.py by {user}henrikmidtiby in {pr}4317
  • Move configure_pygui into a Scene method and remove manim.gui by {user}chopan050 in {pr}4314
  • Add typing annotations to svg_mobject.py by {user}henrikmidtiby in {pr}4318
  • Add type annotations to mobject/svg/brace.py and default to label_constructor=Text in BraceText by {user}henrikmidtiby in {pr}4309
  • Add classes MethodWithArgs, SceneInteractContinue and SceneInteractRerun inside new module manim.data_structures by {user}chopan050 in {pr}4315
  • Fix typo in import of OpenGLCamera in utils/hashing.py by {user}fmuenkel in {pr}4352
  • Add type annotations to manim/renderer/shader.py by {user}henrikmidtiby in {pr}4350
  • Add type annotations to tex_mobject.py by {user}henrikmidtiby in {pr}4355
  • Add type annotations to three_d_camera.py by {user}henrikmidtiby in {pr}4356
  • Revert change of default value for tex_environment by {user}henrikmidtiby in {pr}4358
  • Add type hints to scene_file_writer.py, section.py, and zoomed_scene.py by {user}fmuenkel in {pr}4133
  • Add type annotations for most of camera and mobject.graphing by {user}henrikmidtiby in {pr}4125
  • Add VectorNDLike type aliases by {user}chopan050 in {pr}4068
  • Add type annotations to dot_cloud.py, vectorized_mobject_rendering.py and opengl_three_dimensions.py by {user}henrikmidtiby in {pr}4359
  • Add type annotations to indication.py by {user}henrikmidtiby in {pr}4367
  • Add type annotations to composition.py by {user}henrikmidtiby in {pr}4366
  • Add type annotations to growing.py by {user}henrikmidtiby in {pr}4368
  • Add type annotations to movement.py by {user}henrikmidtiby in {pr}4371
  • Exclude check for cyclic imports by CodeQL by {user}behackl in {pr}4384
  • Refactor imports from collections.abc, typing and typing_extensions for Python 3.9 by {user}chopan050 in {pr}4353
  • Add type annotations to opengl_renderer_window.py by {user}fmuenkel in {pr}4363
  • Rename SceneFileWriter.save_final_image() to save_image() by {user}fmuenkel in {pr}4378
  • Add type annotations to text_mobject.py by {user}henrikmidtiby in {pr}4381
  • Rename types like RGBA_Array_Float to FloatRGBA and add types like FloatRGBA_Array by {user}chopan050 in {pr}4386
  • Add type annotations to opengl_geometry.py by {user}henrikmidtiby in {pr}4396
  • Add type annotations to moving_camera.py by {user}henrikmidtiby in {pr}4397
  • Add type annotations to opengl_mobject.py by {user}RBerga06 in {pr}4398
  • Fix failing pre-commit tests by {user}cclauss in {pr}4434
  • Add type annotations to cairo_renderer.py by {user}fmuenkel in {pr}4393
  • Fix type errors and add typings for Mobject.apply_function(), its derivatives, and other utility functions by {user}godalming123 in {pr}4228
  • Bump macOS image from deprecated macos-13 to macos-15-intel by {user}chopan050 in {pr}4481
  • Prepare new release v0.19.1 and bump minimum required Python version to 3.10 by {user}behackl in {pr}4490

Dependency Version Changes

  • Bump typing extensions minimum version by {user}JasonGrace2282 in {pr}4121
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4122
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4140
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4148
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4181
  • Bump astral-sh/setup-uv from 5 to 6 by {user}dependabot[bot] in {pr}4234
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4204
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4391
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4405
  • Bump actions/setup-python from 5 to 6 by {user}dependabot[bot] in {pr}4433
  • Bump actions/checkout from 4 to 5 by {user}dependabot[bot] in {pr}4418
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4409
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4460
  • [pre-commit.ci] pre-commit autoupdate by {user}pre-commit-ci[bot] in {pr}4467
  • Bump github/codeql-action from 3 to 4 by {user}dependabot[bot] in {pr}4466
  • Bump astral-sh/setup-uv from 6 to 7 by {user}dependabot[bot] in {pr}4465
  • Bump actions/upload-artifact from 4 to 5 by {user}dependabot[bot] in {pr}4464

New Contributors

  • {user}BenKirkels made their first contribution in {pr}4144
  • {user}Hasan-Mesbaul-Ali-Taher made their first contribution in {pr}4185
  • {user}ragibson made their first contribution in {pr}4217
  • {user}thehugwizard made their first contribution in {pr}4202
  • {user}xinoehp512 made their first contribution in {pr}4226
  • {user}SAYAN02-DEV made their first contribution in {pr}4254
  • {user}Akshat-Mishra-py made their first contribution in {pr}4251
  • {user}pdrzan made their first contribution in {pr}4279
  • {user}pedropxoto made their first contribution in {pr}4278
  • {user}giolucasd made their first contribution in {pr}4269
  • {user}KaiqueDultra made their first contribution in {pr}4276
  • {user}ishu9bansal made their first contribution in {pr}4291
  • {user}StevenH34 made their first contribution in {pr}4213
  • {user}alterdim made their first contribution in {pr}4305
  • {user}mohiuddin-khan-shiam made their first contribution in {pr}4324
  • {user}elshorbagyx made their first contribution in {pr}4332
  • {user}NASAnerd05 made their first contribution in {pr}4267
  • {user}ra1u made their first contribution in {pr}4003
  • {user}AbhilashaTandon made their first contribution in {pr}4099
  • {user}nubDotDev made their first contribution in {pr}4286
  • {user}haveheartt made their first contribution in {pr}4346
  • {user}xnov18 made their first contribution in {pr}4375
  • {user}Nikil-D-Gr8 made their first contribution in {pr}3986
  • {user}RBerga06 made their first contribution in {pr}4398
  • {user}Nikhil172913832 made their first contribution in {pr}4440
  • {user}SASHAKT1290 made their first contribution in {pr}4452
  • {user}Brainsucker92 made their first contribution in {pr}4469
  • {user}NightyStudios made their first contribution in {pr}4470
  • {user}Morkunas made their first contribution in {pr}4478
  • {user}GuiCT made their first contribution in {pr}4479
  • {user}godalming123 made their first contribution in {pr}4228
  • {user}jakekinchen made their first contribution in {pr}4484

Full Changelog: https://github.com/ManimCommunity/manim/compare/v0.19.0...v0.19.1