Changelog¶
Unreleased¶
Added¶
v5.6.0¶
Added¶
Added vertical slide implementation to html exports of presentations. @DaughterOfSpring #602
Added support for static image in slides with
srcoption. @Low-Zi-Hong#607Added option to specify the CDN from which to load RevealJS, and changed the default CDN, see hakimel/reveal.js#3894 for more details. #618
Chore¶
Changed default RevealJS version to 6.0.1. Updated the templates accordingly, and removed the use of minified versions, as they are no longer provided by the CDN. #618
Fixed¶
Fixed missing FFmpeg in Docker/Binder environment causing rendering failures. @alwaysalearner1234 #593
v5.5.4¶
Chore¶
Added tips for working with large presentations to the documentation. @jdgsmallwood #588
Added new example to the example gallery. @jdgsmallwood #589
Fixed¶
Fixed compatibility issue with
av>=14(and thusmanim>=0.19.2). @SockingPanda #584
v5.5.3¶
Changed¶
Chore¶
Fixed¶
Fixed black videos on macOS (Qt player) by forcing absolute paths for video files. @albertocasagrande #575
Pinned
sphinxto<9to avoid breakage withsphinx-clickand the Sphinx v9 release. #581Fixed bug cause when reading files from a path containing special characters. @candreuv #572
v5.5.2¶
Added¶
Chore¶
Moved
docsandtestsextras, as well asdev-dependencies, inside groups independency-groups. This could break existing code when using one of those extras, but as they were not part of the public API, we do not consider this to be a breaking change. #542Added example in the research section of the gallery. @mmcilree #552
Added example in the school work section of the gallery. @casperalgera #556
Added example in the school work section of the gallery. @amstrdm #557
Fixed some tests that were failing. #550
Pinned
setuptools<81formanimglextra, assetuptools>=81dropped support for its API. #550
Fixed¶
Fixed potential import issue of ManimGL, importing
manimlibwill parsesys.argvto initialize the config, which can lead to surprising behavior when using the library with different command line arguments that are not meant to be used by ManimGL. #550
v5.5.1¶
Changed¶
HTML template now always includes the notes plugin so that the speaker view is always available. Previously, it was only included if the slides had notes. #538
Pressing SPACE key now pauses the slides, instead of skipping it. Previously, it was not possible to pause HTML slides, which can be very annoying when trying to explain something. #539
v5.5.0¶
Added¶
Changed¶
Automatically split large video animations into smaller chunks for lightweight (and potentially faster) reversed animations generation. #439
Chore¶
v5.4.2¶
Fixed¶
Fixed
start_skip_animationsto actually pass argument to ManimCE, otherwise video animations were still rendered, just excluded from the final output. #524
v5.4.1¶
Added¶
Added
start_skip_animationsandstop_skip_animationsmethods. #523
v5.4.0¶
Added¶
Added
skip_animationscompatibility with ManimCE. @Rapsssito #516
Chore¶
Bumped Manim to
>=0.19, as it fixed OpenGL renderer issue. #522
Fixed¶
v5.3.1¶
Fixed¶
Fixed HTML template to avoid missing slides when exporting with
--one-file. @Rapsssito #515
v5.3.0¶
Added¶
Added CSS and JS inline for
manim-slides convertif--offlineand--one-file(-cone_file) are used for HTML output. @Rapsssito #505
Changed¶
Deprecate
-cdata_uriin favor of-cone_fileformanim-slides convert. @Rapsssito #505Changed template to avoid micro-stuttering with
--one-filein HTML presentation. @Rapsssito #508
v5.2.0¶
Changed¶
The info window is now only shown in presentations when there are multiple monitors. However, the
--show-info-windowoption was added tomanim-slides presentto force the info window. When there are multiple monitors, the info window will no longer be on the same monitor as the main window, unless overridden. @taibeled #482
Chore¶
v5.1.10¶
Added¶
Changed¶
Fixed¶
v5.1.9¶
Chore¶
Fixed failing docker builds. #481
v5.1.8¶
Added¶
Added
manim-slides checkhealthcommand to easily obtain important information for debug purposes. #458Added support for
disable_cachingandflush_cacheoptions from Manim, and also the possibility to configure them through class options. #452Added
--to=zipconvert format to generate an archive with HTML output and asset files. #470
Chore¶
Pinned
rtoml==0.9.0on Windows platforms, see #398, until samuelcolvin/rtoml#74 is solved. #432Removed an old validation check that prevented setting
loop=Truewithauto_next=Trueonnext_slide()#445Improved (and fixed) tests for Manim(GL), bumped minimal ManimCE version, improved coverage, and override dependency conflicts. #447
Improved issue templates. #456
Enhanced the error message when the slides folder does not exist. #462
Fixed deprecation warnings. #467
Documented potential fix for PPTX issue. #475
Changed project manager from Rye to uv. #476
Fixed¶
Removed¶
Removed
full-glextra, because it does not make sense to ship bothmanimglandmanimtogether. #447
v5.1.7¶
Chore¶
Improved the CI for bumping the version and README rendering on PyPI. #425
v5.1.6¶
Added¶
Added options to skip the Manim Slides Sphinx directive. #423
Chore¶
Added an examples gallery. #422
v5.1.5¶
Chore¶
Fixed¶
Fixed broken
--show-configcommand. #419
v5.1.4¶
Added¶
Added audio output to
manim-slides present. #382
Changed¶
Added
--info-window-screenoption and change--screen-numberto not move the info window. #389
Chore¶
Fixed¶
v5.1.3¶
Chore¶
v5.1.2¶
Chore¶
Fix ReadTheDocs version flyout in iframes. #367
v5.1.1¶
Chore¶
Move documentation to ReadTheDocs for better versioning. #365
v5.1¶
Added¶
Added the
--hide-info-windowoption tomanim-slides present. #313Added the
manim-slides rendercommand to render slides using correct Manim installation. #317Added the
playback-rateandreversed-playback-rateoptions to slide config. #320Added the speaker notes option. #322
Added
autooption for conversion format, which is the default. This is somewhat a breaking change, but changes to the CLI API are not considered to be very important. #325Added
return_animationoption to slide animationsself.wipeandself.zoom. #331Created a Docker image, published on GitHub. #355
Added
:template:and:config_optionsoptions to the Sphinx directive. #357
Modified¶
Chore¶
Removed subrocess calls to FFmpeg with direct
libavbindings using theavPython module. This should enhance rendering speed and security. #335Changed build backend to PDM and reflected on docs. #354
Dropped Python 3.8 support. #350
Made Qt backend optional and support PyQt6 too. #350
Documentated how to create and use a custom HTML template. #357
v5¶
Prior to v5, there was no real CHANGELOG other than the GitHub releases, with most of the content automatically generated by GitHub from merged pull requests.
In an effort to better document changes, this CHANGELOG document is now created.
Added¶
Added the following option aliases to
manim-slides present:-Fand--full-screenforfullscreen,-Hfor--hide-mouse, and-Sfor--screen-number. #243Added a full screen key binding (defaults to F) in the presenter. #243
Added support for including code from a file in Manim Slides Sphinx directive. #261
Added the
manim_slides.slide.animationmodule and created theWipeandZoomclasses, that return a new animation. #285Added two environ variables,
MANIM_APIandFORCE_MANIM_API, to specify theMANIM_APIto be used:manimandmanimcewill importmanim, whilemanimglandmanimlibwill importmanimlib. If one of the two APIs is already imported, useFORCE_MANIM_API=1to override this. #285Added a working
ThreeDSlideclass compatible withmanimlib. #285Added
loopoption toSlide’snext_slidemethod. Callingnext_slidewill never fail anymore. #294Added
Slide.next_sectionfor compatibility withmanim’sScene.next_sectionmethod. #295Added
--next-terminates-loopoption tomanim-slides presentfor turn a looping slide into a normal one, so that it ends nicely. This is useful to have a smooth transition with the next slide. #299Added
--playback-rateoption tomanim-slides presentfor testing purposes. #300Added
auto_nextoption toSlide’snext_slidemethod to automatically play the next slide upon terminating. Supported bypresentandconvert --to=htmlcommands. #304
Changed¶
Automatically concatenate all animations from a slide into one. This is a breaking change because the config file format is different from the previous one. For migration help, see associated PR. #242
Changed the player interface to only use PySide6, and not a combination of PySide6 and OpenCV. A few features have been removed (see removed section), but the new player should be much easier to maintain and more performant, than its predecessor. #243
Changed the slide config format to exclude unnecessary information.
StypeTypeis removed in favor to one booleanloopfield. This is a breaking change and one should re-render the slides to apply changes. #243Renamed key bindings in the config. This is a breaking change and one should either manually rename them (see list below) or re-init a config. List of changes:
CONTINUEtoNEXT,BACKtoPREVIOUS, andREWINDtoREPLAY. #243Conversion to HTML now uses Jinja2 templating. The template file has been modified accordingly, and old templates will not work anymore. This is a breaking change. #271
Bumped RevealJS’ default version to v4.6.1, and added three new themes. #272
Changed the logger such that
make_loggeris called at module import, and we do not use Manim’s logger anymore. #285Changed
Slide.wipeandSlide.zoomto automatically callself.play. This is a breaking change as callingself.play(self.wipe(...))now raises an error (becauseNoneis not an animation). #285Changed the
manim_slides.slidemodule to contain submodules, i.e.,slide.manim,slide.manimlib,slide.animation. Onlyslide.animationis part of the public API. Rules for choosing the Manim API (eithermanimormanimlib) has changed, and defaults to the currently imported module, with a preference formanim. #285
Fixed¶
Patched enums in
manim_slides/convert.pyto correctly callstr’s__str__method, and not theEnumone. This bug was discovered by @alexanderskulikov in #253, caused by Python 3.11’s change in howEnumwork. #257.Fixed potential non-existing parent path issue in
manim convert’s destination path. #262
Removed¶
Removed
--start-at-animation-numberoption frommanim-slides present. #242Removed the following options from
manim-slides present:--resolution,--record-to,--resize-mode, and--background-color. #243Removed
PERFverbosity level because not used anymore. #245Remove
Slide’s methodstart_loopandself.end_loopin favor toself.next_slide(loop=True). This is a breaking change. #294