Skip to content

Latest commit

Β 

History

History
380 lines (348 loc) Β· 17.3 KB

CHANGELOG.md

File metadata and controls

380 lines (348 loc) Β· 17.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project try to adheres to Semantic Versioning. Go to the v1 branch to see the changelog of Lume 1.

2.2.0 - Unreleased

Added

  • Feed plugin: Add image support #599, #598.
  • New middleware shutdown.
  • Esbuild plugin: support for jsr: specifiers.

Changed

  • For better predictability, the _cache folder is generated in the root folder, instead of src folder.
  • Simplified Esbuild plugin.

Deprecated

  • liquid plugin. It never worked fine with search.pages() #600.

Fixed

  • Updated dependencies: unocss, liquid, postcss-nesting, terser, xml, react, std, sass, preact.
  • FFF plugin: fix getGitDate priority #603.
  • Esbuild plugin:
    • Resolve bare specifiers mapped to npm:.
    • Renamed imports to .js when bundle is false #594.

2.1.4 - 2024-04-17

Added

  • Pagefind plugin: Updated the ui object with the new options introduced in v1.1.0.

Deprecated

  • init.ts file.

Fixed

  • esbuild timeout #591.
  • Updated dependencies: unocss, pagefind, postcss-nesting, sass, terser, vento, std, preact, unocss, liquid, react types, sass, tailwind, magic-string.

2.1.3 - 2024-03-28

Added

  • PostCSS plugin: new option name with the default value postcss #582.
  • date plugin: new formats HUMAN_SINCE and HUMAN_SINCE_STRICT expose formatDistanceToNow and formatDistanceToNowStrict in the date-fns package, so you can refer to the amount of time that has passed since the an article was last written/modified, rather than just the date it was written #589.

Changed

  • Do not ignore the /.well-known folder by default #585.

Fixed

  • Reload site on rename/delete file.
  • Updated dependencies: std, esbuild, lightningcss, unocss, date-fns, cms, eta, katex, liquid, markdown-it, postcss, postcss-import, autoprefixer, preact, sharp, tailwindcss, terser, vento.

2.1.2 - 2024-03-14

Added

  • transform_images plugin: added the .webp extension to the default options.
  • vento plugin: New option plugins to use Vento plugins.
  • Added vento and addVentoPlugin hooks.

Fixed

  • UnoCSS plugin: the async process of adding <style> elements is not awaited #578.
  • Updated dependencies: std, terser, cms, postcss, react types, unocss, vento, date-fns, sass, terser.
  • Replace Sharp with svg2png as the library to convert svg to png.
  • Init script creates always the _cms.ts file.

2.1.1 - 2024-03-01

Fixed

  • Bug on init command generating the _cms.ts file #575
  • Updated dependencies: lightningcss, terser, cms, postcss, postcss-nesting, std, vento, react types.

2.1.0 - 2024-02-22

Added

  • Support x-default for unmatched languages #528 & #532
    • multilanguage plugin
    • sitemap plugin
  • New plugin: fff #529.
  • New plugin: redirects #534.
  • New plugin: og_images #534.
  • New plugin: robots #570.
  • New command lume cms.
  • onDemand plugin: support async extraData function #560, #561.
  • Core: lume:* global events.
  • Core: lume.getWatcher() function.

Changed

  • BREAKING: Removed deprecated --unstable flag to the default lume task. Use the unstable configuration in deno.json.
  • BREAKING: Upgrade date-fns dependency to version 3 #541. This affects to how to import locales in the _config file:
    // Old
    import gl from "npm:date-fns/locale/gl";
    
    // New
    import { gl } from "npm:date-fns/locale/gl";
  • Allow to get value from attribute in CSS query of getDataValue() function #556, #558. See metas plugin for a clear example.
  • favicon plugin: #562
    • Default ico size changed to 48.
    • Add sizes="any" to the svg icon.
    • Place the svg icon at end.
  • logging:
    • URL transformation direction is more visually distinct. #563
    • colors replaced to gray to support terminals that does not support dim colors. #566
  • deno task lume upgrade removes the deno.lock file #527.
  • transform_images plugin: don't enlarge images by default #530.

