Breaking changes
- The behavior for "jump next fast" and "jump previous fast" keybindings (defaults to
nandp) now jumps straight from one slide to the next/previous one ignoring pauses. Before this used to "reveal" all pauses when jumping forward before going to the next slide. This behavior was weird and unintuitive so now fast jumps go straight into the next/previous slides. The action of "showing all pauses on the current slide" can now be done by pressings(#678).
New features
- Allow specifying where a snippet's execution output will go (#658).
- Add
includecomment command to import markdown files (#651) (#683). - Allow validating snippets without explicitly executing them by using
--validate-snippetsswitch (#645) (#637). - Support iterm2 image protocol when running in tmux (#661).
- Add support for d2 diagrams (#657).
- Errors encountered when parsing markdown now always display the file, line, and column where the error was found, as well as the markdown line that caused the error (#674) (#653) (#684) (#685).
- Superscript via
^this^and<sup>this</sup>syntaxes is supported when using the kitty terminal. For other terminals we try to use unicode half block characters which cover a portion of the ASCII charset. (#606)(#617 ) (#665). - Allow alternative snippet executors for languages that support execution. This allows, for example, runnig rust code via
rust-scriptor python code viapytest(#614). - Allow using env var
PRESENTERM_CONFIG_FILEto point to the config file (#663) - thanks @Silver-Golden. - Set background color via OSC 11 to avoid having a colored edge around the presentation (#623) (#624) (#627).
- Add support for markdown footnotes (#616).
- Runtime errors are now centered rather than being left aligned with some fixed margin (#638).
- Allow configuring number of newlines in between list items (#628).
- Allow 3 digit hex colors (#609) - thanks @peterc-s.
- Allow configuring font used in PDF export (#608).
- Added
uvas an alternative executor for python code (#662) - thanks @JanNeuendorf. - Allow multiline slide titles (#679).
- Add support for multiline slide titles (#682) - thanks @barr-israel.
- Add support for multiline subtitle (#680) - thanks @barr-israel.
- Add support for syntax highlighting and execution for F# (#650) - thanks @mnebes.
- Use text style/colors in rust-script errors (#644).
- Added
rust-script-pedanticalternative executor for rust (#640).
Fixes
- Consider rect start row when capping max terminal rows (#656).
- Skip speaker notes slide on
skip_slide(#625). - Don't loop on 0 bytes read when querying capabilities (#620).
- Make code snippet language specifiers case insensitive (#613) - thanks @peterc-s.
- Bump dependencies (#681) - thanks @barr-israel.
Chore
- Refactored code to make it more easily testeable, and added lots of tests to ensure markdown is rendered as expected. This will hopefully reduce the number of errors found after each release (#660) (#659) (#655) (#647).
- Bump rust version to 1.82 (#611).
- Perform better validation around matching HTML tags (#668).
- Don't run nightly job if the git hash hasn't changed (#667) (#675) (#669).
- Display an error when using http(s) urls in image tags (#666).
- Update Catppuccin themes to use palettes (#672) - thanks @jmcharter.
Docs
- Add custom introduction slides example (#633).
- Add mention of
winget(#621) - thanks @DeveloperPaul123. - Fix incorrect note callout (#610) - thanks @Sacquer.
- Add a note to export pdf using
uv(#646) - thanks @PitiBouchon. - Clarify why no remote urls work with images (#664) - thanks @ryuheechul.
❤️ Sponsors
Thanks to the following users who supported presenterm via a github sponsorship in this release: