Skip to content

Kova v0.8.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 21:08
· 41 commits to main since this release

What's new

New features

  • Kova now has an official VS Code extension. Edit and preview Kova slides without leaving VS Code — find it on the Marketplace, or via the new link in Settings → About.
  • Slide thumbnails support keyboard navigation, multi-select, and block drag-reorder — Up/Down/PageUp/PageDown/Home/End to navigate, Shift/Ctrl-click to select a range or toggle one slide, Delete to remove the selection, Mod-D to duplicate, and dragging a multi-selection now moves the whole block together, matching PowerPoint/Keynote/Google Slides conventions.
  • The presenter view can now count down instead of only counting up. Set a target length in Settings → Presentation (5–60 minutes) and the timer switches to a red overrun display once you're past it.
  • A persistent slide-position indicator is now pinned to the bottom edge for the audience, in the deck's own accent colour — unlike the existing counter, it never fades after a few seconds idle.
  • The Find dialog now supports Replace and Replace All.
  • Selecting text and typing *, _, or ` now wraps the selection with that marker instead of replacing it, matching Typora/Obsidian.
  • A markdown link's visible label text is now clickable with Cmd/Ctrl+click, not just the literal URL.
  • Kova now shows a "What's new" notice the first time it launches after updating, with a link to the full release notes — toggle it off in Settings → Updates if you'd rather not see it.

Bug fixes

  • Fixed Mod-[ and Mod-] dedenting differently from Shift-Tab on the same line, and added multi-line selection support to both.
  • Fixed a harmless external file change (e.g. a git checkout) interrupting editing with a click-through dialog — it now surfaces as a dismissable banner, and the blocking dialog is reserved for genuine unsaved-changes conflicts.
  • Fixed global shortcuts (new/open/save, hide-slide) still firing in the presenter window during a live talk, where only the audience-facing view was meant to block them.

Performance

  • Local image/video lookups during editing now only fetch newly-referenced paths instead of re-reading every path in the deck on every keystroke — the most noticeable lag source in media-heavy decks.
  • The status bar's external-image counter is now debounced instead of re-scanning the whole document on every keystroke.
  • PPTX export's colour resolution is now cached, cutting 300+ repeated style recalculations down to a handful on a typical deck.

Security

  • Resolved a high-severity infinite-loop denial-of-service in image-size (pulled in transitively through pptxgenjs) via a dependency override, since image-size itself is unused dead code in pptxgenjs's shipped bundle.

Known issues

  • Icons in exported PPTX files may not display. They use the Kova Icons font, which isn't embedded in the file, so PowerPoint and Keynote only show them on machines where that font is installed.
  • Windows Defender may flag Kova as Trojan:Win32/Wacatac.C!ml during install or update — this is a false positive from Microsoft's heuristic/ML detection, not an actual threat (reported in #224). It's tied to Windows builds still being test-signed rather than production-signed; we're in the process of moving to full production signing via SignPath. We'll drop this note once production signing is live.

Installation

Platform Download Note
macOS (Apple Silicon + Intel) .dmg Signed and notarised — double-click to install
Windows 10/11 .msi or _x64-setup.exe Test-signed via SignPath — SmartScreen warning expected, and Defender may flag it (see Known issues above)
Linux .deb (Debian/Ubuntu), .rpm (Fedora/RHEL/openSUSE), or .flatpakref Install via your package manager
Linux AppImage .AppImage Graphics libs stripped for compatibility with Arch/Fedora/etc. Supports auto-update.

Beta release — expect rough edges. Please report bugs via Issues.

Kova is free and community funded. You can now support development directly through Open Collective.