There is a newer version of the record available.

Published January 20, 2025 | Version v0.19.0

Manim – Mathematical Animation Framework

Description

Changelog

The full curated and commented changelog can be found at https://docs.manim.community/en/latest/changelog/0.19.0-changelog.html.

What's Changed

  • feat: Add three animations that together simulate a typing animation by @VinhPhmCng in https://github.com/ManimCommunity/manim/pull/3612
  • Fixed action for building downloadable documentation by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3737
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3739
  • Fixes #3744 - underline tag should be <u></u> in the documentation. by @anagorko in https://github.com/ManimCommunity/manim/pull/3745
  • Bump tqdm from 4.66.1 to 4.66.3 by @dependabot in https://github.com/ManimCommunity/manim/pull/3746
  • Bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in https://github.com/ManimCommunity/manim/pull/3750
  • Add typehints to manim.utils.iterables by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3751
  • Let SceneFileWriter access ffmpeg via av instead of via external process by @behackl in https://github.com/ManimCommunity/manim/pull/3501
  • Use --py39-plus in pre-commit by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3761
  • Optimized manim.utils.bezier.is_closed() by @chopan050 in https://github.com/ManimCommunity/manim/pull/3768
  • Created and optimized Bézier splitting functions such as partial_bezier_points() in manim.utils.bezier by @chopan050 in https://github.com/ManimCommunity/manim/pull/3766
  • Bump requests from 2.31.0 to 2.32.0 by @dependabot in https://github.com/ManimCommunity/manim/pull/3776
  • Fix assertions and improve error messages when adding submobjects by @chopan050 in https://github.com/ManimCommunity/manim/pull/3756
  • Add pyproject for ruff formatting by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3777
  • pre-commit change to ruff by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3779
  • Ignore Ruff format in git blame by @Viicos in https://github.com/ManimCommunity/manim/pull/3781
  • Fixed there_and_back_with_pause() rate function behaviour with different pause_ratio values by @jkjkil4 in https://github.com/ManimCommunity/manim/pull/3778
  • Optimize VMobject methods which append to points by @chopan050 in https://github.com/ManimCommunity/manim/pull/3765
  • Add @ shorthand for CoordinateSystem methods coords_to_point (c2p) and point_to_coords (p2c) by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3754
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3784
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3794
  • Add Ruff Lint by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3780
  • Replace Pyupgrade with Ruff rule by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3795
  • Bump tornado from 6.4 to 6.4.1 by @dependabot in https://github.com/ManimCommunity/manim/pull/3796
  • Fixing the get_nth_subpath function in "opengl_vectorized_mobject.py". by @yang-tsao in https://github.com/ManimCommunity/manim/pull/3790
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3801
  • Add typings to OpenGLMobject by @chopan050 in https://github.com/ManimCommunity/manim/pull/3803
  • fix: importing manim should not trigger pygments.styles.get_all_styles by @goldenphoenix713 in https://github.com/ManimCommunity/manim/pull/3797
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3809
  • Bump urllib3 from 2.2.1 to 2.2.2 by @dependabot in https://github.com/ManimCommunity/manim/pull/3810
  • Fix MacOS LaTeX CI by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3812
  • Fixed infinite loop in OpenGL BackgroundRectangle.get_color() by @camburd2 in https://github.com/ManimCommunity/manim/pull/3732
  • docs(contributing): add manim.typing guide by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3669
  • Fix DiGraph edges not fading correctly on FadeIn and FadeOut by @Nikhil-42 in https://github.com/ManimCommunity/manim/pull/3786
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3823
  • feat(autoaliasattr): Implement Documentation of TypeVar's by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3818
  • Fixed Arrow3D.put_start_and_end_on() to use the actual end of the arrow by @SirJamesClarkMaxwell in https://github.com/ManimCommunity/manim/pull/3706
  • Optimized manim.utils.bezier.get_smooth_cubic_bezier_handle_points() by @chopan050 in https://github.com/ManimCommunity/manim/pull/3767
  • Fix docker build by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3827
  • Doc: add docstrings to Brace by @biinnnggggg in https://github.com/ManimCommunity/manim/pull/3715
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3834
  • Bump docker/build-push-action from 5 to 6 by @dependabot in https://github.com/ManimCommunity/manim/pull/3835
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3844
  • Bump certifi from 2024.2.2 to 2024.7.4 by @dependabot in https://github.com/ManimCommunity/manim/pull/3841
  • Fix incorrect version number in plugin section in docs by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3849
  • Bump zipp from 3.18.2 to 3.19.1 by @dependabot in https://github.com/ManimCommunity/manim/pull/3847
  • Rename manim.typing.Image type aliases to PixelArray to avoid conflict with PIL.Image by @chopan050 in https://github.com/ManimCommunity/manim/pull/3851
  • Change from tempconfig to a config fixture in tests by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3853
  • Fix :attr:.ManimConfig.format not updating movie file extension by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3839
  • Rewrite manim.utils.bezier.get_quadratic_approximation_of_cubic() to produce curves which can be animated smoothly by @chopan050 in https://github.com/ManimCommunity/manim/pull/3829
  • Log execution time of scene rendering in the Manim Checkhealth command by @chopan050 in https://github.com/ManimCommunity/manim/pull/3855
  • Optimize VMobject.pointwise_become_partial() by @chopan050 in https://github.com/ManimCommunity/manim/pull/3760
  • Update installation instructions for MacOS (via dedicated brew formula) by @Elastino in https://github.com/ManimCommunity/manim/pull/3857
  • Update docker to use ENV x=y instead of ENV x y by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3858
  • Fixed behavior of config.background_opacity < 1 and duplicated log messages by @abul4fia in https://github.com/ManimCommunity/manim/pull/3680
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3865
  • Fix pre-commit linting by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3877
  • Use ruff for pytest style by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3872
  • feat: set_default for Animation class by @christopher-hampson in https://github.com/ManimCommunity/manim/pull/3876
  • Use ruff instead of flake8-simplify by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3873
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3880
  • Change flake8-comprehensions and flake8-bugbear to ruff by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3882
  • Rename parameters and variables conflicting with builtin functions by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3884
  • Added colorscale to axes.plot() by @alembcke in https://github.com/ManimCommunity/manim/pull/3148
  • Fix :meth:.OpenGLMobject.invert not reassembling family by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3885
  • Experimenting with an HSV class by @MrDiver in https://github.com/ManimCommunity/manim/pull/3518
  • Fix typo from HSV PR by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3887
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3889
  • Replace the TypeError message code in the _typecheck_input method in … by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/3890
  • Significantly reduce rendering time with a separate thread for writing frames to stream by @smu160 in https://github.com/ManimCommunity/manim/pull/3888
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3896
  • Lock poetry.lock by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3895
  • fix a wrong type mark in a function head. by @fogsong233 in https://github.com/ManimCommunity/manim/pull/3902
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3904
  • bugfix: convert non-.wav/.raw files to .wav before passing to pydub by @behackl in https://github.com/ManimCommunity/manim/pull/3832
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3911
  • fix type hint, change int to float by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/3916
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3918
  • Simplify Sector Class by Removing Redundant Parameters by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/3922
  • Changing the 'side_length' attribute to a property by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/3901
  • Standardize docstrings with ruff pydocstyle rules by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3881
  • feat: preserve original TeX colors by @christopher-hampson in https://github.com/ManimCommunity/manim/pull/3903
  • Use Ruff pygrep rules by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3923
  • Bump cryptography from 43.0.0 to 43.0.1 by @dependabot in https://github.com/ManimCommunity/manim/pull/3931
  • Fix np.float_ to np.float64 while using numpy >= 2.0 by @geoochi in https://github.com/ManimCommunity/manim/pull/3940
  • os.system -> subprocess by @achille-fouilleul in https://github.com/ManimCommunity/manim/pull/3955
  • Set AAC codec for audio in mp4 files, add transcoding utility by @achille-fouilleul in https://github.com/ManimCommunity/manim/pull/3956
  • Optimized interpolate and bezier in manim.utils.bezier by @chopan050 in https://github.com/ManimCommunity/manim/pull/3960
  • Fix: .to_edge()'s example demonstration in docs by @DuskyElf in https://github.com/ManimCommunity/manim/pull/3958
  • Use Github Markdown on README by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3925
  • Fixed typehint in types.rst and replaced outdated reference to manim.typing.Image with manim.typing.PixelArray by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3878
  • Improve line rendering performance by decreasing redundant subdivision count by @nitzanbueno in https://github.com/ManimCommunity/manim/pull/3893
  • Fix typehints of ParametricFunction by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3926
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3929
  • VGroup can now be initialized with VMobject iterables by @NikhilaGurusinghe in https://github.com/ManimCommunity/manim/pull/3966
  • 3098 Refining documentations for moving_camera_scene module by @Jackyuanx in https://github.com/ManimCommunity/manim/pull/3972
  • Allow videos to be embedded in Google Colab without explicitly setting config.media_embed = True by @skusel in https://github.com/ManimCommunity/manim/pull/3974
  • Type annotation work in manim/mobject/geometry/ by @henrikmidtiby in https://github.com/ManimCommunity/manim/pull/3961
  • Added new PointND and PointND_Array type aliases by @chopan050 in https://github.com/ManimCommunity/manim/pull/3980
  • Refactored run_time validation for Animation and Scene.wait() by @chopan050 in https://github.com/ManimCommunity/manim/pull/3982
  • Add scale_stroke boolean parameter to VMobject.scale() to allow scaling stroke_width along with the VMobject by @Boris-Filin in https://github.com/ManimCommunity/manim/pull/3965
  • Allow :class:.SurroundingRectangle to accept multiple Mobjects by @Boris-Filin in https://github.com/ManimCommunity/manim/pull/3964
  • Feat: dvipsnames and svgnames color palettes by @christopher-hampson in https://github.com/ManimCommunity/manim/pull/3913
  • Add type hints to manim.cli module by @chopan050 in https://github.com/ManimCommunity/manim/pull/3988
  • Add a time property to scene by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3997
  • Stop ignoring manim.plugins errors in mypy.ini by @chopan050 in https://github.com/ManimCommunity/manim/pull/4006
  • Add typings to manim/__main__.py by @chopan050 in https://github.com/ManimCommunity/manim/pull/4007
  • Fix scene skipping for config.upto_animation_number (-n flag in CLI) set to 0 to end after first animation by @behackl in https://github.com/ManimCommunity/manim/pull/4013
  • Bump tornado from 6.4.1 to 6.4.2 by @dependabot in https://github.com/ManimCommunity/manim/pull/4023
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/3987
  • Add darker, lighter and contrasting methods to ManimColor by @hchargois in https://github.com/ManimCommunity/manim/pull/3992
  • Added ConvexHull, ConvexHull3D, Label and LabeledPolygram by @JayGupta797 in https://github.com/ManimCommunity/manim/pull/3933
  • Allow animations with run_time=0 and implement convenience Add animation by @chopan050 in https://github.com/ManimCommunity/manim/pull/4017
  • Add support for Python 3.13 by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3967
  • Pin version of pyav to avoid breaking changes in their API by @behackl in https://github.com/ManimCommunity/manim/pull/4037
  • Add a delay parameter to turn_animation_into_updater by @ChungLeeCN in https://github.com/ManimCommunity/manim/pull/4039
  • Add support in documentation for type aliases using Python 3.12 type definition by @chopan050 in https://github.com/ManimCommunity/manim/pull/4044
  • Rewrite installation instructions by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3930
  • Fix typehint of :meth:.Scene.play to allow .animate by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/4038
  • Call .finish() for every animation in AnimationGroup on finish by @Laifsyn in https://github.com/ManimCommunity/manim/pull/3951
  • Fix SyntaxWarnings when building the docs and bump readthedocs to Python 3.13 by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/3924
  • Rename InternalPoint3D to Point3D, Point3D to Point3DLike and other point-related type aliases by @chopan050 in https://github.com/ManimCommunity/manim/pull/4027
  • Add type annotations to manim.utils.* by @henrikmidtiby in https://github.com/ManimCommunity/manim/pull/3999
  • Fix VMobject.add_points_as_corners() to return self and safely handle empty points parameter by @chopan050 in https://github.com/ManimCommunity/manim/pull/4091
  • Remove duplicate all declarations in vectorized_mobject.py by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/4108
  • Corrected spelling mistake in documentation by @modjfy in https://github.com/ManimCommunity/manim/pull/4107
  • Remove PT004 from Ruff ignore by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/4102
  • Add Homotopy example for waving square by @irvanalhaq9 in https://github.com/ManimCommunity/manim/pull/4100
  • Fix of ImageMobject opacity bug by @henrikmidtiby in https://github.com/ManimCommunity/manim/pull/4089
  • Fix broken link to Poetry installation in contribution docs by @fmuenkel in https://github.com/ManimCommunity/manim/pull/4116
  • Add Noto fonts install command to Dockerfile by @Reckadon in https://github.com/ManimCommunity/manim/pull/4069
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/ManimCommunity/manim/pull/4035
  • Add hash to ManimColor by @sophiawisdom in https://github.com/ManimCommunity/manim/pull/4051
  • Completely rewrite Code mobject + add support for short notation RGB(A) hex code specifications to ManimColor by @behackl in https://github.com/ManimCommunity/manim/pull/4115
  • Update README and documentation landing page, improve way how 3b1b is credited by @czuzu in https://github.com/ManimCommunity/manim/pull/4077
  • Draw more accurate circular Arcs for larger angles by @chopan050 in https://github.com/ManimCommunity/manim/pull/4034
  • Polish documentation of manim.utils.color.core and remove interpolate_array() by @chopan050 in https://github.com/ManimCommunity/manim/pull/4065
  • Create changelog for 0.19.0 by @JasonGrace2282 in https://github.com/ManimCommunity/manim/pull/4032

