v0.18.0

Date:

November 11, 2023

Contributors

A total of 41 people contributed to this release. People with a ‘+’ by their names authored a patch for the first time.

  • Abulafia +

  • Adhyyan Sekhsaria +

  • Adrien Ludwig +

  • Alex Kempen +

  • Andres Berejnoi +

  • Anousheh Moonen +

  • Benjamin Hackl

  • Francisco Manríquez Novoa

  • Harald Schilly +

  • Immanuel-Alvaro-Bhirawa +

  • Jason Grace +

  • Jason Villanueva

  • Jinchu Li

  • John Lynch +

  • Jérome Eertmans

  • Matt Turner +

  • Narahari Rao +

  • Naveen M K

  • Nikhil Iyer +

  • Ron Li +

  • Sujal Singh +

  • Tristan Schulz

  • Uwe Zimmermann +

  • Václav Blažej +

  • Zachary Winkeler +

The patches included in this release have been reviewed by the following contributors.

  • Alex Lembcke

  • Andres Berejnoi

  • Axel

  • Benjamin Hackl

  • Francisco Manríquez Novoa

  • Immanuel-Alvaro-Bhirawa

  • Jan-Hendrik Müller

  • Jason Grace

  • Jason Villanueva

  • Jinchu Li

  • John Lynch

  • Jérome Eertmans

  • Kevin Lubick

  • Narahari Rao

  • Naveen M K

  • NotWearingPants

  • SsNiPeR1

  • TheMathematicFanatic

  • Tristan Schulz

  • Uwe Zimmermann

  • Viicos

  • icedcoffeeee

Pull requests merged

A total of 59 pull requests were merged for this release.

Breaking changes

  • #3020: Rewrote Manim’s color system

    This change removed the colour library as a dependency of Manim and replaced the internal handling of colors with the newly added ManimColor. This also adds hundreds of new predefined colors, see utils.color for more details. This should only be a breaking change if you have interacted directly with the colour module before. The general interface has been kept stable.

Highlights

  • #3299: Added new manim checkhealth CLI subcommand

    This adds a new command line interface subcommand which can be used to check whether a local installation of Manim has been configured correctly, and all required (and optional) dependencies are available. To try it, run it via manim checkhealth or python -m manim checkhealth.

  • #3427: New feature: rendered examples in documentation can now be run directly via binder

    This adds a “Make interactive” button below the examples in our documentation that establishes a connection to binder such that examples can be modified and rerendered directly from your browser.

  • #3086: Introduced a new module typing for type hints

    This also adds various type hints to integral parts of the code base.

  • #3322: Implemented auto-removal of auxiliary LaTeX files, enabled by default

    This automatically removes auxiliary files creating during the compilation of LaTeX documents like .aux or .dvi files. This behavior can be controlled via the newly introduced no_latex_cleanup config key (False by default). On the command line, the autoremoval can be disabled via the --no_latex_cleanup CLI flag.

  • #3395: Added support for Python 3.12

New features

Enhancements

  • #3190: Made CurvesAsSubmobjects mobjects compatible with input_to_graph_point()

  • #3226: Avoid using a mobject as a default argument of ArcBrace

  • #3366: Added spacing between values and unit in DecimalNumber

    This adds the new keyword argument unit_buff_per_font_unit (default: 0, for backwards compatibility). Setting it to some positive number creates additional space between the numeric value and the displayed unit.

Fixed bugs

Changes concerning the testing system

  • #3416: Fixed tests to run on Cairo 1.18.0

  • #3257: Fix a configuration error concerning poetry

  • #3419: Fixed caching of Cairo builds on CI runners

Code quality improvements and similar refactors

  • #3229: Made docbuild errors easier to debug and fixed error from changed exception class

  • #3231: Fixed errors reported by flake8

  • #3232: Upgrade ReadTheDocs build environment to use newer image

  • #3286: Optimized Axes.coords_to_point()

  • #3224: Replace final few occurrences of os.path by pathlib.Path

  • #3236: Return self in AbstractImageMobject.set_resampling_algorithm()

  • #3253: Bump tornado from 6.3.1 to 6.3.2

  • #3272: Bump docker/build-push-action from 3 to 4

  • #3287: Bump cryptography from 41.0.1 to 41.0.2

  • #3350: Added missing dependency typing-extensions

  • #3431: Bump teatimeguest/setup-texlive-action from 2 to 3

  • #3433: Bump dependencies

  • #3399: Updated several dependencies

  • #3397: Several GitHub actions updates

  • #3405: Updated manimpango version to fix error regarding type strictness

  • #3421: Improved order of input checks when creating a tree graph

New releases

  • #3439: Prepared new release: v0.18.0