# slidev changelog
> slidev release notes.
- Vendor: slidev
- Category: Developer Tools
- License: MIT
- Language: TypeScript
- Official site: https://sli.dev/
- Tracked by: What's New (https://whatsnew.fyi/product/slidev)
- Harvested from: GitHub (slidevjs/slidev)
- Entries below: 17 (newest first)
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: release facts (products, versions, dates, links, CVE ids and flags) are open data under CC BY 4.0, from the API at https://whatsnew.fyi/api/v1 or the nightly dataset at https://github.com/whatsnew-fyi/dataset. The summaries, labels and curation are © What's New: quote freely with attribution and a link back; wholesale republication of them is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
## Releases
### v53.0.0
- Date: 2026-09-16
- Version: v53.0.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v53.0.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v53.0.0
- **changed** — Migrate to mermaid v12 and cypress v16, requiring Node.js >= 22.12.0
###### 🚨 Breaking Changes
- Migrate to mermaid v12 and cypress v16 (require Node.js >= 22.12.0) - by @antfubot and @antfu in https://github.com/slidevjs/slidev/issues/2742 [(98c9a)](https://github.com/slidevjs/slidev/commit/98c9abea)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.20.1...v53.0.0)
### v52.20.1
- Date: 2026-09-16
- Version: v52.20.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.20.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.20.1
- **added** — Expose shiki magic move animation options in headmatter
###### 🚀 Features
- Expose shiki magic move animation options in headmatter - by @antfubot in https://github.com/slidevjs/slidev/issues/2744 [(b610b)](https://github.com/slidevjs/slidev/commit/b610bdfe)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.20.0...v52.20.1)
### v52.20.0
- Date: 2026-09-16
- Version: v52.20.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.20.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.20.0
- **added** — Add editable PPTX export with native shapes and text
- **fixed** — Match notesAutoRuby keys longest-first and literally
- **fixed** — Render iframe layouts at their on-screen resolution
- **fixed** — Don't crash when the public IP can't be resolved
- **fixed** — Keep the mic track alive across consecutive recordings
- **fixed** — Declare markdown-it-github-alerts as a dependency
- **fixed** — Fix agent detection in create-app
- **fixed** — Whitelist the monaco-write path the dev server actually resolves
- **fixed** — Strip the title from markdown image destinations
- **fixed** — Merge drawings config from theme defaults and nested config key
- **fixed** — Report a src: range that points below the first slide
- **fixed** — Ignore code block headings when picking slide titles
- **fixed** — Reject unit-less timestamps that are not numbers
- **fixed** — Return 404 on out-of-range slide patch
- **fixed** — Retry marketplace publish on transient failures
- **fixed** — Match detected server entry against existing project paths
###### 🚀 Features
- **export**: Editable PPTX export with native shapes and text - by @stn1slv, @antfu and @antfubot in https://github.com/slidevjs/slidev/issues/2722 [(0e24a)](https://github.com/slidevjs/slidev/commit/0e24a640)
###### 🐞 Bug Fixes
- Match notesAutoRuby keys longest-first and literally - by @giaBaoJS in https://github.com/slidevjs/slidev/issues/2731 [(d2536)](https://github.com/slidevjs/slidev/commit/d253660e)
- Render iframe layouts at their on-screen resolution - by @aron-intframe in https://github.com/slidevjs/slidev/issues/2728 [(231b9)](https://github.com/slidevjs/slidev/commit/231b9aa4)
- **cli**:
- Don't crash when the public IP can't be resolved - by @lazerg and @antfu in https://github.com/slidevjs/slidev/issues/2726 [(cfee9)](https://github.com/slidevjs/slidev/commit/cfee90d5)
- **client**:
- Keep the mic track alive across consecutive recordings - by @henritoivar in https://github.com/slidevjs/slidev/issues/2730 [(3b334)](https://github.com/slidevjs/slidev/commit/3b334828)
- Declare markdown-it-github-alerts as a dependency - by @exKAZUu in https://github.com/slidevjs/slidev/issues/2719 [(8fb34)](https://github.com/slidevjs/slidev/commit/8fb34fcc)
- **create-app**:
- Agent detection, close #2720 - by @antfu in https://github.com/slidevjs/slidev/issues/2720 [(d4ac8)](https://github.com/slidevjs/slidev/commit/d4ac8b56)
- **monaco**:
- Whitelist the monaco-write path the dev server actually resolves - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2740 [(ba821)](https://github.com/slidevjs/slidev/commit/ba821a48)
- **parser**:
- Strip the title from markdown image destinations - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2733 [(514fd)](https://github.com/slidevjs/slidev/commit/514fd233)
- Merge drawings config from theme defaults and nested config key - by @giaBaoJS in https://github.com/slidevjs/slidev/issues/2735 [(61247)](https://github.com/slidevjs/slidev/commit/612476d0)
- Report a src: range that points below the first slide - by @mahirhir and **Mahiro Hirakawa** in https://github.com/slidevjs/slidev/issues/2734 [(9aeae)](https://github.com/slidevjs/slidev/commit/9aeae404)
- Ignore code block headings when picking slide titles - by @giaBaoJS in https://github.com/slidevjs/slidev/issues/2737 [(11fe3)](https://github.com/slidevjs/slidev/commit/11fe3f79)
- Reject unit-less timestamps that are not numbers - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2732 [(1528f)](https://github.com/slidevjs/slidev/commit/1528f6dd)
- **server**:
- 404 on out-of-range slide patch - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2704 [(3cbc4)](https://github.com/slidevjs/slidev/commit/3cbc4f65)
- **vscode**:
- Retry marketplace publish on transient failures - by @antfubot in https://github.com/slidevjs/slidev/issues/2741 [(23a57)](https://github.com/slidevjs/slidev/commit/23a57b7e)
- Match detected server entry against existing project paths - by @mvanhorn in https://github.com/slidevjs/slidev/issues/2729 [(a0a49)](https://github.com/slidevjs/slidev/commit/a0a49df2)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.19.2...v52.20.0)
### v52.19.2
- Date: 2026-09-15
- Version: v52.19.2
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.19.2
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.19.2
- **added** — Support post URLs in Tweet component
- **fixed** — Repair production smoke test for markdown-exit renderer dedupe
- **fixed** — Temporary lock vite to 8.2 for regression that affects unocss
- **fixed** — Handle publicIpv4() errors when resolving public IP in CLI
- **fixed** — Keep v-click hidden state on annotated code and KaTeX blocks
###### 🚀 Features
- **client**: Support post URLs in Tweet - by @kriptoburak in https://github.com/slidevjs/slidev/issues/2710 [(9d5f4)](https://github.com/slidevjs/slidev/commit/9d5f45ea)
###### 🐞 Bug Fixes
- Repair production smoke test (markdown-exit renderer dedupe) - by @antfubot in https://github.com/slidevjs/slidev/issues/2717 [(ebc5d)](https://github.com/slidevjs/slidev/commit/ebc5d29d)
- Temporary lock vite to 8.2 for regression that affect unocss - by @antfu [(55462)](https://github.com/slidevjs/slidev/commit/554627bc)
- **cli**: Handle publicIpv4() errors when resolving public IP - by @jabrailkhalil in https://github.com/slidevjs/slidev/issues/2739 [(c8258)](https://github.com/slidevjs/slidev/commit/c8258ff1)
- **client**: Keep v-click hidden state on annotated code and KaTeX blocks - by @lazerg in https://github.com/slidevjs/slidev/issues/2712 [(48647)](https://github.com/slidevjs/slidev/commit/4864730a)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.19.1...v52.19.2)
### v52.19.1
- Date: 2026-08-19
- Version: v52.19.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.19.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.19.1
- **fixed** — Default manual setup to npm in create-app
###### 🐞 Bug Fixes
- **create-app**: Default manual setup to npm - by @NgoQuocViet2001 and @antfu in https://github.com/slidevjs/slidev/issues/2703 [(22b96)](https://github.com/slidevjs/slidev/commit/22b96006)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.19.0...v52.19.1)
### v52.19.0
- Date: 2026-08-03
- Version: v52.19.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.19.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.19.0
- **fixed** — Wrong import
- **fixed** — Hide goto dialog fully when closed
- **fixed** — Guard useNav against a missing injection context
- **fixed** — Support per-slide codeCopy and magicMoveCopy frontmatter overrides
###### 🐞 Bug Fixes
- Wrong import - by @e-kucheriavyi in https://github.com/slidevjs/slidev/issues/2692 [(5b352)](https://github.com/slidevjs/slidev/commit/5b352a53)
- **client**:
- Hide goto dialog fully when closed - by @limeburst in https://github.com/slidevjs/slidev/issues/2695 [(e0422)](https://github.com/slidevjs/slidev/commit/e0422d69)
- Guard useNav against a missing injection context - by @renechoi in https://github.com/slidevjs/slidev/issues/2694 [(edb23)](https://github.com/slidevjs/slidev/commit/edb2399e)
- Support per-slide codeCopy and magicMoveCopy frontmatter overrides - by @amir-rezaei, **ferkans-amir** and @antfubot in https://github.com/slidevjs/slidev/issues/2686 [(f7e77)](https://github.com/slidevjs/slidev/commit/f7e77f16)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.18.1...v52.19.0)
### v52.18.1
- Date: 2026-07-31
- Version: v52.18.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.18.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.18.1
- **added** — Sort projects tree by entry path in VS Code extension
- **fixed** — Add .trycloudflare.com to allowedHosts when tunnel enabled
- **fixed** — Resolve CI regressions from deps update
- **fixed** — Normalize null sourcesContent entries for magic-string v1
- **fixed** — Resolve monaco-editor exports and duplicate docs frontmatter key
- **fixed** — Use slide-local nav during export
- **fixed** — Respect lineNumbers config and lines option in monaco
- **fixed** — Prevent preview sync feedback loop in VS Code extension
###### 🚀 Features
- **vscode**: Sort projects tree by entry path - by @lzblack in https://github.com/slidevjs/slidev/issues/2678 [(36063)](https://github.com/slidevjs/slidev/commit/36063a1e)
###### 🐞 Bug Fixes
- Add `.trycloudflare.com` to allowedHosts when tunnel enabled - by @Copilot and **kermanx** in https://github.com/slidevjs/slidev/issues/2346 [(fcef0)](https://github.com/slidevjs/slidev/commit/fcef0fdf)
- Resolve CI regressions from deps update - by @antfubot in https://github.com/slidevjs/slidev/issues/2688 [(ec6b0)](https://github.com/slidevjs/slidev/commit/ec6b0f1d)
- Normalize null sourcesContent entries for magic-string v1 - by @antfubot in https://github.com/slidevjs/slidev/issues/2689 [(e2ea9)](https://github.com/slidevjs/slidev/commit/e2ea9b52)
- **ci**: Resolve monaco-editor exports and duplicate docs frontmatter key - by @antfubot in https://github.com/slidevjs/slidev/issues/2690 [(27a8a)](https://github.com/slidevjs/slidev/commit/27a8ad5e)
- **client**: Use slide-local nav during export - by @NgoQuocViet2001 and **viet.ngo** in https://github.com/slidevjs/slidev/issues/2681 [(d2db9)](https://github.com/slidevjs/slidev/commit/d2db9296)
- **monaco**: Respect lineNumbers config and lines option - by @lazerg in https://github.com/slidevjs/slidev/issues/2682 [(8a366)](https://github.com/slidevjs/slidev/commit/8a366e78)
- **vscode**: Prevent preview sync feedback loop - by @fredcallaway and @kermanx in https://github.com/slidevjs/slidev/issues/2680 [(94ea0)](https://github.com/slidevjs/slidev/commit/94ea037c)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.18.0...v52.18.1)
### v52.18.0
- Date: 2026-07-14
- Version: v52.18.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.18.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.18.0
- **added** — Make PWA support an optional peer dependency
- **added** — Expose current slide frontmatter in nav
- **fixed** — Exempt public-dir assets from slide import guard
- **fixed** — Await Cypress after-run cleanup
###### 🚀 Features
- Make PWA support an optional peer dependency - by @antfubot in https://github.com/slidevjs/slidev/issues/2671 [(06dbc)](https://github.com/slidevjs/slidev/commit/06dbc58b)
- **nav**: Expose current slide frontmatter - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2667 [(2c801)](https://github.com/slidevjs/slidev/commit/2c8011e7)
###### 🐞 Bug Fixes
- Exempt public-dir assets from slide import guard - by @antfubot in https://github.com/slidevjs/slidev/issues/2672 [(9ce3a)](https://github.com/slidevjs/slidev/commit/9ce3aedb)
- Await Cypress after-run cleanup - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2669 [(79b72)](https://github.com/slidevjs/slidev/commit/79b7280d)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.17.2...v52.18.0)
### v52.17.2
- Date: 2026-07-14
- Version: v52.17.2
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.17.2
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.17.2
- **fixed** — Replace "node:path" with "pathe"
###### 🐞 Bug Fixes
- Replace "node:path" with "pathe" - by @antfu [(8406b)](https://github.com/slidevjs/slidev/commit/8406b9cf)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.17.1...v52.17.2)
### v52.17.1
- Date: 2026-07-14
- Version: v52.17.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.17.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.17.1
- **fixed** — Implement recommended-first-wave improvement plans
- **fixed** — Use import.meta.env.DEV instead of __DEV__ for mode detection
- **fixed** — Apply addon preparsers on initial load
###### 🐞 Bug Fixes
- Implement recommended-first-wave improvement plans - by @antfubot in https://github.com/slidevjs/slidev/issues/2663 [(905b4)](https://github.com/slidevjs/slidev/commit/905b44ba)
- Use import.meta.env.DEV instead of __DEV__ for mode detection - by @ocean-sudo in https://github.com/slidevjs/slidev/issues/2666 [(93db9)](https://github.com/slidevjs/slidev/commit/93db90bb)
- Apply addon preparsers on initial load - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2664 [(b9fcd)](https://github.com/slidevjs/slidev/commit/b9fcd511)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.17.0...v52.17.1)
### v52.17.0
- Date: 2026-07-10
- Version: v52.17.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.17.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.17.0
- **added** — Add memory router mode
- **added** — Add offline support via opt-in PWA precaching
- **added** — Add built-in MCP server to CLI
- **added** — Power AutoFitText with fitty
- **added** — Expose preloadProgress and preloadComplete from the image preloader
- **fixed** — Fix runtime image preloader never receiving slide.images
- **fixed** — Pre-bundle @fix-webm-duration/fix for dev recording import
- **fixed** — Use Node.js 24 on Netlify
- **fixed** — Keep slide paths relative to router base
- **fixed** — Retry failed image preloads instead of giving up silently
###### 🚀 Features
- Add `memory` router mode - by @quinnypig in https://github.com/slidevjs/slidev/issues/2660 [(657a4)](https://github.com/slidevjs/slidev/commit/657a41c3)
- Offline support via opt-in PWA precaching - by @quinnypig and @antfubot in https://github.com/slidevjs/slidev/issues/2651 [(5cd76)](https://github.com/slidevjs/slidev/commit/5cd765ae)
- **cli**:
- Built-in MCP server - by @antfubot in https://github.com/slidevjs/slidev/issues/2661 [(04a9e)](https://github.com/slidevjs/slidev/commit/04a9eff5)
- **client**:
- Power AutoFitText with fitty - by @antfubot in https://github.com/slidevjs/slidev/issues/2658 [(351b2)](https://github.com/slidevjs/slidev/commit/351b2e7b)
- Expose preloadProgress / preloadComplete from the image preloader - by @quinnypig in https://github.com/slidevjs/slidev/issues/2650 [(d437d)](https://github.com/slidevjs/slidev/commit/d437df45)
###### 🐞 Bug Fixes
- Runtime image preloader never received slide.images - by @quinnypig in https://github.com/slidevjs/slidev/issues/2648 [(a0bd1)](https://github.com/slidevjs/slidev/commit/a0bd1b3b)
- Pre-bundle @fix-webm-duration/fix for dev recording import - by @lazerg in https://github.com/slidevjs/slidev/issues/2657 [(6b4b1)](https://github.com/slidevjs/slidev/commit/6b4b144d)
- Use Node.js 24 on Netlify - by @serhalp in https://github.com/slidevjs/slidev/issues/2654 [(5a2a7)](https://github.com/slidevjs/slidev/commit/5a2a77db)
- Keep slide paths relative to router base - by @inaku-Gyan and @antfubot in https://github.com/slidevjs/slidev/issues/2630 [(c63cb)](https://github.com/slidevjs/slidev/commit/c63cb120)
- **client**: Retry failed image preloads instead of giving up silently - by @quinnypig in https://github.com/slidevjs/slidev/issues/2649 [(ecf9b)](https://github.com/slidevjs/slidev/commit/ecf9bb54)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.16.0...v52.17.0)
### v52.16.0
- Date: 2026-06-03
- Version: v52.16.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.16.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.16.0
- **added** — Load preparser also from theme
- **changed** — Bump to pnpm 11, migrate shiki-magic-move to @shikijs/magic-move, update deps
- **added** — Add overview preview mode to vscode extension
- **fixed** — Resolve snippets in magic move blocks
- **fixed** — Fix editing presenter notes on frontmatter-only slides
- **fixed** — Proxy virtual import globs through fs modules
- **fixed** — Use BASE_URL in getSlidePath for monorepo sub-directory deployments
- **fixed** — Handle browser open failures gracefully in cli
- **fixed** — Ignore nested katex tables for line highlights in client
- **fixed** — Hide goto dialog suggestions when dialog is closed in client
###### 🚀 Features
- Load preparser also from theme - by @jgosmann in https://github.com/slidevjs/slidev/issues/2558 [(6baeb)](https://github.com/slidevjs/slidev/commit/6baeb853)
- Bump to pnpm 11, migrate shiki-magic-move to @shikijs/magic-move, update deps - by @antfu in https://github.com/slidevjs/slidev/issues/2615 [(9317d)](https://github.com/slidevjs/slidev/commit/9317d96e)
- **vscode**: Add overview preview mode - by @kermanx in https://github.com/slidevjs/slidev/issues/2601 [(5dc7a)](https://github.com/slidevjs/slidev/commit/5dc7a96b)
###### 🐞 Bug Fixes
- Resolve snippets in magic move blocks - by @cyphercodes in https://github.com/slidevjs/slidev/issues/2590 [(6d1a8)](https://github.com/slidevjs/slidev/commit/6d1a84ab)
- Editing presenter notes on frontmatter-only slides - by @quinnypig in https://github.com/slidevjs/slidev/issues/2591 [(39f52)](https://github.com/slidevjs/slidev/commit/39f523b5)
- Proxy virtual import globs through fs modules - by @kermanx in https://github.com/slidevjs/slidev/issues/2610 [(aff98)](https://github.com/slidevjs/slidev/commit/aff984c1)
- Use BASE_URL in getSlidePath for monorepo sub-directory deployments - by @NgoQuocViet2001 in https://github.com/slidevjs/slidev/issues/2562 [(a0c38)](https://github.com/slidevjs/slidev/commit/a0c3857b)
- **cli**:
- Handle browser open failures gracefully - by @kermanx in https://github.com/slidevjs/slidev/issues/2600 [(6dec3)](https://github.com/slidevjs/slidev/commit/6dec3f85)
- **client**:
- Ignore nested katex tables for line highlights - by @cyphercodes, **cyphercodes** and @kermanx in https://github.com/slidevjs/slidev/issues/2579 [(c035c)](https://github.com/slidevjs/slidev/commit/c035c863)
- Hide goto dialog suggestions when dialog is closed - by @SkorbezhArtem in https://github.com/slidevjs/slidev/issues/2597 [(46bce)](https://github.com/slidevjs/slidev/commit/46bcec25)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.15.2...v52.16.0)
### v52.15.2
- Date: 2026-05-10
- Version: v52.15.2
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.15.2
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.15.2
- **security** — Remove unsafe exec() in resolver.ts
- **security** — Guard slide imports against fs.allow bypass
- **fixed** — Preserve output folder during md export
- **fixed** — Ignore slide separators inside HTML comments
###### 🐞 Bug Fixes
- Remove unsafe exec() in resolver.ts - by @orbisai0security, **Claude Opus 4.7 (1M context)** and **Anthony Fu** in https://github.com/slidevjs/slidev/issues/2585 [(cc677)](https://github.com/slidevjs/slidev/commit/cc677c40)
- Guard slide imports against fs.allow bypass - by @kermanx [(7ffc6)](https://github.com/slidevjs/slidev/commit/7ffc6acd)
- **cli**: Preserve output folder during md export - by @cyphercodes, **cyphercodes** and **Hermes Agent** in https://github.com/slidevjs/slidev/issues/2572 [(439ba)](https://github.com/slidevjs/slidev/commit/439ba7a9)
- **parser**: Ignore slide separators inside HTML comments - by @pi-dal, **Claude Opus 4.7 (1M context)** and **Anthony Fu** in https://github.com/slidevjs/slidev/issues/2561 [(b31e4)](https://github.com/slidevjs/slidev/commit/b31e4aae)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.15.1...v52.15.2)
### v52.15.1
- Date: 2026-05-04
- Version: v52.15.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.15.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.15.1
- **fixed** — Fix import error on recording.ts
- **fixed** — Restore Windows virtual style globs
- **fixed** — Make drawing stroke-width control click-triggered in client
- **fixed** — Only scaffold pnpm npmrc for pnpm in create-slidev
- **fixed** — Pass timeout to frame.waitForLoadState() in export
###### 🐞 Bug Fixes
- Import error on recording.ts - by @toreis-up in https://github.com/slidevjs/slidev/issues/2574 [(de8eb)](https://github.com/slidevjs/slidev/commit/de8eb994)
- Restore Windows virtual style globs - by @cyphercodes and **cyphercodes** in https://github.com/slidevjs/slidev/issues/2573 [(ac6e5)](https://github.com/slidevjs/slidev/commit/ac6e5cf6)
- **client**: Make drawing stroke-width control click-triggered - by @enieuwy in https://github.com/slidevjs/slidev/issues/2565 [(9b93d)](https://github.com/slidevjs/slidev/commit/9b93d782)
- **create-slidev**: Only scaffold pnpm npmrc for pnpm - by @hrithik18k in https://github.com/slidevjs/slidev/issues/2564 [(0e814)](https://github.com/slidevjs/slidev/commit/0e814915)
- **export**: Pass timeout to frame.waitForLoadState() - by @andreas-taranetz and **Claude Sonnet 4.6** in https://github.com/slidevjs/slidev/issues/2578 [(36f8a)](https://github.com/slidevjs/slidev/commit/36f8a896)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.15.0...v52.15.1)
### v52.15.0
- Date: 2026-04-28
- Version: v52.15.0
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.15.0
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.15.0
- **added** — Introduce named animation presets for v-click
- **added** — Add bluesky embed component
- **added** — Integrate markdown-it-github-alerts
- **added** — OnSlideEnter/Leave after mounted and pass idx
- **added** — Add laser pointer feature
- **added** — Add --router-mode flag for build command
- **added** — Automatically detect and substitute package manager in create-app
- **added** — Add native Claude Code plugin installation support in skills
- **fixed** — No longer generate temporarily index.html on user root
- **fixed** — Fix styles import order
- **fixed** — Global context should be unrefed in Vue components
- **fixed** — Improve css specificity
- **fixed** — Merge themeConfig
- **fixed** — Allow indented code blocks
- **fixed** — Fix Katex block
- **fixed** — Add duration metadata to recorded WebM files
- **fixed** — Fix type errors
- **fixed** — Fix missing import of vclick.css
- **fixed** — Fix plant-uml server prop format
- **fixed** — Glob base in Rolldown build mode
###### 🚀 Features
- Introduce named animation presets for v-click - by @DEmmaRL, **Diego Rivera** and @kermanx in https://github.com/slidevjs/slidev/issues/2501 [(a8700)](https://github.com/slidevjs/slidev/commit/a8700812)
- Add bluesky embed component - by @yuyinws [(7abb6)](https://github.com/slidevjs/slidev/commit/7abb6291)
- Integrate `markdown-it-github-alerts` - by @yuyinws in https://github.com/slidevjs/slidev/issues/2547 [(ec275)](https://github.com/slidevjs/slidev/commit/ec275505)
- OnSlideEnter/Leave after mounted + pass idx - by @maxkurze1 and @kermanx in https://github.com/slidevjs/slidev/issues/2540 [(9c171)](https://github.com/slidevjs/slidev/commit/9c171ba7)
- Add laser pointer feature - by @hzb666, **Claude Opus 4.7 (1M context)**, @kermanx and @antfu in https://github.com/slidevjs/slidev/issues/2510 [(57347)](https://github.com/slidevjs/slidev/commit/57347831)
- **build**: Add --router-mode flag for build command - by @mvanhorn in https://github.com/slidevjs/slidev/issues/2548 [(df231)](https://github.com/slidevjs/slidev/commit/df231a58)
- **create-app**: Automatically detect and substitute package manager - by @hrithik18k, @kermanx and @maxkurze1 in https://github.com/slidevjs/slidev/issues/2545 [(56563)](https://github.com/slidevjs/slidev/commit/565637ff)
- **skills**: Add native Claude Code plugin installation support - by @MasonEgger and @antfu in https://github.com/slidevjs/slidev/issues/2523 [(dcbd3)](https://github.com/slidevjs/slidev/commit/dcbd357a)
###### 🐞 Bug Fixes
- No longer generate temporarily `index.html` on user root - by @kermanx in https://github.com/slidevjs/slidev/issues/2513 [(768d5)](https://github.com/slidevjs/slidev/commit/768d5035)
- Styles import order - by @kermanx, **Copilot** and @antfu in https://github.com/slidevjs/slidev/issues/2512 [(56ac8)](https://github.com/slidevjs/slidev/commit/56ac81c9)
- Global context should be unrefed in Vue components - by @kermanx [(b7958)](https://github.com/slidevjs/slidev/commit/b79586c2)
- Improve css specificity - by @kermanx [(ef7d3)](https://github.com/slidevjs/slidev/commit/ef7d37c5)
- Merge `themeConfig` - by @kermanx [(6d828)](https://github.com/slidevjs/slidev/commit/6d828584)
- Allow indented code blocks - by @kermanx [(55977)](https://github.com/slidevjs/slidev/commit/55977d3f)
- Katex block - by @kermanx [(55c06)](https://github.com/slidevjs/slidev/commit/55c065bb)
- Add duration metadata to recorded WebM files - by @mvanhorn and **Claude Opus 4.7 (1M context)** [(a60d6)](https://github.com/slidevjs/slidev/commit/a60d66db)
- Type errors - by @antfu [(d1fec)](https://github.com/slidevjs/slidev/commit/d1fecb11)
- Missing import of `vclick.css` - by @kermanx [(eb79e)](https://github.com/slidevjs/slidev/commit/eb79e95f)
- Plant-uml server prop format - by @kermanx [(e8f46)](https://github.com/slidevjs/slidev/commit/e8f46192)
- Vclick.css comment grammar - by @kermanx [(814c7)](https://github.com/slidevjs/slidev/commit/814c7374)
- Glob base in Rolldown build mode - by @kermanx in https://github.com/slidevjs/slidev/issues/2538 [(055ba)](https://github.com/slidevjs/slidev/commit/055baa86)
- Apply scaling to export container - by @maxkurze1 in https://github.com/slidevjs/slidev/issues/2541 [(dc24c)](https://github.com/slidevjs/slidev/commit/dc24cb1f)
- Glob import should relative to self id - by @kermanx [(29acd)](https://github.com/slide
_[Truncated at 4000 characters — full notes: https://github.com/slidevjs/slidev/releases/tag/v52.15.0]_
### v52.14.2
- Date: 2026-04-05
- Version: v52.14.2
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.14.2
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.14.2
- **changed** — Improve slidev skill
- **fixed** — Make useIsSlideActive() based on useSlideContext().$nav.currentSlideNo instead of useNav().currentSlideNo
- **fixed** — Fix Fuse.js search when pattern is empty
- **fixed** — Skip keyboard shortcut binding when stdin is not a TTY
###### 🚀 Features
- Improve slidev skill - by @popey in https://github.com/slidevjs/slidev/issues/2479 [(d7685)](https://github.com/slidevjs/slidev/commit/d76850db)
###### 🐞 Bug Fixes
- Make useIsSlideActive() based on useSlideContext().$nav.currentSlideNo instead of useNav().currentSlideNo - by @maxkurze1 in https://github.com/slidevjs/slidev/issues/2508 [(6672c)](https://github.com/slidevjs/slidev/commit/6672cb55)
- Fuse.js search when pattern is empty - by @kermanx in https://github.com/slidevjs/slidev/issues/2520 [(ce1f0)](https://github.com/slidevjs/slidev/commit/ce1f04b6)
- **cli**: Skip keyboard shortcut binding when stdin is not a TTY - by @sor4chi in https://github.com/slidevjs/slidev/issues/2498 [(89411)](https://github.com/slidevjs/slidev/commit/89411320)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.14.1...v52.14.2)
### v52.14.1
- Date: 2026-03-03
- Version: v52.14.1
- Original notes: https://github.com/slidevjs/slidev/releases/tag/v52.14.1
- Permalink: https://whatsnew.fyi/product/slidev/releases/v52.14.1
- **added** — Add Mermaid renderer plugin
- **fixed** — Respect monacoRunAdditionalDeps, update docs and minor updates to code-runners
- **fixed** — Add missing vscode-uri dependency to vscode extension
###### 🚀 Features
- Add Mermaid renderer plugin - by @ysknsid25 in https://github.com/slidevjs/slidev/issues/2465 [(29b3e)](https://github.com/slidevjs/slidev/commit/29b3ed0b)
###### 🐞 Bug Fixes
- Respect `monacoRunAdditionalDeps`, update docs and minor updates to code-runners - by @kermanx in https://github.com/slidevjs/slidev/issues/2473 [(7077a)](https://github.com/slidevjs/slidev/commit/7077a070)
- **vscode**: Add missing `vscode-uri` dependency - by @kermanx in https://github.com/slidevjs/slidev/issues/2474 [(34348)](https://github.com/slidevjs/slidev/commit/34348a1a)
###### [View changes on GitHub](https://github.com/slidevjs/slidev/compare/v52.14.0...v52.14.1)