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 addedManimColor
. This also adds hundreds of new predefined colors, seeutils.color
for more details. This should only be a breaking change if you have interacted directly with thecolour
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
orpython -m manim checkhealth
.
- #3299: Added new
- #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.
- #3086: Introduced a new module
- #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 introducedno_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#
- #3361: Added three new rate functions
This adds the rate functions
smoothstep()
,smootherstep()
,smoothererstep()
based on the SmoothStep sigmoid functions.
#3264: Added new mobjects
LabeledLine
andLabeledArrow
Enhancements#
#3190: Made
CurvesAsSubmobjects
mobjects compatible withinput_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.
- #3366: Added spacing between values and unit in
Fixed bugs#
#3210: Fixed
DecimalNumber
withshow_ellipsis=True
with the OpenGL renderer#3211: Fixed display issues with custom labels for
Axes
with the OpenGL renderer#3298: Fixed expand animation for
ManimBanner
#3306: Fixed IPython terminal history and embedded shell instantiation for scenes using
Scene.interactive_embed()
#3315: Fixed issue with parameter types in
Scene.add_subcaption()
#3284: Fixed
LinearTransformationSceneExample
in Jupyter notebooks#3302: Fixed typo in comparison in
OpenGLVMobject.interpolate()
#3340: Fixed incorrect computation of bounding box for rotated
ImageMobject
#3343: Fixed return value of
TexTemplate.add_to_preamble()
andTexTemplate.add_to_document()
#3282: Ensure that
ArrowVectorField.get_vector()
does not modify the passed inputs#3392: Fixed behavior of elongated tick lines for
NumberLine
#3430: Fixed CSV reader adding empty lists in rendering summary during documentation build
#3404: Properly raise an exception on empty inputs to
AddTextLetterByLetter
Changes concerning the testing system#
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
bypathlib.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