Skip to content

Latest commit

 

History

History
354 lines (290 loc) · 14.1 KB

CHANGELOG.md

File metadata and controls

354 lines (290 loc) · 14.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

(unreleased)=

(v5.1.8)=

(v5.1.8-added)=

Added

  • Added manim-slides checkhealth command to easily obtain important information for debug purposes. #458
  • Added support for disable_caching and flush_cache options from Manim, and also the possibility to configure them through class options. #452
  • Added --to=zip convert format to generate an archive with HTML output and asset files. #470

(v5.1.8-chore)=

Chore

  • Pin rtoml==0.9.0 on Windows platforms, see #398, until samuelcolvin/rtoml#74 is solved. #432
  • Removed an old validation check that prevented setting loop=True with auto_next=True on next_slide() #445
  • Improved (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

(v5.1.8-fixed)=

Fixed

  • Fix combining assets from multiple scenes to avoid filename collision. #429
  • Fixed whitespace issue in default RevealJS template. #442
  • Fixed black screen issue on recent Qt versions and device loss detected, thanks to @PeculiarProgrammer! #465

(v5.1.8-removed)=

Removed

  • Removed full-gl extra, because it does not make sense to ship both manimgl and manim together. #447

(v5.1.7)=

(v5.1.7-chore)=

Chore

  • Improved the CI for bumping the version and README rendering on PyPI. #425

(v5.1.6)=

(v5.1.6-added)=

Added

  • Added options to skip the Manim Slides Sphinx directive. #423

(v5.1.6-chore)=

Chore

  • Added an examples gallery. #422

(v5.1.5)=

(v5.1.5-chore)=

Chore

  • Added CI for broken HTML links and fixed, plus spell checking. #417
  • Create FAQ page and clear FAQ from README.md. #418
  • Used Rye instead of PDM for faster development. #420

(v5.1.5-fixed)=

Fixed

  • Fixed broken --show-config command. #419

(v5.1.4)=

(v5.1.4-added)=

Added

  • Added audio output to manim-slides present. #382

(v5.1.4-changed)=

Changed

  • Added --info-window-screen option and change --screen-number to not move the info window. #389

(v5.1.4-chore)=

Chore

  • Created a favicon for the website/documentation. #399
  • Documented the Nixpkg installation. #404
  • Updated the default RevealJS version to 5.1.0. #412
  • Removed the opencv-python dependency. #415

(v5.1.4-fixed)=

Fixed

  • Fixed the retrieval of background_color with ManimCE. #414
  • Fixed #390 issue caused by empty media created by ManimCE. #416

(v5.1.3)=

(v5.1.3-chore)=

Chore

  • Fix link in documentation. #368

  • Warn users if not using recommended Qt bindings. #373

(v5.1.2)=

(v5.1.2-chore)=

Chore

  • Fix ReadTheDocs version flyout in iframes. #367

(v5.1.1)=

(v5.1.1-chore)=

Chore

  • Move documentation to ReadTheDocs for better versioning. #365

(v5.1)=

(v5.1-added)=

Added

  • Added the --hide-info-window option to manim-slides present. #313
  • Added the manim-slides render command to render slides using correct Manim installation. #317
  • Added the playback-rate and reversed-playback-rate options to slide config. #320
  • Added the speaker notes option. #322
  • Added auto option 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. #325
  • Added return_animation option to slide animations self.wipe and self.zoom. #331
  • Created a Docker image, published on GitHub. #355
  • Added :template: and :config_options options to the Sphinx directive. #357

(v5.1-modified)=

Modified

  • Modified the internal logic to simplify adding configuration options. #321
  • Remove reversed file assets when exporting to HTML, as it was not used. #336

(v5.1-chore)=

Chore

  • Removed subrocess calls to FFmpeg with direct libav bindings using the av Python module. This should enhance rendering speed and security. #335
  • Changed 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

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.

(v5-added)=

Added

  • Added the following option aliases to manim-slides present: -F and --full-screen for fullscreen, -H for --hide-mouse, and -S for --screen-number. #243
  • Added 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.animation module and created the Wipe and Zoom classes, that return a new animation. #285
  • Added two environ variables, MANIM_API and FORCE_MANIM_API, to specify the MANIM_API to be used: manim and manimce will import manim, while manimgl and manimlib will import manimlib. If one of the two APIs is already imported, use FORCE_MANIM_API=1 to override this. #285
  • Added a working ThreeDSlide class compatible with manimlib. #285
  • Added loop option to Slide's next_slide method. Calling next_slide will never fail anymore. #294
  • Added Slide.next_section for compatibility with manim's Scene.next_section method. #295
  • Added --next-terminates-loop option to manim-slides present for 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. #299
  • Added --playback-rate option to manim-slides present for testing purposes. #300
  • Added auto_next option to Slide's next_slide method to automatically play the next slide upon terminating. Supported by present and convert --to=html commands. #304

(v5-changed)=

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. StypeType is removed in favor to one boolean loop field. This is a breaking change and one should re-render the slides to apply changes. #243
  • Renamed 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: CONTINUE to NEXT, BACK to PREVIOUS, and REWIND to REPLAY. #243
  • Conversion 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_logger is called at module import, and we do not use Manim's logger anymore. #285
  • Changed Slide.wipe and Slide.zoom to automatically call self.play. This is a breaking change as calling self.play(self.wipe(...)) now raises an error (because None is not an animation). #285
  • Changed the manim_slides.slide module to contain submodules, i.e., slide.manim, slide.manimlib, slide.animation. Only slide.animation is part of the public API. Rules for choosing the Manim API (either manim or manimlib) has changed, and defaults to the currently imported module, with a preference for manim. #285

(v5-fixed)=

Fixed

  • Patched enums in manim_slides/convert.py to correctly call str's __str__ method, and not the Enum one. This bug was discovered by @alexanderskulikov in #253, caused by Python 3.11's change in how Enum work. #257.
  • Fixed potential non-existing parent path issue in manim convert's destination path. #262

(v5-removed)=

Removed

  • Removed --start-at-animation-number option from manim-slides present. #242
  • Removed the following options from manim-slides present: --resolution, --record-to, --resize-mode, and --background-color. #243
  • Removed PERF verbosity level because not used anymore. #245
  • Remove Slide's method start_loop and self.end_loop in favor to self.next_slide(loop=True). This is a breaking change. #294