docs/source/changelog/0.19.1-changelog.md
Date : December 01, 2025
random_color method to produce colors deterministically by {user}ishu9bansal in {pr}4265//, %, *, ** and / on ValueTracker by {user}fmuenkel in {pr}4351TangentialArc mobject by {user}Brainsucker92 in {pr}4469fmuenkel in {pr}4159BenKirkels in {pr}4144Code mobject compatible with OpenGL renderer by {user}behackl in {pr}4164thehugwizard in {pr}4202Polygram.get_vertex_groups() and rename variables in .round_corners() by {user}chopan050 in {pr}4063Mobject.align_data docstring by {user}irvanalhaq9 in {pr}4152VMobject.pointwise_become_partial failing when vmobject is self by {user}irvanalhaq9 in {pr}4193add_points_as_corners not connecting single point to existing path by {user}irvanalhaq9 in {pr}4219fmuenkel in {pr}4134Akshat-Mishra-py in {pr}4251Animation, ShowPartial, Create, ShowPassingFlash, and DrawBorderThenFill by {user}irvanalhaq9 in {pr}4214Axes submobject colors are not being set properly by {user}ishu9bansal in {pr}4291Rotating and add docstrings to Mobject.rotate() and Rotating by {user}irvanalhaq9 in {pr}4147manim init project to use correct pixel_height and pixel_width by {user}StevenH34 in {pr}4213henrikmidtiby in {pr}4313mohiuddin-khan-shiam in {pr}4324henrikmidtiby in {pr}4320OliverStrait in {pr}4334get_mobject_key by {user}elshorbagyx in {pr}4332stroke_width attribute of SVGMobject is not set to None by {user}henrikmidtiby in {pr}4319Prism incorrectly rendering with dimensions=[2, 2, 2] in OpenGL by {user}ra1u in {pr}4003BraceLabel.change_label() and document BraceText by {user}henrikmidtiby in {pr}4347Text.gradient in hash to properly regenerate Text when its gradient changes by {user}AbhilashaTandon in {pr}4099nubDotDev in {pr}4286+ and - on ValueTracker by {user}fmuenkel in {pr}4129Scene.mobjects after ReplacementTransform with existing target mobject by {user}irvanalhaq9 in {pr}4242always_redraw() by reducing Mobject copying in Mobject.become() by {user}chopan050 in {pr}4357manim cfg show output and add info-level logging for config files read by {user}xnov18 in {pr}4375Cube use Bevel type line joints by {user}nubDotDev in {pr}4361init_points methods for use in OpenGL instead of defining init_points = generate_points by {user}chopan050 in {pr}4360buff in SurroundingRectangle to specify buffer in x and y direction independently by {user}nubDotDev in {pr}4390color_gradient to always return a list of ManimColors by {user}henrikmidtiby in {pr}4380behackl in {pr}4392remove_invisible_chars in text_mobject.py by {user}henrikmidtiby in {pr}4394--config_file not being respected properly by {user}behackl in {pr}4401Nikhil172913832 in {pr}4440SirJamesClarkMaxwell in {pr}4080DecimalNumber.set_value by {user}henrikmidtiby in {pr}4373SASHAKT1290 in {pr}4452SirJamesClarkMaxwell in {pr}4454NightyStudios in {pr}4470about_point in apply_points_function_about_point by {user}Morkunas in {pr}4478Mobject.suspend_updating: when only suspending parent mobject, let children continue updating by {user}behackl in {pr}4402buff to LabeledDot by {user}nubDotDev in {pr}4403mapbox_earcut.triangulate_float32() to fix TypeError in mapbox_earcut==2.0.0 by {user}GuiCT in {pr}4479jakekinchen in {pr}4484.Mobject.get_family by {user}irvanalhaq9 in {pr}4127irvanalhaq9 in {pr}4131cairo and pkg-config via Homebrew on MacOS by {user}behackl in {pr}4146Hasan-Mesbaul-Ali-Taher in {pr}4185ragibson in {pr}4217xinoehp512 in {pr}4226interpolate method in Mobject class by {user}irvanalhaq9 in {pr}4149Line and remove None handling for path_arc parameter by {user}irvanalhaq9 in {pr}4223Mobject.family_members_with_points by {user}irvanalhaq9 in {pr}4128ManimConfig.gui_location property by {user}SAYAN02-DEV in {pr}4254behackl in {pr}4274irvanalhaq9 in {pr}4141pedropxoto in {pr}4278barollet in {pr}4283dot_position to update_label in .add_updater example by {user}irvanalhaq9 in {pr}4196TexFontTemplateLibrary scene in example_scenes/advanced_tex_fonts.py by {user}alterdim in {pr}4305NASAnerd05 in {pr}4267ChangingDecimal and ChangeDecimalToValue by {user}haveheartt in {pr}4346behackl in {pr}4370Nikil-D-Gr8 in {pr}3986henrikmidtiby in {pr}4480behackl in {pr}4138behackl in {pr}4150pdrzan in {pr}4279giolucasd in {pr}4269pycodestyle W rule in Ruff by {user}KaiqueDultra in {pr}4276henrikmidtiby in {pr}4263mypy.ini configuration file by {user}henrikmidtiby in {pr}4306scene.py and vector_space_scene.py by {user}henrikmidtiby in {pr}4310scene.py and vector_space_scene.py by {user}henrikmidtiby in {pr}4260behackl in {pr}4326henrikmidtiby in {pr}4322henrikmidtiby in {pr}4317configure_pygui into a Scene method and remove manim.gui by {user}chopan050 in {pr}4314henrikmidtiby in {pr}4318mobject/svg/brace.py and default to label_constructor=Text in BraceText by {user}henrikmidtiby in {pr}4309MethodWithArgs, SceneInteractContinue and SceneInteractRerun inside new module manim.data_structures by {user}chopan050 in {pr}4315utils/hashing.py by {user}fmuenkel in {pr}4352manim/renderer/shader.py by {user}henrikmidtiby in {pr}4350tex_mobject.py by {user}henrikmidtiby in {pr}4355three_d_camera.py by {user}henrikmidtiby in {pr}4356henrikmidtiby in {pr}4358scene_file_writer.py, section.py, and zoomed_scene.py by {user}fmuenkel in {pr}4133camera and mobject.graphing by {user}henrikmidtiby in {pr}4125VectorNDLike type aliases by {user}chopan050 in {pr}4068dot_cloud.py, vectorized_mobject_rendering.py and opengl_three_dimensions.py by {user}henrikmidtiby in {pr}4359indication.py by {user}henrikmidtiby in {pr}4367composition.py by {user}henrikmidtiby in {pr}4366growing.py by {user}henrikmidtiby in {pr}4368movement.py by {user}henrikmidtiby in {pr}4371behackl in {pr}4384collections.abc, typing and typing_extensions for Python 3.9 by {user}chopan050 in {pr}4353opengl_renderer_window.py by {user}fmuenkel in {pr}4363SceneFileWriter.save_final_image() to save_image() by {user}fmuenkel in {pr}4378text_mobject.py by {user}henrikmidtiby in {pr}4381RGBA_Array_Float to FloatRGBA and add types like FloatRGBA_Array by {user}chopan050 in {pr}4386opengl_geometry.py by {user}henrikmidtiby in {pr}4396moving_camera.py by {user}henrikmidtiby in {pr}4397opengl_mobject.py by {user}RBerga06 in {pr}4398cclauss in {pr}4434cairo_renderer.py by {user}fmuenkel in {pr}4393Mobject.apply_function(), its derivatives, and other utility functions by {user}godalming123 in {pr}4228chopan050 in {pr}4481v0.19.1 and bump minimum required Python version to 3.10 by {user}behackl in {pr}4490JasonGrace2282 in {pr}4121pre-commit-ci[bot] in {pr}4122pre-commit-ci[bot] in {pr}4140pre-commit-ci[bot] in {pr}4148pre-commit-ci[bot] in {pr}4181dependabot[bot] in {pr}4234pre-commit-ci[bot] in {pr}4204pre-commit-ci[bot] in {pr}4391pre-commit-ci[bot] in {pr}4405dependabot[bot] in {pr}4433dependabot[bot] in {pr}4418pre-commit-ci[bot] in {pr}4409pre-commit-ci[bot] in {pr}4460pre-commit-ci[bot] in {pr}4467dependabot[bot] in {pr}4466dependabot[bot] in {pr}4465dependabot[bot] in {pr}4464BenKirkels made their first contribution in {pr}4144Hasan-Mesbaul-Ali-Taher made their first contribution in {pr}4185ragibson made their first contribution in {pr}4217thehugwizard made their first contribution in {pr}4202xinoehp512 made their first contribution in {pr}4226SAYAN02-DEV made their first contribution in {pr}4254Akshat-Mishra-py made their first contribution in {pr}4251pdrzan made their first contribution in {pr}4279pedropxoto made their first contribution in {pr}4278giolucasd made their first contribution in {pr}4269KaiqueDultra made their first contribution in {pr}4276ishu9bansal made their first contribution in {pr}4291StevenH34 made their first contribution in {pr}4213alterdim made their first contribution in {pr}4305mohiuddin-khan-shiam made their first contribution in {pr}4324elshorbagyx made their first contribution in {pr}4332NASAnerd05 made their first contribution in {pr}4267ra1u made their first contribution in {pr}4003AbhilashaTandon made their first contribution in {pr}4099nubDotDev made their first contribution in {pr}4286haveheartt made their first contribution in {pr}4346xnov18 made their first contribution in {pr}4375Nikil-D-Gr8 made their first contribution in {pr}3986RBerga06 made their first contribution in {pr}4398Nikhil172913832 made their first contribution in {pr}4440SASHAKT1290 made their first contribution in {pr}4452Brainsucker92 made their first contribution in {pr}4469NightyStudios made their first contribution in {pr}4470Morkunas made their first contribution in {pr}4478GuiCT made their first contribution in {pr}4479godalming123 made their first contribution in {pr}4228jakekinchen made their first contribution in {pr}4484Full Changelog: https://github.com/ManimCommunity/manim/compare/v0.19.0...v0.19.1