Skip to content

Eleventy v1.0.0: First!

Compare
Choose a tag to compare
@zachleat zachleat released this 10 Jan 01:51

Eleventy v1.0.0 🎈🐀⚡️

This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×476 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 ❤️.

I really wish I had time to list everyone, but I do want to mention a few folks that have made tremendous contributions:

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

Upgrading from 0.x? Try out the eleventy-upgrade-help plugin.

This will log breaking changes that apply to your project. https://github.com/11ty/eleventy-upgrade-help

Breaking Changes

  • Changes Node requirement to 12+ (previously: 10+)
  • Data Deep Merge is now enabled by default
  • The ordering in the Data Cascade changed slightly: Front Matter in Layout files moved to be lower precedence, below Template and Data Directory Files (but higher than Global Data).
  • liquidjs v9 major version upgrade changes:
    • setLiquidOptions: Eleventy default for dynamicPartials changed to true. Issue #240 Unquoted include paths will need to be updated or revert using dynamicPartials: false
    • setLiquidOptions: Liquid option strict_filters renamed to strictFilters. Issue #1390
    • setLiquidOptions: Eleventy default for strict_filters/strictFilters changed to true. Issue #222
    • Relative path includes (e.g. {% include "./include.liquid" %}) now look relative to the file first, and the includes directory second. Issue #2090
  • ejs v3 major version upgrade changes: Issue #1392
    • Removes <% include /included %> style include, use <%- include('/included') -%> instead. Don’t forget the dash <%- and -%>!
  • .gitignore files outside of your project root are no longer supported when calculating ignored paths in Eleventy. Issue #364
    • ✅ {ROOT}/.gitignore (supported)
    • 🚫 {INPUT_DIR}/.gitignore (not supported)
    • ✅ {ROOT}/.eleventyignore (supported)
    • ✅ {INPUT_DIR}/.eleventyignore (supported)
  • If you rely on the YYYY-MM-DD format in your file names for content dates, these are now assumed to be UTC instead of local dates. Take care if you use liquid’s built-in date format with page.date!
  • browser-sync:
  • Removes the jstl template language. Use 11ty.js instead. Issue #1084
  • Change to dataTemplateEngine: false by default. Issue #174

Please use eleventy-upgrade-help to log breaking changes that apply to your project.

Features

Major

Minor

  • Passthrough Copy now throws an error if two or more files attempt to copy to the same output location. Issue #1677
  • For better URL-safe slugs by default, we now suggest using the new slugify global filter instead of the previous slug. slug is still included for backwards compatiblity. slugify Docs. eleventy-upgrade-help includes a permalink checker to compare slug and slugify output. Issue #278
  • Added support for protocol relative URLs in the url global filter (though technically accurate, using this method is discouraged). Issue #1276
  • New Eleventy supplied data:
  • tags are now de-duped. Issue #1876
  • JavaScript functions in eleventyComputed now have access to global filters.
  • Ignores
  • Configuration: Access to eleventyConfig.dir in plugins. Issue #922
  • Configuration: Events are now Async-friendly
  • Replace chalk dependency with kleur Issue #2113
  • Adds template language-agnostic compilation caching for speeeeed Issue #1529
  • Fixes bug --input=file.njk --output=. would process 0 files. Issue #1129
  • Fixes bug where Eleventy would stop processing templates in watch/serve mode after a compilation error. Issue #1658
  • Front matter parsing errors will now report the filename of the offending file in the error message. Issue #1152
  • Option to opt-out of the browser-sync JavaScript snippet
  • Warning when Transforms that return empty content. Issue #1487
  • Transforms now have access to inputPath Issue #789
  • Shows the preprocessed template engine name on the console for html or md files Issue #1478

Nunjucks

  • Adds eleventyConfig.setNunjucksEnvironmentOptions method. Issue #895
  • Adds eleventyConfig.addNunjucksGlobal method. Issue #1060

Liquid

  • Adds support for asynchronous filters. Issue #831

Milestone

All bug fix issues can be perused at the GitHub milestone:
https://github.com/11ty/eleventy/milestone/32?closed=1

