v0.15.0#
- Date
February 26, 2022
Contributors#
A total of 34 people contributed to this release. People with a ‘+’ by their names authored a patch for the first time.
Alex Lembcke
AnonymoZ +
Benjamin Hackl
Darylgolden
Eshaan Naga Venkata +
Faruk D. +
GameDungeon
Kevin Cen +
Laith Bahodi
Leo Xu
Lucas Ricci
Marcin Serwin
Michael McNeil Forbes +
Mysaa
Naveen M K
Pierre Couy +
Simon Ellmann +
Tommy Chu +
Viicos
ad_chaos
betafcc +
friedkeenan
icedcoffeeee
vmoros +
鹤翔万里
The patches included in this release have been reviewed by the following contributors.
Benjamin Hackl
Christopher Besch
Darylgolden
Eshaan Naga Venkata
GameDungeon
Jan-Hendrik Müller
Laith Bahodi
Marcin Kurczewski
Marcin Serwin
Naveen M K
Raghav Goel
RomainJMend
Ryan McCauley
Tommy Chu
ad_chaos
betafcc
icedcoffeeee
Pull requests merged#
A total of 71 pull requests were merged for this release.
Breaking changes#
Deprecated classes and functions#
- #2568: Removed Deprecated Methods
Removed methods and classes that were deprecated since v0.10.0 and v0.11.0
#2457: Deprecated
ShowCreationThenFadeOut
New features#
#2442: Added
media_embed
config option to control whether media in Jupyter notebooks is embedded- #2504: Added finer control over
Scene.wait()
being static (i.e., no updaters) or not Added keyword argument
frozen_frame
toWait
andScene.wait()
New convenience method:
Scene.pause()
(alias forScene.wait(frozen_frame=True)
)Changed default behavior for OpenGL updaters: updater functions are now not called by default when they are added
Changed default behavior of
Scene.should_mobjects_update()
: made it respect the set value ofWait.frozen_frame
, changed automatic determination of frozen frame state to also consider Scene updaters
- #2504: Added finer control over
Enhancements#
#2478: Alternative scaling for tree graph layout
#2565: Allowed passing vertex configuration keyword arguments to
Graph.add_edges()
#2467:
MathTex
,Tex
,Text
andMarkupText
inherit color from their parent mobjects#2537: Added support for PySide coordinate system
#2158: Added OpenGL compatibility to
ThreeDScene.add_fixed_orientation_mobjects()
andThreeDScene.add_fixed_in_frame_mobjects()
#2535: Implemented performance enhancement for
VMobject.insert_n_curves_to_point_list()
#2516: Cached view matrix for
OpenGLCamera
#2508: Improve performance for
Mobject.become()
#2332: Changed
color
,stroke_color
andfill_color
attributes to properties- #2396: Fixed animations introducing or removing objects
ShowPassingFlash
now removes objects when the animation is finishedAdded
introducer
keyword argument toAnimation
analogous toremover
Updated
Graph
vertex addition handling
Fixed bugs#
#2574: Improved Error in
utils.tex_file_writing
#2580: Fixed
find_intersection()
inspace_ops
#2576: Fixed a bug with animation of removal of edges from a
Graph
#2559: Fix setting line numbers in
Text
when using ManimPango settings#2557: Fixed logger bug in
Camera.make_background_from_func()
#1547: Fixed certain unicode characters in users’ paths causing issues on Windows
#2526: Fixed segfault when using
--enable_gui
#2538: Fixed flickering OpenGL preview when using
frozen_frame
#2528: Fixed custom naming of gifs and added some tests
#2487: Fixed
ThreeDCamera.remove_fixed_orientation_mobjects()
#2530: Use single source of truth for default text values
#2494: Fixed an issue related to previewing gifs
#2490: Fixed order of transformation application in
SVGMobject
#2357: Fixed
screeninfo.get_monitors
for MacOS#2444: Fixed
VectorScene.add_axes()
Changes to our development infrastructure#
Code quality improvements and similar refactors#
#2573: Moved
value_tracker
back insidemobject
#2566: Removed unused livestream-related imports and functions from
scene_file_writer
#2519: Removed outdated comment
#2503: Removed unused imports
#2475: Removed setuptools dependency
#2472: Removed unnecessary comment in
simple_functions
#2429: Upgraded to future-style type annotations
#2464: Bump pillow from 8.4.0 to 9.0.0
#2376: Updated dependencies for Python 3.10
- #2437: Cleaned up
simple_functions
Removed
fdiv
as in all cases where it was used, it was just doing the same thing as numpy array division.Replaced old implementation of the choose function with scipy’s implementation
Use
lru_cache
(least recently used cache) for caching the choose function. Since it’s only used for beziers, only 2 choose k and 3 choose k will be used, hence a size of 10 should be enough.Removed
clip_in_place
in favor ofnp.clip
Removed one use of
clip_in_place
that wasn’t actually doing anything
- #2437: Cleaned up
#2439: Removed twitter template from scripts
New releases#
#2547: Prepared new release,
v0.15.0