Releases: 11ty/eleventy
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!
Pre-release: Eleventy v3.0.0-alpha.13
- Fixes to facilitate RSS plugin updates: 80d9f98 and #3320
- Breaking: Changes custom template syntax permalink compilation default to
raw
#2780 - Breaking: Removes advanced
filters
option in HTML<base>
plugin to rename Universal Filters for this plugin (htmlBaseUrl
,addPathPrefixToFullUrl
, andtransformWithHtmlBase
). Renaming filters in this plugin will cause cross-plugin compatibility issues in other places in your project.
Full Changelog: v3.0.0-alpha.12...v3.0.0-alpha.13
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.12
Quick follow-up to fix regression introduced in v3.0.0-alpha.11 with the bundled InputPathToUrl plugin: #3319
Full Changelog: v3.0.0-alpha.11...v3.0.0-alpha.12
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.11
What's Changed
- New
renderTransforms
filter to execute transforms programmatically in non-HTML content (like RSS feeds) #3294- Included automatically with Virtual Template Feeds: 11ty/eleventy-plugin-rss#47
- Support for more extensible custom template syntaxes and aliases. #3298
- Some internal plugins are now unique. Multiple
addPlugin
calls of the same bundled plugins are de-duplicated. This is important as the RSS plugin Adds neweleventyConfig.resolvePlugin
method for more ergonomic plugin import in CommonJS projects. #3314 - Bug fix: InputPathToUrl filter and plugin works with hash: thanks
@mendhak
! #3276 - Synchronous template write, thanks
@shivjm
! #3272 - Restore types in package.json, thanks
@chriskirkneilsen
! #3291
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!
New Contributors
- @fqueze made their first contribution in #3275
- @mendhak made their first contribution in #3276
- @shivjm made their first contribution in #3272
- @chriskirknielsen made their first contribution in #3291
Related
Full Changelog: v3.0.0-alpha.10...v3.0.0-alpha.11
Full Eleventy v3 Milestone: https://github.com/11ty/eleventy/milestone/40
Eleventy v2.0.1: a Bug Fix Release
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: 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
Eleventy v2.0.0: Now with twice as many Possums
🚨 The full release notes are available on The Eleventy Blog: Eleventy v2.0.0 or you can watch me talk about v2.0 on YouTube.
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% faster
npm 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
--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 #2678luxon
from v2 to v3 Release notesmarkdown-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 #2726addFilter
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](https://v2-0-...
Eleventy v2.0.0-beta.3: One solitary serverless bug fix.
What's Changed
- Fixes serverlessFilePath is not defined (2.0.0-beta.2) #2782 by @mrmartineau in #2783
New Contributors
- @mrmartineau made their first contribution in #2783
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
Eleventy v2.0.0-beta.2
The first bug-fix follow up to the long awaited 2.0.0-beta.1.
Features
- Adds
eleventy.env.runMode
to global data. #2770
Bug Fixes
- Fix for Plugin Compatibility Checks on Vite and WebC plugins. #2758
- Fix a large number of issues requiring dev server restart to see content updates. #2773 #2755
- Use
[email protected]
(fixesdomDiff
option): 11ty/eleventy-dev-server#48
Housekeeping
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2