diff --git a/CITATION.cff b/CITATION.cff index d7a2e0f6a5..4f1432a265 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-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 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..d3747fd977 --- /dev/null +++ b/docs/source/changelog/0.18.0-changelog.rst @@ -0,0 +1,294 @@ +******* +v0.18.0 +******* + +:Date: November 11, 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 +* icedcoffeeee + +Pull requests merged +==================== + +A total of 59 pull requests were merged for this release. + +Breaking changes +---------------- + +* :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. + 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 +---------- + +* :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``. + +* :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 +------------ + +* :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`: 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 +---------- + +* :pr:`3205`: Fixed type hint of ``angle`` in :class:`.Arc` + + +* :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 instantiation for scenes using :meth:`.Scene.interactive_embed` + + +* :pr:`3315`: Fixed issue with parameter types in :meth:`.Scene.add_subcaption` + + +* :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")``. + +* :pr:`3284`: Fixed ``LinearTransformationSceneExample`` in Jupyter notebooks + + +* :pr:`3302`: Fixed typo in comparison in :meth:`.OpenGLVMobject.interpolate` + + +* :pr:`3340`: Fixed incorrect computation of bounding box for rotated :class:`.ImageMobject` + + +* :pr:`3343`: Fixed return value of :meth:`.TexTemplate.add_to_preamble` and :meth:`.TexTemplate.add_to_document` + + +* :pr:`3282`: Ensure that :meth:`.ArrowVectorField.get_vector` does not modify the passed inputs + + +* :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 + + +* :pr:`3404`: Properly raise an exception on empty inputs to :class:`.AddTextLetterByLetter` + + +Documentation-related changes +----------------------------- + +* :pr:`3219`: Enabled 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 sowcase example for :class:`.ArrowTip` + + +* :pr:`3312`: Added documentation for :func:`.always_redraw` + + +* :pr:`3218`: Improved grammar in the :doc:`deep dive guide ` + + +* :pr:`3251`: Add LaTeX installation instructions for Fedora + + +* :pr:`3290`: Updated required dependencies for MacOS installations + + +* :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:`3355`: Temporarily enabled ``htmlzip`` build on ReadTheDocs + + +* :pr:`3377`: Fixed a typo in the :doc:`deep dive guide ` + + +* :pr:`3389`: Removed superfluous curly braces in a LaTeX expression + + +* :pr:`3417`: Replaced ``htmlzip`` ReadTheDocs build with workflow attaching downloadable documentation to GitHub releases + + +Changes concerning the testing system +------------------------------------- + +* :pr:`3416`: Fixed tests to run on Cairo 1.18.0 + + +* :pr:`3257`: Fix a configuration error concerning poetry + + +* :pr:`3419`: Fixed caching of Cairo builds on CI runners + + +Code quality improvements and similar refactors +----------------------------------------------- + +* :pr:`3229`: Made docbuild errors easier to debug and 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` + + +* :pr:`3224`: Replace final few occurrences of ``os.path`` by ``pathlib.Path`` + + +* :pr:`3236`: Return self in :meth:`.AbstractImageMobject.set_resampling_algorithm` + + +* :pr:`3253`: Bump tornado from 6.3.1 to 6.3.2 + + +* :pr:`3272`: Bump docker/build-push-action from 3 to 4 + + +* :pr:`3287`: Bump cryptography from 41.0.1 to 41.0.2 + + +* :pr:`3350`: Added missing dependency ``typing-extensions`` + + +* :pr:`3431`: Bump teatimeguest/setup-texlive-action from 2 to 3 + + +* :pr:`3433`: Bump dependencies + + +* :pr:`3399`: Updated several dependencies + + +* :pr:`3397`: Several GitHub actions updates + + +* :pr:`3405`: Updated manimpango version to fix error regarding type strictness + + +* :pr:`3421`: Improved order of input checks when creating a tree graph + + +New releases +------------ + +* :pr:`3439`: Prepared new release: v0.18.0 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 diff --git a/manim/mobject/graphing/coordinate_systems.py b/manim/mobject/graphing/coordinate_systems.py index c2f5744ca8..170a0f5778 100644 --- a/manim/mobject/graphing/coordinate_systems.py +++ b/manim/mobject/graphing/coordinate_systems.py @@ -1929,6 +1929,8 @@ def _update_default_configs( 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 """ 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"