๐จ 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
โ ๏ธ Rather than review this list, itโd be faster to use the 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, ๐ Filters, ๐ Linters, and ๐ Transformspage
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: 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?
Pull Requests From
@AleksandrHovhannisyan ๐, @amareshsm ร2 ๐, @binyamin, @DamianOsipiuk ๐, @epelc ร2 ๐, @j-f1 ๐, @Jaza ๐, @kentaroi ๐, @kev4ev ๐, @LeoSchae ๐, @milahu ร3, @nasivuela ๐, @NickColley ๐, @NotWoods, @Obayanju ๐, @Snapstromegon ร16 (wow! ๐คฏ), @TheDocTrier ๐, @thinkverse ๐, @TigersWay ๐, @wes-goulet ๐, @mrmartineau ๐, @danburzo ๐
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