12 KiB
date: 2018-04-16
title: "Hugo 0.39: The Nat King Cole Stabilizer Edition"
description: "Hugo 0.39: Rewrite of the /commands package, Resource.Content
, several new template funcs, and more …"
categories: ["Releases"]
Nat King Cole was a fantastic American jazz pianist. When his bass player had visited the bar a little too often, he started with his percussive piano playing to keep the tempo flowing. Oscar Peterson called it "Nat's stabilizers". This release is the software equivalent of that. We have been doing frequent main releases this year, but looking back, the patch releases that followed them seemed unneeded. And looking at the regressions, most of them stem from the commands
package, a package that before this release was filled with globals and high coupling. This package is now rewritten and accompanied with decent test coverage.
But this release isn't all boring and technical: It includes several important bug fixes, several useful new template functions, and Resource.Content
allows you to get any resource's content without having to fiddle with file paths and readFile
.
This release represents 61 contributions by 4 contributors to the main Hugo code base. A shout-out to @bep for the implementation and @it-gro and @RickCogley for the help testing it.
@bep leads the Hugo development with a significant amount of contributions and his witty Norwegian humour, but also a big shoutout to @anthonyfok, @thedodobird2, and @neurocline 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 6 contributions by 5 contributors. A special thanks to @kaushalmodi, @regisphilibert, @bep, and @tomanistor for their work on the documentation site.
Hugo now has:
- 24911+ stars
- 446+ contributors
- 218+ themes
Notes
- The
main.Execute
function now returns aResponse
object and the globalHugo
variable is removed. This is only relevant for people building some kind of API around Hugo. - Remove deprecated
File.Bytes
94c8b29c @bep
Enhancements
Templates
- Add
anchorize
template func 4dba6ce1 @bep - Add
path.Join
880ca19f @bep - Add
path.Split
template func 01b72eb5 @bep
Other
- Implement
Resource.Content
0e7716a4 @bep #4622 - Make
Page.Content
a method that returns interface{} 417c5e2b @bep #4622 - Remove accidental and breaking space in baseURL flag 1b4e0c41 @bep #4607
- Properly handle CLI slice arguments 27a524b0 @bep #4607
- Correctly handle destination and i18n-warnings bede93de @bep #4607
- Allow "*/" inside commented out shortcodes 14c35c8a @bep #4608
- Make commands.Execute return a Response object 96689a5c @bep #4598
- Remove some TODOs e7010c1b @bep #4598
- Add basic server test a7d00fc3 @bep #4598
- Remove the Hugo global b110d0ae @bep #4598
- Make the limit command work again 73825cfc @bep #4598
- Move the commands related logic to its own file a8f7fbbb @bep #4598
- Add CLI tests e8d6ca95 @bep #4598
- Make the hugo command non-global 4d32f2fa @bep #4598
- Extract some common types into its own file 018602c4 @bep #4598
- Make the server command non-global 2f0d98a1 @bep #4598
- Make the gen commands non-global e0621d20 @bep #4598
- Make the list commands non-global e26a8b24 @bep #4598
- Make the import commands non-global 2a2c9838 @bep #4598
- Make the config command non-global 15b1e269 @bep #4598
- Make the new commands non-global 56a13080 @bep #4598
- Make convert command non-global 4b780ca7 @bep #4598
- Make more commands non-global 7bc5e89f @bep #4598
- Make benchmark non-global fdf1d94e @bep #4598
- Start of flag cleaning 1157fef8 @bep #4598
- Use short date format in CLI docs e614d8a5 @bep #4598
- Update README.md fca49d6c @thedodobird2
- Sync dependencies 0e8b3cbc @bep
- Bump Go versions 230f2b8c @bep #4545
- Add bash completion 874159b5 @anthonyfok
- Handle mass content etc. edits in server mode 730b66b6 @bep #4563
Fixes
- Fix
livereload
of bundled pages f3775877 @bep #4607 - Do not reset
.Page.Scratch
on rebuilds 61d52f14 @bep #4627 - Fix failing Travis server test 9c782d51 @bep
- Fix the config command f396cffa @bep #4598
- Fix some flag diff 24d5c219 @bep #4598
- Fix TestFixURL 1e233b1c @bep #4598
- Disable shallow clone to fix TestPageWithLastmodFromGitInfo 094ec171 @anthonyfok #4584
- Fix livereload for the home page bundle f87239e4 @bep #4576
- Fix empty
BuildDate
in "hugo version" 294c0f80 @anthonyfok - Fix some livereload content regressions a4deaeff @bep #4566
- Fix two tests that are broken on Windows 26f34fd5 @neurocline