|
| 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` |
0 commit comments