Releases: 11ty/eleventy
Eleventy v3.0.0: Possums ❤️ ESM
We did it. After 22 pre-releases and over a year of work, Eleventy 3.0.0 is now available. You can try it out now on your project using:
npm install @11ty/eleventy@latest
If you’re upgrading from a previous version of Eleventy, use the Upgrade Help plugin for automated checks and help with your upgrade!
Why should you use 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.
A few numbers on the best version of Eleventy yet:
Stats | v2.0.1 |
v3.0.0 |
---|---|---|
20% smaller | 35.2 MB | 28.1 MB |
11% fewer dependencies | 213 | 189 |
9% faster npm install | 4.511s* | 4.103s* |
*fastest time of 3 runs (bypassing local cache)
Flagship 3.0 features
- Eleventy is now written in ESM with full support for ESM in your projects: configuration, data files, 11ty.js templates, etc. For many projects this won’t be a breaking change and we’ll continue to support CommonJS too. Every example on the docs now includes both a CommonJS and ESM version. Docs: https://v3.11ty.dev/docs/cjs-esm/
// ESM
export default function(eleventyConfig) {}
// We’ll keep supporting CommonJS:
module.exports = function(eleventyConfig) {}
- Supporting more package managers and runtimes: pnpm, yarn, Deno. More examples on the docs! https://v3.11ty.dev/docs/
- Asynchronous configuration #614 Docs: https://v3.11ty.dev/docs/config/
// ESM
export default async function(eleventyConfig) {}
// CommonJS
module.exports = async function(eleventyConfig) {}
- For-free performance improvement to built-in
slugify
,inputPathToUrl
universal filters (via memoization) #840 Docs: https://v3.11ty.dev/docs/memoize/ - Named
config
export improves consistency for plugins #3246 andset*Directory
configuration API methods #1503 Docs: https://v3.11ty.dev/docs/config-shapes/#optional-export-config-object and https://v3.11ty.dev/docs/config/#configuration-options
export default function(eleventyConfig) {
eleventyConfig.setInputDirectory(".");
eleventyConfig.setOutputDirectory("_site");
};
export const config = {
dir: {
input: ".",
output: "_site"
},
};
- Virtual Templates, configuration API to add content (great for plugins, used by the new RSS plugin!) #1612 Docs: https://v3.11ty.dev/docs/virtual-templates/
export default function(eleventyConfig) {
eleventyConfig.addTemplate("robots.njk", "User-agent: *\nAllow: /", {
permalink: "/robots.txt",
});
};
- IdAttribute plugin adds
id
attributes to headings for on-page anchor links (supports all template-languages) #3363 Docs: https://v3.11ty.dev/docs/plugins/id-attribute/
<h1>Welcome to my web site</h1> becomes <h1 id="welcome-to-my-web-site">Welcome to my web site</h1>
- Plain-text Bundler included: https://v3.11ty.dev/docs/plugins/bundle/
export default function(eleventyConfig) {
eleventyConfig.addBundle("css"); // Adds {% css %} paired shortcode to create per-page CSS bundles
};
- InputPath to URL plugin lets you link directly to an input file path (and we’ll output the right URL) Docs: https://www.11ty.dev/docs/plugins/inputpath-to-url/
<a href="my-template.md">Home</a> becomes <a href="/my-template/">Home</a>
- Use arbitrary JavaScript with the
js
Front Matter #2819 Docs: https://v3.11ty.dev/docs/data-frontmatter/#javascript-front-matter
---js
const hello = "hi";
---
{{ hello }}
page.rawInput
unlocks access to raw template content #1206 https://v3.11ty.dev/docs/data-eleventy-supplied/#page-variableaddPreprocessor
configuration API to modify raw content before rendering works for file ignores and drafts #188 Docs: https://v3.11ty.dev/docs/config-preprocessors/addDateParsing
configuration API to add your own custom date parsing logic #867 Docs: https://v3.11ty.dev/docs/dates/#configuration-api-for-custom-date-parsingeleventyDataSchema
data option to validate data cascade values #879 Docs: https://v3.11ty.dev/docs/data-validate/- Reserved Eleventy properties in data cascade are now frozen #1173 Docs: https://v3.11ty.dev/docs/data-eleventy-supplied/#frozen-data
- Support for asynchronous plugins and async-friendly
addPlugin
configuration API #2675 Docs: https://v3.11ty.dev/docs/plugins/#plugins-are-configuration useLayouts
option for Custom Template Languages allows opt-out of Eleventy Layouts #2830 Docs: https://v3.11ty.dev/docs/languages/custom/#uselayoutsrenderTransforms
Universal Filter will run project transforms on an arbitrary block of content (useful for RSS and other feeds) #3294--incremental=filename.md
on the command line #3324 Docs: https://v3.11ty.dev/docs/usage/#incremental-for-partial-incremental-buildsrenderContent
Universal Filter now included with Render Plugin #3370 Docs: https://v3.11ty.dev/docs/plugins/render/#rendercontent-filter- Dev Server updates including
onRequest
API for handling requests dynamically during development (used with the new Image Transform plugin)
Breaking Changes and Upgrade Path
Rather than navigating this list manually, use the Upgrade Help plugin for automated project checks and upgrade help!
- Requires Node 18 or newer.
- Removes Serverless and Edge plugins.
- Use of bundled Eleventy plugins from CommonJS requires changing
require("@11ty/eleventy")
toawait import("@11ty/eleventy")
for ESM reasons. We provide helpful error messaging for this. pug
,ejs
,haml
,mustache
, andhandlebars
template languages moved from core to official plugins:- Throw errors if
--config=
command line file is missing #3373 - The
htmlOutputSuffix
feature was removed #3327 - Aliased custom templates must be declared in active formats #3302
--formats=
and--formats=""
on command line means no formats (previously aliased to*
) #3255- Custom Template Language
compileOptions.permalink
option changed fromtrue
to"raw"
#2780 - Major semver updates of dependencies:
js-yaml
v3 to v4 Changelog- Better error messaging when using tabs in YAML
- Numbers are now parsed according to YAML 1.2 spec (from 1.1)
@sindresorhus/slugify
v2 to v3 Changelog: Node 12+, Pure ESMbcp-47-normalize
v1 to v2 Changelog: Pure ESMdependency-graph
v0.x to v1 Changelogiso-639-1
v2 to v3 Changelog: Pure ESMmarkdown-it
v13 to v14 Changelog: Pure ESM, removeddist
folder
- Full list of breaking changes
Minutiae
- Packages are now published using npm package provenance.
- The code base is using tabs 😱😈 #3098
Full Eleventy v3 Milestone (177 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Full Changelog: v2.0.1...v3.0.0
Thank You Notes
This release would not have been possible without our community and supporters.
- To everyone that has built something with Eleventy: thank you!
- To everyone that has answered a question about Eleventy: on the Discord, on social media, in GitHub issues or discussion, at your local meetup or coffee shop: thank you!
- To everyone that attended the 11ty Conference earlier this year: thank you!
- To everyone that brought a well-intentioned complaint about something you didn’t like about Eleventy: thank you!
- To everyone that dropped a few nice words of appreciation: thank you!
- To everyone that has supported us and made this release possible: thank you!
Thank you to @bobmonsour, @pdehaan, @Snapstromegon, @cdransf, @5t3ph, @BenDMyers, @siakaramalegos, @shivjm, @dleatherman, @darthmall, @clottman, @nachtfunke, @David-Large, Olivia Nicholson, and @mneumegen for their community contributions!
Thank you for the code contributions from @VividVisions, @mayank99, @Zearin, @chriskirknielsen, @mendhak, @fqueze, @shivjm, @rdela, @w0whitaker, @vrugtehagel, @sachac, @Snapstromegon, @alifeee, @uncenter, @Zwyx, @mayankkamboj47, @aschrab, @jgarber623, @korverdev, @mathertel, @mathieuprog, @epelc, @Ryuno-Ki, @lexoyo, @satgo1546, @KiwiKilian
Eleventy v3.0.0-beta.2: The Final Countdown
What's Changed from 3.0.0-beta.1
- Includes Dev Server v2.0.4:
- https://github.com/11ty/eleventy-dev-server/releases/tag/v2.0.4
- https://github.com/11ty/eleventy-dev-server/releases/tag/v2.0.3
- Add your own headers (e.g. CORS)
- Improvements to DOM Diff algorithm for Declarative Shadow DOM, Custom Elements, inline
<script>
.
- Fix issue with front matter updates on subsequent builds #3397: #3421
- Fix
TemplateContentUnrenderedTemplateError
issue during incremental builds #3410 - Fix wildcard in extensions argument in
.addPreprocessor()
by @vrugtehagel in #3418 - Add support for relative paths in InputPath to URL Plugin #3417
- Commit lockfile for consistent CI by @uncenter in #3100
- fix #3425 import of Liquid.js by @lexoyo in #3426
- fix: encodeURI for passthrough aliases by @satgo1546 in #3346
- Add flag to run event handlers sequentially by @vrugtehagel in #3423
- Add --loader flag to force ESM/CJS mode by @vrugtehagel in #3377
- Fixes conflicts with existing id attributes from IdAttributePlugin #3430
- Adds
filter
callback to IdAttributePlugin #3430 - Adds
eleventyConfig.once
method for events 7a96035 - Fix type of HtmlTransformer plugins attribute by @aschrab in #3403
- Fix: missing logger when a transform returns an empty string
- Internals: adds enabled callback to HtmlTransformer
addPreprocessor
support for11ty.js
and Custom templates (viauseJavaScriptImport
property) in #3452- Better error messaging on templates that output to files without file extensions (with project or data-cascade opt-out) #3399
- Adds
eleventy:id-ignore
opt-out for Id Attribute plugin 98f7edc - Fixes Bundle Plugin to remove nodes that try to use empty bundles: 26c0fcf 11ty/eleventy-plugin-bundle#8
Minutiae
Full Changelog: v3.0.0-beta.1...v3.0.0-beta.2
Full Eleventy v3 Milestone (176 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Pre-release: Eleventy v3.0.0-alpha.20
- Dependency updates, including Dev Server v2.0.4: https://github.com/11ty/eleventy-dev-server/releases/tag/v2.0.4
- Fix: missing
logger
when a transform returns an empty string - Internals: adds
enabled
callback to HtmlTransformer
Minutiae
Full Changelog: v3.0.0-alpha.19...v3.0.0-alpha.20
Full Eleventy v3 Milestone (170 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Pre-release: Eleventy v3.0.0-alpha.19
- Includes Dev Server v2.0.3: https://github.com/11ty/eleventy-dev-server/releases/tag/v2.0.3
- Add your own headers (e.g. CORS)
- Improvements to DOM Diff algorithm for Declarative Shadow DOM, Custom Elements, inline
<script>
.
- Fix issue with front matter updates on subsequent builds #3397: #3421
- Fix
TemplateContentUnrenderedTemplateError
issue during incremental builds #3410 - Fix wildcard in extensions argument in
.addPreprocessor()
by @vrugtehagel in #3418 - Add support for relative paths in InputPath to URL Plugin #3417
- Commit lockfile for consistent CI by @uncenter in #3100
- fix #3425 import of Liquid.js by @lexoyo in #3426
- fix: encodeURI for passthrough aliases by @satgo1546 in #3346
- Add flag to run event handlers sequentially by @vrugtehagel in #3423
- Add --loader flag to force ESM/CJS mode by @vrugtehagel in #3377
- Fixes conflicts with existing id attributes from IdAttributePlugin #3430
- Adds
filter
callback to IdAttributePlugin #3430 - Adds
eleventyConfig.once
method for events 7a96035 - Fix type of HtmlTransformer plugins attribute by @aschrab in #3403
Minutiae
- New Contributors @aschrab @lexoyo @satgo1546
Full Changelog: v3.0.0-alpha.18...v3.0.0-alpha.19
Full Eleventy v3 Milestone (170 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Eleventy v3.0.0-beta.1: ESM like a Phoenix (the mythical bird, not Arizona)
We did it. It’s happening. After 18 alpha pre-releases and over a year of work, our very first beta release of Eleventy 3.0 is now available. We’re still working on shipping documentation for some of these features but you can try it out now on your project using:
npm install @11ty/eleventy@beta
If you’re upgrading, use the Upgrade Help plugin for automated project checks and help!
A few numbers on the best version of Eleventy yet:
Stats | v2.0.1 |
v3.0.0-beta.1 |
---|---|---|
23% smaller | 35.2 MB | 27.1 MB |
6.6% fewer third-party dependencies | 210 | 196 |
21.7% faster npm install | 6.572s* | 5.146s* |
(*fastest time of 3 runs bypassing cache)
🙌🏻🚨 We still need your help! 🚨🙌🏻
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push and head directly to our Open Collective to start your recurring contribution!
Every recurring contribution helps!
Flagship 3.0 features
- Eleventy is now written in ESM with full support for ESM in your projects (#836): configuration, data files, 11ty.js templates, etc. For many projects this won’t be a breaking change and we’ll continue to support CommonJS too. You can read more about what ECMAScript Modules (ESM) means for Eleventy projects on the 11ty Blog.
// ESM
export default function(eleventyConfig) {}
// We’ll keep supporting CommonJS:
module.exports = function(eleventyConfig) {}
- Supporting more package managers and runtimes: Deno, pnpm, yarn (more to come!)
- Asynchronous configuration #614
// ESM
export default async function(eleventyConfig) {}
// CommonJS
module.exports = async function(eleventyConfig) {}
- For-free performance improvement to built-in
slugify
,inputPathToUrl
universal filters (via memoization) #840 - Named
config
export improves consistency for plugins #3246 andset*Directory
configuration API methods #1503
export default function(eleventyConfig) {
eleventyConfig.setInputDirectory(".");
eleventyConfig.setOutputDirectory("_site");
};
export const config = {
dir: {
input: ".",
output: "_site"
},
};
- Virtual Templates, configuration API to add content (great for plugins, used by the new RSS plugin!) #1612
export default function(eleventyConfig) {
eleventyConfig.addTemplate("robots.njk", "User-agent: *\nAllow: /", {
permalink: "/robots.txt",
});
};
- IdAttribute plugin adds
id
attributes to headings for on-page anchor links (supports all template-languages) #3363
<h1>Welcome to my web site</h1> becomes <h1 id="welcome-to-my-web-site">Welcome to my web site</h1>
- Plain-text Bundler included (via
eleventy-plugin-bundle
)
export default function(eleventyConfig) {
eleventyConfig.addBundle("css"); // Adds {% css %} paired shortcode to create per-page CSS bundles
};
- InputPath to URL plugin lets you link directly to an input file path (and we’ll output the right URL)
<a href="my-template.md">Home</a> becomes <a href="/my-template/">Home</a>
- Use arbitrary JavaScript with the
js
Front Matter #2819
---js
const hello = "hi";
---
{{ hello }}
page.rawInput
unlocks access to raw template content #1206addPreprocessor
configuration API to modify raw content before rendering works for file ignores and drafts #188addDateParsing
configuration API to add your own custom date parsing logic #867eleventyDataSchema
data option to validate data cascade values #879- Reserved Eleventy properties in data cascade are now frozen #1173
- Support for asynchronous plugins and async-friendly
addPlugin
configuration API #2675 useLayouts
option for Custom Template Languages allows opt-out of Eleventy Layouts #2830renderTransforms
Universal Filter will run project transforms on an arbitrary block of content (useful for RSS and other feeds) #3294--incremental=filename.md
on the command line #3324renderContent
Universal Filter now included with Render Plugin #3370
Breaking Changes and Upgrade Path
Rather than navigating this list manually, use the Upgrade Help plugin for automated project checks and upgrade help!
- Requires Node 18 or newer.
- Removes Serverless and Edge plugins.
- Use of bundled Eleventy plugins from CommonJS requires changing
require("@11ty/eleventy")
toawait import("@11ty/eleventy")
for ESM reasons. We provide helpful error messaging for this. pug
,ejs
,haml
,mustache
, andhandlebars
plugins moved from core to official plugins- Throw errors if
--config=
command line file is missing #3373 - The
htmlOutputSuffix
feature was removed #3327 - Aliased custom templates must be declared in active formats #3302
--formats=
and--formats=""
on command line means no formats (previously aliased to*
) #3255- Custom Template Language
compileOptions.permalink
option changed fromtrue
to"raw"
#2780 - Major semver updates of dependencies:
js-yaml
v3 to v4 Changelog- Better error messaging when using tabs in YAML
- Numbers are now parsed according to YAML 1.2 spec (from 1.1)
@sindresorhus/slugify
v2 to v3 Changelog: Node 12+, Pure ESMbcp-47-normalize
v1 to v2 Changelog: Pure ESMdependency-graph
v0.x to v1 Changelogiso-639-1
v2 to v3 Changelog: Pure ESMmarkdown-it
v13 to v14 Changelog: Pure ESM, removeddist
folder
- Full list of breaking changes
Minutiae
- Packages are now published using npm package provenance.
- The code base isn’t just ESM, it’s using tabs instead of spaces too 😱😈 #3098
Full Eleventy v3 Milestone (151 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Full Changelog: v2.0.1...v3.0.0-beta.1
Thank You Notes
This release would not have been possible without our community and supporters.
- To everyone that has built something with Eleventy: thank you!
- To everyone that has answered a question about Eleventy: on the Discord, on social media, in GitHub issues or discussion, at your local meetup or coffee shop: thank you!
- To everyone that attended the 11ty Conference earlier this year: thank you!
- To everyone that brought a well-intentioned complaint about something you didn’t like about Eleventy: thank you!
- To everyone that dropped a few nice words of appreciation: thank you!
- To everyone that has chipped in with their hard-earned money and made this release possible: thank you!
Thank you to @bobmonsour, @pdehaan, @Snapstromegon, @cdransf, @5t3ph, @BenDMyers, @siakaramalegos, @shivjm, @dleatherman, @darthmall, @clottman, @nachtfunke, @David-Large, Olivia Nicholson, and @mneumegen for their community contributions!
Thank you for the code contributions from @VividVisions, @mayank99, @Zearin, @chriskirknielsen, @mendhak, @fqueze, @shivjm, @rdela, @w0whitaker, @vrugtehagel, @sachac, @Snapstromegon, @alifeee, @uncenter, @Zwyx, @mayankkamboj47, @aschrab, @jgarber623, @korverdev, @mathertel, @mathieuprog, @epelc, and @Ryuno-Ki.
Pre-release: Eleventy v3.0.0-alpha.18
- Published with npm package provenance for improved auditing and security #3392
- Pre-release 3.0-compatible plugins for Pug, EJS, Handlebars, Mustache, and HAML are now available: https://github.com/11ty/eleventy-plugin-template-languages
- Upgrade Helper plugin for 3.0 now available: https://github.com/11ty/eleventy-upgrade-help
- New
eleventyConfig.setLiquidParameterParsing("builtin")
API provides a path forward to opt-in to Liquid’s built-in parameter parser #2679 - New
renderContent
Universal Filter provided by the Render Plugin allows rendering an arbitrary string of template content #3370 - Missing file name passed as
--config
on command line now throws an error: #3373 - Fix to deep merge objects passed to
eleventyConfig.addGlobalData
#3389 - Fix internal error when folks try to pass non-function to
addFilter
,addShortcode
configuration API methods #3385 - TypeScript improvements for types in configuration API #3097
- Fix issue with error message on SIGINT server close, removes
process.exit
calls for a graceful stop #3361 #3375 - Fix bug with async config and manual use of RenderPlugin #3368
Full Changelog: v3.0.0-alpha.17...v3.0.0-alpha.18
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
🥳🥳🥳 2 issues left (150 closed) on the Eleventy 3.0.0 milestone!
We need your help!
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push or head directly to our Open Collective to start your recurring contribution!
Pre-release: Eleventy v3.0.0-alpha.17
- Adds new
eleventyConfig.addPreprocessor
API for improved drafts workflow #188 Workaround for Nunjucks macros import #3345 - New
IdAttributePlugin
addsid
attributes to headings across multiple template syntaxes #3363 - Fix npm audit deprecation warnings from
recursive-copy
package #3299 - Missing layout error messaging now reports the template path #727
- Add
{ type: "async" }
option forgetShortcodes
,getFilters
, andgetPairedShortcodes
configuration API methods (#3310) - Fix issue with more complex
export
in11ty.js
templates #3359 - Small tweaks to colorized terminal text
- Internals: removes
multimatch
dependency, swaps to already in-usemicromatch
9698667 - Fix bug with Eleventy Image On-request workflow
eleventyConfig.getFilter(...) is not a function
#3365 - Improvements to benchmarking debug mode outputs: https://www.11ty.dev/docs/debug-performance/
- Benchmarking logging output improvement for minimum thresholds #1570
Full Changelog: v3.0.0-alpha.16...v3.0.0-alpha.17
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
🥳🥳🥳 5 issues left (137 closed) on the Eleventy 3.0.0 milestone!
We need your help!
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push or head directly to our Open Collective to start your recurring contribution!
Pre-release: Eleventy v3.0.0-alpha.16 (feel free to ignore this one)
- Seeing a
liquidjs
-related project regression (outside of our test suite) in the newest minor version, temporarily reverting from10.15
to10.14
.- Investigation at #3356 revealed an application code error and the revert is unnecessary!
Full Changelog: v3.0.0-alpha.14...v3.0.0-alpha.15
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
We need your help!
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push or head directly to our Open Collective to start your recurring contribution!
Pre-release: Eleventy v3.0.0-alpha.15
- BREAKING: Bump js-yaml dependency from v3 to v4 #2126
- Full js-yaml@v4 release notes: https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md#400---2021-01-03
- New
node
front matter has been renamed tojs
andjavascript
(keeping backwards compatibility with previous JavaScript object literal front matter type) #2819 (node
is still there, but it should be considered deprecated) - Support for
pnpm
#2876 - Add support for
11ty.js
in Virtual Templates: #3347 - Add support for Virtual Templates to be used as Eleventy Layouts #1612 #2307
- Memoize internal
slug
,slugify
, andinputPathToUrl
filters #840 - Improved error messaging for filters/shortcodes #3286
- Adds new
eleventyConfig.getFilters
eleventyConfig.getShortcodes
, andeleventyConfig.getPairedShortcodes
methods for plugins and custom template languages to access universal filters/shortcodes #3310 - New
eleventyConfig.augmentFunctionContext
config API to help withthis.eleventy
andthis.page
on shortcodes/filters in plugins #3355 - Adds
eleventyConfig.addDateParsing
configuration API to customize date parsing #867 - Fix regression with JavaScript dependencies cache-busting in 11ty.js Layout files #3338
- Fix regression with markdown engine simple aliases (without additional options) still using preprocessing engine #3339
- PR: replace
index.d.ts
with jsdoc@typedef
by @mayank99 in #3349 - PR: refactor: Use
?.
for terser conditionals by @Zearin in #3343
Full Changelog: v3.0.0-alpha.14...v3.0.0-alpha.15
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
🥳🥳🥳 5 issues left (122 solved) on the Eleventy 3.0.0 milestone!
We need your help!
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push or head directly to our Open Collective to start your recurring contribution!
Pre-release: Eleventy v3.0.0-alpha.14
- Adds support for
--incremental=filename
to start an incremental build with an explicitly defined incremental file. Major improvements to dependency mapping for incremental builds (especially with--ignore-initial
) #3324 - New
useLayouts
option for Custom template syntax allows opt-out of Eleventy Layouts for custom template files in youraddExtension
definition (you don’t want Layouts onscss
files) #2830 - Fixes bugs with cached second-order JavaScript dependencies (e.g. a local import in your config file) #3270
eleventyConfig.resolvePlugin
method for adding bundled-with-Eleventy plugins is now synchronous-friendly for better compatibility with RSS plugin usage: #3314 (comment)- Breaking: Removes
htmlOutputSuffix
common pitfall wheninput
andoutput
directories are the same. Instead of renaming output files with an additional suffix, errors are now thrown when output files attempt to overwrite any input file. #3327 eleventyConfig.quietMode
now reflects--quiet
CLI value #3316- Improved error messaging for errors in: Nunjucks filters #3295 and Acorn parsing for JavaScript dependencies for --watch or --serve #3128
Full Changelog: v3.0.0-alpha.13...v3.0.0-alpha.14
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
🥳🥳🥳 10 issues left (107 solved) on the Eleventy 3.0.0 milestone!
We need your help!
11ty is now operating independently, with full time development and maintenance funded by our Open Collective supporters. We need your help to keep going! We have a goal of $6000 USD recurring monthly budget. Read more about this fundraising push or head directly to our Open Collective to start your recurring contribution!