Important
The new slide container styles, block
container and safe centering, produce breaking changes to existing slide layouts. (#382)
If you are using the built-in theme that contents are vertically centered (or the custom theme that depends on such themes), you can tweak the style in Markdown or the custom theme to get back the previous flex
container.
-
For
default
anduncover
theme:<style> section { display: flex; } </style>
-
For
gaia
theme'slead
class:<style> section.lead { display: flex; } </style>
- Drop support against end-of-lifed Node.js versions (v16 and earlier), and now v18+ are required (#359)
- The slide container of built-in themes became the block element and adopted safe centering (#372, #382)
- Transform emojis up to Unicode 15.1 into Twemoji images (#380)
- Upgrade Marpit to v3.1.1 (#378)
- Bump markdown-it to v14.1.0, and follow the latest spec of CommonMark 0.31.2
- Support for CSS nesting (
cssNesting
constructor option)
- Use simpler CSS minification when
minifyCSS
option is enabled (#381) - Relax HTML allowlist: Allowed a lot of HTML elements and attributes by default (#301, #383)
- Make the image background transparent in
default
theme (#196, #371, #386)
- Upgrade development Node.js to v20 LTS (#359)
- Upgrade dependent packages to the latest version (#380)
- Switch package manager from yarn to npm (#379)
- Migrate ESLint config to Flat config (#385)
- Suppress uncaught
DOMException
error while upgrading<marp-pre>
Web Component elements in Firefox (#370, #384)
- Enabled
cssContainerQuery
constructor option from Marpit framework by default (#360)
- Upgrade Marpit to v2.6.1 (#358)
- Added
cssContainerQuery
constructor option - Added
lang
global directive and constructor option
- Added
- Slightly changed the color scheme of
default
theme to match as the current GitHub style (#358) - Upgrade Node.js and dependent packages to the latest version (#358)
- Regression: Auto-scaling for KaTeX block is always enabled regardless of
@auto-scaling
theme metadata (#353, #354)
highlightjs
getter, to access the generated highlight.js instance per Marp Core instances (#350)
- Marp Core instance is no longer using the shared highlight.js instance (#350)
- Upgrade Node.js and dependent packages to the latest version (#351)
- Upgrade Marpit to v2.5.0 (#342)
- Added
paginate: skip
andpaginate: hold
- Added
- Upgrade Node.js and dependent packages to the latest version (#345)
- Assign auto-generated slug to
id
attribute of each headings (#299, #338) slug
constructor option (#338)
- An
observer()
function exported by@marp-team/marp-core/browser
, which was actually designed for internal (#330)
- Patch KaTeX style to fix visibility of some math symbol in Chromium-flavored browsers (#326)
- Upgrade Node and dependent packages (#327)
- Bundle external modules used by emoji plugin (#323)
- Upgrade dependent packages to the latest version (#325)
- Test against Node.js 18 LTS (#318)
- Change CDN for Twemoji images from default to jsDelivr (#320, #321)
- Upgrade Marpit to v2.4.2 (#318)
- Upgrade development Node.js and dependent packages (#318)
- Test against no longer supported Node.js 12 (#318)
- Flush display of
<marp-auto-scaling>
only when resized the scaling wrapper (#313)
- Apply workaround for vanished
<marp-auto-scaling>
in Chrome 105+ (#312)
- Upgrade Marpit to v2.4.0 (#310)
anchor
constructor option for slide anchor customization
- Upgrade dependent packages to the latest version (#310)
- Replace Google Fonts in
gaia
theme to Bunny Fonts (#311)
- Decrease specificity of highlight.js classes for
default
theme (#304, #307) - Apply hydration for custom elements whenever calling browser script (#305)
- An empty auto-scaling component becomes unnecessary bigger (#306)
- Marp Core v3 is available as stable release (See v3.0.0 release note about major changes) (#302)
- Upgrade Marpit to v2.3.1 (#298, #300)
- Upgrade dependent packages to the latest version (#298)
- Make compatible with a patched markdown-it-emoji (#294)
- Upgrade Marpit to v2.2.4 (#291)
- Fixed: Scoped style does not style pseudo elements
section::before
andsection::after
in advanced background
- Fixed: Scoped style does not style pseudo elements
- Upgrade marpit-svg-polyfill to v2.0.0 (#291)
- Upgrade dependent packages to the latest version (#291)
- Transform Unicode 14.0 emojis into images (#289)
- Dropped Node 10 support and now requires the latest version of Node.js v12 and later (#260, #266)
- Changed the default library for math typesetting from KaTeX to MathJax (#159, #236, #271)
- Auto-scaling for code block in
uncover
theme (#263) - Allow color customization through CSS variables in
default
theme (#209, #266)
- Web Components based new auto scaling (#96, #248, #263)
- Match color schemes for
default
theme to the latest GitHub (#266) - Adopt
::where()
selector to class variants for making styles overridable (#244, #267) - Disable autolink for URL text that has no
http(s)://
protocol (#268)
History of versions older than v3
- Make compatible with a patched markdown-it-emoji (#294)
- Upgrade Marpit to v2.2.4 (#291)
- Fixed: Scoped style does not style pseudo elements
section::before
andsection::after
in advanced background
- Fixed: Scoped style does not style pseudo elements
- Upgrade marpit-svg-polyfill to v2.0.0 (#291)
- Upgrade dependent packages to the latest version (#291)
- Transform Unicode 14.0 emojis into images (#289)
- Preserve HTML comments within html block (#282)
- Upgrade Marpit to v2.2.0 (#273)
::backdrop
pseudo-element matches to the container SVG
- Upgrade development Node to v16 LTS (#265)
- Upgrade dependent packages to the latest version (#273)
- Upgrade Marpit to v2.1.2 (#262)
- Upgrade dependent packages to the latest version (#262)
- Update
default
theme to match styles into the latest GitHub's light color scheme (#262)
- Define the default 16:9 size preset to built-in themes (#250)
- Upgrade dependent packages to the latest version (#241)
- End-of-Lifed Node.js 10 support (Still can use but no longer tested) (#241)
- Upgrade dependent packages to the latest version (#234)
- Fix to work
markdown.typographer
option (#228)
- Upgrade dependent packages to the latest version (#229)
May break appearance of existing presentation if you have a slide with custom style.
- Upgrade Marpit to v2.0.0 (#220)
- Upgrade Node LTS and dependent packages to the latest version (#222)
- Fixed a deprecation warning of highlight.js (#219)
- Upgrade Node LTS and dependent packages to the latest version (#219)
- KaTeX: Persist defined global macro between math renderings (#212)
- MathJax: Prevent leaking defined macro between Markdown renderings (#212)
- Upgrade Marpit to v1.6.4 (#210)
- Upgrade dependent packages to the latest version (#210)
- Rename
master
branch intomain
(#211)
- Support more emoji shorthands (#203)
- Use Node 14 LTS for development (#203)
- Upgrade Marpit to v1.6.3 (#203)
- Upgrade dependent packages to the latest version (#203)
observer()
with boolean argument in@marp-team/marp-core/browser
(#204)
- Upgrade Marpit SVG polyfill to v1.7.0 (#184, #185)
- Update browser script to make changeable the target root (#185)
- Upgrade dependent packages to the latest version (#186)
observer()
with boolean argument from@marp-team/marp-core/browser
has been deprecated in favor of the usage of the option object (#185)
- Setup GitHub Dependabot for marp-team packages (#172)
- Test against Node 14 (#171)
- Upgrade Marpit SVG polyfill to v1.4.0 (#170)
- Upgrade development Node LTS and dependent packages to the latest version (#170)
- Migrate from TSLint to ESLint (#169)
- Transform Unicode 13.0 emojis into SVG images (#167)
- Add MathJax v3 support to math plugin (#164, #165 by @tani, #166)
- Add sandbox directory to make easy to develop core (#157)
- Upgrade Marpit to v1.6.2 and Marpit SVG polyfill to v1.3.0 (#167)
- Upgrade dependent packages to the latest version (#167)
- Marp Core requires Node >= 10 (#143)
- Upgrade Marpit to v1.5.0 (#142)
- Update community health files (#133)
- Upgrade Node and dependent packages to the latest version (#138, #143)
- EOL Node 8 is no longer supported (#143)
- Remove deprecated
Marp.ready()
(Use@marp-team/marp-core/browser
entrypoint) (#145)
- Fix visual regression by moving script position to after closing section (#131)
- Upgrade dependent packages to the latest version (#130)
- Remove dollar prefix plugin for obsolated syntax (#127)
- GFM strikethrough syntax (#102, #124 by @matsubara0507)
- Fix type definition for browser to export default func (#120)
- Upgrade Node for development to v12 LTS (#125)
- Upgrade dependent packages to the latest version (#125)
- Inject the inline helper script for browser into rendered Markdown automatically (#115)
- Add
script
constructor option (#115)
- Upgrade Marpit to v1.4.1 (#113)
- Upgrade dependent packages to the latest version (#109, #113)
- Apply
font-display: swap
to Google Fonts in gaia theme (#114) - Define
word-wrap
css property asbreak-word
in gaia and uncover theme (#108, #119) - Reduce inconsistency about
html
option between Marp Core and markdown-it option (#111, #117)
Marp.ready()
had deprecated in favor of new entrypoint@marp-team/marp-core/browser
(#115)
- Remove unused inline web font from default theme (#116)
- Fix dollar prefix option to support
size
directive (#107)
- Optimize default theme CSS by removing
.markdown-body
selector on build time (#106)
- Update CircleCI configuration to use v2.1 (#101)
- Upgrade Marpit to v1.4.0 (#105)
- Upgrade Node and dependent packages to the latest version (#105)
- Upgrade Marpit to v1.3.0 and Marpit SVG polyfill to v1.1.1 (#97, #99)
- Upgrade Node and dependent packages to the latest version (#97)
size
global directive and@size
theme metadata to get easier way for using 4:3 deck in built-in theme (#91, #94)
- Improve bundle size of script for browser to be about one fifth (#93)
- Upgrade Marpit to v1.2.0 and Marpit SVG polyfill to v1.0.0 (#92)
- Upgrade Node and dependent packages to the latest version (#92)
- Marp Core requires Node >= 8.
- Shorthand for text color by image syntax, from Marpit v1 (#87)
- Test with Node 12 (Erbium) (#87)
- Automate GitHub release (#87)
- Remove unnecessary dependency of markdown-it (#88)
- Change auto-scaling features to require enabling by
@auto-scaling
metadata of theme CSS explicitly (#72, #81)
- Deprecated
twemojiBase
option (#80)
- Fix incorrect scaling in WebKit browser with custom zoom factor, by updating
@marp-team/marpit-svg-polyfill
to v0.3.0 (#79)
- Direction keyword for background images, from Marpit v0.8.0 (#76)
- Upgrade Node and dependent packages to the latest (#76)
- Output warning when used deprecated
twemojiBase
option (#77)
- Use markdown-it's
html
option instead of Marp Core option to sanitize HTML (#74) - Upgrade dependent packages to the latest (#75)
- Remove dependency to PostCSS (#71)
- Upgrade dependent packages to the latest (#73)
- Allow using twemoji via PNG by added
emoji.twemoji.ext
option (#67) - Support custom sanitizer for HTML attributes within allowlist (#68)
- Add usage of multiple classes in Gaia theme (#69)
- Fix over-sanitized attributes with HTML allowlist (#68)
- Normalize known self-closing HTML elements with
xhtmlOut: true
(#66) - Upgrade Node and dependent packages to the latest (#70)
emoji.twemojiBase
option has soft-deprecated in favor ofemoji.twemoji.base
(#67)
- Upgrade dependent packages to latest version, includes Marpit v0.7.0 (#63)
- Support an enhanced Marpit enable state (#64)
- Upgrade dependent packages to latest version, includes Marpit v0.6.1 (#62)
- Colored
<strong>
element in headings for highlighting (#59) - Support
env
option andhtmlAsArray
env inrender()
, from Marpit v0.6.0 (#61)
- Upgrade dependent packages to latest version (#61)
- Fix incorrect scaling in Marpit SVG polyfill (#58)
- Apply Marpit SVG polyfill for WebKit in
Marp.ready()
(#56)
- Update Marpit v0.5.0 (#56)
- Upgrade Node and dependent packages to latest version (#57)
- Upgrade dependent packages to latest version, includes Marpit v0.4.1 (#55)
- Add
use
method from Marpit v0.4.0 (#52)
- Upgrade Node and dependent packages to latest version (#52)
- Run
yarn audit
while running CI / publish processes (#52)
- Upgrade dependent packages to prevent the malicious attack in dependencies (#50)
- Support the scoped inline style through
<style scoped>
from Marpit v0.3.0 (#49)
- Fix double-bundling KaTeX by porting math parse logic from unmaintained markdown-it-katex (#47, #48)
- Upgrade dependent packages to latest version (#49)
- No longer work with Node v6.14.2 and v6.14.3 (#45)
- Ready to allow contributing by adding guideline for marp-core (#46)
- Force reflow on updated fitting elements in Edge (#43)
- Support Node 10.x and use its LTS for development (#44)
- Upgrade dependent packages to latest version (#45)
- Support collecting HTML comments for presenter notes, from Marpit v0.2.0 (#39)
- Provide CJS version bundle for browser (#41)
- Add
observe
argument into functions for browser to allow controlling observation frames (#41)
- Add yarn resolutions to flatten katex to prevent double-bundling (#40)
- Prevent reflow by calling
setAttribute
in browser context only if value is updated (#41)
- Fix fitting header regression with broken comment traversing (#37)
- Add CI test against Node v6 Boron Maintenance LTS (#35)
- Update code style to use
for-of
loop instead of iterate functions if possible (#34) - Upgrade dependent packages to latest, includes marp-team/marpit v0.1.3 (#36)
- Upgrade marp-team/marpit v0.1.2 (#33)
- Upgrade dependent packages to latest, includes pinned ts-jest v23.10.0 (#33)
- Upgrade dependent packages to latest, includes marp-team/marpit v0.1.1 (#32)
- Support auto scaling for math block (#30)
- Upgrade Node LTS and dependent packages (#31)
- Fix over-sanitized header and footer by updating marp-team/marpit v0.0.15 (#29)
- Support HTML allowlisting (#26)
- Apply color directive to heading of default theme (#28)
- Use rollup-plugin-terser instead of rollup-plugin-uglify (#27)
- Upgrade dependencies to latest (#24)
- Add a separated bundle of
Marp.ready()
for browser (#21)
- Fix fitting header's size on printing (#22)
- Reduce bundle size by stopping to resolve dependencies (#15)
- Upgrade dependencies to latest (#16)
- Initial release.