Fixed

  • Pages filtered with filter_pages plugin are exported to the sitemap.
  • Ensure site.options.server.middlewares array is always defined.
  • Updated dependencies: std, date-fns, lightningcss, vento, terser, autoprefixer, esbuild, sass, unocss, deno-dom, esbuild, postcss, postcss-import, preact, preact-render-to-string, mdx, terser, liquid, react types.
  • site.hooks.addMarkdownItPlugin accepts multiple options
  • cli commands are loaded dynamically.
  • Added missing Lume.Data.nav variable #567.
  • BREAKING: slugify_urls plugin only slugify .html files by default. The reason is to avoid unexpected behaviors like renaming the _headers file #569. Use extensions option to add more file extensions.
  • Bug in multilanguage plugin that add non-html pages in the list of alternates.

2.0.3 - 2024-01-12

Added

  • metas & feed plugins: Suppport for functions to configure the data fields.
  • mdx plugin: New mdx filter #550.

Changed

  • md filter from remark plugin is async.

Fixed

  • esbuild plugin: Fix support for subextensions added to JSX files. For example: file.client.jsx.
  • Conflict between jsx and esbuild plugin with jsx #547.
  • Don't break if env variables are not granted #551.
  • Nested components doesn't work in Vento #552
  • Updated deps: std, unocss, svgo, sass, postcss, postcss-import, vento, tailwindcss, react types, remark, sharp.

2.0.2 - 2024-01-01

Added

  • Add critical log on rare case where developer forget to export the Site instance in the _config.ts

Changed

  • decap_cms plugin: Add a script in the homepage to redirect to /admin/ when an invite token or recovery token is detected from netlify identity.
  • getOptionsFromCli is moved from mod.ts to utils/cli_options.ts #535, #540.

Fixed

  • sitemap plugin: Add the xmlns namespace for localized urls.
  • Files with all caps extensions are ignored #542.
  • multilanguage plugin:
    • Fix error of two pages with the same id, type and lang.
    • Fix the error of a page with lang, but undefined id.
  • Removed unused imagick dependency.
  • Added Lume.PaginateResult type.
  • Apply merge data strategies between multiple _data files/folders in the same folder.
  • Date recovery from Git repositories #544.
  • Updated dependencies: std, esbuild, liquid, postcssNesting, react-dom types, sharp, svgo, vento, tailwindcss, minify_html, unocss, sass.

2.0.1 - 2023-12-10

Added

  • mdx plugin: New rehypeOptions option #517

Fixed

  • lightningcss plugin: use the correct includes folder #523.
  • mdx and remark plugins: improved types.
  • Lume needs Deno >= 1.38.
  • Type of Lume.Data.results.
  • Improved log messages of empty and ondemand pages #525.
  • picture plugin using the wrong attribute name #526.
  • Updated deps: markdown-it, preact, terser, esbuild.

2.0.0 - 2023-12-08

Added

  • New plugin unocss, to replace windi_css.
  • New plugin transform_images, to replace imagick.
  • New option server.root to Site.
  • New basename variable to change the final name of files/directories. #494
  • New function site.getOrCreatePage().
  • Allow to copy files/directories inside ignored directories #520
  • Added generics to search functions. For example: search.pages<PageType>().
  • New environment variable LUME_NOCACHE to disable the cache of the remote files.
  • TOML plugin: New option pageSubExtension with the default value .page.
  • YAML plugin: New option pageSubExtension.
  • JSX plugin: New option pageSubExtension.
  • JSON plugin: New option pageSubExtension.
  • Eta plugin: New option pageSubExtension.
  • Liquid plugin: New option pageSubExtension.
  • Nunjucks plugin: New option pageSubExtension.
  • Pug plugin: New option pageSubExtension.
  • Vento plugin: New option pageSubExtension.
  • Markdown plugin: New option useDefaultPlugins that it's true by default.
  • Postcss plugin: new option useDefaultPlugins that it's true by default.
  • Module plugin:
    • New option pageSubExtension.
    • New option includes
  • MDX plugin:
    • New option useDefaultPlugins that it's true by default.
    • New option recmaPlugins #521.
    • New option includes
  • JSX Preact plugin
    • New option pageSubExtension.
    • New precompile option for faster jsx transform.
  • Pagefind plugin: New option highlightParam.
  • Not found middleware: Added default options.
  • Remark plugin:
    • New option useDefaultPlugins that it's true by default.
    • New option remarkOptions #517 #518.

