docs/source/changelog/0.16.0-changelog.rst
v0.16.0
:Date: July 13, 2022
A total of 44 people contributed to this release. People with a '+' by their names authored a patch for the first time.
The patches included in this release have been reviewed by the following contributors.
A total of 56 pull requests were merged for this release.
:pr:2550: New thematic guide: a deep dive into the internals of the library
This new :doc:thematic guide </guides/deep_dive> aims to be a comprehensive walkthrough
describing all the things that Manim does when you run it to produce a video.
:pr:2732: Improved overall structure of deployed documentation; added a dedicated :doc:FAQ section </faq/index>
:pr:2749: Added :class:.ChangeSpeed, an animation wrapper that allows to smoothly change the speed at which an animation is played
The speed of any animation can be changed by wrapping the animation with :class:.ChangeSpeed and passing a dictionary as speedinfo whose keys are the relative animation run time stamps and whose values are the absolute speed factors; e.g., {0.5: 2, 0.75: 0.25} smoothly speeds up the animation by a factor of 2 once it has been completed to 50%, and then it is smoothly slowed down to 1/4 of the default run speed after 75% of the animation are completed. The run_time of the animation will be adjusted to match the changed play speed.
It is also possible to add time-based updaters that respect the change in speed, use the auxiliary :meth:.ChangeSpeed.add_updater method to do so.
:pr:2667: Made FFmpeg executable path configurable
:pr:2739: Added vectorized plotting functionality via keyword argument use_vectorized to improve performance
:pr:2186: Enabled filling color by value for :class:.OpenGLSurface, replaced colors keyword argument of :meth:.Surface.set_fill_by_value with colorscale
:pr:2288: Added warning when attempting to add same mobject as child twice
:pr:2707: Fixed missing get_nth_curve_length_pieces method of :class:.OpenGLVMobject
get_curve_functions_with_lengths in OpenGLVMobjectget_nth_curve_length_pieces to OpenGLVMobject:pr:2709: Improved the look of the brackets of :class:.Matrix
:pr:2714: Fixed :meth:.OpenGLVMobject.pointwise_become_partial to improve stroke rendering
:pr:2727: Slight performance improvement for :class:.ArrowVectorField and Bézier curve computation
:pr:2728: Added :meth:.VectorField.fit_to_coordinate_system to fit a vector field to a given coordinate system
:pr:2730: Added note to let users find documentation of default CLI subcommand easier
:pr:2746: Installed ghostscript in the docker image
:pr:2841: Added :func:.split_quadratic_bezier and :func:.subdivide_quadratic_bezier
:pr:2842: CLI: Moved functionality from manim new to manim init and added deprecation warning for manim new
:pr:2866: Reorganize test files to match library module structure
:pr:2567: Use tempconfig for every scene render
:pr:2638: Fixed :meth:BarChart.change_bar_values not updating when height is 0
:pr:2661: Fixed tip resize functionality for :class:.Axes to match documentation
:pr:2703: Default to utf-8 when reading files in :class:.Code
:pr:2721: Fixed bad text slicing for lines in :class:.Paragraph
:pr:2725: Fixed wrong indentation in :class:.Code
:pr:2734: Fixed OpenGL segfaults when running :meth:.Scene.play or :meth:.Scene.wait in interactive mode
:pr:2753: Fixed multiplatform builds for docker images in pipeline
:pr:2757: Added missing __init__.py file in :mod:.docbuild module
:pr:2770: Fixed bug in :meth:.VMobject.proportion_from_point that caused proportions greater than 1 to be returned
:pr:2826: Fixed leaked mobjects coming from :class:.TransformMatchingAbstractBase
:pr:2870: Fixed issue with manim init scene SCENE_NAME filename.py and removed necessity of main.py to be present in working directory
:pr:2704: Updated URL to Pango Markup formatting page
:pr:2716: Improved the order of the reference manuals
:pr:2720: Fixed typo in docstring of :class:.Angle
:pr:2722: Fixed typos in docstrings of classes in :mod:.mobject.table
:pr:2726: Edited note on :class:.NumberPlane length and added another example
:pr:2740: Fixed documentation of :meth:.Cylinder.get_direction
:pr:2755: Fixed docstring of :meth:.VMobject.get_end_anchors
:pr:2760: Removed cmake from the MacOS installation section
:pr:2767: Added more questions and answers to FAQ section, new :doc:OpenGL FAQ </faq/opengl>
:pr:2771: Added documentation and testing for path_func keyword argument of :class:.Transform
:pr:2828: Removed suggestion issue template, added FAQ answer regarding proposing new features
:pr:2849: Added example for path_arc keyword argument of :class:.Transform
:pr:2851: Added an example on constructing a (neural) network using a partite :class:.Graph
:pr:2855: Added implicit docker.io/ URL base in reference to docker images
:pr:2861: Added docstring for :meth:.CoordinateSystem.plot_parametric_curve
2743: Replaced assert statements with with assertion functions from np.testing:pr:2700: CI: updated Python versions
:pr:2701: CI: added a workflow to publish docker image after releases and commits to main branch
:pr:2680: Increased minimum required version of numpy to 1.19
:pr:2687: Migrated from os.path to pathlib in :class:.SVGMobject and other locations
:pr:2715: Updated deprecated pillow constants
:pr:2735: Bump pyjwt from 2.3.0 to 2.4.0
:pr:2748: Bump pillow from 9.1.0 to 9.1.1
:pr:2751: Fixed flake C417 and improved a comment
:pr:2825: Bump notebook from 6.4.11 to 6.4.12
:pr:2864: Updated lockfile
2863: Prepared new release, v0.16.0