New Contributors

  • @VinhPhmCng made their first contribution in https://github.com/ManimCommunity/manim/pull/3612
  • @anagorko made their first contribution in https://github.com/ManimCommunity/manim/pull/3745
  • @jkjkil4 made their first contribution in https://github.com/ManimCommunity/manim/pull/3778
  • @yang-tsao made their first contribution in https://github.com/ManimCommunity/manim/pull/3790
  • @goldenphoenix713 made their first contribution in https://github.com/ManimCommunity/manim/pull/3797
  • @camburd2 made their first contribution in https://github.com/ManimCommunity/manim/pull/3732
  • @Elastino made their first contribution in https://github.com/ManimCommunity/manim/pull/3857
  • @christopher-hampson made their first contribution in https://github.com/ManimCommunity/manim/pull/3876
  • @irvanalhaq9 made their first contribution in https://github.com/ManimCommunity/manim/pull/3890
  • @smu160 made their first contribution in https://github.com/ManimCommunity/manim/pull/3888
  • @fogsong233 made their first contribution in https://github.com/ManimCommunity/manim/pull/3902
  • @achille-fouilleul made their first contribution in https://github.com/ManimCommunity/manim/pull/3955
  • @DuskyElf made their first contribution in https://github.com/ManimCommunity/manim/pull/3958
  • @nitzanbueno made their first contribution in https://github.com/ManimCommunity/manim/pull/3893
  • @NikhilaGurusinghe made their first contribution in https://github.com/ManimCommunity/manim/pull/3966
  • @Jackyuanx made their first contribution in https://github.com/ManimCommunity/manim/pull/3972
  • @skusel made their first contribution in https://github.com/ManimCommunity/manim/pull/3974
  • @henrikmidtiby made their first contribution in https://github.com/ManimCommunity/manim/pull/3961
  • @Boris-Filin made their first contribution in https://github.com/ManimCommunity/manim/pull/3965
  • @hchargois made their first contribution in https://github.com/ManimCommunity/manim/pull/3992
  • @JayGupta797 made their first contribution in https://github.com/ManimCommunity/manim/pull/3933
  • @ChungLeeCN made their first contribution in https://github.com/ManimCommunity/manim/pull/4039
  • @Laifsyn made their first contribution in https://github.com/ManimCommunity/manim/pull/3951
  • @modjfy made their first contribution in https://github.com/ManimCommunity/manim/pull/4107
  • @fmuenkel made their first contribution in https://github.com/ManimCommunity/manim/pull/4116
  • @Reckadon made their first contribution in https://github.com/ManimCommunity/manim/pull/4069
  • @sophiawisdom made their first contribution in https://github.com/ManimCommunity/manim/pull/4051
  • @czuzu made their first contribution in https://github.com/ManimCommunity/manim/pull/4077

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

Notes

We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work.

Files

ManimCommunity/manim-v0.19.0.zip

Files (7.4 MB)

Name Size Download all
md5:09529e1a69be7388230592c8b0bf24b4
7.4 MB Preview Download

Additional details

Related works