v0.7.0¶
- Date:
June 01, 2021
Contributors¶
A total of 45 people contributed to this release. People with a ‘+’ by their names authored a patch for the first time.
André +
Anton Ballmaier
Benjamin Hackl
Clar Fon
Darylgolden
Devin Neal
Hugues Devimeux
Iced-Tea3 +
Jan-Hendrik Müller
Jason Villanueva
Jerónimo Squartini +
KingWampy
Laith Bahodi
Max Stoumen +
Mohammad Al-Fetyani
Naveen M K
NeoPlato
Newell Jensen
Nikhil Garuda
Nikhil Sharma +
PaulCMurdoch +
Philipp Imhof
Raghav Goel
Robert West +
Ryan McCauley +
Skaft +
SwiddisZwei +
e4coder +
friedkeenan
malte-v +
ralphieraccoon
sparshg
The patches included in this release have been reviewed by the following contributors.
Aathish Sivasubrahmanian
Abhijith Muthyala
Anton Ballmaier
Aron
Benjamin Hackl
Darylgolden
Devin Neal
GameDungeon
Hugues Devimeux
Iced-Tea3
Jan-Hendrik Müller
Jason Villanueva
Jerónimo Squartini
KingWampy
Laith Bahodi
Mark Miller
Mohammad Al-Fetyani
Naveen M K
Nikhil Garuda
Oliver
Philipp Imhof
Raghav Goel
Ricky Chon
Ryan McCauley
Skaft
SwiddisZwei
e4coder
friedkeenan
ralphieraccoon
sparshg
Pull requests merged¶
A total of 87 pull requests were merged for this release.
Breaking changes¶
- PR #1470: Drop support for Python 3.6
Manim won’t work on Python 3.6 anymore.
Highlights¶
PR #1447: Added
PolarPlanefor polar coordinates.- PR #1490: Added
Polygram, rework the polygon inheritance tree, and addStar Add
Polygram, a generalizedPolygonthat allows for disconnected sets of edges.Add
RegularPolygram.Make
RegularPolygoninherit fromRegularPolygram.Add
Star.
- PR #1490: Added
- PR #1462: OpenGL: Added
Shader,Mesh, andFullScreenQuad Add Shader and Mesh objects
- PR #1462: OpenGL: Added
- PR #1418: Added project management commands
manim init- quickly sets up default files for a manim project.manim new project- lets the user set project settings. It also creates the project inside a new folder of name <project_name>manim new scene- used to quickly insert new scenes into files. Iffile nameis not providedmain.pyis used as default.
Deprecated classes and functions¶
New features¶
- PR #1559: Update VGroup to support item assignment (#1530)
Support indexed item-assignment for VGroup
PR #1518: Allow fading multiple Mobjects in one Animation
PR #1422: Added
override_animation()decorator- PR #1504: Color module enhancements
Replaced
BLUE_Ewith what was previouslyDARK_BLUEand removedDARK_BLUEAdded alias
LIGHTER_GRAYforGRAY_AAdded
PURE_RED,PURE_BLUEand renamedGREEN_SCREENtoPURE_GREENAll gray colors are now also available using British spelling (including
GREY_BROWN)Replaced color example in the docs. It can now be used as a quick reference for all color names.
PR #1272: Implement metaclass approach in geometry module to make mobjects compatible with cairo and opengl rendering
- PR #1404: Added two deprecation decorators
Added two function decorators
deprecatedanddeprecated_paramsas a consistent way of deprecating code.
Enhancements¶
PR #1572: OpenGL compatibility via metaclass:
TracedPath,ParametricFunction,Brace,VGroupPR #1472: Porting methods from
GraphScenetoCoordinateSystemPR #1589: OpenGL compatibility via metaclass:
ValueTracker- PR #1564: Add extra notes for TeX compilation errors
Add hint to use custom
TexTemplateon TeX compilation errors
PR #1584: Added a check for
0inround_corners()- PR #1586: Add OpenGLMobject support to all
isinstanceoccurrences This PR increases the support for OpenGL in the remaining animation classes and in other places where appropriate.
- PR #1586: Add OpenGLMobject support to all
PR #1577: Added new metaclass ConvertToOpenGL (replacing MetaVMobject), restore IntelliSense
- PR #1562: Improved VectorField’s Nudge Accuracy Per Step
Implemented the Runge-Kutta algorithm in VectorField’s nudge function. This increases the accuracy as an object moves along a vector field. This also increases efficiency as the nudge function requires less loops to achieve accuracy than the previous implementation.
PR #1480: Add logging info to tex errors
- PR #1567: Compatibility Fixes with ManimPango v0.3.0
ManimPango v0.3.0+ is required for Manim now.
Show errors from Pango when Markup isn’t correct
PR #1512: OpenGL compatibility via metaclass: graph
PR #1511: OpenGL compatibility via metaclass: svg_mobject, text_mobject, tex_mobject
PR #1502: Added
centerparameter toSphereandpointparameter toDot3D- PR #1486: Update of
rate_functions Changed the picture for the non standard rate functions.
- PR #1486: Update of
PR #1495: Ported value_tracker to OpenGL
- PR #1382: Expand documentation, testing, and functionality of ValueTrackers; remove ExponentialValueTracker
Added more documentation and inline operators to ValueTracker and ComplexValueTracker. Brought coverage for value_tracker.py to 100%. Removed ExponentialValueTracker.
PR #1475: Add SVG elliptical arc support
Fixed bugs¶
PR #1574: Fixed error when processing SVG with omitted elliptical arc command
- PR #1596: Fix indexing for non-whitespace tex arg separator
Fixes #1568
Fix issue when setting the arg_separator of a Tex object as a non-whitespace character(s). The method break_up_by_substrings(self) was not accounting for the separator when setting the index.
PR #1588: Fixed multiple animations being saved in the same file
PR #1571: Fix tests after introducing parallelization
PR #1545: Fix outdated parameters for
LinearTransformationSceneand add an example + typing.- PR #1513: Fixed rotation of gradients while rotating a VMobject
Fixed the direction of gradient which remained the same while rotating VMobjects
Added
rotate_sheen_direction()method in VMobject
PR #1570: Output errors to stderr
PR #1560: Declare
*.npz*.wav*.pngas binary in.gitattributes- PR #1211: Refactored scene caching and fixed issue when a different hash was produced when copying a mobject in the scene
Refactored internal scene-caching mechanism and fixed bug when an inconsistent hash was produced when copying a mobject.
PR #1527: Improved handling of substring isolation within sqrt, and fixed a bug with transform_mismatch for the matching shape transforms
PR #1526: Fix fading
PR #1523: Fix multiple FadeIn / Out only working on VMobjects
Changes concerning the testing system¶
PR #1556: Try pytest-xdist for parallelization in tests
Changes to our development infrastructure¶
- PR #1505: Add docs reference to PR template
Added documentation link to the Pull Request Template.
PR #1499: Updated Discord links in the docs to point towards a standardized redirect
PR #1461: Build the docs - Logging
PR #1481: pyproject.toml: poetry_core -> poetry-core
PR #1477: Update RDT sphinx package to version 3.5.3
PR #1460: Create CONTRIBUTING.md
- PR #1453: manim_directive: fix image links in docs - Windows
Use POSIX path on Windows to link images so documentation can build locally.
Code quality improvements and similar refactors¶
PR #1465: Added typings and description to some functions in
coordinate_systems.- PR #1552: Removed unwanted parameters in geometry
Removed
anchors_span_full_range,close_new_points,anchors_span_full_range,preserve_tip_size_when_scaling,mark_paths_closedandclose_new_points
PR #1597: Removed hilite_me and insert_line_numbers_in_html from global name space
PR #1535: Update dependencies and fix tests
PR #1544: Adding spell checker as a pre-commit hook
PR #1542: Swapping a pango markup link in docs
PR #1531: Don’t use deprecated methods in deprecation.py
PR #1492: Remove stray print statements introduced in #1404
PR #1471: Fix Some Warnings from lgtm
Changes that needed to be reverted again¶
PR #1606: Bring back
DARK_BLUE
New releases¶
PR #1601: Preparation for v0.7.0: added changelog and bumped version number