From 84f51bad4eded80b0f1c9ca62cd868ca1b4929f8 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Sat, 4 Nov 2023 15:17:46 +0100 Subject: [PATCH 01/10] generated changelog and bumped version --- CITATION.cff | 4 +- docs/source/changelog.rst | 1 + docs/source/changelog/0.18.0-changelog.rst | 291 +++++++++++++++++++++ pyproject.toml | 2 +- 4 files changed, 295 insertions(+), 3 deletions(-) create mode 100644 docs/source/changelog/0.18.0-changelog.rst diff --git a/CITATION.cff b/CITATION.cff index d7a2e0f6a5..99a0554c4c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,10 +4,10 @@ authors: - name: "The Manim Community Developers" cff-version: "1.2.0" -date-released: 2023-04-06 +date-released: 2023-11-04 license: MIT message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work." title: Manim – Mathematical Animation Framework url: "https://www.manim.community/" -version: "v0.17.3" +version: "v0.18.0" ... diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 689240c78e..fd690ea562 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -5,6 +5,7 @@ Changelog .. toctree:: + changelog/0.18.0-changelog changelog/0.17.3-changelog changelog/0.17.2-changelog changelog/0.17.1-changelog diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst new file mode 100644 index 0000000000..fb36fad55e --- /dev/null +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -0,0 +1,291 @@ +******* +v0.18.0 +******* + +:Date: November 04, 2023 + +Contributors +============ + +A total of 41 people contributed to this +release. People with a '+' by their names authored a patch for the first +time. + +* Abulafia + +* Adhyyan Sekhsaria + +* Adrien LUDWIG + +* Alex Kempen + +* Andres Berejnoi + +* Anousheh Moonen + +* Benjamin Hackl +* Francisco Manríquez Novoa +* Harald Schilly + +* Immanuel-Alvaro-Bhirawa + +* Jason Grace + +* Jason Villanueva +* Jinchu Li +* John Lynch + +* Jérome Eertmans +* Matt Turner + +* Narahari Rao + +* Naveen M K +* Nikhil Iyer + +* Ron Li + +* Sujal Singh + +* Tristan Schulz +* Uwe Zimmermann + +* Václav Blažej + +* Zachary Winkeler + + + +The patches included in this release have been reviewed by +the following contributors. + +* Alex Lembcke +* Andres Berejnoi +* Axel +* Benjamin Hackl +* Francisco Manríquez Novoa +* Immanuel-Alvaro-Bhirawa +* Jan-Hendrik Müller +* Jason Grace +* Jason Villanueva +* Jinchu Li +* John Lynch +* Jérome Eertmans +* Kevin Lubick +* Narahari Rao +* Naveen M K +* NotWearingPants +* SsNiPeR1 +* TheMathematicFanatic +* Tristan Schulz +* Uwe Zimmermann +* Viicos +* github-advanced-security[bot] +* icedcoffeeee + +Pull requests merged +==================== + +A total of 58 pull requests were merged for this release. + +Breaking changes +---------------- + +* :pr:`3020`: Adding :class: ManimColor to manim and converting all types + + +Highlights +---------- + +* :pr:`3299`: Added new ``manim checkhealth`` CLI subcommand + This adds a new command line interface subcommand which can be used to check whether a local installation of Manim has been configured correctly, and all required (and optional) dependencies are available. To try it, run it via ``manim checkhealth`` or ``python -m manim checkhealth``. + +New features +------------ + +* :pr:`3361`: feat: adding three new rate_functions based on the SmoothStep function + + +Enhancements +------------ + +* :pr:`3190`: Enables Use of input_to_graph_point() by CurvesAsSubmobjects Instances + + +* :pr:`3205`: Bugfix: Fix arc start angle type + + +* :pr:`3264`: Two New Classes in geometry module: :class:`.LabeledLine` and :class:`.LabeledArrow` + + +Fixed bugs +---------- + +* :pr:`3210`: Fix `DecimalNumber` with `show_ellipsis=True` work on OpenGL renderer + + +* :pr:`3211`: Fixed Display Issue with Custom Axis Labels When ```renderer=opengl``` + + +* :pr:`3298`: Fixed expand animation for :class:`.ManimBanner` + + +* :pr:`3306`: Fixed IPython terminal history and embedded shell instatiation for interactive_embed scenes + + +* :pr:`3315`: Fix subcaption Type Mismatch + + +* :pr:`3423`: Fix incorrect submobject count of multi-part Tex/MathTex mobjects by stopping them from adding empty submobjects + + +Documentation-related changes +----------------------------- + +* :pr:`3219`: Enable social cards in documentation + + +* :pr:`3274`: Replaced incorrect mentions of Python 3.7 as the minimally required version + + +* :pr:`3297`: Improved Arrow Tip Showcase example for :class:`.ArrowTip` + - Improve an example in the docstring for the `ArrowTip` class, by + 1. Adding an example of the new `StealthTip` + 2. Adding smaller-scale versions for all tips, + 3. Adjusting the layout + +* :pr:`3312`: Added Docstring/Example for :meth:`always_redraw` + * Added an example to `always_redraw` + * Changed `lambda m: mob.become(func())` to `lambda _: mob.become(func())` for clarity + +Changes concerning the testing system +------------------------------------- + +* :pr:`3416`: Fix tests to run on Cairo 1.18.0 + + +Code quality improvements and similar refactors +----------------------------------------------- + +* :pr:`3086`: Fix Typing + + +* :pr:`3226`: Avoid using a mobject as a default argument of :class:`.ArcBrace` + + +* :pr:`3229`: Made docbuild errors easier to debug + fixed error from changed exception class + + +* :pr:`3231`: Fixed errors reported by ``flake8`` + + +* :pr:`3232`: Upgrade ReadTheDocs build environment to use newer image + + +* :pr:`3286`: Optimized :meth:`.Axes.coords_to_point` + As the title says, I optimized `Axes.coords_to_point`. Best results if combined with PR [#3285: Optimized :meth:`NumberLine.number_to_point`](https://github.com/ManimCommunity/manim/pull/3285). + +New releases +------------ + +* :pr:`3198`: Prepare new release: v0.17.3 + + +Unclassified changes +-------------------- + +* :pr:`3218`: Small grammar change to deep_dive doc + + +* :pr:`3224`: Replace last `os.path` occurrencies by `pathlib` + + +* :pr:`3236`: Minor fix, return self + + +* :pr:`3251`: Add LaTeX installation instructions for Fedora + + +* :pr:`3253`: Bump tornado from 6.3.1 to 6.3.2 + + +* :pr:`3257`: CI: fix a config error from poetry + + +* :pr:`3272`: Bump docker/build-push-action from 3 to 4 + + +* :pr:`3282`: fix: prevent vector position array from being modified (#3273) + + +* :pr:`3284`: fixed the use of the LinearTransformationSceneExample in Jupyter notebooks + + +* :pr:`3287`: Bump cryptography from 41.0.1 to 41.0.2 + + +* :pr:`3290`: Update dependencies for apple silicon in macos.rst + Adds `pkg-config` to the list of needed dependencies for apple silicon. + According to https://pypi.org/project/ManimPango/ manim-pango needs pkg-config + +* :pr:`3302`: fix: changed minor typo in OpenGLVMobject + + +* :pr:`3322`: Added ability to remove non-svg LaTeX files + * Made manim auto-remove non-tex and non-svg files by default. This behavior can be prevented with the CLI flag `--no_latex_cleanup` + * Made manim check if an svg for a TeX expression already exists BEFORE creating `.aux`, `.dvi`, and other files. + * This makes sure that even the user already has the svg for an expression and runs their code with `--no_latex_cleanup`, they will not get cluttered with the `.aux`, `.dvi`, and other files for that expression. + +* :pr:`3325`: Added docs for functions in `mobject_update_utils` + * Added docstrings for: + * :meth:`always_rotate` + * :meth:`always_shift` + * :meth:`turn_animation_into_updater` + * Added typehints to above functions + +* :pr:`3340`: fix: issue with ImageMobject bounding box + + +* :pr:`3343`: fix: return value of TexTemplate.add_to... + + +* :pr:`3350`: Added missing dependency ``typing-extensions`` + + +* :pr:`3353`: Added docstring to Mobject.center + + +* :pr:`3355`: rtd: enable htmlzip build + + +* :pr:`3366`: feat: DecimalNumber() - added spacing between values and unit + - added the parameter `unit_buff_per_font_unit` to add additional space between the numeric values and the unit + - default value `unit_buff_per_font_unit=0` ensures backward compatibility + - also added parameter documentation in docstring + +* :pr:`3377`: fix a typo in deep_dive.rst + Fix a simple typo + +* :pr:`3389`: fix(docs): Remove extra curly bracket in LaTeX math expression + + +* :pr:`3392`: Bug fix: Use np.isclose for float equality in number line elongated ticks + Resolves #3394 by using `np.isclose` to check for float equality instead of using default float equality, which sometimes is not one might expect (see `0.1 + 0.2 != 0.3` for example). + +* :pr:`3395`: chore(deps): add Python 3.12 support + Currently, Manim can only be installed on Python 3.11 and below. As Python 3.12 just came out, I think it is good time to update a bit Python requirements so that newer Python versions can install Manim. + + I updated the dependencies, and test workflows. + +* :pr:`3397`: Several GitHub actions updates + + +* :pr:`3399`: Updated several dependencies + + +* :pr:`3404`: Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. + + +* :pr:`3405`: pyproject.toml: update manimpango version + + +* :pr:`3417`: Introduce new workflow creating a downloadable version of the documentation + + +* :pr:`3419`: CI: fix caching of cairo + + +* :pr:`3421`: Fix None check order in _tree_layout + + +* :pr:`3430`: Fix CSV reader adding empty lists in rendering summary + + +* :pr:`3431`: Bump teatimeguest/setup-texlive-action from 2 to 3 + + +* :pr:`3433`: bump dependencies + + diff --git a/pyproject.toml b/pyproject.toml index 2b993070cb..eaf4b3e73b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "manim" -version = "0.17.3" +version = "0.18.0" description = "Animation engine for explanatory math videos." authors = ["The Manim Community Developers ", "3b1b "] license="MIT" From b3a63236b2cbc1b1b291abf16985e4aab8e92b8a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 14:19:17 +0000 Subject: [PATCH 02/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/source/changelog/0.18.0-changelog.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst index fb36fad55e..90d08ab424 100644 --- a/docs/source/changelog/0.18.0-changelog.rst +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -97,7 +97,7 @@ Enhancements * :pr:`3205`: Bugfix: Fix arc start angle type -* :pr:`3264`: Two New Classes in geometry module: :class:`.LabeledLine` and :class:`.LabeledArrow` +* :pr:`3264`: Two New Classes in geometry module: :class:`.LabeledLine` and :class:`.LabeledArrow` Fixed bugs @@ -207,7 +207,7 @@ Unclassified changes * :pr:`3290`: Update dependencies for apple silicon in macos.rst - Adds `pkg-config` to the list of needed dependencies for apple silicon. + Adds `pkg-config` to the list of needed dependencies for apple silicon. According to https://pypi.org/project/ManimPango/ manim-pango needs pkg-config * :pr:`3302`: fix: changed minor typo in OpenGLVMobject @@ -265,7 +265,7 @@ Unclassified changes * :pr:`3399`: Updated several dependencies -* :pr:`3404`: Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. +* :pr:`3404`: Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. * :pr:`3405`: pyproject.toml: update manimpango version @@ -287,5 +287,3 @@ Unclassified changes * :pr:`3433`: bump dependencies - - From 608653f383518f68dcd130688afc47ba1c60ee7b Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Sat, 4 Nov 2023 23:26:36 +0100 Subject: [PATCH 03/10] changed some PR descriptions in the changelog --- docs/source/changelog/0.18.0-changelog.rst | 48 +++++++++++----------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst index 90d08ab424..124d15a40a 100644 --- a/docs/source/changelog/0.18.0-changelog.rst +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -13,7 +13,7 @@ time. * Abulafia + * Adhyyan Sekhsaria + -* Adrien LUDWIG + +* Adrien Ludwig + * Alex Kempen + * Andres Berejnoi + * Anousheh Moonen + @@ -62,7 +62,6 @@ the following contributors. * Tristan Schulz * Uwe Zimmermann * Viicos -* github-advanced-security[bot] * icedcoffeeee Pull requests merged @@ -85,60 +84,58 @@ Highlights New features ------------ -* :pr:`3361`: feat: adding three new rate_functions based on the SmoothStep function +* :pr:`3361`: Added three new rate functions + This adds the rate functions :func:`.smoothstep`, :func:`.smootherstep`, + :func:`.smoothererstep` based on the SmoothStep sigmoid functions. +* :pr:`3264`: Added new mobjects :class:`.LabeledLine` and :class:`.LabeledArrow` Enhancements ------------ -* :pr:`3190`: Enables Use of input_to_graph_point() by CurvesAsSubmobjects Instances - - -* :pr:`3205`: Bugfix: Fix arc start angle type - - -* :pr:`3264`: Two New Classes in geometry module: :class:`.LabeledLine` and :class:`.LabeledArrow` +* :pr:`3190`: Made :class:`.CurvesAsSubmobjects` mobjects compatible with :meth:`.input_to_graph_point` Fixed bugs ---------- -* :pr:`3210`: Fix `DecimalNumber` with `show_ellipsis=True` work on OpenGL renderer +* :pr:`3205`: Fixed type hint of ``angle`` in :class:`.Arc` -* :pr:`3211`: Fixed Display Issue with Custom Axis Labels When ```renderer=opengl``` +* :pr:`3210`: Fixed :class:`.DecimalNumber` with ``show_ellipsis=True`` with the OpenGL renderer + + +* :pr:`3211`: Fixed display issues with custom labels for :class:`.Axes` with the OpenGL renderer * :pr:`3298`: Fixed expand animation for :class:`.ManimBanner` -* :pr:`3306`: Fixed IPython terminal history and embedded shell instatiation for interactive_embed scenes +* :pr:`3306`: Fixed IPython terminal history and embedded shell instantiation for scenes using :meth:`.Scene.interactive_embed` -* :pr:`3315`: Fix subcaption Type Mismatch +* :pr:`3315`: Fixed issue with parameter types in :meth:`.Scene.add_subcaption` -* :pr:`3423`: Fix incorrect submobject count of multi-part Tex/MathTex mobjects by stopping them from adding empty submobjects +* :pr:`3423`: Fixed incorrect submobject count of multi-part :class:`.Tex` mobjects + This resolves various issues where formulas were not displayed completely, + like it was the case with ``MathTex("1", "^{", "0")``. Documentation-related changes ----------------------------- -* :pr:`3219`: Enable social cards in documentation +* :pr:`3219`: Enable social cards for links to documentation * :pr:`3274`: Replaced incorrect mentions of Python 3.7 as the minimally required version -* :pr:`3297`: Improved Arrow Tip Showcase example for :class:`.ArrowTip` - - Improve an example in the docstring for the `ArrowTip` class, by - 1. Adding an example of the new `StealthTip` - 2. Adding smaller-scale versions for all tips, - 3. Adjusting the layout +* :pr:`3297`: Improved arrow tip sowcase example for :class:`.ArrowTip` + + +* :pr:`3312`: Added documentation for :func:`.always_redraw` -* :pr:`3312`: Added Docstring/Example for :meth:`always_redraw` - * Added an example to `always_redraw` - * Changed `lambda m: mob.become(func())` to `lambda _: mob.become(func())` for clarity Changes concerning the testing system ------------------------------------- @@ -149,7 +146,8 @@ Changes concerning the testing system Code quality improvements and similar refactors ----------------------------------------------- -* :pr:`3086`: Fix Typing +* :pr:`3086`: Introduced a new module :mod:`.typing` for type hints + This also adds various type hints to integral parts of the code base. * :pr:`3226`: Avoid using a mobject as a default argument of :class:`.ArcBrace` From 6afa6bb0185963ce97dd1f8b0549d064e9a357bb Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 10 Nov 2023 23:23:08 +0100 Subject: [PATCH 04/10] fix some docbuild warnings --- manim/mobject/graphing/coordinate_systems.py | 4 +++- manim/utils/tex_file_writing.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/manim/mobject/graphing/coordinate_systems.py b/manim/mobject/graphing/coordinate_systems.py index c2f5744ca8..a5890b8b07 100644 --- a/manim/mobject/graphing/coordinate_systems.py +++ b/manim/mobject/graphing/coordinate_systems.py @@ -1928,7 +1928,9 @@ def _update_default_configs( The dict that will be updated. passed_configs The dict that will be used to update. - + + Examples + -------- To create a tuple with one dictionary, add a comma after the element: .. code-block:: python diff --git a/manim/utils/tex_file_writing.py b/manim/utils/tex_file_writing.py index c7758f899e..cc0f48ada3 100644 --- a/manim/utils/tex_file_writing.py +++ b/manim/utils/tex_file_writing.py @@ -264,8 +264,8 @@ def convert_to_svg(dvi_file: Path, extension: str, page: int = 1): def delete_nonsvg_files(additional_endings: Iterable[str] = ()) -> None: """Deletes every file that does not have a suffix in ``(".svg", ".tex", *additional_endings)`` - Parameters: - ----------- + Parameters + ---------- additional_endings Additional endings to whitelist """ From 517b6035115d3fe21da62bba9a9ed7604e7f7f46 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 10 Nov 2023 23:23:26 +0100 Subject: [PATCH 05/10] fixed a reference that became ambiguous --- docs/source/changelog/0.9.0-changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/changelog/0.9.0-changelog.rst b/docs/source/changelog/0.9.0-changelog.rst index fa47d56048..9805e6877d 100644 --- a/docs/source/changelog/0.9.0-changelog.rst +++ b/docs/source/changelog/0.9.0-changelog.rst @@ -176,7 +176,7 @@ Fixed bugs * :pr:`1782`: Fixed :class:`~.Tex` not working properly with the OpenGL renderer -* :pr:`1783`: Fixed :meth:`~.OpenGLMobject.shuffle` function and added :meth:`~.invert` to OpenGL +* :pr:`1783`: Fixed :meth:`~.OpenGLMobject.shuffle` function and added :meth:`~.Mobject.invert` to OpenGL * :pr:`1786`: Fixed :class:`~.DecimalNumber` not working properly when the number of digits changes From 5ee98ebbe7b523ef2dbba929d5cf2582558f4347 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 10 Nov 2023 23:23:50 +0100 Subject: [PATCH 06/10] copyedit pass of changelog --- docs/source/changelog/0.18.0-changelog.rst | 172 +++++++++++---------- 1 file changed, 88 insertions(+), 84 deletions(-) diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst index 124d15a40a..015d751f70 100644 --- a/docs/source/changelog/0.18.0-changelog.rst +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -67,19 +67,44 @@ the following contributors. Pull requests merged ==================== -A total of 58 pull requests were merged for this release. +A total of 59 pull requests were merged for this release. Breaking changes ---------------- -* :pr:`3020`: Adding :class: ManimColor to manim and converting all types +* :pr:`3020`: Rewrote Manim's color system + This change removed the ``colour`` library as a dependency + of Manim and replaced the internal handling of colors with + the newly added :class:`.ManimColor`. This also adds hundreds + of new predefined colors, see :mod:`.utils.color` for more + details. Highlights ---------- * :pr:`3299`: Added new ``manim checkhealth`` CLI subcommand - This adds a new command line interface subcommand which can be used to check whether a local installation of Manim has been configured correctly, and all required (and optional) dependencies are available. To try it, run it via ``manim checkhealth`` or ``python -m manim checkhealth``. + This adds a new command line interface subcommand which can be used to check + whether a local installation of Manim has been configured correctly, and all + required (and optional) dependencies are available. To try it, run it via + ``manim checkhealth`` or ``python -m manim checkhealth``. + +* :pr:`3427`: New feature: rendered examples in documentation can now be run directly via binder + This adds a "Make interactive" button below the examples in our documentation + that establishes a connection to binder such that examples can be modified and + rerendered directly from your browser. + +* :pr:`3086`: Introduced a new module :mod:`.typing` for type hints + This also adds various type hints to integral parts of the code base. + +* :pr:`3322`: Implemented auto-removal of auxiliary LaTeX files, enabled by default + This automatically removes auxiliary files creating during the compilation of + LaTeX documents like ``.aux`` or ``.dvi`` files. This behavior can be controlled + via the newly introduced ``no_latex_cleanup`` config key (``False`` by default). + On the command line, the autoremoval can be disabled via the ``--no_latex_cleanup`` + CLI flag. + +* :pr:`3395`: Added support for Python 3.12 New features ------------ @@ -90,12 +115,21 @@ New features * :pr:`3264`: Added new mobjects :class:`.LabeledLine` and :class:`.LabeledArrow` + Enhancements ------------ * :pr:`3190`: Made :class:`.CurvesAsSubmobjects` mobjects compatible with :meth:`.input_to_graph_point` +* :pr:`3226`: Avoid using a mobject as a default argument of :class:`.ArcBrace` + + +* :pr:`3366`: Added spacing between values and unit in :class:`.DecimalNumber` + This adds the new keyword argument ``unit_buff_per_font_unit`` (default: 0, for + backwards compatibility). Setting it to some positive number creates additional + space between the numeric value and the displayed unit. + Fixed bugs ---------- @@ -121,167 +155,137 @@ Fixed bugs This resolves various issues where formulas were not displayed completely, like it was the case with ``MathTex("1", "^{", "0")``. - -Documentation-related changes ------------------------------ - -* :pr:`3219`: Enable social cards for links to documentation - - -* :pr:`3274`: Replaced incorrect mentions of Python 3.7 as the minimally required version +* :pr:`3284`: Fixed ``LinearTransformationSceneExample`` in Jupyter notebooks -* :pr:`3297`: Improved arrow tip sowcase example for :class:`.ArrowTip` +* :pr:`3302`: Fixed typo in comparison in :meth:`.OpenGLVMobject.interpolate` -* :pr:`3312`: Added documentation for :func:`.always_redraw` +* :pr:`3340`: Fixed incorrect computation of bounding box for rotated :class:`.ImageMobject` -Changes concerning the testing system -------------------------------------- +* :pr:`3343`: Fixed return value of :meth:`.TexTemplate.add_to_preamble` and :meth:`.TexTemplate.add_to_document` -* :pr:`3416`: Fix tests to run on Cairo 1.18.0 - - -Code quality improvements and similar refactors ------------------------------------------------ -* :pr:`3086`: Introduced a new module :mod:`.typing` for type hints - This also adds various type hints to integral parts of the code base. +* :pr:`3282`: fix: prevent vector position array from being modified (#3273) -* :pr:`3226`: Avoid using a mobject as a default argument of :class:`.ArcBrace` +* :pr:`3392`: Bug fix: Use np.isclose for float equality in number line elongated ticks -* :pr:`3229`: Made docbuild errors easier to debug + fixed error from changed exception class +* :pr:`3430`: Fixed CSV reader adding empty lists in rendering summary during documentation build -* :pr:`3231`: Fixed errors reported by ``flake8`` +* :pr:`3404`: Properly raise an exception on empty inputs to :class:`.AddTextLetterByLetter` -* :pr:`3232`: Upgrade ReadTheDocs build environment to use newer image +Documentation-related changes +----------------------------- +* :pr:`3219`: Enable social cards for links to documentation -* :pr:`3286`: Optimized :meth:`.Axes.coords_to_point` - As the title says, I optimized `Axes.coords_to_point`. Best results if combined with PR [#3285: Optimized :meth:`NumberLine.number_to_point`](https://github.com/ManimCommunity/manim/pull/3285). -New releases ------------- +* :pr:`3274`: Replaced incorrect mentions of Python 3.7 as the minimally required version -* :pr:`3198`: Prepare new release: v0.17.3 +* :pr:`3297`: Improved arrow tip sowcase example for :class:`.ArrowTip` -Unclassified changes --------------------- -* :pr:`3218`: Small grammar change to deep_dive doc +* :pr:`3312`: Added documentation for :func:`.always_redraw` -* :pr:`3224`: Replace last `os.path` occurrencies by `pathlib` +* :pr:`3218`: Improved grammar in the :doc:`deep dive guide ` -* :pr:`3236`: Minor fix, return self +* :pr:`3251`: Add LaTeX installation instructions for Fedora -* :pr:`3251`: Add LaTeX installation instructions for Fedora +* :pr:`3290`: Updated required dependencies for MacOS installations -* :pr:`3253`: Bump tornado from 6.3.1 to 6.3.2 +* :pr:`3325`: Added documentation for functions in :mod:`.mobject_update_utils` + This adds docstrings and typehints to :func:`.always_rotate`, + :func:`.always_shift`, :func:`.turn_animation_into_updater` +* :pr:`3353`: Added documentation for :meth:`.Mobject.center` -* :pr:`3257`: CI: fix a config error from poetry +* :pr:`3355`: Temporarily enabled ``htmlzip`` build on ReadTheDocs -* :pr:`3272`: Bump docker/build-push-action from 3 to 4 +* :pr:`3377`: Fixed a typo in the :doc:`deep dive guide ` -* :pr:`3282`: fix: prevent vector position array from being modified (#3273) +* :pr:`3389`: Removed superfluous curly braces in a LaTeX expression -* :pr:`3284`: fixed the use of the LinearTransformationSceneExample in Jupyter notebooks +* :pr:`3417`: Replaced ``htmlzip`` ReadTheDocs build with workflow attaching downloadable documentation to GitHub releases -* :pr:`3287`: Bump cryptography from 41.0.1 to 41.0.2 +Changes concerning the testing system +------------------------------------- -* :pr:`3290`: Update dependencies for apple silicon in macos.rst - Adds `pkg-config` to the list of needed dependencies for apple silicon. - According to https://pypi.org/project/ManimPango/ manim-pango needs pkg-config +* :pr:`3416`: Fixed tests to run on Cairo 1.18.0 -* :pr:`3302`: fix: changed minor typo in OpenGLVMobject +* :pr:`3257`: Fix a configuration error concerning poetry -* :pr:`3322`: Added ability to remove non-svg LaTeX files - * Made manim auto-remove non-tex and non-svg files by default. This behavior can be prevented with the CLI flag `--no_latex_cleanup` - * Made manim check if an svg for a TeX expression already exists BEFORE creating `.aux`, `.dvi`, and other files. - * This makes sure that even the user already has the svg for an expression and runs their code with `--no_latex_cleanup`, they will not get cluttered with the `.aux`, `.dvi`, and other files for that expression. -* :pr:`3325`: Added docs for functions in `mobject_update_utils` - * Added docstrings for: - * :meth:`always_rotate` - * :meth:`always_shift` - * :meth:`turn_animation_into_updater` - * Added typehints to above functions +* :pr:`3419`: Fixed caching of Cairo builds on CI runners -* :pr:`3340`: fix: issue with ImageMobject bounding box +Code quality improvements and similar refactors +----------------------------------------------- -* :pr:`3343`: fix: return value of TexTemplate.add_to... +* :pr:`3229`: Made docbuild errors easier to debug and fixed error from changed exception class -* :pr:`3350`: Added missing dependency ``typing-extensions`` +* :pr:`3231`: Fixed errors reported by ``flake8`` -* :pr:`3353`: Added docstring to Mobject.center +* :pr:`3232`: Upgrade ReadTheDocs build environment to use newer image -* :pr:`3355`: rtd: enable htmlzip build +* :pr:`3286`: Optimized :meth:`.Axes.coords_to_point` -* :pr:`3366`: feat: DecimalNumber() - added spacing between values and unit - - added the parameter `unit_buff_per_font_unit` to add additional space between the numeric values and the unit - - default value `unit_buff_per_font_unit=0` ensures backward compatibility - - also added parameter documentation in docstring +* :pr:`3224`: Replace final few occurrences of ``os.path`` by ``pathlib.Path`` -* :pr:`3377`: fix a typo in deep_dive.rst - Fix a simple typo -* :pr:`3389`: fix(docs): Remove extra curly bracket in LaTeX math expression +* :pr:`3236`: Return self in :meth:`.AbstractImageMobject.set_resampling_algorithm` -* :pr:`3392`: Bug fix: Use np.isclose for float equality in number line elongated ticks - Resolves #3394 by using `np.isclose` to check for float equality instead of using default float equality, which sometimes is not one might expect (see `0.1 + 0.2 != 0.3` for example). +* :pr:`3253`: Bump tornado from 6.3.1 to 6.3.2 -* :pr:`3395`: chore(deps): add Python 3.12 support - Currently, Manim can only be installed on Python 3.11 and below. As Python 3.12 just came out, I think it is good time to update a bit Python requirements so that newer Python versions can install Manim. - I updated the dependencies, and test workflows. +* :pr:`3272`: Bump docker/build-push-action from 3 to 4 -* :pr:`3397`: Several GitHub actions updates +* :pr:`3287`: Bump cryptography from 41.0.1 to 41.0.2 -* :pr:`3399`: Updated several dependencies +* :pr:`3350`: Added missing dependency ``typing-extensions`` -* :pr:`3404`: Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. +* :pr:`3431`: Bump teatimeguest/setup-texlive-action from 2 to 3 -* :pr:`3405`: pyproject.toml: update manimpango version +* :pr:`3433`: Bump dependencies -* :pr:`3417`: Introduce new workflow creating a downloadable version of the documentation +* :pr:`3399`: Updated several dependencies -* :pr:`3419`: CI: fix caching of cairo +* :pr:`3397`: Several GitHub actions updates -* :pr:`3421`: Fix None check order in _tree_layout +* :pr:`3405`: Updated manimpango version to fix error regarding type strictness -* :pr:`3430`: Fix CSV reader adding empty lists in rendering summary +* :pr:`3421`: Improved order of input checks when creating a tree graph -* :pr:`3431`: Bump teatimeguest/setup-texlive-action from 2 to 3 +New releases +------------ -* :pr:`3433`: bump dependencies +* :pr:`3198`: Prepare new release: v0.17.3 From 1c1eefd4f1fdd7afc3f9de380b3038ca002bfcee Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 10 Nov 2023 23:41:12 +0100 Subject: [PATCH 07/10] some more changelog polishing --- docs/source/changelog/0.18.0-changelog.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst index 015d751f70..b85b323797 100644 --- a/docs/source/changelog/0.18.0-changelog.rst +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -78,6 +78,9 @@ Breaking changes the newly added :class:`.ManimColor`. This also adds hundreds of new predefined colors, see :mod:`.utils.color` for more details. + This should only be a breaking change if you have interacted + directly with the ``colour`` module before. The general interface + has been kept stable. Highlights @@ -167,10 +170,10 @@ Fixed bugs * :pr:`3343`: Fixed return value of :meth:`.TexTemplate.add_to_preamble` and :meth:`.TexTemplate.add_to_document` -* :pr:`3282`: fix: prevent vector position array from being modified (#3273) +* :pr:`3282`: Ensure that :meth:`.ArrowVectorField.get_vector` does not modify the passed inputs -* :pr:`3392`: Bug fix: Use np.isclose for float equality in number line elongated ticks +* :pr:`3392`: Fixed behavior of elongated tick lines for :class:`.NumberLine` * :pr:`3430`: Fixed CSV reader adding empty lists in rendering summary during documentation build @@ -182,7 +185,7 @@ Fixed bugs Documentation-related changes ----------------------------- -* :pr:`3219`: Enable social cards for links to documentation +* :pr:`3219`: Enabled social cards for links to documentation * :pr:`3274`: Replaced incorrect mentions of Python 3.7 as the minimally required version @@ -288,4 +291,4 @@ Code quality improvements and similar refactors New releases ------------ -* :pr:`3198`: Prepare new release: v0.17.3 +* :pr:`3439`: Prepared new release: v0.18.0 From c654ddf9f8b9a7bddf60ef478c172c11bf5da1ed Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 10 Nov 2023 23:41:18 +0100 Subject: [PATCH 08/10] bump release date --- CITATION.cff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CITATION.cff b/CITATION.cff index 99a0554c4c..97784a1191 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,7 +4,7 @@ authors: - name: "The Manim Community Developers" cff-version: "1.2.0" -date-released: 2023-11-04 +date-released: 2023-11-10 license: MIT message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work." title: Manim – Mathematical Animation Framework From f0ca0b192b52f4651fddf346b95eb3f1457e5cd2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 10 Nov 2023 22:42:16 +0000 Subject: [PATCH 09/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- manim/mobject/graphing/coordinate_systems.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manim/mobject/graphing/coordinate_systems.py b/manim/mobject/graphing/coordinate_systems.py index a5890b8b07..170a0f5778 100644 --- a/manim/mobject/graphing/coordinate_systems.py +++ b/manim/mobject/graphing/coordinate_systems.py @@ -1928,7 +1928,7 @@ def _update_default_configs( The dict that will be updated. passed_configs The dict that will be used to update. - + Examples -------- To create a tuple with one dictionary, add a comma after the element: From dc789c566afac1cb53c2811f734af095eb0ab262 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Sat, 11 Nov 2023 16:50:49 +0100 Subject: [PATCH 10/10] updated release date --- CITATION.cff | 2 +- docs/source/changelog/0.18.0-changelog.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 97784a1191..4f1432a265 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,7 +4,7 @@ authors: - name: "The Manim Community Developers" cff-version: "1.2.0" -date-released: 2023-11-10 +date-released: 2023-11-11 license: MIT message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work." title: Manim – Mathematical Animation Framework diff --git a/docs/source/changelog/0.18.0-changelog.rst b/docs/source/changelog/0.18.0-changelog.rst index b85b323797..d3747fd977 100644 --- a/docs/source/changelog/0.18.0-changelog.rst +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -2,7 +2,7 @@ v0.18.0 ******* -:Date: November 04, 2023 +:Date: November 11, 2023 Contributors ============