Changed

  • Revamp of types.
    • Removed core.ts and created types.ts.
    • New global namespace Lume.
    • Use the lib dom and dom.iterable types instead of deno-dom.
  • Changed the signature of process and preprocess to behave like processAll and preprocessAll.
  • Changed the signature of Page.create(). It has a single argument with an object with the page content.
  • Renamed the interface method Engine.renderSync to Engine.renderComponent.
  • Changed the Format interface.
  • Pretty URLs option doesn't affect to the /404.html page by default.
  • Replace fn-date with Temporal polyfill to convert dates.
  • Refactor of Server class to work with Deno.serve() API #501.
  • Renamed core/filesystem.ts to core/file.ts.
  • Picture plugin: Renamed the attribute imagick to transform-images.
  • TOML plugin:
    • is installed by default
    • Changed extensions option type to string[].
  • Slugify URL: Slugify static files by default. #447
  • JSX plugin:
    • Removed window.React #332.
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • NetlifyCMS plugin:
    • Renamed to decap_cms.
    • Changed netlifyIdentity option to identity: "netlify"
  • Markdown plugin: Disable indented code blocks by default #376
  • Postcss plugin: The includes folder is automatically ignored.
  • MDX plugin:
    • Updated to MDX v3.
    • The includes folder is automatically ignored.
  • Module plugin
    • Changed extensions option type to string[].
    • Replaced .tmpl subextension with .page.
    • The includes folder is automatically ignored.
  • Eta plugin
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • JSON plugin
    • Changed extensions option type to string[].
    • Replaced .tmpl subextension with .page.
  • JSX Preact plugin
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • Liquid plugin
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • Nunjucks plugin
    • Disabled by default
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • Pug plugin
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • Vento plugin
    • Enabled by default
    • Changed extensions option type to string[].
    • The includes folder is automatically ignored.
  • Multilanguage plugin
    • Apply the default language to all pages with undefined language.
    • Removed the ability to insert translations in the middle of the data object.
    • The uniqueness of a page is defined by the combination of id + type.
  • SASS plugin: The includes folder is automatically ignored.
  • LightningCSS plugin: The includes folder is automatically ignored.
  • Feed plugin
    • Renamed the option info.date to info.published;
    • Renamed the option item.date to item.published;
    • New option item.updated;

Removed

  • Removed plugin windi_css. Use unocss instead.
  • Removed plugin imagick. Use transform_images instead.
  • Removed output extension detection in the filename: #430
  • Removed processAll and preprocessAll.
  • Removed Page.dest property #290.
  • Removed Page.updateDest function.
  • Removed Page.src.lastModified and Page.src.created because they are already in Page.src.entry.
  • Removed Page.src.remote because it's already in Page.src.entry.
  • Removed Page.src.slug because it's already in Page.data.basename.
  • Removed --dev mode #244, #201. Use the env variable LUME_DRAFTS=true to output draft pages.
  • Removed --quiet argument Use the env variable LUME_LOGS=DEBUG|INFO|WARNING|ERROR|CRITICAL.
  • Removed site.includes() function.
  • Renamed site.searcher to site.search.
  • The pageSubExtension is used only to load pages, but not for layouts, components, etc.
  • Removed site.loadComponents(). It's included in site.loadPages() options.
  • Removed site.engine(). It's included in site.loadPages() options.
  • Removed site.cacheFile()
  • Removed Entry.setContent()
  • Removed message to upgrade Lume.
  • Removed Error class to print the errors. Deno.inspect() is used instead.
  • Removed lume/core/utils.ts and moved all utilities to different files under /lume/core/utils/ folder.
  • Search plugin:
    • Removed returnPageData option. Pages always return the data object #251
    • Removed search.tags() function. Use search.values("tags").
    • Removed data filter.
  • YAML plugin: Changed extensions option type to string[].
  • Removed WindiCSS plugin.
  • Markdown plugin: removed keepDefaultPlugins
  • Postcss plugin: removed keepDefaultPlugins
  • MDX plugin:
    • Removed overrideDefaultPlugins
    • Removed pragma option.
  • Remark plugin: Removed overrideDefaultPlugins option

Fixed

  • Updated dependencies: std, deno_dom, eta, lightningcss, liquidjs, nunjucks types, pagefind, preact, react types, pug, svgo, esbuild, svgo, terser, unocss, vento, xml, postcss, markdown-it-defllist.