Some internals highlights:

  • Improvements to stability with Nunjucks and shortcodes in {% for %} loops
  • Fix for EMFILE: too many open files errors
  • Use a named browser-sync instance. Issue #1125
  • Switch from fs-extra to graceful-fs

Major Version Dependency Upgrades

These are convenience links provided. Major things of note are summarized in the Breaking Changes section above.

  • liquidjs from 6 to 9, release notes: v7 v8 v9
  • luxon from 1 to 2: (Node 12+ minimum) Upgrade Guide
  • markdown-it from 10 to 12, release notes: v11 v12
  • ejs from 2 to 3. Release notes: v3
  • mustache from 2 to 4. Release notes: v3 v4

THANK YOU NOTES

First-time GitHub contributions from @d2s, @Snugug, @slightlyoff, @max, @valtlai, @harttle, @binyamin, @bnb, @NotWoods, @gobeli, @lxg, @GerHobbelt, @hirusi, @stuartpb, @milahu, @oscarotero, @jakemulley, @tannerdolby, @Snapstromegon, @knokmki612, @mariusschulz, @Holben888, @zidingz, @magua-io, @masguit42, @JKC-Codes, @ThewBear, @CodeFoodPixels, @dgrammatiko, @oscard0m, @monochromer

Gold Sponsors: Sanity.io, Nordhealth, Screen recorder for Mac

Silver Sponsors: Piccalilli, ESLint, Unabridged Software, PQINA, The Coders Guild, Bejamas

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, Ed Spencer, Nicolas Hoizey, Mike Aparicio, Todd Libby, Luke Bonaccorsi, Ben Myers, Katie Sylor-Miller, Mark Buskbjerg, mortendk, Aaron Hans, Lauris Consulting, John Meyerhofer, Ben Hyrman, Keenan Payne, Dimitrios Grammatikogiannis, Devin Clark, Eric Bailey, Dave Rupert, Manuel Matuzovic, Phil Hawksworth, Brian Koser, Tianyu Ge, Vadim Makeev, Kyosuke Nakamura, Hans Gerwitz, Makoto Kawasaki, Horacio Gonzalez, Matthew Tole, Wellness Researched, Ned Zimmerman, Mark Boulton, Søren Birkemeyer, Richard Hemmer, Nick Nisi, Andrew Harvard, shawn j sandy, Takuya Fukuju, John SJ Anderson, Ryan Swaney, Alistair Shepherd, Reach Digital, Ivo Herrmann, Flaki, Kyle Mitofsky, Jenn Schiffer, John Hall, Scott McCracken, James Steinbach, Miriam Suzanne, Bentley Davis, Evan Harrison, Rob Sterlini, vince falconi, Martin Schneider, Stephanie Eckles, Frontend Weekly Tokyo, Higby, Matt DeCamp, Chris Burnell, Ximenav Vf., Juan Miguel, Angelique Weger, 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, Stuart Robson, Jeffrey A Morgan, Joshua Ray, Tim Giles, Brett Nelson, Paul Welsh, Ingo Steinke, Melanie Richards, Rich Holman, Ross Kinney, Lewis Nyman, Dorin Vancea, Marco Zehe, Wes Ruvalcaba, Luc Poupard, Johan Bové, Josh Crain, Entle Web Solutions, Ken Hawkins, Sami Singh, Fershad Irani, Nikita Dubko, Aaron Gustafson, Chris, Ferpection, Benjamin Geese, Maël Brunet, Marcus Relacion, Netin nopeustesti, Bobby Ray, Sia Karamalegos, Christian Miles, Raphael Höser, Cthos, Saneef Ansari, Flemming Meyer, Colin Fahrion, Dan Burzo, Gaston Rampersad, Jon Kuperman, Dan Ott, Mobilemall.pk, Cheap VPS, David Darnes, Jon Roobottom, Dana Byerly, Renkaatsopivasti, Windesol Sähkön Kilpailutus, Luke Mitchell, SignpostMarv, THE PADDING, Bob Monsour, Patrick Byrne, Ara Abcarians, Oisín Quinn, Central Va Insulation, Septic Richmond Va