Skip to content

Commit f51133b

Browse files
authored
Merge pull request #1229 from eulertour/v0.5.0-changelog
Generate v0.5.0 changelog
2 parents 9c96d16 + eea0f4e commit f51133b

File tree

2 files changed

+238
-1
lines changed

2 files changed

+238
-1
lines changed
+237
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
Contributors
2+
============
3+
4+
A total of 33 people contributed to this
5+
release. People with a '+' by their names authored a patch for the first
6+
time.
7+
8+
* Abel Aebker +
9+
* Abhijith Muthyala
10+
* AntonBallmaier +
11+
* Aron
12+
* Benjamin Hackl
13+
* Bogdan Stăncescu +
14+
* Darylgolden
15+
* Devin Neal
16+
* GameDungeon +
17+
* Hugues Devimeux
18+
* Jason Villanueva
19+
* Kapil Sachdeva
20+
* KingWampy
21+
* Lionel Ray +
22+
* Mark Miller
23+
* Mohammad Al-Fetyani +
24+
* Naveen M K
25+
* Niklas Dewally +
26+
* Oliver +
27+
* Roopesh +
28+
* Seb Pearce +
29+
* aebkea +
30+
* friedkeenan
31+
* hydrobeam +
32+
* kolibril13
33+
* tfglynn +
34+
35+
36+
The patches included in this release have been reviewed by
37+
the following contributors.
38+
39+
* Abel Aebker
40+
* Abhijith Muthyala
41+
* Benjamin Hackl
42+
* Bogdan Stăncescu
43+
* Devin Neal
44+
* Hugues Devimeux
45+
* Jason Villanueva
46+
* Kapil Sachdeva
47+
* KingWampy
48+
* Leo Torres
49+
* Lionel Ray
50+
* Mark Miller
51+
* Mohammad Al-Fetyani
52+
* Naveen M K
53+
* Oliver
54+
* vector67
55+
56+
Pull requests merged
57+
====================
58+
59+
A total of 53 pull requests were merged for this release.
60+
61+
Highlight
62+
---------
63+
64+
* `#1075 <https://github.com/ManimCommunity/manim/pull/1075>`__: Add OpenGL Renderer
65+
Adds an OpenGLRenderer, OpenGLCamera, OpenGL-enabled Mobjects, and a `--use_opengl_renderer` flag. When this flag is passed, you can pass the `-p` flag to preview animations, the `-w` flag to generate video, and the `-q` flag to specify render quality. If you don't pass either the `-p` or the `-w` flag, nothing will happen. Scenes rendered with the OpenGL renderer must *only* use OpenGL-enabled Mobjects.
66+
New feature
67+
-----------
68+
69+
* `#1037 <https://github.com/ManimCommunity/manim/pull/1037>`__: Added new fade and transform animations (:class:`~.TransformMatchingShapes`, :class:`~.TransformMatchingTex`, :class:`~.FadeTransform`) from 3b1b/manim
70+
Added new Fade animation: :class:`~FadeOutToPoint`
71+
Added :class:`~FadeTransform` and :class:`~FadeTransformPieces` for transforming mobjects and submobjects with a fade
72+
Added :class:`~TransformMatchingShapes` and :class:`~TransformMatchingTex` for transforming mobjects and tex that have matching parts
73+
* `#1097 <https://github.com/ManimCommunity/manim/pull/1097>`__: Added 3D Mobject :class:`~.Dot3D`
74+
75+
* `#1074 <https://github.com/ManimCommunity/manim/pull/1074>`__: Added jupyter media_width option to the config
76+
77+
* `#1107 <https://github.com/ManimCommunity/manim/pull/1107>`__: Added :class:`~.Unwrite` animation class to complement :class:`~.Write`
78+
Added :class:`Unwrite` which inherits from :class:`~.Write`. It automatically reverses the animation of :class:`~.Write` by passing the reversed rate function, but it also takes an additional boolean parameter `reverse` which, if `False`, renders the animation from left to right (assuming text oriented in the usual way), but if `True`, it renders right to left.
79+
* `#1085 <https://github.com/ManimCommunity/manim/pull/1085>`__: Added :class:`~.Angle` and :class:`~.RightAngle` for intersecting lines
80+
:class:`~.Angle` and :class:`~.RightAngle` both take two lines as input. If they intersect, or share a common vertex, an angle is drawn between them. Users can customize the look of the angle and also use a dotted right angle.
81+
Enhancement
82+
-----------
83+
84+
* `#1144 <https://github.com/ManimCommunity/manim/pull/1144>`__: Improved quality of GIFs
85+
86+
* `#1157 <https://github.com/ManimCommunity/manim/pull/1157>`__: Refresh triangulation on call to :meth:`~.OpenGLVMobject.apply_points_function`
87+
Rotate called apply_points_function, which was previous not subclassed by OpenGLMobject - now it is. Then, the vertex normals can be updated too.
88+
89+
Additionally, the old_points matrix would change after rotating, making the old points / new points test irrelevant. This is addressed with a .copy call.
90+
* `#1151 <https://github.com/ManimCommunity/manim/pull/1151>`__: Added parametric function support to :class:`OpenGLSurface`
91+
92+
* `#1139 <https://github.com/ManimCommunity/manim/pull/1139>`__: In-Code `config["preview"]` Support
93+
94+
* `#1123 <https://github.com/ManimCommunity/manim/pull/1123>`__: Added caching, skipping, and user-specified background colors to the OpenGL renderer
95+
OpenGL play logic has been improved to support caching and skipping with `-n` argument ( it is now similar to Cairo play logic). A random bug was fixed in OpenGLSurface and OpenGL background color can now be changed via `background_color` argument.
96+
* `#1118 <https://github.com/ManimCommunity/manim/pull/1118>`__: Allow passing animation arguments with .animate syntax
97+
Users will now be able to do things like `obj.animate(run_time=2).method(arg)` if they want to specify animation arguments for an individual `.animate` call, and can still not specify any arguments like `obj.animate.method(arg)`.
98+
99+
Passing animation arguments is only allowed directly after `.animate` is accessed, if passed elsewhere then a `ValueError` is raised.
100+
* `#718 <https://github.com/ManimCommunity/manim/pull/718>`__: Rotating the numbers in y axis
101+
In Axes, the y axis will be rotated 90deg but the numbers are
102+
also rotated and shouldn't be. Fixes this issue.
103+
* `#1070 <https://github.com/ManimCommunity/manim/pull/1070>`__: Raise FileNotFoundError when unable to locate the .cfg file specified via `--config_file`
104+
Raising the error will stop script execution and let the user know that there are problems with the `--config_file` location instead of reverting back to the default configuration.
105+
Bug
106+
---
107+
108+
* `#1193 <https://github.com/ManimCommunity/manim/pull/1193>`__: Fixed using :class:`Animation`s without a child :class:`~.Mobject` in :class:`~.AnimationGroup`
109+
`AnimationGroup` may now take `Animation` objects which do not have a child `Mobject`, such as `Wait`.
110+
* `#1170 <https://github.com/ManimCommunity/manim/pull/1170>`__: Fixed minor SVG parsing bugs
111+
112+
* `#1159 <https://github.com/ManimCommunity/manim/pull/1159>`__: Added support for multiple transforms in the same SVG element
113+
114+
* `#1156 <https://github.com/ManimCommunity/manim/pull/1156>`__: Fixed :class:`~.DrawBorderThenFill` to support OpenGL and improved type hints for some functions
115+
Fixed a bug in :class:`~.DrawBorderThenFill` that prevented :class:`~.Write` animations from working with :class:`~.OpenGLVMobjects` and slightly improved type hints for some animation functions to include :class:`~.OpenGLVMobject`.
116+
* `#1134 <https://github.com/ManimCommunity/manim/pull/1134>`__: Fixed the `-a` flag.
117+
The `-a`/`--write-all` flag was broken. When used, it would cause Manim to crash just after beginning to render the second scene.
118+
* `#1115 <https://github.com/ManimCommunity/manim/pull/1115>`__: Fixed bugs in :class:`~.OpenGLMobject` and added :class:`ApplyMethod` support
119+
Fixed undefined variables and converted :class:`Mobject` to :class:`OpenGLMobject`. Also, fixed assert statement in :class:`ApplyMethod`.
120+
* `#1092 <https://github.com/ManimCommunity/manim/pull/1092>`__: Refactored coordinate_systems.py, fixed bugs, added :class:`~.NumberPlane` test
121+
The default behavior of :meth:`~.Mobject.rotate` is to rotate about the center of :class:`~.Mobject`. :class:`~.NumberLine` is symmetric about the point at the number 0 only when ``|x_min|`` == ``|x_max|``. Ideally, the rotation should coincide with
122+
the point at number 0 on the line.
123+
124+
Added a regression test and additionally fixed some bugs introduced in :pr:`718`.
125+
* `#1078 <https://github.com/ManimCommunity/manim/pull/1078>`__: Removed stray print statements from `__main__.py`
126+
Uses rich's print traceback instead and fixes an issue in printing the version twice when `manim --version` is called.
127+
* `#1086 <https://github.com/ManimCommunity/manim/pull/1086>`__: Fixed broken line spacing in :class:`~.Text`
128+
The `line_spacing` kwarg was missing when creating :class:`Text` Mobjects; this adds it.
129+
* `#1083 <https://github.com/ManimCommunity/manim/pull/1083>`__: Corrected the shape of :class:`~.Torus`
130+
:class:`Torus` draws a surface with an elliptical cross-section when `minor_radius` is different from 1. This PR ensures the cross-section is always a circle.
131+
Deprecation
132+
-----------
133+
134+
* `#1124 <https://github.com/ManimCommunity/manim/pull/1124>`__: Deprecated :class:`ShowCreation` in favor of :class:`Create`
135+
1. Deprecated :class:`ShowCreation` in favor of :class:`Create` across the library with the exception of the `show_creation` boolean variable `vector_space_scene.py`
136+
2. Added a deprecation warning in the original :class:`ShowCreation` class.
137+
* `#1110 <https://github.com/ManimCommunity/manim/pull/1110>`__: Deprecated SmallDot + OpenGLSmallDot
138+
`SmallDot` isn't necessary and a deprecation warning will be raised. This will be removed in a future release.
139+
Documentation
140+
-------------
141+
142+
* `#1114 <https://github.com/ManimCommunity/manim/pull/1114>`__: Added examples for :class:`~.Ellipse`, :class:`~.Polygon`, :class:`~.RegularPolygon`, :class:`~.Triangle` and :class:`~.RoundedRectangle`
143+
144+
* `#1195 <https://github.com/ManimCommunity/manim/pull/1195>`__: Removed SmallDot from example
145+
146+
* `#1130 <https://github.com/ManimCommunity/manim/pull/1130>`__: Added pre-commit to run black and flake8, updated contributing documentation accordingly
147+
148+
* `#1138 <https://github.com/ManimCommunity/manim/pull/1138>`__: Moved previous version changelogs to separate files; Added a Script to generate future changelogs
149+
This script quickly generates a changelog for whoever is making the release.
150+
* `#1190 <https://github.com/ManimCommunity/manim/pull/1190>`__: Added note in contributing guide to read the latest version of the documentation
151+
152+
* `#1188 <https://github.com/ManimCommunity/manim/pull/1188>`__: Added sounds example to docs
153+
154+
* `#1165 <https://github.com/ManimCommunity/manim/pull/1165>`__: Added documentation for installing Manim on Colab
155+
156+
* `#1128 <https://github.com/ManimCommunity/manim/pull/1128>`__: Added examples for :class:`~.DashedLine`, :class:`~.TangentLine`, :class:`~.Elbow`, :class:`~.Arrow`, :class:`~.Vector`, :class:`~.DoubleArrow`
157+
158+
* `#1177 <https://github.com/ManimCommunity/manim/pull/1177>`__: Replace links to the latest version of the documentation to the stable version
159+
160+
* `#1077 <https://github.com/ManimCommunity/manim/pull/1077>`__: Added details to :func:`~.Mobject.get_critical_point`
161+
162+
* `#1154 <https://github.com/ManimCommunity/manim/pull/1154>`__: Fixed some typing hints. (ints to floats)
163+
164+
* `#1036 <https://github.com/ManimCommunity/manim/pull/1036>`__: Added :class:`~.SurroundingRectangle` to the example gallery
165+
166+
* `#1103 <https://github.com/ManimCommunity/manim/pull/1103>`__: Added documentation and examples for Square, Dot, Circle and Rectangle
167+
168+
* `#1101 <https://github.com/ManimCommunity/manim/pull/1101>`__: Added documentation to :class:`~.Mobject`
169+
Methods for which documentation was added or improved:
170+
- :meth:`~.reset_points`
171+
- :meth:`~.init_colors`
172+
- :meth:`~.generate_points`
173+
- :meth:`~.add`
174+
- :meth:`~.add_to_back`
175+
- :meth:`~.remove`
176+
- :meth:`~.copy`
177+
- :meth:`~.update`
178+
- :meth:`~.get_time_based_updaters`
179+
- :meth:`~.has_time_based_updater`
180+
- :meth:`~.get_updaters`
181+
- :meth:`~.add_updater`
182+
- :meth:`~.remove_updater`
183+
- :meth:`~.clear_updaters`
184+
- :meth:`~.match_updaters`
185+
- :meth:`~.suspend_updating`
186+
- :meth:`~.resume_updating`
187+
- :meth:`~.apply_to_family`
188+
- :meth:`~.shift`
189+
- :meth:`~.scale`
190+
- :meth:`~.add_background_rectangle`
191+
* `#1088 <https://github.com/ManimCommunity/manim/pull/1088>`__: Added new svg files to documentation and imports
192+
In particular, SVGPathMobject, VMobjectFromPathstring, and the style_utils functions to manim's namespace.
193+
* `#1076 <https://github.com/ManimCommunity/manim/pull/1076>`__: Improve documentation for GraphScene
194+
Updated `coords_to_point` and `point_to_coords` under `manim/scene/graph_scene.py` as the dosctring of each function confusingly described the opposite of what it is supposed to do.
195+
Release
196+
-------
197+
198+
* `#1073 <https://github.com/ManimCommunity/manim/pull/1073>`__: Removed "one line summary" from PULL_REQUEST_TEMPLATE.md
199+
200+
Testing
201+
-------
202+
203+
* `#1160 <https://github.com/ManimCommunity/manim/pull/1160>`__: Enable CI testing for OpenGL
204+
205+
* `#1100 <https://github.com/ManimCommunity/manim/pull/1100>`__: Rewrote test cases to use sys.executable in the command instead of "python"
206+
Tests would fail due to `capture()` not spawning a subshell in the correct environment, so when python was called, the test would be unable to find necessary packages.
207+
* `#1079 <https://github.com/ManimCommunity/manim/pull/1079>`__: Removed the hardcoded value, `manim`, in `test_version.py`
208+
209+
Infrastructure
210+
--------------
211+
212+
* `#1187 <https://github.com/ManimCommunity/manim/pull/1187>`__: Add CodeCov to Github Workflow
213+
214+
* `#1166 <https://github.com/ManimCommunity/manim/pull/1166>`__: CI: Use poetry's cache dir rather than pip
215+
216+
* `#1071 <https://github.com/ManimCommunity/manim/pull/1071>`__: Enable pytest-cov based code coverage
217+
- Include pytest-cov as a python module as part of developer dependencies
218+
- In updating poetry to include pytest-cov, manimpango moved from version 0.2.3 to 0.2.4, and libpango1.0-dev needed to be installed in Ubuntu.
219+
- Add to the CI workflow (`ci.yml`) to create and upload test coverage.
220+
Maintenance
221+
-----------
222+
223+
* `#1167 <https://github.com/ManimCommunity/manim/pull/1167>`__: Merge :class:`~.OpenGLMobject` and :class:`~.Mobject`
224+
225+
* `#1164 <https://github.com/ManimCommunity/manim/pull/1164>`__: Fixed single PEP8 style in `cairo_renderer.py`
226+
227+
* `#1140 <https://github.com/ManimCommunity/manim/pull/1140>`__: Flake8 Compat & Code Cleanup
228+
229+
* `#1019 <https://github.com/ManimCommunity/manim/pull/1019>`__: Refactored :meth:`~.Scene.play`
230+
- Removed the _**three**_ decorators of :meth:`~.Scene.play`, in particular: caching logic and file writer logic are now included within :meth:`~.Scene.play` (it wasn't possible before, because `scene.wait` and `scene.play` were two different things).
231+
- Added `is_static_wait` attributes to Wait. (<=> if wait is a frozen frame).
232+
- Renamed and moved `scene.add_static_frame` to `renderer.freeze_current_frame`.
233+
- Now when calling play without animation, it raises `ValueError` instead of just a warning.
234+
- Fixed :pr:`874` by modfying `renderer.update_skipping_status`
235+
- `renderer` starts the animation with `scene.begin_animations` (`scene.compile_animation_data` used to do this)
236+
- The run time and the time progression generation is now done in `scene.play_internal` although it'd make more sense that renderer processes it later.
237+
- Added a bunch of cool tests thanks to mocks, and thanks to the new syntax `scene.render`

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "manim"
3-
version = "0.4.0"
3+
version = "0.5.0"
44
description = "Animation engine for explanatory math videos."
55
authors = ["The Manim Community Developers","3b1b <[email protected]>"]
66
license="MIT"

0 commit comments

Comments
 (0)