All Versions
66
Latest Version
Avg Release Cycle
10 days
Latest Release
161 days ago

Changelog History
Page 2

  • v0.76.0 Changes

    October 06, 2020

    In Hugo 0.76.0 you can now have a list of cascade blocks per page and a new _target keyword where you can select which pages to cascade upon using Glob patterns for a Page's Kind, Lang and/or Path:

    title ="Blog"[[cascade]]background = "yosemite.jpg"[cascade.\_target]path="/blog/\*\*"lang="en"kind="page"[[cascade]]background = "goldenbridge.jpg"[cascade.\_target]kind="section"
    

    Tasks that were earlier hard/borderline impossible to do are now simple. One common example would to apply a different template set to nested sections; you can now apply a custom Type to these sections using path="/blog/*/**" and similar.

    πŸ— A related improvement is that the build option render is now an enum. In addition to turning on/off rendering of a given page you can tell Hugo to not render, but you want to preserve the .Permalink, useful for SPA applications.

    This release represents 35 contributions by 8 contributors to the main Hugo code base.@dependabot[bot] leads the Hugo development with a significant amount of contributions, but also a big shoutout to @bep, @ai, and @jmooring for their ongoing contributions.
    πŸ“š And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @davidsneighbour, @coliff and @kaushalmodi for all the great work on the documentation site.

    πŸ“š Many have also been busy writing and fixing the documentation in hugoDocs,
    which has received 11 contributions by 6 contributors. A special thanks to @amdw, @davidsneighbour, @samrobbins85, and @yaythomas for their work on the documentation site.

    Hugo now has:

    Notes

    πŸ”§ We have added a force flag to the server redirects configuration, configuring whether to override any existing content in the path or not. This is inline with how Netlify does it.

    πŸ”§ This is set to default false. If you want the old behaviour you need to add this flag to your configuration:

    [[redirects]]from = "/myspa/\*\*"to = "/myspa/"status = 200force = true
    

    ✨ Enhancements

    Templates

    Other

    πŸ›  Fixes

    Templates

    • πŸ›  Fix grammar in the new 'requires non-zero' error message cd830bb0 @nekr0z

    Other

  • v0.75.1 Changes

    September 15, 2020

    πŸš€ This is a bug-fix release with a couple of important fixes.

    • resources/image: Fix nilpointer for images with no Exif cd00f7f9 @bep #7688
    • πŸ“¦ modules/npm: Preserve the original package.json if it exists 214afe4c @bep #7690
    • tpl: Fix grammar in the new 'requires non-zero' error message cd830bb0 @nekr0z
  • v0.75.0 Changes

    September 14, 2020

    Hugo 0.75.0 brings several improvements to Hugo Modules, a new CLI command to bridge the JavaScript dependencies into Hugo, a refresh of the versions of the most important upstream dependencies, and more.

    NPM Pack

    πŸ“¦ The new CLI command is called hugo mod npm pack. We have marked it as experimental. It works great, go ahead and use it, but we need to test this out in real projects to get a feel of it; it is likely that it will change/improve in the upcoming versions of Hugo. The command creates a consolidated package.json from the project and all of its theme components. On version conflicts, the version closest to the project is selected. We may revise that strategy in the future (minimal version selection maybe?), but this should give both control and the least amount of surprise for the site owner.

    πŸ— So, why did we do this? JavaScript is often a background actor in a Hugo project, and it doesn't make sense to publish it to a NPM registry. The JS dependencies are mostly build tools (PostCSS, TailwindCSS, Babel), devDependencies. This has been working fine as long as you kept the JS config files (including package.json) in the project, adding duplication/work when using ready-to-use theme components. These tools work best when you have everything below a single file tree, which is very much different to how Hugo Modules work. An example of a module with TailwindCSS:

    tailwind-module β”œβ”€β”€ assets β”‚   └── css β”œβ”€β”€ package.json β”œβ”€β”€ postcss.config.js └── tailwind.config.js
    

    If you included tailwind-module in a Hugo project and processed it with PostCSS, this is what happened in earlier versions:

    • It used the directory where the postcss.config.js lives as a starting point to look for any require'd dependency.
    • πŸ”§ TailwindCSS would, on the other hand, load its configuration file relative to where PostCSS was invoked (the project directory).

    πŸ›  The above just doesn't work and here is the technical notes on how we have fixed this:

    • πŸ‘· The new hugo mod npm pack creates a consolidated package.json based on files named package.hugo.json it finds in the dependency tree (one is created for you the first time you run this command). The end result will always be package.json, which works seamlessly with npm install invoked automatically by Netlify and other CI vendors.
    • The main project's node_modules folder is added to NODE_PATH when running PostCSSand Babel.
    • πŸ”§ We have introduced a new mount point assets/_jsconfig where we, by default, mount the JS configuration files that we're interested in. This is where Hugo will start looking for these files, and the files' filenames will also be available in the Node environment, so you can do:

      let tailwindConfig = process.env.HUGO_FILE_TAILWIND_CONFIG_JS || './tailwind.config.js';const tailwind = require('tailwindcss')(tailwindConfig);

    Module Enhancements

    • We have added a noVendor Glob pattern config to the module config d4611c43 @bep #7647. This allows you to only vendor a subset of your dependencies.
    • We have added ignoreImports option to module imports config 20af9a07 @bep #7646, which allows you to import a module and load its config, but not follow its imports.
    • πŸ—„ We have deprecated --ignoreVendor in favour of a --ignoreVendor, a patch matching Glob pattern 9a1e6d15 @bep. A typical use for this would be when you have vendored your dependencies, but want to edit one of them.

    Statistics

    This release represents 79 contributions by 19 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @dependabot[bot], @moorereason, and @jmooring for their ongoing contributions.
    πŸ“š And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @davidsneighbour, @coliff and @kaushalmodi for all the great work on the documentation site.

    πŸ“š Many have also been busy writing and fixing the documentation in hugoDocs,
    which has received 24 contributions by 15 contributors. A special thanks to @jmooring, @bep, @jornane, and @inwardmovement for their work on the documentation site.

    Hugo now has:

    Notes

    • πŸš€ We now build with Go 1.15, which means that we no longer build release binaries for MacOS 32-bit.
    • You may now get an error message about "error calling partial: partials that returns a value needs a non-zero argument.". This error situation was not caught earlier, and comes from a limitation in Go's templates: If you use the return keyword in a partial, the argument you pass to that partial (e.g. the ".") cannot be zero (and 0 and "" is considered a zero argument).

    Templates

    Output

    Other

    πŸ›  Fixes

    Other

  • v0.74.3 Changes

    July 23, 2020

    πŸš€ This is a bug-fix release with a couple of important fixes.

  • v0.74.2 Changes

    July 17, 2020

    πŸš€ This is a bug-fix release with one important fix.

  • v0.74.1 Changes

    July 13, 2020

    πŸš€ This is a bug-fix release with one important fix.

  • v0.74.0 Changes

    July 13, 2020

    Note: The documentation site isn't updated with all of the main new things below. We will get to it soon.

    πŸ‘ This release comes with native JavaScript bundling (and minifier), with import support (from node_modules etc.), tree shaking, scope hoisting for ES6 modules, transpilation of JSX and newer JS syntax down to ES6, JavaScript/JSX and TypeScript/TSX support. And it's very fast. Benchmarks rates it at least 100x faster than the other JavaScript bundlers included. This new feature is backed by the very impressive ESBuild project by @evanw. Many thanks to @remko for the integration work.

    πŸ— A very simple example building a TypeScript file:

    {{ $js := resources.Get "js/main.ts" | js.Build }}
    

    πŸ“š This release also comes with Open API 3-support. This makes it much easier to create "Swagger styled" API-documentation. The below will unmarshal your YAML file into this object graph:

    {{ $api := resources.Get "api/openapi.yaml" | openapi3.Unmarshal }}
    

    Hugo's Asciidoc integration has also gotten a face lift. A big shoutout to @muenchhausen and @bwklein for their work on this.

    And finally, partials can now be defined inline -- and that is way more useful than it sounds.

    This release represents 23 contributions by 9 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @niklasfasching, @bwklein, and @muenchhausen for their ongoing contributions.

    πŸ“š And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @davidsneighbour, @coliff and @kaushalmodi for all the great work on the documentation site.

    πŸ“š Many have also been busy writing and fixing the documentation in hugoDocs,
    which has received 8 contributions by 7 contributors. A special thanks to @OmarEmaraDev, @regisphilibert, @coliff, and @jessicahuynh for their work on the documentation site.

    Hugo now has:

    ✨ Enhancements

    Templates

    Output

    Core

    Other

    πŸ›  Fixes

    Other

  • v0.73.0 Changes

    June 23, 2020

    πŸš€ Again, a release on the small side. Some new features -- one example is that we now support hook templates per section/type, see #7349 -- and some important bug fixes.

    πŸš€ But the most important part of this release is that we have now finally cleaned up the terms used for the taxonomy page kinds. This has made the taxonomy feature in Hugo harder to understand than it needed to be. The old/new values for these are taxonomy => term and taxonomyTerm => taxonomy. We have taken great care to avoid site breakage. See #6911 for more information.

    This release represents 21 contributions by 9 contributors to the main Hugo code base.bjorn.erik.pedersen leads the Hugo development with a significant amount of contributions, but also a big shoutout to helfper, moorereason, and onedrawingperday for their ongoing contributions.
    πŸ“š And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @davidsneighbour, @coliff and @kaushalmodi for all the great work on the documentation site.

    πŸ“š Many have also been busy writing and fixing the documentation in hugoDocs,
    which has received 30 contributions by 14 contributors. A special thanks to christianoliff, bjorn.erik.pedersen, patrick, and hello for their work on the documentation site.

    Hugo now has:

    Notes

    • πŸ“‡ Rename taxonomy kinds from taxonomy to term, taxonomyTerm to taxonomy #6911

    ✨ Enhancements

    Templates

    • tpl/crypto: Add hmac

    Other

    • βœ‚ Remove some old release notes
    • Create robots.txt in the domain root directory #5160#4193
    • πŸ‘‰ Make GroupByParamDate work with string params #3983
    • βž• Add GroupByLastmod #7408
    • πŸ“‡ Rename taxonomy kinds from taxonomy to term, taxonomyTerm to taxonomy #6911#7395
    • βž• Add genDocsHelper mage target
    • Regenerate templates
    • Beautify HTML generated by pagination template #7199
    • βž• Add a nested data dir test
    • πŸ‘‰ Use os.PathError in RootMappingFs.doLstat
    • βœ‚ Remove credit (#7347)
    • πŸ‘ Allow hook template per section/type #7349

    πŸ›  Fixes

    Templates

    • πŸ›  Fix bad rounding in NumFmt #7116

    Other

    • πŸ›  Fix aliases with path in baseURL
    • πŸ›  Fix server data race/nil pointer in withMaps #7392
    • πŸ›  Fix order of GetTerms #7213
    • πŸ›  Fix aliases with uglyURLs
    • πŸ›  Fix crash for closing shortcode with no .Inner set #6857#7330
    • πŸ›  Fix aliases with relativeURLs
    • πŸ›  Fix URL rewrites vs fast render server mode #7357
  • v0.72.0 Changes

    May 31, 2020

    πŸš€ This is a rather small release, its probably main motivation being the fixes in Goldmark's Typographer extension.

    πŸš€ This release also adds redirect and URL rewrite support to the development server, with mostly Netlify-compatible configuration syntax. This is especially useful if you're building a SPA with client-side routing.

    This release represents 13 contributions by 3 contributors to the main Hugo code base.

    πŸ“š Many have also been busy writing and fixing the documentation in hugoDocs,
    which has received 9 contributions by 6 contributors. A special thanks to @faraixyz, @bep, @coliff, and @Leon0824 for their work on the documentation site.

    Hugo now has:

    ✨ Enhancements

    Other

    πŸ›  Fixes

    Other

  • v0.71.1 Changes

    May 25, 2020

    πŸš€ This is a bug-fix release with a couple of important fixes.