Hugo 0.19 Released: Native Emacs Org-mode Support and Lots of Improvement!

More than 180 contributions by 50 contributors in two months is impressive. The new Hugo 0.19 has plenty of fixes, enhancements and new features.

Grab the binary of your choice here.

Release Notes

We’re happy to announce the first release of Hugo in 2017.

This release represents over 180 contributions by over 50 contributors to the main Hugo code base. Since last release Hugo has gained 1450 stars, 35 new contributors and 15 additional themes.

Hugo now has:

15200+ stars

470+ contributors

151+ themes

Furthermore, Hugo has its own Twitter account (@gohugoio) where we share bite-sized news and themes from the Hugo community.

@bep leads the Hugo development and once again contributed a significant amount of additions. Also a big shoutout to @chaseadamsio for the Emacs Org-mode support, @digitalcraftsman for his relentless work on keeping the documentation and the themes site in pristine condition, @fj for his work on revising the params handling in Hugo, and @moorereason and @bogem for their ongoing contributions.

Highlights

Hugo 0.19 brings native Emacs Org-mode content support ( #1483 ), big thanks to @chaseadamsio .

Also, a considerably amount of work have been put into cleaning up the Hugo source code, in an issue titled Refactor the globals out of site build. This is not immediately visible to the Hugo end user, but will speed up future development.

Hugo 0.18 was bringing full-parallel page rendering, so workarounds depending on rendering order did not work anymore, and pages with duplicate target paths (common examples would be /index.md or /about/index.md ) would now conflict with the home page or the section listing.

With Hugo 0.19 , you can control this behaviour by turning off page types you do not want ( #2534 ). In its most extreme case, if you put the below setting in your config.toml , you will get nothing!:

disableKinds = ["page", "home", "section", "taxonomy", "taxonomyTerm", "RSS", "sitemap", "robotsTXT", "404"]

Other New Features

Add ability to sort pages by frontmatter parameters, enabling easy custom “top 10” page lists. #3022

Add truncate template function #2882

template function #2882 Add now function, which replaces the now deprecated .Now #2882

function, which replaces the now deprecated #2882 Make RSS item limit configurable #3035

Enhancements

Enhance .Param to permit arbitrarily nested parameter references #2598

to permit arbitrarily nested parameter references #2598 Use Page.Params more consistently when adding metadata #3033

more consistently when adding metadata #3033 The sectionPagesMenu feature (“Section menu for the lazy blogger”) is now integrated with the section content pages. #2974

feature (“Section menu for the lazy blogger”) is now integrated with the section content pages. #2974 Hugo 0.19 is compiled with Go 1.8!

is compiled with Go 1.8! Make template funcs like findRE and friends more liberal in what argument types they accept #3018 #2822

and friends more liberal in what argument types they accept #3018 #2822 Improve generation of OpenGraph date tags #2979

Notes

sourceRelativeLinks is now deprecated and will be removed in Hugo 0.21 if no one is stepping up to the plate and fixes and maintains this feature. #3028

Fixes

Fix .Site.LastChange on sites where the default sort order is not chronological. #2909

on sites where the default sort order is not chronological. #2909 Fix regression of .Truncated evaluation in manual summaries. #2989

evaluation in manual summaries. #2989 Fix preserveTaxonomyNames regression #3070

regression #3070 Fix issue with taxonomies when only some have content page #2992

Fix instagram shortcode panic on invalid ID #3048

Fix subtle data race in getJSON #3045

#3045 Fix deadlock in cached partials #2935

Avoid double-encoding of paginator URLs #2177

Allow tilde in URLs #2177

Fix .Site.Pages handling on live reloads #2869

handling on live reloads #2869 UniqueID now correctly uses the fill file path from the content root to calculate the hash, and is finally … unique!

now correctly uses the fill file path from the content root to calculate the hash, and is finally … unique! Discard current language based on .Lang() , go get translations correct for paginated pages. #2972

, go get translations correct for paginated pages. #2972 Fix infinite loop in template AST handling for recursive templates #2927

Fix issue with watching when config loading fails #2603

Correctly flush the imageConfig on live-reload #3016

Fix parsing of TOML arrays in frontmatter #2752

Docs