Update all dependencies (major)
This MR contains the following updates:
Release Notes
11ty/eleventy
v2.0.1
Eleventy v2.0.1 is now available! You can try it out in your project now:
npm install @​11ty/eleventy@latest
- Read more about project versus global installation.
New to Eleventy?
Eleventy is a flexible and production-ready site generator known for its zero-client JavaScript footprint, speedy sites, speedy builds, and full control over the output.
- Build a blog from scratch in 6 minutes with Eleventy
- Watch The State of Eleventy in Two Minutes
- Read more about Eleventy’s project goals.
Features and Fixes
- Fixed:
this.eleventy
in JavaScript template functions #2790 - Fixed:
lodash
security audits #2877 - Fixed: pagination targets with object bracket notation #2851
- Fixed:
11ty.js
templates were too aggressively cached on watch/serve #2839 #2838 - Fixed: Handlebars partials were too aggressively cached on watch/serve #2799
- Fixed: Configuration reload fixes #2864 #2869 #2867
- New: Serverless pagination now works with Arrays and Objects #2853 #2544 Learn more: https://www.11ty.dev/docs/plugins/serverless/#dynamic-slugs-to-subset-your-pagination
- Typo fixes by @deining in #2845
Housekeeping
- Full milestone/issue list: https://github.com/11ty/eleventy/milestone/43?closed=1
- Full changelog: https://github.com/11ty/eleventy/compare/v2.0.0...v2.0.1
Thank You Notes
This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×684 authors on our web site!), wrote a blog post about Eleventy, contributed code, wrote a plugins, helped with documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on social media
- A huge thank you to Netlify, especially: @biilmann, Chris Bach, Lauren Sell (alum), and Claire Knight, without whom this release would not have been possible.
-
🏆 A special thanks to @pdehaan for their tireless contributions on the Eleventy Issue tracker. - Yet more thanks to the all star Discord Moderators and Meetup Coordinators @BenDMyers, @clottman, @dleatherman, @darthmall, @nachtfunke, @siakaramalegos and @5t3ph.
- All of our supporters on Open Collective
❤ ️ - Contribute on Open Collective
- How else can you contribute to Eleventy?
Open Collective Supporters
- Gold Sponsors: Sanity.io, Nordhealth, CloudCannon, Transloadit
- Silver Sponsors: Unabridged Software, PQINA, Bejamas, Nathan Smith, Monarch Air Group, Getform.io, Mercury Jets, OCEG
- Backers: Tyler Gaw, Ariel Salminen, Peter deHaan, Melanie Sumner, Ben Nash, Alejandro Rodríguez, Mat Marquis, Philip Borenstein, Jérôme Coupé, Nicolas Hoizey, Mike Aparicio, Ben Myers, Katie Sylor-Miller, Mark Buskbjerg, mortendk, Aaron Hans, Lauris Consulting, John Meyerhofer, Todd Libby, shawn j sandy, Luke Bonaccorsi, Higby, Jenn Schiffer, Dimitrios Grammatikogiannis, Devin Clark, Eric Bailey, Manuel Matuzovic, Tim Giles, Kyosuke Nakamura, Rob Sterlini, Horacio Gonzalez, Hans Gerwitz, Makoto Kawasaki, Josh Crain, Richard Hemmer, Nick Nisi, John SJ Anderson, Ryan Swaney, Alistair Shepherd, Ivo Herrmann, Flaki, Angelique Weger, John Hall, Scott McCracken, James Steinbach, Miriam Suzanne, Bentley Davis, Ara Abcarians, vince falconi, Martin Schneider, Stephanie Eckles, Frontend Weekly Tokyo, Dorin Vancea, Chris Burnell, Ximenav Vf., Rich Holman, Kasper Storgaard, Kevin Healy, Greg Gibson, Michelle Barker, Alesandro Ortiz, David A. Herron, Paul Robert Lloyd, Andrea Vaghi, Bryan Robinson, Ashur Cabrera, Raymond Camden, John Meguerian, Joe Lamyman, Dan Ryan, Sam, Brett Nelson, Paul Welsh, Ingo Steinke, Noel Forte, Melanie Richards, Marco Zehe, Wes Ruvalcaba, Luc Poupard, Entle Web Solutions, Ken Hawkins, Fershad Irani, Nikita Dubko, Aaron Gustafson, Chris, Christian Miles, Benjamin Geese, Marcus Relacion, Netin nopeustesti, Raphael Höser, Cthos, Sia Karamalegos, Jon Kuperman, Saneef Ansari, Michel van der Kroef, Flemming Meyer, Colin Fahrion, Dan Burzo, Dan Ott, Mobilemall.pk, Cheap VPS, David Darnes, Jon Roobottom, Dana Byerly, Oisín Quinn, Renkaatsopivasti, Windesol Sähkön Kilpailutus, Luke Mitchell, SignpostMarv, THE PADDING, Bob Monsour, Richmond Insulation, Patrick Byrne, zapscribbles, Frank Reding, quinnanya, Cory Birdsong, Aram ZS, Andy Stevenson, Robin Rendle, HelppoHinta.fi, Tanner Dolby, jpoehnelt, xdesro, Alex Zappa, Richmond Concrete, Alexander Wunschik, Tom, CelineDesign, Nic Chan, Duc Lam, Stephen Bell, Robert Haselbacher, Lene, Brett DeWoody, alistairtweedie, Meta Tier List, Iva Tech, Daniel Saunders, Josh Vickerson, Dan Urbanowicz, dan leatherman, Jens Grochtdreis, CBD Review, Eric Gallager, Softermii, Eric Carlisle, Claus Conrad, Anna E. Cook, David Luhr, Matt Obee, Kiekkotorni - Nikotiinipussit
v2.0.0
Eleventy v2.0.0 is now available! You can try it out now:
### Local project
npm install @​11ty/eleventy@latest
### Global install
npm install @​11ty/eleventy@latest -g
- Read more about local versus global installation.
- Watch a short video about 2.0 on YouTube.
New to Eleventy?
Eleventy is a flexible and production-ready site generator known for its zero-client JavaScript footprint, speedy sites, speedy builds, and full control over the output. Watch The State of Eleventy in Two Minutes or read more about Eleventy’s project goals.
The Big Features
Smaller, More Secure
-
✅ Dependencies decreased by 32.1%: 211 modules (311 in v1.0.2) -
✅ node_modules
file weight decreased by 77.8%: 34.3 MB (155 MB in v1.0.2) -
✅ 30.5% fasternpm install
time
Faster Builds
- Improved build performance (tested on a sample 500 page site against v1.0.2) using:
- Liquid:
✅ 18.18% faster - Nunjucks:
✅ 17.74% faster - Markdown (with Liquid):
✅ 17.95% faster - JavaScript (11ty.js):
✅ 8.33% faster
- Liquid:
-
--incremental
for incremental builds #108- Smarter incremental builds with support for layout dependencies, registered dependencies on custom templates, dependencies in
pagination
data oreleventyImport
#975
- Smarter incremental builds with support for layout dependencies, registered dependencies on custom templates, dependencies in
-
--ignore-initial
command line option to skip the first build (best paired with--incremental
) - Use emulated passthrough copy to serve passthrough files directly without triggering a build (will still work with live reload) #2456
Plugins
- Support for WebC, the new single file format for web components
- Eleventy Edge will render Eleventy templates in an Edge Function for dynamic content (bundled with Eleventy)
- Eleventy Dev Server replaces Browsersync, adds support for DOM-diffing live reloads. #1305 (bundled with Eleventy)
- Render Plugin will render any template syntax inside other files (bundled with Eleventy)
- Internationalization (i18n) Plugin makes it easy to create localized sites (bundled with Eleventy)
-
HTML
<base>
Plugin makes it easy to deploy your site to any folder path without changing any content (works great with the path prefix feature) (bundled with Eleventy) - Support for the Vite plugin
And more…
- Support for aliasing to an existing template language #2248
- This unlocks TypeScript or JSX in Eleventy when you use
esbuild-register
and alias11ty.ts
or11ty.tsx
to11ty.js
.
- This unlocks TypeScript or JSX in Eleventy when you use
-
Event arguments unlock new plugin abilities:
dir
(input/output/includes/data/layouts locations),outputMode
(where the templates are going:fs
,json
,ndjson
),runMode
(build
,watch
, orserve
), orresults
for the processed Eleventy output. - Memory usage improvements to Pagination
Breaking Changes
eleventy-upgrade-helper
plugin, which runs a suite of tests to see whether or not you need to worry about these breaking changes in your project: https://github.com/11ty/eleventy-upgrade-help
- Bump minimum Node version to Node 14+ #2336
- Disable indented code blocks in Markdown by default #2438
-
Both
.git
and nestednode_modules
folders are ignored by default (previously we ignorednode_modules/**
, now**/node_modules/**
) #2436 -
Dates will now be stripped from the parent directory for
page.fileSlug
when the file name isindex.*
. e.g.YYYY-MM-DD-myslug/index.md
has apage.fileSlug
ofmyslug
when previously it wasYYYY-MM-DD-myslug
#1947 #2111 - Dots in global data file names should be preserved in key name for data cascade #1242 #1912
- Removes deprecated in v1.0 (and undocumented)
renderData
feature (use Computed Data instead) #2356 - Removes pre-processing global JSON data files with a template language #2728
- Removes
--passthroughall
command line flag #2682 - Major dependency bumps:
-
liquidjs
from v9 to v10 Release notes #2678 -
luxon
from v2 to v3 Release notes -
markdown-it
from v12 to v13 Release notes
-
The Small Features
- Adds support for configuration default file names
eleventy.config.js
andeleventy.config.cjs
in addition to.eleventy.js
#1029 -
addShortcode
is now async-friendly #2726 -
addFilter
is now async-friendly #2536 (also adds anaddAsyncFilter
API method) - File watching:
- Eleventy Dev Server includes a
watch
option to trigger live reloads on file changes outside of your Eleventy build. Works great when you’re using a bundler in parallel! - Decoupled ignore APIs for template processing (
eleventyConfig.ignores
) and file watching (eleventyConfig.watchIgnores
) #893
- Eleventy Dev Server includes a
- Access advanced
recursive-copy
options in passthrough file copy #1686- Unlocks passthrough copy with symlinks #530
-
log
filter supports chaining #2467 - Adds new
git Created
date option #2468 - Adds options for
read
andencoding
to custom data formats- This unlocks using binary files (like images) to populate the Data Cascade
Even Smaller Features
- Adds
eleventy.env.runMode
to global data. #2770 -
setDataFileSuffixes
API method to customize Template and Directory data file suffixes (or opt-out of the Template and Directory Data Files feature) #2681 -
Serverless option
singleTemplateScope: false
simplifies using collections in serverless mode. #2736 - A variety of bug fixes for
--serve
issues that required server restarts. - Data Consistency:
-
this.page
andthis.eleventy
are now available on Shortcodes,🆕 Filters,🆕 Linters, and🆕 Transforms page
andcontent
on Collection entries
-
- Adds
getCollectionItemIndex
universal filter #2676 - Throw error on circular layout dependencies #2076
- Plugins can now reference
eleventyConfig.pathPrefix
#2526 -
generatePageOnEmptyData
to generate an empty results page with an empty paginated data set #1698 #756 #731 #2208 - Creating an empty JSON data file no longer throws an error #2299
Housekeeping
- Full issue list: https://github.com/11ty/eleventy/milestone/38?closed=1
- Full changelog: https://github.com/11ty/eleventy/compare/v1.0.2...v2.0.0
Thank You Notes
This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×684 authors on our web site!), wrote a blog post about Eleventy, contributed code, wrote a plugins, helped with documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on social media
- A huge thank you to Netlify, especially: @biilmann, Chris Bach, Lauren Sell (alum), and Claire Knight, without whom this release would not have been possible.
-
🏆 A special thanks to @pdehaan for their tireless contributions on the Eleventy Issue tracker. - Yet more thanks to the all star Discord Moderators and Meetup Coordinators @BenDMyers, @clottman, @dleatherman, @darthmall, @nachtfunke, @siakaramalegos and @5t3ph.
- All of our supporters on Open Collective
❤ ️ - Contribute on Open Collective
- How else can you contribute to Eleventy?
Merge Requests From
@AleksandrHovhannisyan
Read more from the Community
Open Collective Supporters
- Gold Sponsors: Sanity.io, Nordhealth, CloudCannon, Transloadit
- Silver Sponsors: Unabridged Software, PQINA, Bejamas, Nathan Smith, Monarch Air Group, Getform.io, Mercury Jets, and OCEG
- Backers: Tyler Gaw, Ariel Salminen, Peter deHaan, Melanie Sumner, Ben Nash, Alejandro Rodríguez, Mat Marquis, Philip Borenstein, Jérôme Coupé, Nicolas Hoizey, Mike Aparicio, Ben Myers, Katie Sylor-Miller, Mark Buskbjerg, mortendk, Aaron Hans, Lauris Consulting, John Meyerhofer, Todd Libby, Luke Bonaccorsi, shawn j sandy, Jenn Schiffer, Dimitrios Grammatikogiannis, Devin Clark, Eric Bailey, Manuel Matuzovic, Higby, Tim Giles, Kyosuke Nakamura, Horacio Gonzalez, Hans Gerwitz, Makoto Kawasaki, Rob Sterlini, Josh Crain, Nick Nisi, John SJ Anderson, Ryan Swaney, Richard Hemmer, Alistair Shepherd, Flaki, Angelique Weger, John Hall, Scott McCracken, James Steinbach, Miriam Suzanne, Ivo Herrmann, Bentley Davis, vince falconi, Martin Schneider, Stephanie Eckles, Frontend Weekly Tokyo, Chris Burnell, Ximenav Vf., Rich Holman, Kasper Storgaard, Kevin Healy, Dorin Vancea, Greg Gibson, Hidde, Michelle Barker, Alesandro Ortiz, David A. Herron, Paul Robert Lloyd, Andrea Vaghi, Bryan Robinson, Ashur Cabrera, Raymond Camden, John Meguerian, Joe Lamyman, Ara Abcarians, Dan Ryan, Sam, Brett Nelson, Paul Welsh, Ingo Steinke, Melanie Richards, Noel Forte, Marco Zehe, Wes Ruvalcaba, Luc Poupard, Entle Web Solutions, Ken Hawkins, Fershad Irani, Nikita Dubko, Aaron Gustafson, Chris, Christian Miles, Benjamin Geese, Marcus Relacion, Netin nopeustesti, Sia Karamalegos, Raphael Höser, Cthos, Saneef Ansari, Flemming Meyer, Colin Fahrion, Dan Burzo, Jon Kuperman, Michel van der Kroef, Dan Ott, Mobilemall.pk, Cheap VPS, David Darnes, Jon Roobottom, Dana Byerly, Oisín Quinn, Renkaatsopivasti, Windesol Sähkön Kilpailutus, Luke Mitchell, SignpostMarv, THE PADDING, Bob Monsour, Patrick Byrne, zapscribbles, quinnanya, Richmond Insulation, Cory Birdsong, Aram ZS, Frank Reding, Andy Stevenson, HelppoHinta.fi, Robin Rendle, Tanner Dolby, jpoehnelt, Richmond Concrete, Andrew Weisbeck, CelineDesign, Nic Chan, Duc Lam, Alex Zappa, Stephen Bell, xdesro, Alexander Wunschik, alistairtweedie, Tom, Robert Haselbacher, Lene, Brett DeWoody, Meta Tier List, Iva Tech, kylepfeeley, Daniel Saunders, Dan Urbanowicz, dan leatherman, Josh Vickerson, Viewality Media, Aviator Game, Softermii, Eric Carlisle, Claus Conrad, Eric Gallager, Matt Obee, CBD Review
v1.0.2
🎈 🐀 ⚡ ️🕚
Eleventy v1.0.2
This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×595 authors on our web site!), wrote a blog post about Eleventy, contributed code to core or plugins, documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on Twitter
-
🏆 A super special thanks to Peter DeHaan for their tireless contributions on the Eleventy Issue tracker. - All of our supporters on Open Collective
❤ ️- Gold Sponsors: Sanity.io, Nordhealth, CloudCannon and Silver Sponsors: Set Creative Studio, Unabridged Software, PQINA, The Coders Guild, Bejamas, Nathan Smith, Flatirons Development, Monarch Air Group, Ben Nash, getform.io, OCEG, Mercury Jets
- A full list of Backers can be found below!
- Contribute on Open Collective
- How else can you contribute to Eleventy?
Install or Upgrade
- Install to your local project:
npm install @​11ty/eleventy
- Already installed in your local project? Upgrade your version:
npm update @​11ty/eleventy
- Read more about local project versus global installation
Features
- Fixes for liquid argument parsing on shortcodes #2154 #2348 #2367 #2369
- Help from @epelc @lexoyo @denisenadal @mahnunchik @harttle
Milestone
All bug fix issues can be perused at the GitHub milestone: https://github.com/11ty/eleventy/milestone/39?closed=1
Major Version Dependency Upgrades
There are no major version dependency updates between 1.0.2 and 1.0.1.
THANK YOU NOTES
Gold Sponsors: Sanity.io, Nordhealth, CloudCannon
Silver Sponsors: Set Creative Studio, Unabridged Software, PQINA, The Coders Guild, Bejamas, Nathan Smith, Flatirons Development, Monarch Air Group, Ben Nash, getform.io, OCEG, Mercury Jets
OpenCollective Monthly Backers: Viljami Salminen, Tyler Gaw, Peter deHaan, Melanie Sumner, Alejandro Rodríguez, Mat Marquis, Philip Borenstein, Jérôme Coupé, Max Böck, Bryce Wray, Kristof Michiels, Nicolas Hoizey, Mike Aparicio, Ben Myers, Katie Sylor-Miller, Mark Buskbjerg, mortendk, Aaron Hans, Lauris Consulting, John Meyerhofer, Todd Libby, Luke Bonaccorsi, Dimitrios Grammatikogiannis, Wellness Researched, Devin Clark, Eric Bailey, Dave Rupert, Manuel Matuzovic, Phil Hawksworth, shawn j sandy, Jenn Schiffer, Tianyu Ge, Kyosuke Nakamura, Hans Gerwitz, Makoto Kawasaki, Horacio Gonzalez, Matthew Tole, Ivan Buncic, Rob Sterlini, Mark Boulton, Søren Birkemeyer, Richard Hemmer, Nick Nisi, Andrew Harvard, John SJ Anderson, Ryan Swaney, Tim Giles, Alistair Shepherd, Ivo Herrmann, Flaki, John Hall, Scott McCracken, James Steinbach, Miriam Suzanne, Bentley Davis, Angelique Weger, vince falconi, Martin Schneider, Stephanie Eckles, Frontend Weekly Tokyo, Ferpection, Josh Crain, Chris Burnell, Ximenav Vf., Juan Miguel, Rich Holman, Kasper Storgaard, Kevin Healy, Greg Gibson, Hidde, Michelle Barker, Alesandro Ortiz, David A. Herron, Paul Robert Lloyd, Andrea Vaghi, Bryan Robinson, Ashur Cabrera, Raymond Camden, John Meguerian, Joe Lamyman, Jeffrey A Morgan, Brett Nelson, Paul Welsh, Ingo Steinke, Melanie Richards, Dorin Vancea, Marco Zehe, Wes Ruvalcaba, Luc Poupard, Entle Web Solutions, Ken Hawkins, Ara Abcarians, Fershad Irani, Nikita Dubko, Aaron Gustafson, Chris, Sam, Benjamin Geese, Marcus Relacion, Netin nopeustesti, Bobby Ray, Christian Miles, Cthos, Sia Karamalegos, Daniel Ryan, Raphael Höser, Noel Forte, Saneef Ansari, Flemming Meyer, Colin Fahrion, Dan Burzo, Jon Kuperman, Dan Ott, Mobilemall.pk, Cheap VPS, David Darnes, Jon Roobottom, Dana Byerly, Oisín Quinn, Renkaatsopivasti, Windesol Sähkön Kilpailutus, Luke Mitchell, SignpostMarv, THE PADDING, Bob Monsour, Patrick Byrne, zapscribbles, Frank Reding, quinnanya, Richmond Insulation, Cory Birdsong, Aram ZS, Michel van der Kroef, Vinicius Depizzol, Andy Stevenson, HelppoHinta.fi, Tanner Dolby, jpoehnelt, Ingo Sobolewski, Andrew Weisbeck, Richmond Concrete, Tom, CelineDesign, Nic Chan, Duc Lam, Alex Zappa, Stephen Bell, Brett DeWoody, alistairtweedie, Meta Tier List, Robert Haselbacher, Lene
v1.0.1
🎈 🐀 ⚡ ️🕚
Eleventy v1.0.1
This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×524 authors on our web site!), wrote a blog post about Eleventy, contributed code to core or plugins, documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on Twitter
-
🏆 A super special thanks to Peter DeHaan for their tireless contributions on the Eleventy Issue tracker. - All of our supporters on Open Collective
❤ ️- Gold Sponsors: Sanity.io, Nordhealth and Silver Sponsors: Set Creative Studio, Unabridged Software, PQINA, The Coders Guild, Bejamas, Nathan Smith, Flatirons Development, Monarch Air Group
- A full list of Backers can be found below!
- Contribute on Open Collective
- How else can you contribute to Eleventy?
Install or Upgrade
- Install to your local project:
npm install @​11ty/eleventy
- Already installed in your local project? Upgrade your version:
npm update @​11ty/eleventy
- Read more about local project versus global installation
Features
- Performance improvement to
lodash/isPlainObject
resulted in 28% build time improvement to web.dev (and likely made your project speedier too!) #2214 #2219 - Adds new
date: git Last Modified
feature to fix issues with Content Dates in production environments #142 - New default global data:
eleventy.version
(holds the current version e.g.1.0.1
) andeleventy.generator
(for use in<meta name="generator" content="{{ eleventy.generator }}">
) #1217 #2293 - Extra argument to the pagination
before
callback with current template’s data. #1209 - Improved error messaging with Transforms and Plugins #646
- jsdoc Comments for ConsoleLogger class #1914
Milestone
All bug fix issues can be perused at the GitHub milestone: https://github.com/11ty/eleventy/milestone/37?closed=1
Some highlights:
- #2221 Changes default serverless generated file content to fix bug with encoded path variables in Eleventy Serverless.
-
#2267 Regression with
addExtension
API andreturn;
in thecompile
function to skip/ignore a template. -
#2217 Fix for
this.defaultRenderer is not a function
error when using anasync function
withaddExtension
’scompile
-
#1313 When your config file throws an error, Eleventy would sometimes still process data files when using
--version
and--help
. - #2298 Bug with front matter in layouts
- #2278 Obscure bug with passthrough copy and --incremental mistakenly creating a file instead an output folder
-
#2145 Fix to allow setting a layout via
addGlobalData
configuration API -
#2179 Fix
addGlobalData
configuration API to execute once per build
Major Version Dependency Upgrades
There are no major version dependency updates between 1.0.1 and 1.0.0.
THANK YOU NOTES
First-time GitHub contributions from @vseventer
Gold Sponsors: Sanity.io, Nordhealth
Silver Sponsors: Set Creative Studio, Unabridged Software, PQINA, The Coders Guild, Bejamas, Nathan Smith, Flatirons Development, Monarch Air Group
OpenCollective Monthly Backers: Viljami Salminen, Tyler Gaw, Peter deHaan, Melanie Sumner, Alejandro Rodríguez, Mat Marquis, Philip Borenstein, Jérôme Coupé, Max Böck, Bryce Wray, Kristof Michiels, Yuhei Yasuda, Nicolas Hoizey, Mike Aparicio, Ben Myers, Katie Sylor-Miller, Todd Libby, Mark Buskbjerg, mortendk, Aaron Hans, Lauris Consulting, John Meyerhofer, Luke Bonaccorsi, Dimitrios Grammatikogiannis, Keenan Payne, Devin Clark, Eric Bailey, Dave Rupert, Manuel Matuzovic, Phil Hawksworth, Wellness Researched, Tianyu Ge, Kyosuke Nakamura, Hans Gerwitz, Makoto Kawasaki, shawn j sandy, Horacio Gonzalez, Matthew Tole, Ivan Buncic, Ned Zimmerman, Jenn Schiffer, Mark Boulton, Søren Birkemeyer, Richard Hemmer, Nick Nisi, Andrew Harvard, Takuya Fukuju, John SJ Anderson, Ryan Swaney, Alistair Shepherd, Ivo Herrmann, Flaki, Rob Sterlini, Kyle Mitofsky, John Hall, Scott McCracken, James Steinbach, Miriam Suzanne, Bentley Davis, Evan Harrison, Higby, vince falconi, Martin Schneider, Stephanie Eckles, Frontend Weekly Tokyo, Angelique Weger, Ross Kinney, Tim Giles, Matt DeCamp, Chris Burnell, Ximenav Vf., Juan Miguel, Kasper Storgaard, Kevin Healy, Greg Gibson, hiddedevries.nl, Jeremy Caldwell, Michelle Barker, Alesandro Ortiz, David A. Herron, Paul Robert Lloyd, Andrea Vaghi, Bryan Robinson, Ashur Cabrera, Raymond Camden, John Meguerian, Joe Lamyman, Jeffrey A Morgan, Brett Nelson, Paul Welsh, Ingo Steinke, Josh Crain, Melanie Richards, Rich Holman, Lewis Nyman, Dorin Vancea, Marco Zehe, Wes Ruvalcaba, Luc Poupard, Ferpection, Entle Web Solutions, Ken Hawkins, Sami Singh, Fershad Irani, Nikita Dubko, Aaron Gustafson, Chris, Benjamin Geese, Marcus Relacion, Netin nopeustesti, Bobby Ray, Cthos, Sia Karamalegos, Christian Miles, Raphael Höser, Saneef Ansari, Flemming Meyer, Colin Fahrion, Dan Burzo, Gaston Rampersad, Jon Kuperman, Dan Ott, Mobilemall.pk, Cheap VPS, David Darnes, Sam, Jon Roobottom, Dana Byerly, Oisín Quinn, Renkaatsopivasti, Windesol Sähkön Kilpailutus, Luke Mitchell, SignpostMarv, THE PADDING, Bob Monsour, Marc FILLEUL, Patrick Byrne, Ara Abcarians, Daniel Ryan, zapscribbles, Frank Reding, quinnanya, Central Va Insulation, Cory Birdsong, Aram ZS, Michel van der Kroef, Vinicius Depizzol, Andy Stevenson, HelppoHinta.fi, jpoehnelt, Jina Anne, Ingo Sobolewski
asciidoctor/asciidoctor.js
v3.0.2
Summary
This release is based on Asciidoctor 2.0.20 and Opal 1.7.3.
Release meta
Released on: 2023-06-24 Released by: @Mogztter Published by: GitHub Actions
Logs: full diff
Changelog
Breaking Changes
-
Remove
Asciidoctor
namespace in TypeScript:import asciidoctor, { Document } from '@​asciidoctor/core' const Asciidoctor = asciidoctor() Asciidoctor.convert('Hello _world_')
-
Publish
@asciidoctor/core
as an ES6 module
Bug Fixes
- Strip alternate BOM that uses char code 65279 when input passes through a Buffer (#1344)
- Map
Document.append
(#1681) - Bridge converter pass as option (#1666)
- Add
getSectionNumeral()
function by @benjaminleonard (#1659) - Fix
getDocinfo
andfindBy
type definition (#1621) - Bridge common Ruby object methods (#1491)
-
parseContent
now callstoHash
on attrs (#1519)
Improvements
-
Map
this.super.<method>
to call the parent function (#1682) -
Map
AbstractBlock.getContentModel
andAbstractBlock.setContentModel
(#1680) -
Map
Document.getSyntaxHighlighter
(#1667) -
Map
CompositeConverter#convert
(#1649) -
Simplify table option checks by @mojavelinux (#1656)
-
Support Stream.Writable as
to_file
(#1624)const data = [] const writableStream = new Writable({ write (chunk, encoding, callback) { data.push(chunk.toString()) callback() } }) const doc = Asciidoctor.convert(text, { to_file: writableStream, safe: safe }) const html = data.join('')
Infrastructure
- Upgrade GraalVM to 20.1.0 (#1035)
Documentation
- Improve contributing guide by @cunka (#1676)
- Remove call to
convert()
on return value of process method for inline macro extension by @mojavelinux (#1653)
New Contributors
- @djencks made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/978
- @bitPogo made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/1083
- @cm-wada-yusuke made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/1176
- @abelsromero made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/1290
- @benjaminleonard made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/1659
- @cunka made their first contribution in https://github.com/asciidoctor/asciidoctor.js/pull/1676
v3.0.1
v3.0.0
codemirror/commands
v6.3.2
Bug fixes
Fix a regression that caused deleteCharBackward
to sometimes delete a large chunk of text.
v6.3.1
Bug fixes
When undoing, store the selection after the undone change with the redo event, so that redoing restores it.
deleteCharBackward
will no longer delete variant selector characters as separate characters.
v6.3.0
Bug fixes
Make it possible for selectParentSyntax
to jump out of or into a syntax tree overlay.
Make Cmd-Backspace and Cmd-Delete on macOS delete to the next line wrap point, not the start/end of the line.
New features
The new deleteLineBoundaryForward
and deleteLineBoundaryBackward
commands delete to the start/end of the line or the next line wrapping point.
v6.2.5
Bug fixes
Make insertNewlineAndIndent
properly count indentation for tabs when copying over the previous line's indentation.
The various sub-word motion commands will now use Intl.Segmenter
, when available, to stop at CJK language word boundaries.
Fix a bug in insertNewlineAndIndent
that would delete text between brackets if it had no corresponding AST node.
v6.2.4
Bug fixes
The by-subword motion commands now properly treat dashes, underscores, and similar as subword separators.
v6.2.3
Bug fixes
Block commenting the selection no longer includes indentation on the first line.
v6.2.2
Bug fixes
Fix a bug where line commenting got confused when commenting a range that crossed language boundaries.
v6.2.1
Bug fixes
Keep cursor position stable in cursorPageUp
/cursorPageDown
when there are panels or other scroll margins active.
Make sure toggleComment
doesn't get thrown off by local language nesting, by fetching the language data for the start of the selection line.
v6.2.0
New features
The new joinToEvent
history configuration option allows you to provide custom logic that determines whether a new transaction is added to an existing history event.
v6.1.3
Bug fixes
Preserve selection bidi level when extending the selection, to prevent shift-selection from getting stuck in some kinds of bidirectional text.
v6.1.2
Bug fixes
Fix a bug that caused deletion commands on non-empty ranges to incorrectly return false and do nothing, causing the editor to fall back to native behavior.
v6.1.1
Bug fixes
Make sure the selection endpoints are moved out of atomic ranges when applying a deletion command to a non-empty selection.
v6.1.0
Bug fixes
Prevent native behavior on Ctrl/Cmd-ArrowLeft/ArrowRight bindings, so that browsers with odd bidi behavior won't do the wrong thing at start/end of line.
Cmd-ArrowLeft/Right on macOS now moves the cursor in the direction of the arrow even in right-to-left content.
New features
The new cursorLineBoundaryLeft
/Right
and selectLineBoundaryLeft
/Right
commands allow directional motion to line boundaries.
v6.0.1
Bug fixes
Announce to the screen reader when the selection is deleted.
Also bind Ctrl-Shift-z to redo on Linux.
v6.0.0
Bug fixes
Fix a bug where by-page selection commands sometimes moved one line too far.
v0.20.0
Breaking changes
There is no longer a separate commentKeymap
. Those bindings are now part of defaultKeymap
.
Bug fixes
Make cursorPageUp
and cursorPageDown
move by window height when the editor is higher than the window.
Make sure the default behavior of Home/End is prevented, since it could produce unexpected results on macOS.
New features
The exports from @codemirror/comment are now available in this package.
The exports from the @codemirror/history package are now available from this package.
codemirror/state
v6.3.2
Bug fixes
Make sure transactions cannot add multiple selections when allowMultipleSelections
is false.
Fix a bug that caused Text.iterLines
to not return empty lines at the end of the iterated ranges.
v6.3.1
Bug fixes
Give the tag property on FacetReader
the type of the output type parameter to force TypeScript to infer the proper type when converting from Facet
to FacetReader
.
v6.3.0
New features
The new FacetReader
type provides a way to export a read-only handle to a Facet
.
v6.2.1
Bug fixes
Fix an issue that could cause RangeSet.compare
to miss changes in the set of active ranges around a point range.
v6.2.0
New features
EditorSelection.range
now accepts an optional 4th argument to specify the bidi level of the range's head position.
v6.1.4
Bug fixes
Fix a bug that caused the openStart
value passed to span iterators to be incorrect around widgets in some circumstances.
v6.1.3
Bug fixes
Avoid unnecessary calls to computed facet getters when a state is reconfigured but no dependencies of the computed facet change.
Fix an infinite loop in RangeSet.eq
when the to
parameter isn't given.
v6.1.2
Bug fixes
Fix an issue where, when multiple transaction extenders took effect, only the highest-precedence one was actually included in the transaction.
v6.1.1
Bug fixes
Fix a bug in range set span iteration that would cause decorations to be inappropriately split in some situations.
v6.1.0
Bug fixes
Refine change mapping to preserve insertions made by concurrent changes.
New features
The enables
option to Facet.define
may now take a function, which will be called with the facet value to create the extensions.
v6.0.1
Bug fixes
Fix a problem that caused effects' map
methods to be called with an incorrect change set when filtering changes.
v6.0.0
Breaking changes
Update dependencies to 6.0.0
v0.20.1
New features
EditorView.phrase
now accepts additional arguments, which it will interpolate into the phrase in the place of $
markers.
v0.20.0
Breaking changes
The deprecated precedence names fallback
, extend
, and override
were removed from the library.
Bug fixes
Fix a bug where, if an extension value occurs multiple times, its lowest, rather than highest precedence is used.
Fix an issue where facets with computed inputs would unneccesarily have their outputs recreated on state reconfiguration.
Fix a bug in the order in which new values for state fields and facets were computed, which could cause dynamic facets to hold the wrong value in some situations.
New features
The exports from @codemirror/rangeset now live in this package.
The exports from @codemirror/text now live in this package.
v0.19.9
Bug fixes
Mapping a non-empty selection range now always puts any newly inserted text on the sides of the range outside of the mapped version.
v0.19.8
Bug fixes
Fix a bug where facet values with computed inputs could incorrectly retain their old value on reconfiguration.
v0.19.7
Bug fixes
Avoid recomputing facets on state reconfiguration if that facet's inputs stayed precisely the same.
Selection ranges created with EditorSelection.range
will now have an assoc pointing at their anchor, when non-empty.
codemirror/view
v6.22.1
Bug fixes
Call widget destroy
methods when the entire editor is destroyed or reset.
Work around an issue on Safari on macOS Sonoma that made the native cursor visible even when drawSelection
is enabled.
Fix an issue where, on some browsers, the screenreader announced text ended up in the printed document.
Fix a bug where a hover tooltip could stick around even though the pointer was no longer on the editor when it was moved out over the tooltip.
Fix an issue where hover tooltips could close when moving the mouse onto them due to mouse position rounding issues.
v6.22.0
Bug fixes
Exceptions raised by update listeners are now routed to the configured exception sink, if any.
Fix an issue where passing large scroll margins to scrollIntoView
would cause the measure loop to fail to terminate.
Widgets that are draggable (and allow drag events through in their ignoreEvent
implementation) can now use the editor's built-in drag/drop behavior.
New features
The new scrollTo
option to EditorView
allows an initial scroll position to be provided.
The new EditorView.scrollSnapshot
method returns an effect that can be used to reset to a previous scroll position.
v6.21.4
Bug fixes
Support the offset
, getCoords
, overlap
, and resize
properties on hover tooltips, as long as they aren't given conflicting values when there are multiple active hover tooltips.
Fix a bug that caused tooltips in the default configuration to be positioned incorrectly on Chrome when the editor was transformed.
v6.21.3
Bug fixes
Fix an issue that caused coordsForChar
to return the wrong rectangle for characters after a line wrap in Safari.
Make the context menu work when clicking below the content in a fixed-height editor.
Tooltips that have been put below/above their target position because there is no room on their default side now stay there on further updates.
v6.21.2
Bug fixes
Fix a regression that broke dragging text from inside the editor.
v6.21.1
Bug fixes
Fix a bug that could corrupt the DOM view for specific changes involving newlines and mark decorations.
v6.21.0
Bug fixes
Fix a bug that could cause zero-length widgets at the start of a line to be left in the view even after they were removed.
New features
RectangleMarker
's dimension properties are now public.
v6.20.2
Bug fixes
Fix an issue in the way the DOM selection is being read that could break backspacing of widgets on Android.
Fix a bug where the editor could incorrectly computate its transform scale when it was small.
v6.20.1
Bug fixes
Fix a crash in plugin event handlers after dynamic reconfiguration.
Fix an issue where, on Chrome, tooltips would no longer use fixed positioning.
v6.20.0
Bug fixes
Fix an issue that caused repositionTooltips
to crash when it was called on an editor without tooltips.
Fix an issue that caused the tooltip system to leave empty nodes in the DOM when an editor using the parent
option to tooltips
is destroyed.
Fix a bug that regression mouse interaction with the area of a fixed-size editor that isn't covered by the content.
Fix some issues with the way moveVertically
behaved for positions on line wrap points.
Fix a bug that could cause the document DOM to be incorrectly updated on some types of viewport changes.
New features
The new getDrawSelectionConfig
function returns the drawSelection
configuration for a given state.
v6.19.0
Bug fixes
Make sure the drop cursor is properly cleaned up even when another extension handles the drop event.
Fix a crash related to non-inclusive replacing block decorations.
New features
The new EditorView.domEventObservers
(and the corresponding option to view plugins) allows you to register functions that are always called for an event, regardless of whether other handlers handled it.
v6.18.1
Bug fixes
Fix an issue where the editor duplicated text when the browser moved content into the focused text node on composition.
Make sure widgetMarker
is called for gutters on lines covered by a block replace decoration.
Fix an issue where the cursor could be shown in a position that doesn't allow a cursor when the selection is in a block widget.
v6.18.0
New features
The new EditorView.scaleX
and scaleY
properties return the CSS-transformed scale of the editor (or 1 when not scaled).
The editor now supports being scaled with CSS.
v6.17.1
Bug fixes
Don't close the hover tooltip when the pointer moves over empty space caused by line breaks within the hovered range.
Fix a bug where on Chrome Android, if a virtual keyboard was slow to apply a change, the editor could end up dropping it.
Work around an issue where line-wise copy/cut didn't work in Firefox because the browser wasn't firing those events when nothing was selected.
Fix a crash triggered by the way some Android IME systems update the DOM.
Fix a bug that caused replacing a word by an emoji on Chrome Android to be treated as a backspace press.
v6.17.0
Bug fixes
Fix a bug that broke hover tooltips when hovering over a widget.
New features
The new EditorView.cspNonce
facet can be used to provide a Content Security Policy nonce for the library's generated CSS.
The new EditorView.bidiIsolatedRanges
can be used to inform the editor about ranges styled as Unicode bidirection isolates, so that it can compute the character order correctly.
EditorView.dispatch
now also accepts an array of transactions to be applied together in a single view update.
The new dispatchTransactions
option to new EditorView
now replaces the old (deprecated but still supported) dispatch
option in a way that allows multiple transactions to be applied in one update.
Input handlers are now passed an additional argument that they can use to retrieve the default transaction that would be applied for the insertion.
v6.16.0
Bug fixes
Fix an issue that made the gutter not stick in place when the editor was in a right-to-left context.
New features
The new EditorView.coordsForChar
method returns the client rectangle for a given character in the editor.
v6.15.3
Bug fixes
Fix another crash regression for compositions before line breaks.
v6.15.2
Bug fixes
Fix the check that made sure compositions are dropped when the selection is moved.
v6.15.1
Bug fixes
Fix a regression that could cause the composition content to be drawn incorrectly.
v6.15.0
Bug fixes
Fix dragging a selection from inside the current selection on macOS.
Fix an issue that could cause the scroll position to jump wildly
Don't try to scroll fixed-positioned elements into view by scrolling their parent elements.
Fix a bug that caused the cursor to be hidden when showing a placeholder that consisted of the empty string.
Resolve some issues where composition could incorrectly affect nearby replaced content.
New features
Key bindings can now set a stopPropagation
field to cause the view to stop the key event propagation when it considers the event handled.
v6.14.1
Bug fixes
Fix an issue where scrolling up through line-wrapped text would sometimes cause the scroll position to pop down.
Fix an issue where clicking wouldn't focus the editor on Firefox when it was in an iframe and already the active element of the frame.
Fix a bug that could cause compositions to be disrupted because their surrounding DOM was repurposed for some other piece of content.
Fix a bug where adding content to the editor could inappropriately move the scroll position.
Extend detection of Enter presses on Android to beforeInput
events with an "insertLineBreak"
type.
v6.14.0
Bug fixes
When dragging text inside the editor, look at the state of Ctrl (or Alt on macOS) at the time of the drop, not the start of drag, to determine whether to move or copy the text.
Fix an issue where having a bunch of padding on lines could cause vertical cursor motion and posAtCoords
to jump over lines.
New features
Block widget decorations can now be given an inlineOrder
option to make them appear in the same ordering as surrounding inline widgets.
v6.13.2
Bug fixes
Fix an issue in scroll position stabilization for changes above the visible, where Chrome already does this natively and we ended up compensating twice.
v6.13.1
Bug fixes
Fix a bug where the cursor would in some circumstances be drawn on the wrong side of an inline widget.
Fix an issue where scrollPastEnd
could cause the scroll position of editors that weren't in view to be changed unnecessarily.
v6.13.0
Bug fixes
Forbid widget decoration side values bigger than 10000, to prevent them from breaking range ordering invariants.
Fix a bug where differences between widgets' estimated and actual heights could cause the editor to inappropriately move the scroll position.
Avoid another situation in which composition that inserts line breaks could corrupt the editor DOM.
New features
Inline widgets may now introduce line breaks, if they report this through the WidgetType.lineBreaks
property.
v6.12.0
Bug fixes
Remove an accidentally included console.log
.
New features
EditorViewConfig.dispatch
is now passed the view object as a second argument.
v6.11.3
Bug fixes
Make sure pointer selection respects EditorView.atomicRanges
.
Preserve DOM widgets when their decoration type changes but they otherwise stay in the same place.
Fix a bug in drawSelection
that could lead to invisible or incorrect selections for a blank line below a block widget.
v6.11.2
Bug fixes
Fix a bug where the crosshairCursor
extension could, when non-native key events were fired, trigger disruptive and needless view updates.
Fix an Android issue where backspacing at the front of a line with widget decorations could replace those decorations with their text content.
Respect scroll margins when scrolling the target of drag-selection into view.
Validate selection offsets reported by the browser, to work around Safari giving us invalid values in some cases.
v6.11.1
Bug fixes
Don't preserve the DOM around a composition that spans multiple lines.
v6.11.0
New features
Gutters now support a widgetMarker
option that can be used to add markers next to block widgets.
v6.10.1
Bug fixes
Limit cursor height in front of custom placeholder DOM elements.
v6.10.0
Bug fixes
Fix a crash in drawSelection
when a measured position falls on a position that doesn't have corresponding screen coordinates.
Work around unhelpful interaction observer behavior that could cause the editor to not notice it was visible.
Give the cursor next to a line-wrapped placeholder a single-line height.
Make sure drop events below the editable element in a fixed-height editor get handled properly.
New features
Widget decorations can now define custom coordsAtPos
methods to control the way the editor computes screen positions at or in the widget.
v6.9.6
Bug fixes
Fix an issue where, when escape was pressed followed by a key that the editor handled, followed by tab, the tab would still move focus.
Fix an issue where, in some circumstances, the editor would ignore text changes at the end of a composition.
Allow inline widgets to be updated to a different length via updateDOM
.
v6.9.5
Bug fixes
Avoid disrupting the composition in specific cases where Safari invasively changes the DOM structure in the middle of a composition.
Fix a bug that prevented destroy
being called on hover tooltips.
Fix a bug where the editor could take focus when content changes required it to restore the DOM selection.
Fix height layout corruption caused by a division by zero.
Make sure styles targeting the editor's focus status are specific enough to not cause them to apply to editors nested inside another focused editor. This will require themes to adjust their selection background styles to match the new specificity.
v6.9.4
Bug fixes
Make the editor scroll while dragging a selection near its sides, even if the cursor isn't outside the scrollable element.
Fix a bug that interrupted composition after widgets in some circumstances on Firefox.
Make sure the last change in a composition has its user event set to input.type.compose
, even if the compositionend
event fires before the changes are applied.
Make it possible to remove additional selection ranges by clicking on them with ctrl/cmd held, even if they aren't cursors.
Keep widget buffers between widgets and compositions, since removing them confuses IME on macOS Firefox.
Fix a bug where, for DOM changes that put the selection in the middle of the changed range, the editor incorrectly set its selection state.
Fix a bug where coordsAtPos
could return a coordinates before the line break when querying a line-wrapped position with a positive side
.
v6.9.3
Bug fixes
Work around a Firefox issue that caused coordsAtPos
to return rectangles with the full line height on empty lines.
Opening a context menu by clicking below the content element but inside the editor now properly shows the browser's menu for editable elements.
Fix an issue that broke composition (especially of Chinese IME) after widget decorations.
Fix an issue that would cause the cursor to jump around during compositions inside nested mark decorations.
v6.9.2
Bug fixes
Work around a Firefox CSS bug that caused cursors to stop blinking in a scrolled editor.
Fix an issue in drawSelection
where the selection extended into the editor's padding.
Fix pasting of links copied from iOS share sheet.
v6.9.1
Bug fixes
Improve the way posAtCoords
picks the side of a widget to return by comparing the coordinates the center of the widget.
Fix an issue where transactions created for the focusChangeEffect
facet were sometimes not dispatched.
v6.9.0
Bug fixes
Fix an issue where inaccurate estimated vertical positions could cause the viewport to not converge in line-wrapped editors.
Don't suppress double-space to period conversion when autocorrect is enabled.
Make sure the measuring code notices when the scaling of the editor is changed, and does a full measure in that case.
New features
The new EditorView.focusChangeEffect
facet can be used to dispatch a state effect when the editor is focused or blurred.
v6.8.1
Bug fixes
Fix an issue where tooltips that have their height reduced have their height flicker when scrolling or otherwise interacting with the editor.
v6.8.0
Bug fixes
Fix a regression that caused clicking on the scrollbar to move the selection.
Fix an issue where focus or blur event handlers that dispatched editor transactions could corrupt the mouse selection state.
Fix a CSS regression that prevented the drop cursor from being positioned properly.
New features
WidgetType.updateDOM
is now passed the editor view object.
v6.7.3
Bug fixes
Fix a bug in posAtCoords
that could cause incorrect results for positions to the left of a wrapped line.
v6.7.2
Bug fixes
Fix a regression where the cursor didn't restart its blink cycle when moving it with the pointer.
Even without a key
property, measure request objects that are already scheduled will not be scheduled again by requestMeasure
.
Fix an issue where keymaps incorrectly interpreted key events that used Ctrl+Alt modifiers to simulate AltGr on Windows.
Fix a bug where line decorations with a different class
property would be treated as equal.
Fix a bug that caused drawSelection
to not notice when it was reconfigured.
Fix a crash in the gutter extension caused by sharing of mutable arrays.
Fix a regression that caused touch selection on mobile platforms to not work in an uneditable editor.
Fix a bug where DOM events on the boundary between lines could get assigned to the wrong line.
v6.7.1
Bug fixes
Make the editor properly scroll when moving the pointer out of it during drag selection.
Fix a regression where clicking below the content element in an editor with its own height didn't focus the editor.
v6.7.0
Bug fixes
Make the editor notice widget height changes to automatically adjust its height information.
Fix an issue where widget buffers could be incorrectly omitted after empty lines.
Fix an issue in content redrawing that could cause coordsAtPos
to return incorrect results.
New features
The static RectangleMarker.forRange
method exposes the logic used by the editor to draw rectangles covering a selection range.
Layers can now provide a destroy
function to be called when the layer is removed.
The new highlightWhitespace
extension makes spaces and tabs in the editor visible.
The highlightTrailingWhitespace
extension can be used to make trailing whitespace stand out.
v6.6.0
New features
The layer
function can now be used to define extensions that draw DOM elements over or below the document text.
Tooltips that are bigger than the available vertical space for them will now have their height set so that they don't stick out of the window. The new resize
property on TooltipView
can be used to opt out of this behavior.
v6.5.1
Bug fixes
Fix a bug that caused marked unnecessary splitting of mark decoration DOM elements in some cases.
v6.5.0
Bug fixes
Fix an issue where key bindings were activated for the wrong key in some situations with non-US keyboards.
New features
A tooltip's positioned
callback is now passed the available space for tooltips.
v6.4.2
Bug fixes
Typing into a read-only editor no longer moves the cursor.
Fix an issue where hover tooltips were closed when the mouse was moved over them if they had a custom parent element.
Fix an issue where the editor could end up displaying incorrect height measurements (typically after initializing).
v6.4.1
Bug fixes
Fix an issue where coordinates next to replaced widgets were returned incorrectly, causing the cursor to be drawn in the wrong place.
Update the crosshairCursor
state on every mousemove event.
Avoid an issue in the way that the editor enforces cursor associativity that could cause the cursor to get stuck on single-character wrapped lines.
v6.4.0
Bug fixes
Avoid an issue where scrollPastEnd
makes a single-line editor have a vertical scrollbar.
Work around a Chrome bug where it inserts a newline when you press space at the start of a wrapped line.
Align rectangularSelection
's behavior with other popular editors by making it create cursors at the end of lines that are too short to touch the rectangle.
Fix an issue where coordinates on mark decoration boundaries were sometimes taken from the wrong side of the position.
Prevent scrolling artifacts caused by attempts to scroll stuff into view when the editor isn't being displayed.
New features
TooltipView
objects can now provide a destroy
method to be called when the tooltip is removed.
v6.3.1
Bug fixes
Fix a crash when trying to scroll something into view in an editor that wasn't in the visible DOM.
Fix an issue where coordsAtPos
returned the coordinates on the wrong side of a widget decoration wrapped in a mark decoration.
Fix an issue where content on long wrapped lines could fail to properly scroll into view.
Fix an issue where DOM change reading on Chrome Android could get confused when a transaction came in right after a beforeinput event for backspace, enter, or delete.
v6.3.0
Bug fixes
Reduce the amount of wrap-point jittering when scrolling through a very long wrapped line.
Fix an issue where scrolling to content that wasn't currently drawn due to being on a very long line would often fail to scroll to the right position.
Suppress double-space-adds-period behavior on Chrome Mac when it behaves weirdly next to widget.
New features
Key binding objects with an any
property will now add handlers that are called for any key, within the ordering of the keybindings.
v6.2.5
Bug fixes
Don't override double/triple tap behavior on touch screen devices, so that the mobile selection menu pops up properly.
Fix an issue where updating the selection could crash on Safari when the editor was hidden.
v6.2.4
Bug fixes
Highlight the active line even when there is a selection. Prevent the active line background from obscuring the selection backdrop.
Fix an issue where elements with negative margins would confuse the editor's scrolling-into-view logic.
Fix scrolling to a specific position in an editor that has not been in view yet.
v6.2.3
Bug fixes
Fix a bug where cursor motion, when starting from a non-empty selection range, could get stuck on atomic ranges in some circumstances.
Avoid triggering Chrome Android's text-duplication issue when a period is typed in the middle of a word.
v6.2.2
Bug fixes
Don't reset the selection for selection change events that were suppressed by a node view.
v6.2.1
Bug fixes
Don't use the global document
variable to track focus, since that doesn't work in another window/frame.
Fix an issue where key handlers that didn't return true were sometimes called twice for the same keypress.
Avoid editing glitches when using deletion keys like ctrl-d on iOS.
Properly treat characters from the 'Arabic Presentation Forms-A' Unicode block as right-to-left.
Work around a Firefox bug that inserts text at the wrong point for specific cross-line selections.
v6.2.0
Bug fixes
Fix a bug where posAtCoords
would return the wrong results for positions to the right of wrapped lines.
New features
The new EditorView.setRoot
method can be used when an editor view is moved to a new document or shadow root.
v6.1.4
Bug fixes
Make selection-restoration on focus more reliable.
v6.1.3
Bug fixes
Fix a bug where a document that contains only non-printing characters would lead to bogus text measurements (and, from those, to crashing).
Make sure differences between estimated and actual block heights don't cause visible scroll glitches.
v6.1.2
Bug fixes
Fix an issue where double tapping enter to confirm IME input and insert a newline on iOS would sometimes insert two newlines.
Fix an issue on iOS where a composition could get aborted if the editor scrolled on backspace.
v6.1.1
Bug fixes
Make highlightSpecialChars
replace directional isolate characters by default.
The editor will now try to suppress browsers' native behavior of resetting the selection in the editable content when the editable element is focused (programmatically, with tab, etc).
Fix a CSS issue that made it possible, when the gutters were wide enough, for them to overlap with the content.
v6.1.0
New features
MatchDecorator
now supports a decorate
option that can be used to customize the way decorations are added for each match.
v6.0.3
Bug fixes
Fix a problem where posAtCoords
could incorrectly return the start of the next line when querying positions between lines.
Fix an issue where registering a high-precedence keymap made keymap handling take precedence over other keydown event handlers.
Ctrl/Cmd-clicking can now remove ranges from a multi-range selection.
v6.0.2
Bug fixes
Fix a CSS issue that broke horizontal scroll width stabilization.
Fix a bug where defaultLineHeight
could get an incorrect value in very narrow editors.
v6.0.1
Bug fixes
Avoid DOM selection corruption when the editor doesn't have focus but has selection and updates its content.
Fall back to dispatching by key code when a key event produces a non-ASCII character (so that Cyrillic and Arabic keyboards can still use bindings specified with Latin characters).
v6.0.0
New features
The new static EditorView.findFromDOM
method can be used to retrieve an editor instance from its DOM structure.
Instead of passing a constructed state to the EditorView
constructor, it is now also possible to inline the configuration options to the state in the view config object.
v0.20.7
Bug fixes
Fix an issue on Chrome Android where the DOM could fail to display the actual document after backspace.
Avoid an issue on Chrome Android where DOM changes were sometimes inappropriately replace by a backspace key effect due to spurious beforeinput events.
Fix a problem where the content element's width didn't cover the width of the actual content.
Work around a bug in Chrome 102 which caused wheel scrolling of the editor to be interrupted every few lines.
v0.20.6
Bug fixes
Make sure the editor re-measures itself when its attributes are updated.
v0.20.5
Bug fixes
Fix an issue where gutter elements without any markers in them would not get the cm-gutterElement
class assigned.
Fix an issue where DOM event handlers registered by plugins were retained indefinitely, even after the editor was reconfigured.
v0.20.4
Bug fixes
Prevent Mac-style behavior of inserting a period when the user inserts two spaces.
Fix an issue where the editor would sometimes not restore the DOM selection when refocused with a selection identical to the one it held when it lost focus.
v0.20.3
Bug fixes
Fix a bug where the input handling could crash on repeated (or held) backspace presses on Chrome Android.
v0.20.2
New features
The new hideOn
option to hoverTooltip
allows more fine-grained control over when the tooltip should hide.
v0.20.1
Bug fixes
Remove debug statements that accidentally made it into 0.20.0.
Fix a regression in moveVertically
.
v0.20.0
Breaking changes
The deprecated interfaces blockAtHeight
, visualLineAtHeight
, viewportLines
, visualLineAt
, scrollPosIntoView
, scrollTo
, and centerOn
were removed from the library.
All decorations are now provided through EditorView.decorations
, and are part of a single precedence ordering. Decoration sources that need access to the view are provided as functions.
Atomic ranges are now specified through a facet (EditorView.atomicRanges
).
Scroll margins are now specified through a facet (EditorView.scrollMargins
).
Plugin fields no longer exist in the library (and are replaced by facets holding function values).
This package no longer re-exports the Range type from @codemirror/state.
Bug fixes
Fix a bug where zero-length block widgets could cause viewportLineBlocks
to contain overlapping ranges.
New features
The new perLineTextDirection
facet configures whether the editor reads text direction per line, or uses a single direction for the entire editor. EditorView.textDirectionAt
returns the direction around a given position.
rectangularSelection
and crosshairCursor
from @codemirror/rectangular-selection were merged into this package.
This package now exports the tooltip functionality that used to live in @codemirror/tooltip.
The exports from the old @codemirror/panel package are now available from this package.
The exports from the old @codemirror/gutter package are now available from this package.
v0.19.48
Bug fixes
Fix an issue where DOM syncing could crash when a DOM node was moved from a parent to a child node (via widgets reusing existing nodes).
To avoid interfering with things like a vim mode too much, the editor will now only activate the tab-to-move-focus escape hatch after an escape press that wasn't handled by an event handler.
Make sure the view measures itself before the page is printed.
Tweak types of view plugin defining functions to avoid TypeScript errors when the plugin value doesn't have any of the interface's properties.
v0.19.47
Bug fixes
Fix an issue where block widgets at the start of the viewport could break height computations.
v0.19.46
Bug fixes
Fix a bug where block widgets on the edges of viewports could cause the positioning of content to misalign with the gutter and height computations.
Improve cursor height next to widgets.
Fix a bug where mapping positions to screen coordinates could return incorred coordinates during composition.
v0.19.45
Bug fixes
Fix an issue where the library failed to call WidgetType.destroy
on the old widget when replacing a widget with a different widget of the same type.
Fix an issue where the editor would compute DOM positions inside composition contexts incorrectly in some cases, causing the selection to be put in the wrong place and needlessly interrupting compositions.
Fix leaking of resize event handlers.
v0.19.44
Bug fixes
Fix a crash that occasionally occurred when drag-selecting in a way that scrolled the editor.
New features
The new EditorView.compositionStarted
property indicates whether a composition is starting.
v0.19.43
Bug fixes
Fix several issues where editing or composition went wrong due to our zero-width space kludge characters ending up in unexpected places.
Make sure the editor re-measures its dimensions whenever its theme changes.
Fix an issue where some keys on Android phones could leave the editor DOM unsynced with the actual document.
v0.19.42
Bug fixes
Fix a regression in cursor position determination after making an edit next to a widget.
v0.19.41
Bug fixes
Fix an issue where the editor's view of its content height could go out of sync with the DOM when a line-wrapping editor had its width changed, causing wrapping to change.
Fix a bug that caused the editor to draw way too much content when scrolling to a position in an editor (much) taller than the window.
Report an error when a replace decoration from a plugin crosses a line break, rather than silently ignoring it.
Fix an issue where reading DOM changes was broken when lineSeparator
contained more than one character.
Make ordering of replace and mark decorations with the same extent and inclusivness more predictable by giving replace decorations precedence.
Fix a bug where, on Chrome, replacement across line boundaries and next to widgets could cause bogus zero-width characters to appear in the content.
fontsource/font-files (@fontsource/inter)
v5.0.15
v5.0.14
v5.0.13
v5.0.12
v5.0.8
v5.0.7
v5.0.6
v5.0.5
v5.0.4
v5.0.3
v5.0.2
v5.0.1
fontsource/font-files (@fontsource/source-code-pro)
v5.0.15
v5.0.14
v5.0.13
v5.0.12
v5.0.8
v5.0.7
v5.0.6
v5.0.5
v5.0.4
v5.0.3
v5.0.2
v5.0.1
fontsource/font-files (@fontsource/urbanist)
v5.0.17
v5.0.16
v5.0.15
v5.0.14
v5.0.13
v5.0.12
v5.0.11
v5.0.8
v5.0.7
v5.0.6
v5.0.5
v5.0.4
v5.0.3
v5.0.2
v5.0.1
rollup/plugins (@rollup/plugin-babel)
v6.0.4
2023-10-05
Bugfixes
- fix: ensure rollup 4 compatibility #1595
v6.0.3
2022-11-25
Updates
- docs: small typo in babel plugin readme #1355
v6.0.2
2022-10-21
Updates
- chore: update rollup dependencies (3038271)
v6.0.1
Skipped for repo rebase
v6.0.0
2022-10-08
Breaking Changes
- fix: prepare for Rollup 3 #1303
v5.3.1
2022-02-22
Bugfixes
- fix: consider path delimeter on windows (#1090)
rollup/plugins (@rollup/plugin-commonjs)
v25.0.7
2023-10-15
Bugfixes
- fix: bump magic-string version #1596
v25.0.6
2023-10-15
Bugfixes
- fix: Keep the shebang at the top of the file content #1610
v25.0.5
2023-10-05
Bugfixes
- fix: ensure rollup 4 compatibility #1595
v25.0.4
2023-08-11
Updates
- docs: update docs #1545
v25.0.3
2023-07-15
Bugfixes
- fix: preserve
this
reference in the child class #1537
v25.0.2
2023-06-19
Bugfixes
- fix: add classBodyDepth flag #1507
v25.0.1
2023-06-10
Bugfixes
- fix: change dynamicRequireRoot to normalizedDynamicRequireRoot && tweak related tests #1508
v25.0.0
2023-05-12
Breaking Changes
- fix: dynamic require root check was broken in some cases #1461
v24.1.0
2023-04-11
Features
- feat: Do not use getters for module.exports #1455
v24.0.1
2023-01-20
Bugfixes
- fix: types should come first in exports #1403
v24.0.0
2022-12-18
Breaking Changes
- fix: check if defaultIsModuleExports is auto for getDefaultExportFromCjs #1358
v23.0.7
2022-12-17
Bugfixes
- fix: produce code which works when __esModule is already defined #1379
v23.0.6
2022-12-17
Bugfixes
- fix: update magic-string #1373
v23.0.5
2022-12-15
Bugfixes
- fix: resolve export exports not found #1363
v23.0.4
2022-12-07
Bugfixes
v23.0.3
2022-11-27
Bugfixes
- fix: correctly wrap a default class export from cjs module #1350
v23.0.2
2022-10-21
Updates
- chore: update rollup dependencies (3038271)
v23.0.1
Skipped for repo rebase
v23.0.0
2022-10-09
Breaking Changes
- fix: prepare for Rollup 3 #1300
v22.0.2
2022-08-05
Bugfixes
- fix: Exclude multi-line template strings from indent (#1229)
v22.0.1
2022-06-24
Bugfixes
- fix: Only proxy detected commonjs entry points (#1180)
v22.0.0
2022-04-24
Breaking Changes
- fix: add heuristic to deoptimize requires after calling imported function (requires rollup@2.68.0) (#1038)
- feat: reimplement dynamic import handling (requires Node 12, no longer supports require.cache) (#1038)
Bugfixes
- fix: support CJS modules re-exporting transpiled ESM modules (#1165)
- fix: Warn when plugins do not pass options to resolveId (#1038)
- fix: Do not change semantics when removing requires in if statements (#1038)
- fix: handle external dependencies when using the cache (#1038)
- fix: proxy all entries to not break legacy polyfill plugins (#1038)
- fix: use correct version and add package exports (#1038)
- fix: validate node-resolve peer version (#1038)
- fix: inject module name into dynamic require function (#1038)
- fix: do not transform "typeof exports" for mixed modules (#1038)
- fix: attach correct plugin meta-data to commonjs modules (#1038)
Features
- feat: expose plugin version (#1038)
- feat: throw for dynamic requires from outside the configured root (#1038)
- feat: add dynamicRequireRoot option (#1038)
- feat: auto-detect conditional requires (#1038)
- feat: limit ignoreTryCatch to external requires (#1038)
- feat: make namespace callable when requiring ESM with function default (#1038)
- feat: Infer type for unidentified modules (#1038)
- feat: automatically wrap cyclic modules (#1038)
- feat: add strictRequires option to wrap modules (#1038)
Updates
- refactor: deconflict helpers only once globals are known (#1038)
v21.1.0
2022-04-15
Features
- feat: make defaultIsModuleExports as funtion to config defaultIsModuleExports for each source (#1052)
v21.0.3
2022-03-27
Updates
- docs: sync required rollup version (#1118)
v21.0.2
2022-02-23
Updates
- chore: transpile dynamic helper to ES5 (#1082)
rollup/plugins (@rollup/plugin-node-resolve)
v15.2.3
2023-10-08
Bugfixes
- fix: modulePaths default is not set #1534
v15.2.2
2023-10-05
Bugfixes
- fix: ensure rollup 4 compatibility #1595
v15.2.1
2023-08-22
Bugfixes
- fix: Implement package exports / imports resolution algorithm according to Node documentation #1549
v15.2.0
2023-08-17
Features
- feat: pass original importee to secondary resolve #1557
v15.1.0
2023-05-30
Features
- feat: Resolve js/jsx/mjs/cjs imports from TypeScript files #1498
v15.0.2
2023-04-04
Bugfixes
- fix: bump is-builtin-module version, imports with a trailing slash #1424
v15.0.1
2022-10-21
Updates
- chore: update rollup dependencies (3038271)
v15.0.0
2022-10-10
Breaking Changes
- fix: prepare for Rollup 3 #1288
v14.1.0
2022-09-12
Features
- feat: add new option, modulePaths (#1104)
v14.0.1
2022-09-08
Bugfixes
- fix: handle circular commonjs (#1259)
v14.0.0
2022-09-06
Breaking Changes
- fix: preserve moduleSideEffects when re-resolving files (#1245)
v13.3.0
2022-05-02
Features
- feat: support
node:
protocol (#1124)
v13.2.2
2022-05-02
Bugfixes
- fix: Respect if other plugins resolve the resolution to a different id (#1181)
- fix: Revert respect if other plugins resolve the resolution to a different id (
ae59ceb
) - fix: Respect if other plugins resolve the resolution to a different id (
f8d4c44
)
v13.2.1
2022-04-15
Bugfixes
- fix: update side effects logic to be deep when glob doesn’t contain
/
(#1148)
v13.2.0
2022-04-11
Features
- feat: Add the ability to pass a function into resolveOnly (#1152)
cssnano/cssnano
v6.0.1
Bug Fixes
- fix(postcss-merge-rules): do not merge nested rules (https://github.com/cssnano/cssnano/commit/eb9a9a18132d360cb8639f0ca6be4d24401bcde9)
- fix(postcss-reduce-idents): minify grid line names correctly (https://github.com/cssnano/cssnano/commit/2af6687e63978a7b0a08f97d095aa9e6b593eb4f)
v6.0.0
Major Changes
-
99d1e6a
: postcss-normalize-url: remove normalize-url configuration options -
4e272f8
: postcss-svgo: Upgrade dependency svgo to v3 and increase the minimum supported node version to v14 -
ca9d3f5
: Switch minimum supported Node version to 14 for all packages -
39a2040
: feat!(cssnano): remove undocumented YAML config support
Migration instructions
- If you're not happy with the defaults for the normalize-url transform, turn it off completely. Options were removed as most would change the meaning of the URL, which is unexpcted in the case of CSS minification.
- In the unlikely event you're using YAML to configure cssnano, move the cssnano configuration inside the PostCSS config or use a configuration file in CommonJS or JSON format.
v5.1.15
Bug Fixes
- fix(postcsss-reduce-initial): fix mask-repeat conversion
- fix(postcss-colormin): don't minify colors in src declarations
- fix(postcss-merge-rules): do not merge conflicting flex and border properties
v5.1.14
Bug Fixes
- fix: update autoprefixer and browserslist
- fix(postcss-reduce-initial): improve initial properties data
v5.1.13
Bug Fixes
- fix TypeScript type of
cssnano()
return value (https://github.com/cssnano/cssnano/commit/b92dbe3ab1db16141dc6296cd350f3fdf5c2defe)
v5.1.12
Bug Fixes
- fix: preserve hyphenated property case (https://github.com/cssnano/cssnano/commit/120a88899376a29c8756234fdc648c519921f515)
- fix: ensure sorting properties does not break the output (https://github.com/cssnano/cssnano/commit/0a3a1331e29f3d1009d2a938181ffa4b34ab5b32)
- fix: recognize 'constant' as a function (https://github.com/cssnano/cssnano/commit/858a8b77c951f3698b14e834f38128b176438edc)
v5.1.11
Bug Fixes
- postcss-ordered-values: preserve constant values (32ab4d9b7d20d)
v5.1.10
Bug Fixes
- postcss-minify-selectors: preserve similar nested selectors (f6c29fb3e75ac26a2635d)
v5.1.9
Bug Fixes
- postcss-merge-longhand: preserve more color function fallbacks (712993cb4a4e0)
v5.1.8
Bug Fixes
- postcss-convert-values: preserve percentage sign on IE 11 (57f060ad21734)
v5.1.7
v5.1.6
Bug Fixes
- preserve border color when merging border properties (5f5080a)
v5.1.5
v5.1.4
Bug Fixes
- postcss-merge-longhand: preserve custom property case (5428d5fc9)
v5.1.3
Bug Fixes
- fix: do not merge declarations containing custom properties when it might create invalid declarations (2c699341)
v5.1.2
Bug fixes
- preserve empty custom properties and ensure they work in Chrome (4ed39679)
v5.1.1
v5.1.0
New Feature
Add TypeScript types
postcss/postcss-import
v15.1.0
- Add
data:
URL support (this is not useful for most consumers) (#515)
v15.0.1
- Preserve layer in ignored
@import
s (#510, #511) - Join media queries in the correct order (#512, #513)
v15.0.0
- BREAKING: Require Node.js v14+ (#497)
-
BREAKING: Require
nameLayer
option for handling anonymous layers (#496) - Fix handling of
@media
queries inside layered imports (#495, #496)
v14.1.0
- Add
@layer
support (#483)
csstools/postcss-plugins
v9.3.0
October 31, 2023
- Added
@csstools/postcss-logical-overflow
Check the plugin README for usage details. - Added
@csstools/postcss-logical-overscroll-behavior
Check the plugin README for usage details. - Updated
cssdb
to7.9.0
(minor) - Updated
@csstools/postcss-cascade-layers
to4.0.1
(patch)
v9.2.0
October 9, 2023
- Added
@csstools/postcss-gamut-mapping
Check the plugin README for usage details. - Updated
cssdb
to7.8.0
(minor) - Updated
@csstools/postcss-color-function
to3.0.7
(patch) - Updated
@csstools/postcss-color-mix-function
to2.0.7
(patch) - Updated
@csstools/postcss-exponential-functions
to1.0.1
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.7
(patch) - Updated
@csstools/postcss-hwb-function
to3.0.6
(patch) - Updated
@csstools/postcss-ic-unit
to3.0.2
(patch) - Updated
@csstools/postcss-is-pseudo-class
to4.0.3
(patch) - Updated
@csstools/postcss-logical-viewport-units
to2.0.3
(patch) - Updated
@csstools/postcss-media-minmax
to1.1.0
(minor) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to2.0.3
(patch) - Updated
@csstools/postcss-oklab-function
to3.0.7
(patch) - Updated
@csstools/postcss-progressive-custom-properties
to3.0.2
(patch) - Updated
@csstools/postcss-relative-color-syntax
to2.0.7
(patch) - Updated
@csstools/postcss-stepped-value-functions
to3.0.2
(patch) - Updated
@csstools/postcss-trigonometric-functions
to3.0.2
(patch) - Updated
postcss-color-functional-notation
to6.0.2
(patch) - Updated
postcss-custom-media
to10.0.2
(patch) - Updated
postcss-custom-properties
to13.3.2
(patch) - Updated
postcss-custom-selectors
to7.1.6
(patch) - Updated
postcss-double-position-gradients
to5.0.2
(patch) - Updated
postcss-lab-function
to6.0.7
(patch)
v9.1.4
September 18, 2023
- Updated
@csstools/postcss-is-pseudo-class
to4.0.2
(patch) - Updated
@csstools/postcss-logical-viewport-units
to2.0.2
(patch) - Updated
@csstools/postcss-normalize-display-values
to3.0.1
(patch) - Updated
@csstools/postcss-progressive-custom-properties
to3.0.1
(patch) - Updated
@csstools/postcss-text-decoration-shorthand
to3.0.3
(patch) - Updated
postcss-color-rebeccapurple
to9.0.1
(patch) - Updated
postcss-custom-properties
to13.3.1
(patch) - Updated
postcss-image-set-function
to6.0.1
(patch) - Updated
@csstools/postcss-color-function
to3.0.4
(patch) - Updated
@csstools/postcss-color-mix-function
to2.0.4
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.4
(patch) - Updated
@csstools/postcss-ic-unit
to3.0.1
(patch) - Updated
@csstools/postcss-oklab-function
to3.0.4
(patch) - Updated
@csstools/postcss-relative-color-syntax
to2.0.4
(patch) - Updated
postcss-color-functional-notation
to6.0.1
(patch) - Updated
postcss-double-position-gradients
to5.0.1
(patch) - Updated
postcss-lab-function
to6.0.4
(patch) - Updated
postcss-custom-media
to10.0.1
(patch) - Updated
postcss-custom-selectors
to7.1.5
(patch)
v9.1.3
September 2, 2023
- Updated
@csstools/postcss-is-pseudo-class
to4.0.1
(patch) - Updated
@csstools/postcss-text-decoration-shorthand
to3.0.2
(patch) - Updated
@csstools/postcss-color-function
to3.0.3
(patch) - Updated
@csstools/postcss-color-mix-function
to2.0.3
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.3
(patch) - Updated
@csstools/postcss-hwb-function
to3.0.3
(patch) - Updated
@csstools/postcss-oklab-function
to3.0.3
(patch) - Updated
@csstools/postcss-relative-color-syntax
to2.0.3
(patch) - Updated
postcss-lab-function
to6.0.3
(patch)
v9.1.2
August 28, 2023
- Updated
cssdb
to7.7.1
(patch) - Updated
@csstools/postcss-text-decoration-shorthand
to3.0.1
(patch) - Updated
@csstools/postcss-color-function
to3.0.2
(patch) - Updated
@csstools/postcss-color-mix-function
to2.0.2
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.2
(patch) - Updated
@csstools/postcss-hwb-function
to3.0.2
(patch) - Updated
@csstools/postcss-oklab-function
to3.0.2
(patch) - Updated
@csstools/postcss-relative-color-syntax
to2.0.2
(patch) - Updated
postcss-lab-function
to6.0.2
(patch)
v9.1.1
August 5, 2023
- Display multiple feature suggestions when an unknown feature is used in plugin options
- Fix
env
option for plugin specific options by @BPScott - Updated
postcss-nesting
to12.0.1
(patch) - Updated
@csstools/postcss-media-minmax
to1.0.7
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to2.0.2
(patch)
v9.1.0
July 24, 2023
- Added
@csstools/postcss-exponential-functions
Check the plugin README for usage details. - Added
env
option to control which browserslist environment to target by @BPScott - Fix browserslist supports queries
- Updated
cssdb
to7.7.0
(minor) - Updated
@csstools/postcss-logical-viewport-units
to2.0.1
(patch) - Updated
@csstools/postcss-color-function
to3.0.1
(patch) - Updated
@csstools/postcss-color-mix-function
to2.0.1
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.1
(patch) - Updated
@csstools/postcss-hwb-function
to3.0.1
(patch) - Updated
@csstools/postcss-media-minmax
to1.0.6
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to2.0.1
(patch) - Updated
@csstools/postcss-oklab-function
to3.0.1
(patch) - Updated
@csstools/postcss-relative-color-syntax
to2.0.1
(patch) - Updated
@csstools/postcss-stepped-value-functions
to3.0.1
(patch) - Updated
@csstools/postcss-trigonometric-functions
to3.0.1
(patch) - Updated
postcss-custom-properties
to13.3.0
(minor) - Updated
postcss-lab-function
to6.0.1
(patch)
v9.0.0
July 3, 2023
- Change license to
MIT-0
(read more about this change in the blog post) - Updated
@csstools/postcss-cascade-layers
to4.0.0
(major) - Updated
@csstools/postcss-font-format-keywords
to3.0.0
(major) - Updated
@csstools/postcss-is-pseudo-class
to4.0.0
(major) - Updated
@csstools/postcss-logical-float-and-clear
to2.0.0
(major) - Updated
@csstools/postcss-logical-resize
to2.0.0
(major) - Updated
@csstools/postcss-logical-viewport-units
to2.0.0
(major) - Updated
@csstools/postcss-nested-calc
to3.0.0
(major) - Updated
@csstools/postcss-normalize-display-values
to3.0.0
(major) - Updated
@csstools/postcss-progressive-custom-properties
to3.0.0
(major) - Updated
@csstools/postcss-scope-pseudo-class
to3.0.0
(major) - Updated
@csstools/postcss-text-decoration-shorthand
to3.0.0
(major) - Updated
@csstools/postcss-unset-value
to3.0.0
(major) - Updated
css-blank-pseudo
to6.0.0
(major) - Updated
css-has-pseudo
to6.0.0
(major) - Updated
css-prefers-color-scheme
to9.0.0
(major) - Updated
postcss-color-rebeccapurple
to9.0.0
(major) - Updated
postcss-dir-pseudo-class
to8.0.0
(major) - Updated
postcss-focus-visible
to9.0.0
(major) - Updated
postcss-focus-within
to8.0.0
(major) - Updated
postcss-gap-properties
to5.0.0
(major) - Updated
postcss-image-set-function
to6.0.0
(major) - Updated
postcss-logical
to7.0.0
(major) - Updated
postcss-nesting
to12.0.0
(major) - Updated
postcss-overflow-shorthand
to5.0.0
(major) - Updated
postcss-place
to9.0.0
(major) - Updated
postcss-pseudo-class-any-link
to9.0.0
(major) - Updated
@csstools/postcss-ic-unit
to3.0.0
(major) - Updated
@csstools/postcss-media-minmax
to1.0.5
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to2.0.0
(major) - Updated
@csstools/postcss-stepped-value-functions
to3.0.0
(major) - Updated
@csstools/postcss-trigonometric-functions
to3.0.0
(major) - Updated
postcss-color-functional-notation
to6.0.0
(major) - Updated
postcss-custom-media
to10.0.0
(major) - Updated
postcss-custom-properties
to13.2.1
(patch) - Updated
postcss-custom-selectors
to7.1.4
(patch) - Updated
postcss-double-position-gradients
to5.0.0
(major) - Updated
@csstools/postcss-gradients-interpolation-method
to4.0.0
(major) - Updated
@csstools/postcss-hwb-function
to3.0.0
(major) - Updated
@csstools/postcss-oklab-function
to3.0.0
(major) - Updated
@csstools/postcss-relative-color-syntax
to2.0.0
(major) - Updated
postcss-lab-function
to6.0.0
(major)
v8.5.1
June 21, 2023
- Updated
@csstools/postcss-media-minmax
to1.0.4
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to1.0.4
(patch) - Updated
postcss-custom-media
to9.1.5
(patch)
v8.5.0
June 14, 2023
- Add warning when using the deprecated
@nest
rule - Updated
@csstools/postcss-relative-color-syntax
to1.0.2
(patch) - Updated
postcss-nesting
to11.3.0
(minor)
v8.4.2
June 1, 2023
- Updated
@csstools/postcss-progressive-custom-properties
to2.3.0
(minor) - Updated
postcss-custom-properties
to13.2.0
(minor) - Updated
@csstools/postcss-color-function
to2.2.3
(patch) - Updated
@csstools/postcss-color-mix-function
to1.0.3
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to3.0.6
(patch) - Updated
@csstools/postcss-ic-unit
to2.0.4
(patch) - Updated
@csstools/postcss-media-minmax
to1.0.3
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to1.0.3
(patch) - Updated
@csstools/postcss-oklab-function
to2.2.3
(patch) - Updated
@csstools/postcss-relative-color-syntax
to1.0.1
(patch) - Updated
postcss-color-functional-notation
to5.1.0
(minor) - Updated
postcss-custom-media
to9.1.4
(patch) - Updated
postcss-double-position-gradients
to4.0.4
(patch) - Updated
postcss-lab-function
to5.2.3
(patch)
v8.4.1
May 19, 2023
- Added
@csstools/postcss-relative-color-syntax
Check the plugin README for usage details (really this time).
v8.4.0
May 19, 2023
- Added
@csstools/postcss-relative-color-syntax
Check the plugin README for usage details. - Updated
cssdb
to7.6.0.
(minor) - Updated
@csstools/postcss-progressive-custom-properties
to2.2.0
(minor) - Updated
@csstools/postcss-ic-unit
to2.0.3
(patch) - Updated
@csstools/postcss-text-decoration-shorthand
to2.2.4
(patch) - Updated
postcss-double-position-gradients
to4.0.3
(patch) - Updated
@csstools/postcss-color-function
to2.2.2
(patch) - Updated
@csstools/postcss-color-mix-function
to1.0.2
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to3.0.5
(patch) - Updated
@csstools/postcss-hwb-function
to2.2.2
(patch) - Updated
@csstools/postcss-oklab-function
to2.2.2
(patch) - Updated
postcss-lab-function
to5.2.2
(patch)
v8.3.3
May 19, 2023
- Update plugin order to preserve more original values.
- Fix exception on unknown features #969
- Updated
@csstools/postcss-is-pseudo-class
to3.2.1
(patch) - Updated
postcss-logical
to6.2.0
(minor)
v8.3.2
April 17, 2023
- Updated
@csstools/postcss-gradients-interpolation-method
to3.0.4
(patch)
v8.3.1
April 10, 2023
- Updated
@csstools/postcss-logical-viewport-units
to1.0.3
(patch) - Updated
@csstools/postcss-media-minmax
to1.0.2
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to1.0.2
(patch) - Updated
@csstools/postcss-stepped-value-functions
to2.1.1
(patch) - Updated
@csstools/postcss-trigonometric-functions
to2.1.1
(patch) - Updated
postcss-custom-media
to9.1.3
(patch) - Updated
postcss-custom-properties
to13.1.5
(patch) - Updated
postcss-custom-selectors
to7.1.3
(patch) - Updated
@csstools/postcss-color-function
to2.2.1
(patch) - Updated
@csstools/postcss-color-mix-function
to1.0.1
(patch) - Updated
@csstools/postcss-gradients-interpolation-method
to3.0.3
(patch) - Updated
@csstools/postcss-hwb-function
to2.2.1
(patch) - Updated
@csstools/postcss-oklab-function
to2.2.1
(patch) - Updated
postcss-lab-function
to5.2.1
(patch)
v8.3.0
March 31, 2023
- Replace
postcss-media-minmax
with@csstools/postcss-media-minmax
Check the plugin README for usage details. We hope to revert this in the future when maintenance is resumed upstream. - Updated
cssdb
to7.5.3
(patch)
v8.2.0
March 28, 2023
- Added
@csstools/postcss-gradients-interpolation-method
Check the plugin README for usage details. - Updated
cssdb
to7.5.2
(patch)
v8.1.0
March 25, 2023
- Added
@csstools/postcss-color-mix-function
Check the plugin README for usage details. - Improve
debug
message format - Updated
@csstools/postcss-cascade-layers
to3.0.1
(patch) - Updated
@csstools/postcss-color-function
to2.2.0
(minor) - Updated
@csstools/postcss-font-format-keywords
to2.0.2
(patch) - Updated
@csstools/postcss-hwb-function
to2.2.0
(minor) - Updated
@csstools/postcss-ic-unit
to2.0.2
(patch) - Updated
@csstools/postcss-is-pseudo-class
to3.1.1
(minor) - Updated
@csstools/postcss-logical-float-and-clear
to1.0.1
(patch) - Updated
@csstools/postcss-logical-resize
to1.0.1
(patch) - Updated
@csstools/postcss-logical-viewport-units
to1.0.2
(patch) - Updated
@csstools/postcss-media-queries-aspect-ratio-number-values
to1.0.1
(patch) - Updated
@csstools/postcss-nested-calc
to2.0.2
(patch) - Updated
@csstools/postcss-normalize-display-values
to2.0.1
(patch) - Updated
@csstools/postcss-oklab-function
to2.1.0
(minor) - Updated
@csstools/postcss-progressive-custom-properties
to2.1.0
(minor) - Updated
@csstools/postcss-scope-pseudo-class
to2.0.2
(patch) - Updated
@csstools/postcss-stepped-value-functions
to2.1.0
(minor) - Updated
@csstools/postcss-text-decoration-shorthand
to2.2.1
(minor) - Updated
@csstools/postcss-trigonometric-functions
to2.1.0
(minor) - Updated
@csstools/postcss-unset-value
to2.0.1
(patch) - Updated
autoprefixer
to10.4.14
(patch) - Updated
browserslist
to4.21.5
(patch) - Updated
css-blank-pseudo
to5.0.2
(patch) - Updated
css-has-pseudo
to5.0.2
(patch) - Updated
css-prefers-color-scheme
to8.0.2
(patch) - Updated
cssdb
to7.5.1
(minor) - Updated
postcss-attribute-case-insensitive
to6.0.2
(patch) - Updated
postcss-color-functional-notation
to5.0.2
(patch) - Updated
postcss-color-hex-alpha
to9.0.2
(patch) - Updated
postcss-color-rebeccapurple
to8.0.2
(patch) - Updated
postcss-custom-media
to9.1.2
(patch) - Updated
postcss-custom-properties
to13.1.4
(patch) - Updated
postcss-custom-selectors
to7.1.2
(patch) - Updated
postcss-dir-pseudo-class
to7.0.2
(patch) - Updated
postcss-double-position-gradients
to4.0.2
(patch) - Updated
postcss-focus-visible
to8.0.2
(patch) - Updated
postcss-focus-within
to7.0.2
(patch) - Updated
postcss-gap-properties
to4.0.1
(patch) - Updated
postcss-image-set-function
to5.0.2
(patch) - Updated
postcss-lab-function
to5.2.0
(minor) - Updated
postcss-logical
to6.1.0
(minor) - Updated
postcss-nesting
to11.2.1
(minor) - Updated
postcss-opacity-percentage
to2.0.0
(major) - Updated
postcss-overflow-shorthand
to4.0.1
(patch) - Updated
postcss-page-break
to3.0.4
(patch) - Updated
postcss-place
to8.0.1
(patch) - Updated
postcss-pseudo-class-any-link
to8.0.2
(patch) - Updated
postcss-selector-not
to7.0.1
(patch)
v8.0.1
January 28, 2023
- Improve
types
declaration inpackage.json
v8.0.0
January 24, 2023
- See the dedicated Wiki page for more information.
- Added: TypeScript support.
- Added
@csstools/postcss-media-queries-aspect-ratio-number-values
Check the plugin README for usage details. - Added
@csstools/postcss-logical-float-and-clear
Check the plugin README for usage details. - Added
@csstools/postcss-logical-resize
Check the plugin README for usage details. - Added
@csstools/postcss-logical-viewport-units
Check the plugin README for usage details. - Added
logical
option to control all logical plugins. - Added
@csstools/postcss-scope-pseudo-class
Check the plugin README for usage details. - Updated Support for Node v14+ (major).
- Fixed:
all-property
andoverflow-wrap-property
now follow thepreserve
plugin option - Removed a workaround to consider
blank-pseudo-class
andprefers-color-scheme-query
asstage: 1
features when using default options. - Removed
postcss-env-function
(breaking). - Removed
importFrom
andexportTo
plugin options from multiple plugins. (breaking)postcss-custom-media
postcss-custom-properties
postcss-custom-selectors
- Breaking:
enableClientSidePolyfills
is nowfalse
by default (wastrue
) - Updated
@csstools/postcss-cascade-layers
to3.0.0
(major) - Updated
@csstools/postcss-color-function
to2.0.0
(major) - Updated
@csstools/postcss-font-format-keywords
to2.0.0
(major) - Updated
@csstools/postcss-hwb-function
to2.0.0
(major) - Updated
@csstools/postcss-ic-unit
to2.0.0
(major) - Updated
@csstools/postcss-is-pseudo-class
to3.0.0
(major) - Updated
@csstools/postcss-nested-calc
to2.0.0
(major) - Updated
@csstools/postcss-normalize-display-values
to2.0.0
(major) - Updated
@csstools/postcss-oklab-function
to2.0.0
(major) - Updated
@csstools/postcss-scope-pseudo-class
to2.0.0
(major) - Updated
@csstools/postcss-stepped-value-functions
to2.0.0
(major) - Updated
@csstools/postcss-text-decoration-shorthand
to2.0.0
(major) - Updated
@csstools/postcss-trigonometric-functions
to2.0.0
(major) - Updated
@csstools/postcss-unset-value
to2.0.0
(major) - Updated
css-blank-pseudo
to5.0.0
(major) - Updated
css-has-pseudo
to5.0.0
(major) - Updated
css-prefers-color-scheme
to8.0.0
(major) - Updated
postcss-attribute-case-insensitive
to6.0.0
(major) - Updated
postcss-color-functional-notation
to5.0.0
(major) - Updated
postcss-color-hex-alpha
to9.0.0
(major) - Updated
postcss-color-rebeccapurple
to8.0.0
(major) - Updated
postcss-custom-media
to9.1.0
(major) - Updated
postcss-custom-properties
to13.1.0
(minor) - Updated
postcss-custom-selectors
to7.1.0
(minor) - Updated
postcss-dir-pseudo-class
to7.0.0
(major) - Updated
postcss-double-position-gradients
to4.0.0
(major) - Updated
postcss-focus-visible
to8.0.0
(major) - Updated
postcss-focus-within
to7.0.0
(major) - Updated
postcss-gap-properties
to4.0.0
(major) - Updated
postcss-image-set-function
to5.0.0
(major) - Updated
postcss-lab-function
to5.0.0
(major) - Updated
postcss-logical
to6.0.0
(major) - Updated
postcss-nesting
to11.0.0
(major) - Updated
postcss-overflow-shorthand
to4.0.0
(major) - Updated
postcss-place
to8.0.0
(major) - Updated
postcss-pseudo-class-any-link
to8.0.0
(major) - Updated
postcss-selector-not
to7.0.0
(major)
v7.8.3
November 14, 2022
- Update
autoprefixer
to10.4.13
(patch) - Update
browserlist
to4.21.4
(patch) - Update
postcss-custom-properties
to12.1.10
(patch) - Update
@csstools/postcss-cascade-layers
to1.1.1
(patch)
v7.8.2
September 15, 2022
- Update
@csstools/postcss-cascade-layers
to1.1.0
(minor) - Update
autoprefixer
to10.4.11
(patch) - Update
postcss-custom-properties
to12.1.9
(patch) - Update
postcss-nesting
to10.2.0
(minor)
v7.8.1
September 7, 2022
- Update
cssdb
to7.0.1
(patch) - Update
@csstools/postcss-cascade-layers
to1.0.6
(patch)
v7.8.0
August 16, 2022
- Added
@csstools/postcss-nested-calc
Check the plugin README for usage details. - Added
@csstools/postcss-text-decoration-shorthand
Check the plugin README for usage details. - Update
@csstools/postcss-cascade-layers
to1.0.5
(patch) - Update
@csstools/postcss-color-function
to1.1.1
(patch) - Update
@csstools/postcss-font-format-keywords
to1.0.1
(patch) - Update
@csstools/postcss-hwb-function
to1.0.2
(patch) - Update
@csstools/postcss-ic-unit
to1.0.1
(patch) - Update
@csstools/postcss-is-pseudo-class
to2.0.7
(patch) - Update
@csstools/postcss-normalize-display-values
to1.0.1
(patch) - Update
@csstools/postcss-oklab-function
to1.1.1
(patch) - Update
@csstools/postcss-stepped-value-functions
to1.0.1
(patch) - Update
@csstools/postcss-trigonometric-functions
to1.0.2
(patch) - Update
@csstools/postcss-unset-value
to1.0.2
(patch) - Update
autoprefixer
to10.4.8
(patch) - Update
browserslist
to4.21.3
(patch) - Update
cssdb
to7.0.0
(major) - Update
postcss-attribute-case-insensitive
to5.0.2
(patch) - Update
postcss-color-functional-notation
to4.2.4
(patch) - Update
postcss-color-rebeccapurple
to7.1.1
(patch) - Update
postcss-dir-pseudo-class
to6.0.5
(patch) - Update
postcss-double-position-gradients
to3.1.2
(patch) - Update
postcss-gap-properties
to3.0.5
(patch) - Update
postcss-image-set-function
to4.0.7
(patch) - Update
postcss-lab-function
to4.2.1
(patch) - Update
postcss-nesting
to10.1.10
(patch) - Update
postcss-overflow-shorthand
to3.0.4
(patch) - Update
postcss-place
to7.0.5
(patch) - Update
postcss-pseudo-class-any-link
to7.1.6
(patch) - Update
postcss-selector-not
to6.0.1
(patch)
v7.7.2
June 23, 2022
- Fix
op_mini all
not working as a browser list. - Updated
postcss-color-rebeccapurple
to7.1.0
(minor) - Updated
browserslist
to4.21.0
(minor) - Updated
@csstools/postcss-cascade-layers
to1.0.4
(patch) - Updated
@csstools/postcss-is-pseudo-class
to2.0.6
(patch) - Updated
postcss-color-hex-alpha
to8.0.4
(patch) - Updated
postcss-custom-media
to8.0.2
(patch) - Updated
postcss-custom-properties
to12.1.8
(patch) - Updated
postcss-custom-selectors
to6.0.3
(patch) - Updated
postcss-nesting
to10.1.9
(patch) - Updated
postcss-pseudo-class-any-link
to7.1.5
(patch)
v7.7.1
June 3, 2022
- Updated
postcss-selector-not
to6.0.0
(major) - Updated
@csstools/postcss-trigonometric-functions
to1.0.1
(patch) - Updated
postcss-attribute-case-insensitive
to5.0.1
(patch) - Updated
postcss-custom-media
to8.0.1
(patch) - Updated
postcss-custom-selectors
to6.0.2
(patch) - Updated
cssdb
to6.6.3
(patch)
v7.7.0
May 31, 2022
- Added
@csstools/postcss-trigonometric-functions
Check the plugin README for usage details. - Updated
@csstools/postcss-cascade-layers
to1.0.2
(patch) - Updated
postcss-color-functional-notation
to4.2.3
(patch) - Updated
postcss-nesting
to10.1.7
(patch)
v7.6.0
May 19, 2022
- Added
@csstools/postcss-cascade-layers
Check the plugin README for usage details. - Updated
@csstools/postcss-hwb-function
to1.0.1
(patch) - Updated
@csstools/postcss-is-pseudo-class
to2.0.4
(patch) - Updated
@csstools/postcss-unset-value
to1.0.1
(patch) - Updated
postcss-nesting
to10.1.6
(patch) - Updated
postcss-pseudo-class-any-link
to7.1.4
(patch) - Updated
autoprefixer
to10.4.7
(patch)
v7.5.0
May 2, 2022
- Added
@csstools/postcss-unset-value
Check the plugin README for usage details. - Added
@csstools/postcss-stepped-value-functions
Check the plugin README for usage details. - Updated
cssdb
to6.6.0
(minor) - Updated
autoprefixer
to10.4.6
(patch)
v7.4.4
April 26, 2022
- Updated
@csstools/postcss-color-function
to1.1.0
(minor) - Updated
@csstools/postcss-is-pseudo-class
to2.0.2
(patch) - Updated
@csstools/postcss-oklab-function
to1.1.0
(minor) - Updated
autoprefixer
to10.4.5
(patch) - Updated
browserslist
to4.20.3
(patch) - Updated
postcss-custom-properties
to12.1.7
(patch) - Updated
postcss-lab-function
to4.2.0
(minor) - Updated
postcss-nesting
to10.1.4
(patch) - Updated
postcss-pseudo-class-any-link
to7.1.2
(patch)
v7.4.3
March 19, 2022
- Fix manually enabling a feature that doesn't meet the required vendor implementations. #310
- Updated
postcss-clamp
to4.1.0
(minor) - Updated
@csstools/postcss-color-function
to1.0.3
(patch) - Updated
@csstools/postcss-is-pseudo-class
to2.0.1
(patch) - Updated
@csstools/postcss-oklab-function
to1.0.2
(patch) - Updated
@csstools/postcss-progressive-custom-properties
to1.3.0
(minor) - Updated
autoprefixer
to10.4.4
(patch) - Updated
browserslist
to4.20.2
(patch) - Updated
cssdb
to6.5.0
(minor) - Updated
postcss-custom-properties
to12.1.5
(patch) - Updated
postcss-double-position-gradients
to3.1.1
(patch) - Updated
postcss-env-function
to4.0.6
(patch) - Updated
postcss-lab-function
to4.1.2
(patch) - Updated
postcss-nesting
to10.1.3
(patch) - Remove internal patch for
postcss-clamp
- Document all features. csstools/postcss-preset-env#156
v7.4.2
March 2, 2022
- Adding internal patch for
postcss-clamp
to fix issue whenclamp
was being used with any other values along. #274
v7.4.1
February 17, 2022
- Updated
postcss-clamp
to4.0.0
(major)
v7.4.0
February 16, 2022
- Added
@csstools/color-function
Check the plugin README for usage details. - Added
@csstools/oklab-function
Check the plugin README for usage details. - Added
@csstools/ic-unit
Check the plugin README for usage details. - Updated
@csstools/postcss-progressive-custom-properties
to1.2.0
(minor) - Updated
cssdb
to6.3.1
(patch) - Updated
postcss-double-position-gradients
to3.1.0
(minor) - Updated
postcss-lab-function
to4.1.1
(patch)
v7.3.3
February 13, 2022
- Updated
cssdb
to6.3.0
(minor)
v7.3.2
February 12, 2022
- Updated
postcss-lab-function
to4.1.0
(minor)
postcss-lab-function
now supports wide gamut colors and out of gamut color mapping.
- Updated
css-blank-pseudo
to3.0.3
(patch) - Updated
css-has-pseudo
to3.0.4
(patch) - Updated
cssdb
to6.2.1
(patch) - Updated
postcss-color-functional-notation
to4.2.2
(patch) - Updated
postcss-color-hex-alpha
to8.0.3
(patch) - Updated
postcss-dir-pseudo-class
to6.0.4
(patch) - Updated
postcss-double-position-gradients
to3.0.5
(patch) - Updated
postcss-env-function
to4.0.5
(patch) - Updated
postcss-focus-visible
to6.0.4
(patch) - Updated
postcss-focus-within
to5.0.4
(patch) - Updated
postcss-gap-properties
to3.0.3
(patch) - Updated
postcss-image-set-function
to4.0.6
(patch) - Updated
postcss-logical
to5.0.4
(patch) - Updated
postcss-overflow-shorthand
to3.0.3
(patch) - Updated
postcss-place
to7.0.4
(patch) - Updated
postcss-pseudo-class-any-link
to7.1.1
(patch) - Updated
@csstools/postcss-progressive-custom-properties
to1.1.0
.
puppeteer/puppeteer
v21.5.2
v21.5.1
v21.5.0
v21.4.1
v21.4.0
v21.3.8
v21.3.7
v21.3.6
v21.3.5
v21.3.4
v21.3.3
v21.3.2
v21.3.1
v21.3.0
v21.2.1
v21.2.0
v21.1.1
v21.1.0
v21.0.3
v21.0.2
v21.0.1
v21.0.0
v20.9.0
v20.8.3
v20.8.2
v20.8.1
v20.8.0
v20.7.4
v20.7.3
v20.7.2
v20.7.1
v20.7.0
v20.6.0
v20.5.0
v20.4.0
v20.3.0
v20.2.1
v20.2.0
v20.1.2
v20.1.1
v20.1.0
v20.0.0
v19.11.1
v19.11.0
v19.10.1
v19.10.0
v19.9.1
v19.9.0
v19.8.5
v19.8.4
v19.8.3
v19.8.2
v19.8.1
v19.8.0
v19.7.5
v19.7.4
v19.7.3
v19.7.2
v19.7.1
v19.7.0
v19.6.3
v19.6.2
v19.6.1
v19.6.0
v19.5.2
v19.5.1
v19.5.0
v19.4.1
v19.4.0
v19.3.0
v19.2.2
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 19.2.1 to ^19.2.2
- dependencies
v19.2.1
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 19.2.0 to ^19.2.1
- dependencies
v19.2.0
Features
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 19.1.1 to ^19.2.0
- dependencies
v19.1.2
Bug Fixes
v19.1.1
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 19.1.0 to ^19.1.1
- dependencies
v19.1.0
Features
Bug Fixes
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 19.0.0 to ^19.1.0
- dependencies
v19.0.0
⚠ BREAKING CHANGES
- use
~/.cache/puppeteer
for browser downloads (#9095) - deprecate
createBrowserFetcher
in favor ofBrowserFetcher
(#9079) - refactor custom query handler API (#9078)
- remove
puppeteer.devices
in favor ofKnownDevices
(#9075) - deprecate indirect network condition imports (#9074)
Features
- deprecate
createBrowserFetcher
in favor ofBrowserFetcher
(#9079) (7294dfe), closes #8999 - use
~/.cache/puppeteer
for browser downloads (#9095) (3df375b)
Bug Fixes
- deprecate indirect network condition imports (#9074) (41d0122)
- refactor custom query handler API (#9078) (1847704)
- remove
puppeteer.devices
in favor ofKnownDevices
(#9075) (87c08fd)
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 18.2.1 to ^19.0.0
- dependencies
v18.2.1
Bug Fixes
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 18.2.0 to ^18.2.1
- dependencies
v18.2.0
Features
Dependencies
- The following workspace dependencies were updated
- dependencies
- puppeteer-core bumped from 18.1.0 to ^18.2.0
- dependencies
v18.1.0
Features
v18.0.5
Bug Fixes
v18.0.4
Bug Fixes
v18.0.3
Bug Fixes
v18.0.2
Bug Fixes
v18.0.1
Bug Fixes
v18.0.0
⚠ BREAKING CHANGES
- fix bounding box visibility conditions (#8954)
Features
Bug Fixes
- fix bounding box visibility conditions (#8954) (ac9929d)
- suppress init errors if the target is closed (#8947) (cfaaa5e)
- use win64 version of chromium when on arm64 windows (#8927) (64843b8)
v17.1.3
Bug Fixes
- FirefoxLauncher should not use BrowserFetcher in puppeteer-core (#8920) (f2e8de7), closes #8919
- linux arm64 check on windows arm (#8917) (f02b926), closes #8915
v17.1.2
Bug Fixes
- add missing code coverage ranges that span only a single character (#8911) (0c577b9)
- add Page.getDefaultTimeout getter (#8903) (3240095), closes #8901
- don't detect project root for puppeteer-core (#8907) (b4f5ea1), closes #8896
- support scale for screenshot clips (#8908) (260e428), closes #5329
- work around a race in waitForFileChooser (#8905) (053d960), closes #6040
v17.1.1
Bug Fixes
v17.1.0
Features
Bug Fixes
- allow getting a frame from an elementhandle (#8875) (3732757)
- typos in documentation (#8858) (8d95a9b)
- use the timeout setting in waitForFileChooser (#8856) (f477b46)
v17.0.0
⚠ BREAKING CHANGES
Bug Fixes
- allow multiple navigations to happen in LifecycleWatcher (#8826) (341b669), closes #8811
- internalize execution context (#8844) (2f33237)
- remove
root
fromWaitForSelectorOptions
(#8848) (1155c8e) - remove deferred promise timeouts (#8835) (202ffce), closes #8832
v16.2.0
Features
Bug Fixes
v16.1.1
Bug Fixes
- custom sessions should not emit targetcreated events (#8788) (3fad05d), closes #8787
- deprecate
ExecutionContext
(#8792) (b5da718) - deprecate
root
inWaitForSelectorOptions
(#8795) (65a5ce8) - deprecate
waitForTimeout
(#8793) (8f612d5) - make sure there is a check for targets when timeout=0 (#8765) (c23cdb7), closes #8763
- resolve navigation flakiness (#8768) (2580347), closes #8644
- specify Puppeteer version for Chromium 105.0.5173.0 (#8766) (b5064b7)
- use targetFilter in puppeteer.launch (#8774) (ee2540b), closes #8772
v16.1.0
Features
Bug Fixes
- resolve target manager init if no existing targets detected (#8748) (8cb5043), closes #8747
- specify the target filter in setDiscoverTargets (#8742) (49193cb)
v16.0.0
⚠ BREAKING CHANGES
- With Chromium, Puppeteer will now attach to page/iframe targets immediately to allow reliable configuration of targets.
Features
- add Dockerfile (#8315) (936ed86)
- detect Firefox in connect() automatically (#8718) (2abd772)
- use CDP's auto-attach mechanism (#8520) (2cbfdeb)
Bug Fixes
- address flakiness in frame handling (#8688) (6f81b23)
- disable AcceptCHFrame (#8706) (96d9608), closes #8479
- use loaderId to reduce test flakiness (#8717) (d2f6db2)
v15.5.0
Features
v15.4.2
Bug Fixes
v15.4.1
Bug Fixes
v15.4.0
Features
Bug Fixes
v15.3.2
Bug Fixes
- cache dynamic imports (#8652) (1de0383)
- expose a RemoteObject getter (#8642) (d0c4291), closes #8639
- page: fix page.#scrollIntoViewIfNeeded method (#8631) (b47f066)
v15.3.1
Bug Fixes
v15.3.0
Features
Bug Fixes
v15.2.0
Features
- add fromSurface option to page.screenshot (#8496) (79e1198)
- export public types only (#8584) (7001322)
Bug Fixes
v15.1.1
Bug Fixes
- export
ElementHandle
(e0198a7)
v15.1.0
Features
v15.0.2
Bug Fixes
v15.0.1
Bug Fixes
v15.0.0
⚠ BREAKING CHANGES
- type inference for evaluation types (#8547)
Features
- add experimental
client
toHTTMRequest
(#8556) (ec79f3a) - type inference for evaluation types (#8547) (26c3acb)
v14.4.1
Bug Fixes
- avoid
instanceof Object
check inisErrorLike
(#8527) (6cd5cd0) - export
devices
,errors
, and more (cba58a1)
v14.4.0
Features
Bug Fixes
- parse empty options in <select> (#8489) (b30f3f4)
- use error-like (#8504) (4d35990)
- use OS-independent abs. path check (#8505) (bfd4e68)
v14.3.0
Features
Bug Fixes
- don't throw on bad access (#8472) (e837866)
- Kill browser process when killing process group fails (#8477) (7dc8e37)
- only lookup
localhost
for DNS lookups (1b025b4) - robustly check for launch executable (#8468) (b54dc55)
v14.2.1
Bug Fixes
v14.2.0
Features
- chromium: roll to Chromium 103.0.5059.0 (r1002410) (#8410) (54efc2c)
- support node 18 (#8447) (f2d8276)
- use strict typescript (#8401) (b4e751f)
Bug Fixes
- multiple same request event listener (#8404) (9211015)
- NodeNext incompatibility in package.json (#8445) (c4898a7)
- process documentation during publishing (#8433) (d111d19)
v14.1.2
Bug Fixes
- do not use loaderId for lifecycle events (#8395) (c96c915)
- fix release-please bot (#8400) (5c235c7)
- use strict TS in Input.ts (#8392) (af92a24)
v14.1.1
Bug Fixes
- kill browser process when 'taskkill' fails on Windows (#8352) (dccfadb)
- only check loading iframe in lifecycling (#8348) (7438030)
- recompile before funit and unit commands (#8363) (8735b78), closes #8362
v14.1.0
Features
- add waitForXPath to ElementHandle (#8329) (7eaadaf)
- allow handling other targets as pages internally (#8336) (3b66a2c)
Bug Fixes
- disable AvoidUnnecessaryBeforeUnloadCheckSync to fix navigations (#8330) (4854ad5)
- If currentNode and root are the same, do not include them in the result (#8332) (a61144d)
v14.0.0
⚠ BREAKING CHANGES
- strict mode fixes for HTTMRequest/Response classes (#8297)
- Node 12 is no longer supported.
Features
- add support for Apple Silicon chromium builds (#7546) (baa017d), closes #6622
- chromium: roll to Chromium 102.0.5002.0 (r991974) (#8319) (be4c930)
- support ES modules (#8306) (6841bd6)
Bug Fixes
-
make sure inner OOPIFs can be attached to (#8304) (5539598)
-
strict mode fixes for HTTMRequest/Response classes (#8297) (2804ae8), closes #6769
v13.7.0
Features
- add
back
andforward
mouse buttons (#8284) (7a51bff) - support chrome headless mode (#8260) (1308d9a)
Bug Fixes
- doc typo (#8263) (952a2ae)
- use different test names for browser specific tests in launcher.spec.ts (#8250) (c6cf1a9)
v13.6.0
Features
- chromium: roll to Chromium 101.0.4950.0 (r982053) (#8213) (ec74bd8)
- respond multiple headers with same key (#8183) (c1dcd85)
Bug Fixes
- also kill Firefox when temporary profile is used (#8233) (b6504d7)
- consider existing frames when waiting for a frame (#8200) (0955225)
- disable bfcache in the launcher (#8196) (9ac7318), closes #8182
- enable page.spec event handler test for firefox (#8214) (2b45027)
- forget queuedEventGroup when emitting response in responseReceivedExtraInfo (#8234) (#8239) (91a8e73)
- forget request will be sent from the _requestWillBeSentMap list. (#8226) (4b786c9)
- ignore favicon requests in page.spec event handler tests (#8208) (04e5c88)
- network.spec.ts: typo in the word should (#8223) (e93faad)
v13.5.2
Bug Fixes
- chromium downloading hung at 99% (#8169) (8f13470)
- get extra headers from Fetch.requestPaused event (#8162) (37ede68)
v13.5.1
Bug Fixes
v13.5.0
Features
Bug Fixes
- Inherit browser-level proxy settings from incognito context (#7770) (3feca32)
- page: page.createIsolatedWorld error catching has been added (#7848) (309e8b8)
- tests: ensure all tests honour BINARY envvar (#8092) (3b8b9ad)
v13.4.1
Bug Fixes
v13.4.0
Features
- add support for async waitForTarget (#7885) (dbf0639)
- export
Frame._client
through getter (#8041) (e9278fc) - HTTMResponse: expose timing information (#8025) (30b3d49)
Bug Fixes
- change kill to signal the whole process group to terminate (#6859) (0eb9c78)
- element screenshot issue in headful mode (#8018) (5346e70), closes #7999
- ensure dom binding is not called after detach (#8024) (5c308b0), closes #7814
- use both __dirname and require.resolve to support different bundlers (#8046) (e6a6295), closes #8044
v13.3.2
Bug Fixes
rollup/rollup
v4.6.1
2023-11-30
Bug Fixes
- Resolve a situation where declaring the same
var
several times was considered a conflict (#5276)
Merge Requests
- #5275: Add TNG as special sponsor (@lukastaegert)
- #5276: Allow to redeclare parameters multiple times in nested scopes (@lukastaegert)
v4.6.0
2023-11-26
Features
- Allow
this.addWatchFile
in all plugin hooks (#5270)
Bug Fixes
- Show helpful error when native binaries are not installed due to an
npm
issue (#5267) - Do not access
this
context inthis.addWatchFile
so it does not need to be bound when passed around (#5270)
Merge Requests
- #5267: Add friendly error for npm bug (@sapphi-red)
- #5270: Allow this.addWatchFile in all hooks (@lukastaegert)
- #5272: Debug deployed graphs (@lukastaegert)
v4.5.2
2023-11-24
Bug Fixes
- Handle files with UTF-8 BOM when using the commonjs plugin (#5268)
Merge Requests
- #5268: fix: strip BOM before calling transform hook (@TrickyPi)
- #5269: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.5.1
2023-11-21
Bug Fixes
- Do not error when a function expression uses the same name for a parameter and its id (#5262)
Merge Requests
- #5257: Fix graphs in docs, improve REPL colors (@lukastaegert)
- #5262: Allow function expression parameters to shadow the function id (@lukastaegert)
v4.5.0
2023-11-18
Bug Fixes
- Show a proper error when using native Rollup on armv7 musl Linux (#5255)
Merge Requests
- #5251: doc fix import assertions to attributes in API plugin development page (@lhapaipai)
- #5253: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5255: Error for armv7 musl build (@lukastaegert)
v4.4.1
2023-11-14
Bug Fixes
- Do not flag duplicate function declarations in function scopes as syntax errors (#5248)
Merge Requests
- #5248: Allow functions to redeclare vars and functions in function scopes (@lukastaegert)
v4.4.0
2023-11-12
Features
- Replace SWC linting with faster internal linting to error on duplicate declarations etc. (#5207)
Bug Fixes
- Show proper error when an entry exports non-existing bindings (#5207)
Merge Requests
- #5207: perf: run lint while constructing nodes (@sapphi-red)
v4.3.1
2023-11-11
Bug Fixes
- Fix rename error when handling errors in watch mode (#5240)
- Prevent warning when using
--forceExit
(#5245)
Merge Requests
- #5240: fix: allow the name of Rollup Error to be modified (@TrickyPi)
- #5243: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5245: Ensure --forceExit works without warning (@lukastaegert)
v4.3.0
2023-11-03
Features
- Add
forceExit
CLI flag for situations where the CLI does not exit gracefully (#5195)
Bug Fixes
- Properly catch errors when removing a temporary config file fails (#5198)
Merge Requests
-
#5195: Add
forceExit
CLI flag (@raphael-theriault-swi) -
#5198: fix: prevent
ENOENT
error on temp config removal (@jzempel) - #5237: chore: remove unused files and deps (@TrickyPi)
- #5238: chore(deps): update dependency eslint-plugin-unicorn to v49 (@renovate[bot])
- #5239: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.2.0
2023-10-31
Features
- Run parsing in multiple threads and introduce
parseAstAsync
helper function (#5202)
Merge Requests
-
#5202: perf: introduce
parseAstAsync
and parallelize parsing AST (@sapphi-red)
v4.1.6
2023-10-31
Bug Fixes
- Fix a bug where emtpy block comments in certain positions could freeze Rollup (#5231)
Merge Requests
- #5228: build: ensure rust toolchain components for linting are installed (@jerome-benoit)
- #5231: Render emtpy block comments after tree-shaken statements (@lukastaegert)
- #5232: Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build (@lukastaegert)
v4.1.5
2023-10-28
Bug Fixes
- Fix an issue where actual entries that were also implicit entries could remain implicit (#5220)
Merge Requests
- #5209: Document Vite workaround for browser build (@curran)
- #5215: chore(deps): update dependency lint-staged to v15 (@renovate[bot])
- #5216: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5218: Update license plugin (@lukastaegert)
- #5219: Fix error highlight in REPL (@lukastaegert)
- #5220: Fix race condition when emitting implicitly dependent entries (@lukastaegert)
- #5224: chore(deps): update actions/setup-node action to v4 (@renovate[bot])
- #5225: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.1.4
2023-10-16
Bug Fixes
- Reduce sizes @rollup/browser and @rollup/wasm-node WASM artifacts (#5204)
Merge Requests
- #5204: perf: shrink wasm size by avoid importing browserslist (@sapphi-red)
v4.1.3
2023-10-15
Bug Fixes
- Fix WASM build as hash function was not exported (#5203)
Merge Requests
- #5203: fix: export xxhashBase64Url from wasm (@sapphi-red)
v4.1.1
2023-10-15
Bug Fixes
- Improve Node parsing performance (#5201)
Merge Requests
- #5201: perf: use mimalloc for bindings_napi (@sapphi-red)
v4.1.0
2023-10-14
Features
- Reduce memory usage of Rollup builds (#5133)
Merge Requests
- #5133: perf: reducing ast node memory overhead (@thebanjomatic)
- #5177: chore: explicitly set rust toolchain channel (@cijiugechu)
- #5179: Update migration guide for Rollup 4 (@lukastaegert)
- #5180: Resolve clippy errors (@cijiugechu)
- #5183: Add clippy to pipeline and fix remaining issues (@lukastaegert)
-
#5184: docs: fix code example for
onLog
(@tjenkinson) - #5186: Improve wording for native artifacts in migration guide (@lukastaegert)
- #5190: test: add verifyAst type (@TrickyPi)
- #5196: chore(deps): update dependency rollup to v4 (@renovate[bot])
- #5197: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.0.2
2023-10-06
Bug Fixes
- Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#5178)
Merge Requests
- #5178: Handle special characters before double underscores (@lukastaegert)
v4.0.1
2023-10-06
Bug Fixes
- Do not panic on trailing semicolons after class methods (#5173)
- Add artifact for arm64 linux musl target (#5176)
Merge Requests
- #5172: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5173: fix: ignores empty statements in class body that is returned by SWC parser (@TrickyPi)
- #5176: Fix linux arm musl build (@lukastaegert)
v4.0.0
2023-10-05
BREAKING CHANGES
General Changes
- The minimal required Node version is now 18.0.0 (#5142)
- The browser build now relies on a WASM artifact that needs to be provided as well (#5073)
- The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the
@rollup/wasm-node
package that has the same interface as Rollup but relies on WASM artifacts (#5073) - The
INVALID_IMPORT_ASSERTION
error code has been replaced withINVALID_IMPORT_ATTRIBUTE
(#5073) - Rollup will now warn for
@__PURE__
and@__NO_SIDE_EFFECTS__
annotations in invalid locations (#5165) - If an entry module starts with a shebang comment
#!...
, this comment will be prepended to the output fores
andcjs
formats (#5163) - File hashes will now use url-safe base64 encoded hashes (#5155)
- The maximum hash length has been reduced to 22 characters (#5155)
- The
RollupWarning
type has been removed in favor of theRollupLog
type (#5147)
Changes to Rollup Options
- Acorn plugins are no longer supported, the
acornInjectPlugins
option has been removed (#5073) - The
acorn
option has been removed (#5073) -
output.externalImportAssertions
has been deprecated in favor ofoutput.externalImportAttributes
(#5073) -
inlineDynamicImports
,manualChunks
andpreserveModules
have been removed on input option level: Please use the corresponding output options of the same names (#5143) - Removed output options (#5143):
-
output.experimentalDeepDynamicChunkOptimization
: This option is no longer needed as Rollup now always runs the full chunking algorithm -
output.dynamicImportFunction
: Use therenderDynamicImport
plugin hook instead -
output.namespaceToStringTag
: Useoutput.generatedCode.symbols
instead -
output.preferConst
: Useoutput.generatedCode.constBindings
instead
-
Plugin API Changes
- For
this.resolve
, the default of theskipSelf
option is nowtrue
(#5142) -
this.parse
now only supports theallowReturnOutsideFunction
option for now (#5073) - Import assertions now use the new import attribute AST structure (#5073)
- "assertions" have been replaced with "attributes" in various places of the plugin interface (#5073)
- If the import of a module id is handled by the
load
hook of a plugin,rollup.watch
no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for callingthis.addWatchFile
for any dependency files (#5150) - The normalized input options provided by
buildStart
and other hooks no longer contain anonwarn
handler; plugins should useonLog
instead (#5147) -
this.moduleIds
has been removed from the plugin context: Usethis.getModuleIds()
instead (#5143) - The
hasModuleSideEffects
flag has been removed from theModuleInfo
returned bythis.getModuleInfo()
: UsemoduleSideEffects
on theModuleInfo
instead (#5143)
Features
- Improve parsing speed by switching to a native SWC-based parser (#5073)
- Rollup will now warn for
@__PURE__
and@__NO_SIDE_EFFECTS__
annotations in invalid locations (#5165) - The parser is now exposed as a separate export
parseAst
(#5169)
Bug Fixes
- Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via
this.addWatchFile()
(#5150)
Merge Requests
- #5073: [v4.0] Switch parser to SWC and introduce native/WASM code (@lukastaegert)
- #5142: [v4.0] Set the default of skipSelf to true (@TrickyPi)
- #5143: [v4.0] Remove deprecated features (@lukastaegert)
- #5144: [v4.0] Imporve the performance of generating ast and rollup ast nodes (@TrickyPi)
- #5147: [v4.0] Remove onwarn from normalized input options (@lukastaegert)
- #5150: [v4.0] feat: Do not watch files anymore if their content is returned by the load hook (@TrickyPi)
- #5154: [v4.0] Add parse option to allow return outside function (@lukastaegert)
- #5155: [v4.0] feat: implement hashing content in Rust (@TrickyPi)
- #5157: [v4.0] Handle empty exports (@lukastaegert)
- #5160: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5163: [v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (@TrickyPi)
- #5164: [v4.0] fix: also strip BOM from code strings in JS (@TrickyPi)
- #5165: [v4.0] warn for invalid annotations (@lukastaegert)
- #5168: [v4.0] Ensure we support new import attribute "with" syntax (@lukastaegert)
- #5169: [v4.0] Expose parser (@lukastaegert)
v3.29.4
2023-09-28
Bug Fixes
- Fix static analysis when an exported function uses callbacks (#5158)
Merge Requests
- #5158: Deoptimize all parameters when losing track of a function (@lukastaegert)
v3.29.3
2023-09-24
Bug Fixes
- Fix a bug where code was wrongly tree-shaken after mutating function parameters (#5153)
Merge Requests
- #5145: docs: improve the docs repl appearance in the light mode (@TrickyPi)
- #5148: chore(deps): update dependency @vue/eslint-config-typescript to v12 (@renovate[bot])
- #5149: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5153: Fully deoptimize first level path when deoptimizing nested parameter paths (@lukastaegert)
v3.29.2
2023-09-15
Bug Fixes
- Export
TreeshakingPreset
type (#5131)
Merge Requests
-
#5131: fix: exports
TreeshakingPreset
(@moltar) - #5134: docs: steps to enable symlinks on windows (@thebanjomatic)
- #5137: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v3.29.1
2023-09-10
Bug Fixes
- Fix time measurement of plugin hooks in watch mode (#5114)
- Ensure accessing document.currentScript in import.meta.url returns correct results (#5118)
Merge Requests
- #5114: fix(perf): avoid superfluous timer wrappings in watch mode (@ZhengLiu2825)
- #5118: fix: access document.currentScript at the top level (@TrickyPi)
- #5125: chore(deps): update actions/checkout action to v4 (@renovate[bot])
- #5126: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5129: re-enbale repl-artefacts workflow for rollup-swc branch (@TrickyPi)
v3.29.0
2023-09-06
Features
- Add output.sourcemapFileNames option (#5105)
- Add generic type parameter for
api
to Plugin type (#5112)
Bug Fixes
- Ensure mutations of CustomEvent details are tracked (#5123)
Merge Requests
- #5105: Added option to name sourcemap files, i.e. a output.sourcemapFileName… (@atti187)
- #5108: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5109: Docs: load full path of rollup.browser.js for Rollup V4 (@TrickyPi)
- #5112: feat(types): add generic type for plugin api (@sxzz)
- #5115: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5123: Deoptimize custom event detail (@lukastaegert)
v3.28.1
2023-08-22
Bug Fixes
- Ensure external files with relative import paths outside the target are rendered correctly (#5099)
Merge Requests
- #5093: chore(deps): update dependency eslint-config-prettier to v9 (@renovate[bot])
- #5094: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5099: Fix resolution of relative external files outside target directory (@lukastaegert)
- #5101: chore(deps): update dependency lint-staged to v14 (@renovate[bot])
- #5102: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v3.28.0
2023-08-09
Features
- Add a new property
preliminaryFileName
to generated chunks containing the file name placeholder (#5086) - Improve performance of sourcemap generation by lazily decoding mappings (#5087)
Bug Fixes
- Make the
code
property of rendered modules in the output readonly (#5091)
Merge Requests
-
#5086: feat: add
preliminaryFileName
toOutputChunk
(@lsdsjy) - #5087: perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings (@thebanjomatic)
- #5091: fix: the type of RenderedModule.code is readonly (@TrickyPi)
v3.27.2
2023-08-04
Bug Fixes
- Revert sourcemap performance improvement for now as it causes issues with Vite (#5075)
Merge Requests
- #5075: Revert perf(sourcemap): lazy compute decoded mappings (@thebanjomatic)
v3.27.1
2023-08-03
Bug Fixes
- Improve performance when generating sourcemaps (#5075)
Merge Requests
- #5075: perf(sourcemap): lazy compute decoded mappings (@thebanjomatic)
v3.27.0
2023-07-28
Features
- Mark
Object.values
andObject.entries
as pure if their argument does not contain getters (#5072)
Merge Requests
- #5070: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5071: docs(tutorial): change the .js extension to .mjs (@TrickyPi)
- #5072: Add known globals (@sapphi-red)
- #5078: chore(deps): update dependency @vue/eslint-config-prettier to v8 (@renovate[bot])
- #5079: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v3.26.3
2023-07-17
Bug Fixes
- Do not pass external modules to
manualChunks
to avoid breaking existing configs (#5068)
Merge Requests
- #5056: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5059: chore(config): migrate renovate config (@renovate[bot])
- #5064: chore(deps): update dependency prettier to v3 (@renovate[bot])
- #5065: chore(deps): update typescript-eslint monorepo to v6 (major) (@renovate[bot])
- #5068: fix: don't pass external modules to the manualChunks function (@TrickyPi)
v3.26.2
2023-07-06
Bug Fixes
- Improve error handling when manual chunks would contain external modules (#5050)
Merge Requests
- #5050: fix: improve error for manualChunks' modules that are resolved as an external module (@TrickyPi)
v3.26.1
2023-07-05
Bug Fixes
- Support
hasOwnProperty
as exported name in CommonJS (#5010) - Properly reference browser types in package file (#5051)
Merge Requests
- #5010: safe hasOwnProperty call (@LongTengDao)
- #5051: @rollup/browser: fix types export map entry (@developit)
v3.26.0
2023-06-30
Features
- Add
--filterLogs
CLI flag andROLLUP_FILTER_LOGS
environment variable for log filtering (#5035)
Merge Requests
- #5035: Add ability to filter logs via CLI option or environment variable (@lukastaegert)
- #5049: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v3.25.3
2023-06-26
Bug Fixes
- Fix error when inlining dynamic imports that contain unused reexported variables (#5047)
Merge Requests
- #5047: Do not add tree-shaken variables to namespaces when inlining dynamic imports (@lukastaegert)
v3.25.2
2023-06-24
Bug Fixes
- Handle plugin errors where
code
is not a string (#5042) - Use current transformed source when generating code frames with positions in transform hooks (#5045)
Merge Requests
- #5038: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5040: Fix typo in index.md (@vHeemstra)
- #5042: fix: a plugin error can contains numeric code (@TrickyPi)
-
#5045: Fix
this.error
withpos
intransform
hook (@sapphi-red) - #5046: chore(deps): update dependency locate-character to v3 (@renovate[bot])
v3.25.1
2023-06-12
Bug Fixes
- Respect
__NO_SIDE_EFFECTS__
for async functions (#5031)
Merge Requests
v3.25.0
2023-06-11
Features
- Add
this.info
andthis.debug
plugin context logging functions (#5026) - Add
onLog
option to read, map and filter logs (#5026) - Add
logLevel
option to fully suppress logs by level (#5026) - Support function logs in
this.warn
,this.info
andthis.debug
to avoid heavy computations based on log level (#5026) - Add
onLog
plugin hook to read, filter and map logs from plugins (#5026)
Merge Requests
- #5026: Add Logging API (@lukastaegert)
v3.24.1
2023-06-10
Bug Fixes
- Fix an issue where bundles with
@rollup/plugin-commonjs
were missing internal dependencies when code-splitting (#5029) - Do not use
process.exit(0)
in watch mode to avoid issues in embedded scenarios (#5027)
Merge Requests
- #5027: fix turborepo with rollup --watch (@plumber-dhaval)
- #5028: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5029: fix: get right sideEffectModules (@TrickyPi)
v3.24.0
2023-06-07
Features
- Add new annotation
/* #__NO_SIDE_EFFECTS__ */
to mark function declarations as side effect free (#5024)
Merge Requests
v3.23.1
2023-06-04
Bug Fixes
- Ensure the last segment of sourcemapBaseUrl is never omitted (#5022)
Merge Requests
- #5006: Better workflow caching (@lukastaegert)
- #5012: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5022: fix: add a trailing slash automatically for sourcemapBaseUrl (@TrickyPi)
- #5023: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v3.23.0
2023-05-22
Features
- Support emitting "prebuilt chunks" from plugins (#4990)
Bug Fixes
- Mark Sets and Maps as pure when they receive an array literal as argument (#5005)
Merge Requests
- #4990: feat: this.emitFile support prebuilt-chunk type (@TrickyPi)
- #5005: feat: mark Set, Map, WeakSet and WeakMap with array arguments as pure (@TrickyPi)
v3.22.1
2023-05-21
Bug Fixes
- Remove force quit again as it caused some issues (#5004)
Merge Requests
- #5001: chore(deps): update dependency @rollup/plugin-commonjs to v25 (@renovate[bot])
- #5002: chore(deps): update dependency eslint-plugin-unicorn to v47 (@renovate[bot])
- #5003: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5004: Do not force quit Rollup or close stdout (@lukastaegert)
v3.22.0
2023-05-17
Features
- Prevent empty non-facade chunks by merging them into other suitable chunks (#4989)
- Avoid facade chunks in some situations involving reexports (#4989)
- Improve algorithm for best merge target when using
experimentalMinChunkSize
to take tree-shaking into account (#4989)
Bug Fixes
- Take side effects of external dependencies into account when merging chunks for
experimentalMinChunkSize
(#4989)
Merge Requests
- #4989: Prevent empty chunks and thoroughly improve experimentalMinChunkSize (@lukastaegert)
v3.21.8
2023-05-16
Bug Fixes
- Allow a namespace to properly contain itself as a named export (#4991)
Merge Requests
- #4991: Handle self-referencing namespaces (@lukastaegert)
v3.21.7
2023-05-13
Bug Fixes
- Show correct error on uncaught exceptions in watch mode (#4987)
Merge Requests
- #4987: Properly quit on uncaught exceptions (@lukastaegert)
- #4988: test: add options type for function tests (@TrickyPi)
v3.21.6
2023-05-09
Bug Fixes
- Ensure Rollup CLI prints everything to stdout before exiting (#4980)
Merge Requests
- #4980: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #4983: Prevent exit before stdout is drained (@lukastaegert)
v3.21.5
2023-05-05
Bug Fixes
- Keep all consecutive lines at the top of each module that start with a comment (#4975)
- Ensure that declarations inside switch cases do not use the same scope as the discriminator (#4979)
Merge Requests
- #4975: Keep leading comments on consecutive lines (@lukastaegert)
- #4979: Use correct scope in switch statements (@lukastaegert)
v3.21.4
2023-05-03
Bug Fixes
- Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules (#4971)
Merge Requests
- #4971: Handle shimming missing exports when preserving modules (@lukastaegert)
- #4972: Configure Renovate (@renovate[bot])
v3.21.3
2023-05-02
Bug Fixes
- Run
process.exit()
when Rollup CLI finishes successfully to solve issues on some systems (#4969)
Merge Requests
- #4954: test: enable typecheck for _config files (@antfu)
- #4969: Automatically force close Rollup when done (@lukastaegert)
v3.21.2
2023-04-30
Bug Fixes
- Mark global functions that trigger iterators as impure for now (#4955)
Merge Requests
- #4955: fix: mark some known globals or their functions as impure (@TrickyPi)
v3.21.1
2023-04-29
Bug Fixes
- Make sure call arguments are properly deoptimized when a function uses the
arguments
variable (#4965)
Merge Requests
- #4957: Update dependencies (@lukastaegert)
- #4964: Fix REPL in dev (@lukastaegert)
- #4965: Ensure arguments are deoptimized when arguments variable is used (@lukastaegert)
- #4967: Log REPL output to console (@lukastaegert)
v3.21.0
2023-04-23
Features
- Support tree-shaking of named exports in dynamic imports when using destructuring and similar patterns (#4952)
Merge Requests
v3.20.7
2023-04-21
Bug Fixes
- Properly track array element mutations when iterating with a for-of loop (#4949)
- Handle default exporting an anonymous class that extends another class (#4950)
Merge Requests
- #4943: Add a test for reserved keywords used as import/export specifiers (@Andarist)
- #4949: Deoptimize right side in for-of loops (@lukastaegert)
- #4950: Support default exported classes that extend other classes (@lukastaegert)
v3.20.6
2023-04-18
Bug Fixes
- Revert handling of non-JS import and export names due to regressions (#4914)
Merge Requests
- #4914: feat: add locales in vitepress config (@iDestin)
- #4946: Revert #4939 for now (@lukastaegert)
v3.20.5
2023-04-18
Bug Fixes
- Handle import and export names that are not valid JavaScript identifiers (#4939)
Merge Requests
- #4939: Fixed imports/exports that are illegal identifiers in the es output (@Andarist)
- #4941: Reinstate global styles (@lukastaegert)
v3.20.4
2023-04-17
Bug Fixes
- Do not remove breaks statements after switch statements with conditional breaks (#4937)
Merge Requests
- #4937: fix: handle conditional breaks in nested switch statement cases (@TrickyPi and @lukastaegert)
v3.20.3
2023-04-16
Bug Fixes
- Reduce memory consumption for function call parameter analysis (#4938)
- Fix types for
shouldTransformCachedModule
(#4932)
Merge Requests
- #4925: chore: repl style add scoped (@btea)
- #4926: docs: Update the x_google_ignorelist url (@jecfish)
- #4932: Allow shouldTransformCachedModule to return null (@bluwy)
- #4935: Bump peter-evans/create-or-update-comment from 2 to 3 (@dependabot[bot])
- #4936: Disable puppeteer sandbox to fix Vercel deployment (@lukastaegert)
- #4938: Improve memory usage for parameter deoptimizations (@lukastaegert)
v3.20.2
2023-03-24
Bug Fixes
- Fix a crash when using a manual chunk entry that is not already included in the module graph (#4921)
- Fix a crash when reporting a warning with incorrect sourcemap information (#4922)
Merge Requests
- #4921: Handle manual chunks where the entry is not part of the module graph (@lukastaegert)
- #4922: Do not fail if the location of a warning is outside the original source (@lukastaegert)
v3.20.1
2023-03-23
Bug Fixes
- Fix returned file name from this.getFileName when assets are deduplicated (#4919)
Merge Requests
- #4919: Only set asset names when finalizing (@lukastaegert)
v3.20.0
2023-03-20
Features
- Allow dynamically imported files to have synthetic named exports when preserving modules (#4913)
Bug Fixes
- Use deterministic file name when emitting several files with same source (#4912)
- Fix a crash when dynamically importing a file with synthetic named exports when preserving modules (#4913)
Merge Requests
- #4912: fix: make file name deterministic in parallel emits (fix #4909) (@sun0day)
- #4913: Provide synthetic namespace for dynamic imports when perserving modules (@lukastaegert)
v3.19.1
2023-03-10
Bug Fixes
- Produce valid code when the first statement in aclass static block is tree-shaken (#4898)
Merge Requests
- #4898: fix: set a correct node location for static blocks (@TrickyPi)
-
#4900: docs: fix table at
output.sanitizeFileName
section (@0x009922)
v3.19.0
2023-03-09
Features
- Make reassignment tracking of call parameters more specific to no lose information when an object is passed to a function (#4892)
Merge Requests
-
#4890: Fix
npm run dev
(@lukastaegert) - #4892: Only selectively deoptimize call parameters (@lukastaegert)
- #4897: Pre-render mermaid graphs on website (@lukastaegert)
v3.18.0
2023-03-01
Features
- Add
experimentalLogSideEffects
to log the first detected side effect in every module (#4871) - Ignore-list sourcemaps of files inside node_modules by default (#4877)
Merge Requests
- #4871: Add experimental logging for side effects (@lukastaegert)
-
#4877: feat: mark files in a
node_modules
as ignore-listed by default (@bmeurer) - #4880: build: use @rollup/plugin-replace to replace chokidar fsevents (@dnalborczyk)
- #4887: Refactor (@dnalborczyk)
v3.17.3
2023-02-25
Bug Fixes
- Handle non-URL-safe characters when poly-filling import.meta.url (#4875)
Merge Requests
- #4870: fix: style optimization in dark mode (@huodoushigemi)
-
#4875: Fix transformation of
import.meta.url
in CommonJS (@fasttime) - #4876: fix: wrong params of the transform hook (@ZzqiZQute)
- #4878: Improve test stability (@lukastaegert)
v3.17.2
2023-02-20
Bug Fixes
- Do not omit code if a file that only re-exports a used variable has
moduleSideEffects
set totrue
(#4867) - Add missing
needsCodeReference
property in TypeScript for asset tree-shaking (#4868) - Add correct side effect configuration for additional Object and Promise methods (#4323)
Merge Requests
- #4323: feat: add known globals (@dnalborczyk)
- #4867: Include side effects of re-exporters unless they have moduleSideEffects: false (@lukastaegert)
-
#4868: Add
needsCodeReference
property toEmittedAsset
(@sapphi-red)
v3.17.1
2023-02-18
Bug Fixes
- Add TypeScript types for
loadConfigFile
(#4853) - Fix an issue that could include unused classes in the bundle if their super class was in a file with
moduleSideEffects: false
(#4866)
Merge Requests
- #4853: feat: export loadConfigFile type (@TrickyPi)
- #4866: Do not mark variable access in files without side effects as TDZ (@lukastaegert)
v3.17.0
2023-02-18
Features
- Deprecate
experimentalDeepDynamicChunkOptimization
and always run the full chunk generation algorithm (#4862)
Bug Fixes
- Fix an issue that caused very slow builds for projects with over 1000 dynamic imports when
experimentalDeepDynamicChunkOptimization
was enabled (#4862)
Merge Requests
- #4862: Improve chunking performance (@lukastaegert)
v3.16.0
2023-02-17
Features
- Support
output.sourcemapIgnoreList
option to mark file sources as ignored in thex_google_ignoreList
attribute of the resulting sourcemap (#4848) - Support sourcemaps where
sourcesContent
containsnull
entries (#4846) - Allow explicitly passing
true
for thecache
option to override Vite's default (#4859)
Bug Fixes
- Fix an issue where unrelated side effects spilled into other chunks when using the
experimentalMinChunkSize
option (#4851)
Merge Requests
- #4846: Update magic-string and adjust types. (@bmeurer)
-
#4848: Introduce
sourcemapIgnoreList
predicate. (@bmeurer) - #4851: Fix chunk graph update when merging chunks for minChunkSize (@lukastaegert)
- #4852: docs: make api params more readable (@cunzaizhuyi)
- #4856: simplify code in includeStatements (@TrickyPi)
- #4859: Allow to pass "true" to InputOptions.cache (@danielrentz)
v3.15.0
2023-02-10
Features
- Do not consider instantiating a constructor a side effect if it adds properties to "this" and is instantiated elsewhere (#4842)
Bug Fixes
- Improve side effect detection in constructors (#4842)
Merge Requests
- #4842: fix: add this option to context.ignore (@TrickyPi)
- #4843: fixed the logo link (@oMatheuss)
- #4844: Update index.md (@cunzaizhuyi)
- #4845: docs: fix style (@TrickyPi)
v3.14.0
2023-02-05
Features
- Add
experimentalDeepDynamicChunkOptimization
option to produce fewer chunks from dynamic imports (#4837)
Merge Requests
- #4837: Add flag to re-enable deep dynamic chunk optimization (@lukastaegert)
- #4839: fix: correct incorrect assertions (@TrickyPi)
v3.13.0
2023-02-03
Features
- Prevent chunk cycles when using
experimentalMinChunkSize
(#4723)
Merge Requests
- #4723: Improve minChunkSize algorithm (@lukastaegert)
- #4833: docs: Fix typo (@mturoci)
- #4835: Tables in docs (@lukastaegert)
v3.12.1
2023-02-01
Bug Fixes
- Handle self-references in class static blocks and construtors when the class is renamed (#4827)
- Improve warnings when creating circular chunks taht reexport variables (#4829)
Merge Requests
- #4827: fix: use the original class name in the class body (@TrickyPi)
- #4829: Improve and fix cross-chunk-reexport warning (@lukastaegert)
- #4830: Add Algolia doc search (@lukastaegert)
- #4831: Add warning not to add assets directly to the bundle (@lukastaegert)
v3.12.0
2023-01-28
Features
- Change generated external namespace reexport helper code for CommonJS to better work with NodeJS named export detection (#4826)
Merge Requests
- #4825: Add and use anchors for nested options (@lukastaegert)
- #4826: Use old namespace reexport code pattern for better Node support (@lukastaegert)
v3.11.0
2023-01-26
Features
- Support opt-in tree-shaking for emitted assets based on code references (#4805)
Bug Fixes
- Adapt documentation references in Rollup to new website (#4807)
Merge Requests
- #4805: feat: add needsCodeReference field to EmittedAsset (@TrickyPi)
- #4807: Rewrite website in Vitepress and merge it into the main repository (@lukastaegert)
- #4816: web-publisher: Update docs/faqs/index.md (@PuruVJ)
- #4819: Replace fs-extra with built-ins (@dnalborczyk)
- #4820: Introduce timeout-minutes in Github actions ci (@dnalborczyk)
- #4822: Tweak document landing page (@sapphi-red)
- #4823: Minor migration guide improvements (@sapphi-red)
- #4824: Add most options to the REPL (@lukastaegert)
v3.10.1
2023-01-20
Bug Fixes
- Fix some crashes when using optional chaining with namespaces and improve tree-shaking (#4812)
- Avoid wrongly removed code when using optional chaining (#4812)
Merge Requests
- #4809: fix: rollup bin file is in dist folder (@saibotsivad)
- #4812: Rework tree-shaking support for optional chaining (@lukastaegert)
v3.10.0
2023-01-12
Features
- Add information about the resolving plugin to resolved ids (#4789)
- Improve treeshaking for optional chaining when the root is nullish (#4797)
Bug Fixes
- Remove unnecessary internal defaults for acorn options (#4786)
Merge Requests
- #4785: Use @jridgewell/sourcemap-codec (@bluwy)
- #4786: Remove default acorn options + other fixes (@dnalborczyk)
-
#4789: feat: add
resolvedBy
field toResolvedId
(@TrickyPi) - #4794: fix: import can be shortened (@cunzaizhuyi)
- #4796: Update dependencies (@lukastaegert)
- #4797: feat: treeshake for optional chaining (@antfu)
v3.9.1
2023-01-02
Bug Fixes
- Sort keys in generated dynamic namespace objects (#4780)
- Do not consider Array.group to be side effect free as the specs have changed (#4779)
Merge Requests
- #4777: Import from node:fs/promises (@dnalborczyk)
- #4778: Bump deps (@dnalborczyk)
- #4779: Remove array grouping (web compat issue) (@dnalborczyk)
- #4780: Sort namespace object keys (@dnalborczyk)
- #4781: Use Set and builtin-modules package (@dnalborczyk)
- #4782: Use more restrictive types (@dnalborczyk)
v3.9.0
2022-12-28
Features
- Support ES2022 arbitrary module namespace identifiers (#4770)
- Add optional
version
property to plugin type (#4771)
Merge Requests
- #4768: Fix small typo in 999-big-list-of-options.md (@ericmutta)
- #4769: docs: add a instruction about how to run one test on your local computer (@TrickyPi)
- #4770: Add support for arbitrary module namespace identifiers (@lukastaegert)
-
#4771: Add
version
property to Plugin type (@Septh)
v3.8.1
2022-12-23
Bug Fixes
- Reduce memory footprint when explicitly passing
cache: false
(#4762) - Fix a crash when preserving modules and reexporting namespaces (#4766)
Merge Requests
- #4762: Improve AST garbage collection (@bluwy)
- #4766: Fix handling of namespace reexports when preserving modules (@lukastaegert)
v3.8.0
2022-12-22
Features
- Deduplicate ESM exports and reexports when preserving modules (#4759)
Bug Fixes
- Handle files that are emitted as a side effect of the manualChunks option (#4759)
Merge Requests
- #4759: feat: deduplicate reexports and renderedExports to simplify output (@TrickyPi)
- #4761: Support emitting files via manualChunks in output (@lukastaegert)
- #4763: docs: update outdated info (@TrickyPi)
v3.7.5
2022-12-17
Bug Fixes
- Avoid name shadowing when default exporting a class that matches the name of another class (#4756)
- Do not display the error message both in a separate line and in the stack trace in rollup CLI (#4749)
- Make type of
RollupWarning.cause
compatible withError.cause
(#4757) - Do not swallow side effects when interacting with modules namespaces nested in another object (#4758)
Merge Requests
-
#4749: feat: simplify
stack
info in cli error (@TrickyPi) - #4756: Avoid name conflicts for default exported classes (@lukastaegert)
- #4757: fix: RollupLog cause allow unknown (@Shinigami92)
- #4758: Correctly handle side effects when a namespace is nested in an object (@lukastaegert)
v3.7.4
2022-12-13
Bug Fixes
- Do not remove calls to
.exec
and.test
for included stateful regular expressions (#4742)
Merge Requests
- #4742: fix: check whether RegExp have the global or sticky flags set (@TrickyPi)
v3.7.3
2022-12-11
Bug Fixes
- Ensure
this.getFileName
no longer returns a placeholder as soon as hash placeholders have been resolved (#4747)
Merge Requests
- #4747: provide hashed file name when using this.getFileName in generateBundle (@lukastaegert)
v3.7.2
2022-12-10
Bug Fixes
- Improve chunk generation performance when one module is dynamically imported by many other modules (#4736)
Merge Requests
- #4736: Improve chunk assignment performance (@lukastaegert)
v3.7.1
2022-12-09
Bug Fixes
- Ad a hint to use @rollup/plugin-json when imports from a JSON file are not found (#4741)
Merge Requests
- #4741: fix: provide json hint when importing a no export json file (@TrickyPi)
v3.7.0
2022-12-08
Features
- Do not treat
.test
and.exec
on regular expressions as side effects (#4737)
Merge Requests
- #4737: feat: add sutiable RegExp prototype methods (@TrickyPi)
v3.6.0
2022-12-05
Features
- extend
this.getModuleInfo
with information about exports (#4731)
Merge Requests
-
#4731: feat: add
exports
andexportedBindings
toModule
class (@TrickyPi)
v3.5.1
2022-12-01
Bug Fixes
- Accept functions returning a config in defineConfig (#4728)
Merge Requests
v3.5.0
2022-11-27
Features
- Add
treeshake.manualPureFunctions
to override static analysis for explicit function names (#4718)
Bug Fixes
- Do not throw when a plugin uses
this.load
without awaiting its result (#4725)
Merge Requests
- #4718: Add simple way to manually declare pure functions (@lukastaegert)
- #4725: Fix isIncluded error when using rollup-plugin-typescript2 (@lukastaegert)
v3.4.0
2022-11-22
Features
- Do not keep unused
Object.freeze
calls on object literals (#4720)
Merge Requests
- #4720: Only consider Object.freeze a side effect if the argument is used (@lukastaegert)
v3.3.0
2022-11-12
Features
- Add "experimentalMinChunkSize" option to merge smaller chunks into larger ones (#4705)
- Automatically deduplicate assets again when the source is a
Buffer
(#4712) - Deduplicate
Buffer
withstring
assets (#4712)
Bug Fixes
- Support plugins with object hooks when using
perf: true
(#4707)
Merge Requests
- #4702: docs: add additional tips for heap out of memory (@benmccann)
- #4705: Allow to define minimum chunk size limit (@lukastaegert)
- #4707: Fix perf timers for object hooks (@lukastaegert)
- #4710: Update terser docs (@nikolas)
- #4712: feat: deduplicate assets with buffer source (@patak-dev)
v3.2.5
2022-11-01
Bug Fixes
- We deconflicting classes, ensure the original class name still does not shadow variables (#4697)
Merge Requests
- #4697: Prevent class ids from shadowing other variables (@lukastaegert)
v3.2.4
2022-10-31
Bug Fixes
- Always use forward slashes in chunk ids when preserving modules, even on Windows (#4693)
- Escape problematic characters in ids when rewriting
import.meta.url
(#4693)
Merge Requests
- #4685: update package-lock version (@jerry-lllman)
- #4689: Update 07-tools.md (@cokert)
- #4693: Use correct import.meta.url slashes on Windows (@lukastaegert)
v3.2.3
2022-10-18
Bug Fixes
- Fix an issue whre Rollup confused
new.target
withimport.meta
(#4679) - Ensure that Rollup does not make assumptions about the value of unknown namespace import members (#4684)
Merge Requests
- #4679: Do not rewrite new.target (@lukastaegert)
- #4683: Remove typo in resolveId documentation (@ChrispyChris)
- #4684: Return correct values for unknown namespace members (@lukastaegert)
v3.2.2
2022-10-16
Bug Fixes
- Do not hang/crash on hashbang comments in input modules (#4676)
Merge Requests
- #4675: refactor: improve & simplify types (@sxzz)
- #4676: Ignore hashhbang comments (@lukastaegert)
v3.2.1
2022-10-16
Bug Fixes
- Rewrite class declarations to preserve their .name property if necessary (#4674)
Merge Requests
- #4674: Preserve rendered class names (@lukastaegert)
v3.2.0
2022-10-15
Features
- Support providing Promises as plugins like Vite (#4671)
Merge Requests
- #4666: Add unicorn plugin (@lukastaegert)
- #4667: refactor: improve types (@sxzz)
- #4668: fix: nested plugin in options stage (@sxzz)
- #4669: refactor: merge duplicate imports (@c0dedance)
- #4670: docs: fix minor typo in migration documentation (@ThisIsMissEm)
- #4671: feat: support async plugins (@sxzz)
v3.1.0
2022-10-12
Features
- Support using arrays of plugins as plugins like Vite (#4657)
Merge Requests
v3.0.1
2022-10-12
Bug Fixes
- Fix installation on Windows (#4662)
- Avoid missing parameters that are only used in a destructuring initializer (#4663)
Merge Requests
- #4661: Enforce type imports (@lukastaegert)
- #4662: fix: missing "node" causes run script error (@c0dedance)
- #4663: Ensure the initializer of a destructuring declaration is always included if the id is included (@lukastaegert)
- #4664: fix: remove lint:js:nofix script redundancy options (@c0dedance)
v3.0.0
2022-10-11
Breaking Changes
General Changes
- Rollup now requires at least Node 14.18.0 to run (#4548 and #4596)
- The browser build has been split into a separate package
@rollup/browser
(#4593) - The node build uses the
node:
prefix for imports of builtin modules (#4596) - Some previously deprecated features have been removed (#4552):
- Some plugin context functions have been removed:
-
this.emitAsset()
: usethis.emitFile()
-
this.emitChunk()
: usethis.emitFile()
-
this.getAssetFileName()
: usethis.getFileName()
-
this.getChunkFileName()
: usethis.getFileName()
-
this.isExternal()
: usethis.resolve()
-
this.resolveId()
: usethis.resolve()
-
- The
resolveAssetUrl
plugin hook has been removed: useresolveFileUrl
- Rollup no longer passes
assetReferenceId
orchunkReferenceId
parameters toresolveFileUrl
- The
treeshake.pureExternalModules
option has been removed: usetreeshake.moduleSideEffects: 'no-external'
- You may no longer use
true
orfalse
foroutput.interop
. As a replacement fortrue
, you can use "compat" - Emitted assets no longer have an
isAsset
flag in the bundle - Rollup will no longer fix assets added directly to the bundle by adding the
type: "asset"
field
- Some plugin context functions have been removed:
- Some features that were previously marked for deprecation now show warnings when used (#4552):
- Some options have been deprecated:
-
inlineDynamicImports
as part of the input options: useoutput. inlineDynamicImports
-
manualChunks
as part of the input options: useoutput. manualChunks
-
maxParallelFileReads
: use `maxParallelFileOps -
output.preferConst
: useoutput.generatedCode.constBindings
-
output.dynamicImportFunction
: use therenderDynamicImport
plugin hook -
output.namespaceToStringTag
: useoutput.generatedCode.symbols
-
preserveModules
as part of the input options: useoutput. preserveModules
-
- You should no longer access
this.moduleIds
in plugins: usethis.getModuleIds()
- You should no longer access
this.getModuleInfo(...).hasModuleSideEffects
in plugins: usethis.getModuleInfo(...).moduleSideEffects
- Some options have been deprecated:
- Configuration files are only bundled if either the
--configPlugin
or the--bundleConfigAsCjs
options are used. The configuration is bundled to an ES module unless the--bundleConfigAsCjs
option is used. In all other cases, configuration is now loaded using Node's native mechanisms (#4574 and #4621) - The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types (#4579)
- Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) (#4579)
- Files in
rollup/dist/*
can only be required using their file extension (#4581) - The
loadConfigFile
helper now has a named export of the same name instead of a default export (#4581) - When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets (#4605)
- Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers (#4609)
- Assets may only be deduplicated with previously emitted assets if their source is a
string
(#4644) - By default, Rollup will keep external dynamic imports as
import(…)
in commonjs output unlessoutput.dynamicImportInCjs
is set to false (#4647)
Changes to Rollup Options
- As functions passed to
output.banner/footer/intro/outro
are now called per-chunk, they should be careful to avoid performance-heavy operations (#4543) -
entryFileNames/chunkFileNames
functions now longer have access to the rendered module information viamodules
, only to a list of includedmoduleIds
(#4543) - The path of a module is no longer prepended to the corresponding chunk when preserving modules (#4565)
- When preserving modules, the
[name]
placeholder (as well as thechunkInfo.name
property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of.js
,.jsx
,.mjs
,.cjs
,.ts
,.tsx
,.mts
, or.cts
(#4565) - The
[ext]
,[extName]
and[assetExtName]
placeholders are no longer supported when preserving modules (#4565) - The
perf
option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm (#4566) - Change the default value of
makeAbsoluteExternalsRelative
to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized (#4567) - Change the default for
output.generatedCode.reservedNamesAsProps
to no longer quote properties likedefault
by default (#4568) - Change the default for
preserveEntrySignatures
to "exports-only" so that by default, empty facades for entry chunks are no longer created (#4576) - Change the default for
output.interop
to "default" to better align with NodeJS interop (#4611) - Change the default for
output.esModule
to "if-default-prop", which only adds __esModule when the default export would be a property (#4611) - Change the default for
output.systemNullSetters
totrue
, which requires at least SystemJS 6.3.3 (#4649)
Plugin API Changes
- Plugins that add/change/remove imports or exports in
renderChunk
should make sure to updateChunkInfo.imports/importedBindings/exports
accordingly (#4543) - The order of plugin hooks when generating output has changed (#4543)
- Chunk information passed to
renderChunk
now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code orChunkInfo.imports/importedBindings/exports
(#4543 and #4631) - Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) (#3846)
Features
- Functions passed to
output.banner/footer/intro/outro
are now called per-chunk with some chunk information (#4543) - Plugins can access the entire chunk graph via an additional parameter in
renderChunk
(#4543) - Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order (#4543)
- The length of generated file hashes can be customized both globally and per-chunk (#4543)
- When preserving modules, the regular
entryFileNames
logic is used and the path is included in the[name]
property. This finally gives full control over file names when preserving modules (#4565) -
output.entryFileNames
now also supports the[hash]
placeholder when preserving modules (#4565) - The
perf
option will now collect (synchronous) timings for all plugin hooks, not just a small selection (#4566) - All errors thrown by Rollup have
name: RollupError
now to make clearer that those are custom error types (#4579) - Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids (#4579)
- Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error (#4579)
- If sourcemaps are enabled, files will contain the appropriate sourcemap comment in
generateBundle
and sourcemap files are available as regular assets (#4605) - Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve (#4609)
- There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export (#4611)
- There is a new value "if-default-prop" for esModule that only adds an
__esModule
marker to the bundle if there is a default export that is rendered as a property (#4611) - Rollup can statically resolve checks for
foo[Symbol.toStringTag]
to "Module" if foo is a namespace (#4611) - There is a new CLI option
--bundleConfigAsCjs
which will force the configuration to be bundled to CommonJS (#4621) - Import assertions for external imports that are present in the input files will be retained in ESM output (#4646)
- Rollup will warn when a module is imported with conflicting import assertions (#4646)
- Plugins can add, remove or change import assertions when resolving ids (#4646)
- The
output.externalImportAssertions
option allows to turn off emission of import assertions (#4646) - Use
output.dynamicImportInCjs
to control if dynamic imports are emitted asimport(…)
or wrappedrequire(…)
when generating commonjs output (#4647)
Bug Fixes
- Chunk hashes take changes in
renderChunk
, e.g. minification, into account (#4543) - Hashes of referenced assets are properly reflected in the chunk hash (#4543)
- No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility (#4624)
- Avoid performance issues when emitting thousands of assets (#4644)
Merge Requests
- #3846: [v3.0] Run output plugins last (@aleclarson)
- #4543: [v3.0] New hashing algorithm that "fixes (nearly) everything" (@lukastaegert)
- #4548: [v3.0] Deprecate Node 12 (@lukastaegert)
- #4552: [v3.0] Remove actively deprecated features, show warnings for other deprecated features (@lukastaegert)
- #4558: [v3.0] Convert build scripts to ESM, update dependencies (@lukastaegert)
- #4565: [v3.0] Rework file name patterns when preserving modules (@lukastaegert)
- #4566: [v3.0] Restructure timings (@lukastaegert)
- #4567: [v3.0] Change default for makeAbsoluteExternalsRelative (@lukastaegert)
- #4568: [v3.0] Change default for output.generatedCode.reservedNamesAsProps (@lukastaegert)
- #4574: [v3.0] Better esm config file support (@lukastaegert)
- #4575: [v3.0] Show deprecation warning for maxParallelFileReads (@lukastaegert)
- #4576: [v3.0] Change default for preserveEntrySignatures to exports-only (@lukastaegert)
- #4579: [v3.0] Refine errors and warnings (@lukastaegert)
- #4581: [v3.0] Use named export for loadConfigFile (@lukastaegert)
- #4592: [v3.0] Port doc changes from #4572 and #4583 to 3.0 (@berniegp)
- #4593: [v3.0] Browser build (@lukastaegert)
- #4596: [v3.0] Use "node:" prefix for imports of node builtins (@lukastaegert)
- #4605: [v3.0] Better sourcemap emission (@lukastaegert)
- #4609: [v3.0] Custom awaiting watch emitter (@lukastaegert)
- #4611: [v3.0] Improve interop defaults (@lukastaegert)
- #4621: [v3.0] Always try to load config files via Node if possible (@lukastaegert)
- #4624: [v3.0] Remove warning when using implicit default export mode (@lukastaegert)
- #4631: [v3.0] Use ASCII characters for hash placeholders (@lukastaegert)
- #4644: [v3.0] Improve performance of asset emissions (@lukastaegert)
- #4646: [v3.0] Basic support for import assertions (@lukastaegert)
- #4647: [v3.0] Keep dynamic imports in CommonJS output (@lukastaegert)
- #4649: [v3.0] Change default for systemNullSetters (@lukastaegert)
- #4651: [v3.0] use compiler target ES2020 (@dnalborczyk)
v2.79.1
2022-09-22
Bug Fixes
- Avoid massive performance degradation when creating thousands of chunks (#4643)
Merge Requests
- #4639: fix: typo docs and contributors link in CONTRIBUTING.md (@takurinton)
- #4641: Update type definition of resolveId (@ivanjonas)
- #4643: Improve performance of chunk naming collision check (@lukastaegert)
v2.79.0
2022-08-31
Features
- Add
amd.forceJsExtensionForImports
to enforce using.js
extensions for relative AMD imports (#4607)
Merge Requests
v2.78.1
2022-08-19
Bug Fixes
- Avoid inferring "arguments" as name for a default export placeholder variable (#4613)
Merge Requests
- #4613: Prevent using arguments for generated variable names (@lukastaegert)
v2.78.0
2022-08-14
Features
- Support writing plugin hooks as objects with a "handler" property (#4600)
- Allow changing execution order per plugin hook (#4600)
- Add flag to execute plugins in async parallel hooks sequentially (#4600)
Merge Requests
- #4600: Allow using objects as hooks to change execution order (@lukastaegert)
v2.77.3
2022-08-11
Bug Fixes
- Correctly resolve preserveModulesRoot in Vite (#4591)
Merge Requests
- #4591: resolve currentPath (@cleverpp)
v2.77.2
2022-07-27
Bug Fixes
- Avoid a rendering failure when mixing outputs with inlined and non-inlined dynamic imports (#4589)
Merge Requests
- #4589: Handle generating non-inlined imports after inlined ones (@lukastaegert)
v2.77.1
2022-07-26
Bug Fixes
- Ensure IIFE output generates a global variable when generating ES5 (#4588)
Merge Requests
- #4577: broken link removed (@Jawad-H)
- #4580: Update dependencies (@lukastaegert)
- #4584: Documentation clarity and syntax improvements (@berniegp)
- #4588: Use var for IIFE (@lukastaegert)
v2.77.0
2022-07-15
Features
- Introduce
maxParallelFileOps
to limit both read and write operations, default to 20 and replacesmaxParallelFileRead
(#4570)
Bug Fixes
- Avoid including variables referenced from return statements that are never reached (#4573)
Merge Requests
- #4570: Introduce maxParallelFileOps to limit parallel writes (@lukastaegert)
- #4572: Document more ways to read package.json in ESM (@berniegp)
- #4573: Do not include unused return expressions (@lukastaegert)
v2.76.0
2022-07-08
Features
- Allow setting a
sourcmapBaseUrl
for absolute paths in sourcemaps (#4527)
Bug Fixes
- Support absolute CLI plugin paths on Windows (#4533)
Merge Requests
- #4527: Add sourcemapBaseUrl option (@nickgarlis)
- #4533: Add support for absolute plugin paths (@ygoe)
- #4538: chore: Included githubactions in the dependabot config (@naveensrinivasan)
- #4546: Adapt Node versions on CI to prepare for v3 (@lukastaegert)
- #4556: Improve error message for invalid patterns (@DysphoricUnicorn)
- #4559: Update dependencies (@lukastaegert)
- #4560: Bump peter-evans/create-or-update-comment from 1 to 2 (@dependabot)
- #4561: Bump peter-evans/find-comment from 1 to 2 (@dependabot)
- #4562: Bump codecov/codecov-action from 1 to 3 (@dependabot)
v2.75.7
2022-06-20
Bug Fixes
- Mark Array.prototype.group/groupToMap as side effect free. (#4531)
Merge Requests
- #4523: chore: remove source map workaround, bump deps (@dnalborczyk)
- #4525: Add regression tests for instanceof (@lukastaegert)
- #4528: chore: Set permissions for GitHub actions (@naveensrinivasan)
- #4531: fix: rename Array.prototype.group/groupToMap (@dnalborczyk)
- #4535: chore: bump resolve from 1.22.0 to 1.22.1 (@pos777)
v2.75.6
2022-06-07
Bug Fixes
- Properly deoptimize "this" when using member expressions with getters/setters in for loops and update expressions (#4522)
Merge Requests
- #4522: Refactor side effect handling for property interactions (@lukastaegert)
v2.75.5
2022-06-01
Bug Fixes
- Avoid crashes when using logical expressions for unused constructor arguments (#4519)
- Fix missing parameter defaults for calls from try statements and functions returned by functions (#4520)
Merge Requests
- #4519: Try to make logical expression deoptimization more robust (@lukastaegert)
- #4520: Roll back parameter default tree shaking (@lukastaegert)
v2.75.4
2022-05-31
Bug Fixes
- Ensure parameter defaults are retained when a function is used as an object property (#4516)
Merge Requests
- #4516: Deoptimize parameter defaults when referenced from object/array/class literals (@lukastaegert)
v2.75.3
2022-05-29
Bug Fixes
- Retain parameter defaults for functions that are defaults themselves (#4515)
- Track mutations for objects as default values (#4515)
Merge Requests
- #4515: Ensure parameter defaults are deoptimized (@lukastaegert)
v2.75.2
v2.75.1
2022-05-28
Merge Requests
- #4513: Update link to node polyfill repo (@lukastaegert)
v2.75.0
2022-05-27
Features
- Re-implement default parameter tree-shaking for top-level functions (#4510)
- Do not consider calling string methods like
.trim()
on template literals a side effect (#4511)
Merge Requests
- #4510: Tree-shake parameter defaults (replaces #4498) (@lukastaegert)
- #4511: Tree-shake side-effect-free string methods on template literals (@lukastaegert)
v2.74.1
2022-05-19
Bug Fixes
- Revert #4498 until some issues are understood and resolved
v2.74.0
2022-05-19
Features
- Remove unneeded default values for function parameters (#4498)
Bug Fixes
- Use a consistent mechanism to resolve the config file to avoid issues on Windows (#4501)
- Avoid an inaccurate warning about an event emitter leak for complicated builds (#4502)
- Ensure that reexporting values from other chunks via dynamic imports does not reference non-imported variables (#4499)
Merge Requests
- #4498: Tree shake parameter defaults (@lukastaegert)
- #4499: Ensure reexports are available for namespaces (@lukastaegert)
- #4501: fix: config path problem on windows (@pos777)
- #4502: Avoid maximum listeners exceeded warning (@lukastaegert)
v2.73.0
2022-05-13
Features
- Do not treat Object.defineProperty/ies as side effect when called on an unused object (#4493)
- Do not assume that assigning a property can create a getter with side effects (#4493)
- Do not treat string.prototype.replace(All) as side effect when used with two literals (#4493)
Bug Fixes
- Detect side effects when manually declaring getters on functions (#4493)
Merge Requests
- #4493: Handle getters on functions and improve property deoptimization (@lukastaegert)
- #4494: Do not treat string.replace as side effect when used with a literal (@lukastaegert)
- #4495: Update docs for --configPlugin using typescript (@Jimmydalecleveland)
v2.72.1
2022-05-07
Bug Fixes
- Improve tree-shaking of classes with super classes in certain scenarios (#4489)
Merge Requests
- #4489: Do not deoptimize entire super class when adding a property (@lukastaegert)
v2.72.0
2022-05-05
Features
- Add CLI hooks to run external commands at certain points in watch mode (#4457)
Bug Fixes
- Fix an issue that could accidentally treat relevant assignments as side effect free (#4486)
Merge Requests
- #4457: feat: CLI event hook flags (@Harris-Miller)
- #4486: Fix reassignment tracking (@lukastaegert)
v2.71.1
2022-04-30
Bug Fixes
- Allow importing loadConfigFile without extension (#4483)
Merge Requests
- #4483: Add exports exception for loadConfigFile (@lukastaegert)
v2.71.0
2022-04-30