@bep bep released this Dec 24, 2018 · 22 commits to master since this release

Assets 30

From all of us to all of you, a very Merry Christmas -- and Hugo 0.53!

The main new features in this release are:

  • You can now split your configuration into directories per environment. Hugo did support multiple configuration files before this release, but it was hard to manage for bigger sites, especially those with multiple languages. With this we have also formalized the concept of an environment; the defaults are production (when running hugo) or development (when running hugo server) but you can create any environment you like. We will update the documentation, but all the details are in this issue. Also, see this PR for how the refactored configuration for the Hugo website looks like.
  • transform.Unmarshal (see the documentation is a new and powerful template function that can turn Resource objects or strings with JSON, TOML, YAML or CSV into maps/arrays.
  • Two new global variables in site and hugo. hugo gives you version info etc. ({{ hugo.Version }}, {{ hugo.Environment }}), but the site is probably more useful, as it allows you to access the current site's variables (e.g. {{ site.RegularPages }}) without any context (or ".").

This version is also the fastest to date. A site building benchmark shows around 10% faster, but that depends on the site. The important part here is that we're not getting slower. It’s quite a challenge to consistently add significant new functionality and simultaneously improve performance. It's like not gaining weight during Christmas. We also had a small performance boost in version 0.50. A user then reported that his big and complicated site had a 30% reduction in build time. This is important to us, one of the core features. It's in the slogan: "The world’s fastest framework for building websites."

This release represents 37 contributions by 5 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @moorereason, @coliff, and @jfyuen for their ongoing contributions. And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 19 contributions by 8 contributors. A special thanks to @bep, @kaushalmodi, @peaceiris, and @moorereason for their work on the documentation site.

Hugo now has:

Notes

  • The hugo benchmark command is removed
  • We now do not publish transformed inline resources, e.g. minified CSS only accessed via .Content., e.g. {{ ($css | minify).Content }}. Before this version, the minified CSS in that example would be copied to /public, which was never the intention. If you want that, you need to access either .RelPermalink or .Permalink.

Enhancements

Templates

Core

Other

Fixes

Templates

Other

@bep bep released this Nov 28, 2018 · 70 commits to master since this release

Assets 30

The two big new items in this release is Inline Shortcodes and Consolidated File Caches. In Hugo we really care about build speed, and caching is important. With this release, you get much better control over your cache configuration, which is especially useful when building on a Continous Integration server (Netlify, CircleCI or similar). Inline Shortcodes was implemented to help the Bootstrap project move their documentation site to Hugo. Note that this feature is disabled by default. To enable, set enableInlineShortcodes = true in your site config. Worth mentioning is also the new param shortcode, which looks up the param in page front matter with the site's parameter as a fall back.

This release represents 33 contributions by 7 contributors to the main Hugo code base.
@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @moorereason, @emirb, and @allizad for their ongoing contributions.
And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 10 contributions by 4 contributors. A special thanks to @budparr, @bep, @allizad, and @funkydan2 for their work on the documentation site.

Hugo now has:

Enhancements

Templates

Core

Other

Fixes

Templates

Other

@bep bep released this Nov 7, 2018 · 109 commits to master since this release

Assets 30

Hugo reached 30 000 stars on GitHub this week, which is a good occasion to do a follow-up release of the great Hugo 0.50. This is mostly a bug fix release, but it also adds some useful new functionality, two examples are the new template funcs complement and symdiff. This release also continues the work on improving Hugo's error messages. And with .Position now available on shortcodes, you can also improve your own error messages inside your custom shortcodes:

{{ with .Get "name" }}
{{ else }}
{{ errorf "missing value for param 'name': %s" .Position }}
{{ end }}

When the above fails, you will see an ERROR log similar to the below:

ERROR 2018/11/07 10:05:55 missing value for param name: "/sites/hugoDocs/content/en/variables/shortcodes.md:32:1"

This release represents 31 contributions by 5 contributors to the main Hugo code base.
@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @krisbudhram, @LorenzCK, and @coliff for their ongoing contributions.
And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 6 contributions by 5 contributors. A special thanks to @ikemo3, @maiki, @morya, and @regisphilibert for their work on the documentation site.

Hugo now has:

Notes

Enhancements

Templates

Core

Other

Fixes

Templates

Output

Core

Other

@bep bep released this Oct 29, 2018 · 146 commits to master since this release

Assets 30

Hugo 0.50 brings greatly improved error messages, and we now also show them in the browser. Having error messages with filename, line- and column number greatly simplify troubleshooting. Many editors (like VS Code) even let you click and navigate directly to the problematic line. If your editor requires a different log format, you can set it via the HUGO_FILE_LOG_FORMAT OS environment variable:

env HUGO_FILE_LOG_FORMAT="\":file::line::col\"" hugo server

But this release isn't all about error handling. Getting line- and column number into "every" error also meant that we had to consolidate and simplify some code paths, which, as a nice side effect, made Hugo a little bit faster. Benchmarks show it running about 5% faster and consume about 8% less memory.

Also, we have now implemented "render on demand" in Hugo's Fast Render Mode (default when running hugo server). This means that you should now always see updated content when navigating around the site after a change.

This release represents 88 contributions by 14 contributors to the main Hugo code base.
@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @moorereason, @anthonyfok, and @GregorioMartinez for their ongoing contributions.

And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 14 contributions by 9 contributors. A special thanks to @bep, @NotWoods, @Nick-Rivera, and @tomanistor for their work on the documentation site.

Hugo now has:

Notes

  • You should not get stale content in Fast Render Mode anymore.
  • Errors will now show up in the browser by default, turn it off by running hugo server --disableBrowserError
  • jsonify will now produce pretty/indented output

Enhancements

Templates

Core

Other

Fixes

Templates

Core

Other

@bep bep released this Oct 10, 2018 · 253 commits to master since this release

Assets 30

This is a bug-fix release with a 2 related fixed. This was introduced in Hugo 0.49. The most notable error situation was that resources.Concat could fail in some situations.

@bep bep released this Sep 24, 2018 · 259 commits to master since this release

Assets 30

Hugo 0.49 brings directory based archetypes and also improves the language handling in hugo new. This should simplify working with page bundles. One example of this would be how you now can create a new showcase for the Hugo web site.

But this release is also about collections. Go 1.11 gave us variable overwrite support in Go templates. That made it possible to simplify a lot of template constructs, but it also showed some limitations in Hugo's template functions. So with this release we have:

  • added append function to append to collections.
  • added group to create custom page groups.
  • improved the type support in slice.

This release represents 66 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 @moorereason, @felicianotech, and @vdanjean for their ongoing contributions.
And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 37 contributions by 20 contributors. A special thanks to @bep, @kaushalmodi, @AlexChambers, and @shaform for their work on the documentation site.

Hugo now has:

Notes

  • Remove deprecated rssURI f1a00b20 @bep
  • Remove deprecated flags df4cbbd3 @bep
  • Deprecate Pages.Sort. Use .ByWeight 2e2e34a9 @bep
  • When setting preserveTaxonomyNames Hugo now really preserves them. Before this release, we would make the first character upper case. If this is the behaviour you want you can use the new strings.FirstUpper function.

Enhancements

Templates

Core

Other

Fixes

@bep bep released this Aug 29, 2018 · 338 commits to master since this release

Assets 30

Hugo 0.48 is built with the brand new Go 1.11. On the technical side this means that Hugo now uses Go Modules for the build. The big new functional thing in Go 1.11 for Hugo is added support for variable overwrites. This means that you can now do:

{{ $var := "Hugo Page" }}
{{ if .IsHome }}
{{ $var = "Hugo Home" }}
{{ end }}
Var is {{ $var }}

The above may look obvious, but has not been possible until now. In Hugo we have had .Scratch as a workaround for this, but Go 1.11 will help clean up a lot of templates.

This release represents 23 contributions by 5 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @anthonyfok, @vsopvsop, and @moorereason for their ongoing contributions. And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 15 contributions by 12 contributors. A special thanks to @bep, @kaushalmodi, @regisphilibert, and @anthonyfok for their work on the documentation site.

Hugo now has:

Enhancements

Fixes

@bep bep released this Aug 20, 2018 · 362 commits to master since this release

Assets 29

This is a bug-fix release with two fixes.

Fixes

Updates to Linux Snap build

@bep bep released this Aug 17, 2018 · 371 commits to master since this release

Assets 29

Hugo 0.47 is named Hugo Reloaded. It adds minification support for the final rendered output (run hugo --minify), but it is mostly a bug fix release. And most notably, it fixes a set of issues with live-reloading/partial rebuilds when running hugo server. Working with bundles should now be a more pleasant experience, to pick one example.

This release represents 35 contributions by 6 contributors to the main Hugo code base.
@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @satotake, @anthonyfok, and @coliff for their ongoing contributions.

And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 21 contributions by 10 contributors. A special thanks to @bep, @aapeliv, @regisphilibert, and @brentybh for their work on the documentation site.

Hugo now has:

Enhancements

Templates

Output

Other

Fixes

Templates

Output

Core