Changelog History
Page 6
-
v0.58.1 Changes
September 06, 2019π This is a bug-fix release with a couple of important fixes.
- Avoid writing the same processed image to /public twice 9442937d @bep #6307
- hugolib: Fix broken bundle live reload logic 901077c0 @bep #6315#6308
- β‘οΈ deps: Update github.com/bep/gitmap 24ad4295 @bep #6313
- π Fix concat with fingerprint regression 3be2c253 @bep #6309
- π tpl: Remove eq argument limitation 5e660947 @vazrupe #6237
-
v0.58.0 Changes
September 04, 2019Hugo 0.58 adds the long sought after Exif (docs) method on image and a bunch of useful image filters (docs), courtesy of @disintegration's great Gift image library.
This means that you now can do variations of this:
{{ $blurryGrayscale := $myimage.Resize "300x200" | images.Filter images.Grayscale (images.GaussianBlur 8) }} {{ $exif := $myimg.Exif }}
It's worth noting that the issue that enabled/triggered the implementation of the above was the simplifications needed to fix #5903, which makes sure that type information is preserved when processed via Hugo Pipes. E.g. you can now do:
{{ ($myimg | fingerprint ).Width }}
And it works as expected.
This release is also built with the brand new Go 1.13 which means that it's also the fastest Hugo version to date.
This release represents 39 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 @niklasfasching, @vazrupe, and @jakejarvis 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 8 contributions by 8 contributors. A special thanks to @jacebenson, @digitalcraftsman, @jernst, and @rgwood for their work on the documentation site.Hugo now has:
- 37859+ stars
- 440+ contributors
- 317+ themes
Notes
- π
home.Pages
now behaves like all the other sections, see #6240. If you want to list all the regular pages, use.Site.RegularPages
. - π We have added some new image filters to Hugo's image processing. This also means that we have consolidated the resize operations to use the one
gift
library (from the same developer as the one we used before). The operations work as before, but one difference is that we no longer embed ey color profile information in PNG images, but this should also be a more portable solution. Software that supports color profiles will assume that images without an embedded profile are in the sRGB profile. Software that doesn't support color profiles will use the monitor's profile, which is most likely to be sRGB as well. - We have improved the file cache logic for processed images and only stores them once when the same image is bundled in multiple languages. This means that you may want to run
hugo --gc
to clean your image cache.
β¨ Enhancements
Templates
- Migrate last shortcodes (YouTube and Vimeo) to HTTPS embeds 00297085 @jakejarvis
- π Use RegularPages for RSS template 88d69936 @bep #6238
- β Avoid "home page warning" in RSS template 564cf1bb @bep #6238
Core
- β Adjust Go version specific test dc3f3df2 @bep #6304
- β Remove the old and slow site benchmarks 28501ceb @bep
- β Add a Sass includePaths test 1b5c7e32 @bep #6274
- π Change to output non-panic error message if missing shortcode template fd3d90ce @vazrupe #6075
- β Don't use the global warning logger ea681603 @bep #6238
- π Allow index.md inside bundles 4b4bdcfe @bep #6208
- β Add a site benchmark 416493b5 @bep
- π² Recover and log panics in content init 7f3aab5a @bep #6210
- β Add some outputs tests 028b9926 @bep #6210
Other
- β‘οΈ Update to Go 1.13 b4313011 @bep #6304
- Cache processed images by their source path 8624b9fe @bep #6269
- β Remove test artifact 018494f3 @bep
- π Make the "is this a Hugo Module" logic more lenient 43298f02 @bep #6299
- β‘οΈ Update to Go 1.11.13 and 1.12.9 05d83b6c @bep #6228
- π Make home.Pages work like any other section 4898fb3d @bep #6240
- β Add some fingerprint tests 45d7988f @bep #6284#6280
- Cache Exif data to disk ce47c21a @bep #6291
- β Remove metaDataFormat setting de9cbf61 @bep
- π Make the Exif benchmark filenames distinct 4f501169 @bep
- β Add Exif benchmark 3becba7a @bep #6291
- β Remove unused map type 20bdc69a @bep
- β Add image.Exif 28143397 @bep #4600
- β Add a set of image filters 823f53c8 @bep #6255
- π¨ Image resource refactor f9978ed1 @bep #5903#6234#6266
- β Remove debug check left during development ad1d6d64 @bep #6249
- 0οΈβ£ Adjust the default paginator for sections 18836a71 @bep #6231
- β‘οΈ Update to Go 1.11.13 and 1.12.9 f28efd35 @bep #6228
- Disable "auto tidy" for now 321418f2 @bep #6115
- π Make sure the hugo field is always initialized before it's used ea9261e8 @vazrupe #6193
π Fixes
Core
- π Fix draft etc. handling of _index.md pages 6ccf50ea @bep #6222#6210
- π Fix taxonomies vs expired 9475f61a @bep #6213
Other
-
v0.57.2 Changes
August 17, 2019Hugo 0.57.0 had some well-intended breaking changes. And while they made a lot of sense, one of them made a little too much noise.
π This release reverts the behavior for
.Pages
on the home page to how it behaved in 0.56, but adds aWARNING
telling you what to do to prepare for Hugo 0.58.In short,
.Page
home will from 0.58 only return its immediate children (sections and regular pages).π In this release it returns
.Site.RegularPages
. So to prepare for Hugo 0.58 you can either use.Site.RegularPages
in your home template, or if you have a generallist.html
or RSS template, you can do something like this:{{- $pctx := . -}} {{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} {{- $pages := $pctx.RegularPages -}}
- tpl: Use RegularPages for RSS template 88d69936 @bep #6238
- β hugolib: Don't use the global warning logger ea681603 @bep #6238
- β tpl: Avoid "home page warning" in RSS template 564cf1bb @bep #6238
- hugolib: Allow index.md inside bundles 4b4bdcfe @bep #6208
- 0οΈβ£ Adjust the default paginator for sections 18836a71 @bep #6231
- hugolib: Add a site benchmark 416493b5 @bep
- β‘οΈ Update to Go 1.11.13 and 1.12.9 f28efd35 @bep #6228
-
v0.57.1 Changes
August 15, 2019π This is a bug-fix release with a couple of important fixes.
- hugolib: Fix draft etc. handling of _index.md pages 6ccf50ea @bep #6222#6210
- π Fix mainSections logic 67524c99 @bep #6217
- π Fix live reload mount logic with sub paths 952a3194 @bep #6209
- modules: Disable "auto tidy" for now 321418f2 @bep #6115
- π² hugolib: Recover and log panics in content init 7f3aab5a @bep #6210
- β hugolib: Add some outputs tests 028b9926 @bep #6210
- hugolib: Fix taxonomies vs expired 9475f61a @bep #6213
- commands: Make sure the hugo field is always initialized before it's used ea9261e8 @vazrupe #6193
-
v0.57.0 Changes
August 14, 2019Hugo 0.57 brings Cascading Front Matter , Alphabetical Sorting , Resources Loading from Assets with Wildcards. And more.
Cascading Front Matter : We have added a new and powerful
cascade
keyword to Hugo's front matter. This can be added to any index node in_index.md
. Any values incascade
will be merged into itself and all the descendants.title: "My Blog"icon: "world.png"cascade: icon: "flag.png"outputs: ["HTML"]type: "blog"
It's worth noting that the
cascade
element itself will also be merged. Also, to grasp the full value of this feature, remember that front matter in Hugo is both data and behaviour : You can tell Hugo how to process a subset of the pages (some example keywords arelayout
,type
,outputs
,weight
) using thecascade
keyword, e.g. "I want this subsection to be rendered in both theHTML
andCalendar
Output Formats".π This feature is created by@regisphilibert and @bep See #6041 for details.
π± Resources Loading from Assets with Wildcards : We have added two new sought after template functions to the
resources
namespace:resources.Match
andresources.GetMatch
. These behaves like their namesake methods onPage
(with super-asterisk wildcard support), but searches in all the resources in Assets. E.g.{{ $prettyImages := resources.Match "images/**pretty.jpg" }}
will give a slice of all "pretty pictures". Another relevant example:{{ $js := resources.Match "libs/*.js" | resources.Concat "js/bundle.js" }}
.π Performance: In general, this version is slightly faster and more memory effective. In particular, we have fixed a performance issue with the replacer step that greatly improves the build speed of certain large and content-rich sites (thanks to @vazrupe for the fix).
This release represents 46 contributions by 8 contributors to the main Hugo code base.@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @muesli, @XhmikosR, and @vazrupe 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 13 contributions by 7 contributors. A special thanks to @regisphilibert, @bep, @kenberkeley, and @davidsneighbour for their work on the documentation site.Hugo now has:
- 37336+ stars
- 440+ contributors
- 334+ themes
Notes
- All string sorting in Hugo is now alphabetical/lexicographical.
home.Pages
now only returns pages in the top level section. Before this release, it included all regular pages in the site. This made it easy to list all the pages on home page, but it also meant that you needed to take special care if you wanted to navigate the page tree from top to bottom. If you need all regular pages, use.Site.RegularPages
. Also see #6153.- π
.Pages
now include sections. We have added.RegularPages
as a convenience method if you want the old behaviour. See #6154 for details. - π Hugo now only "auto create" sections for the home page and the top level folders. The other sections need a
_index.md
file. See #6171 for details.
β¨ Enhancements
Templates
Core
Other
- β Add FileInfo to resources created with resources.Match etc. 1089cfe4 @bep #6190
- π Improve the server assets cache invalidation logic cd575023 @bep #6199
- π Do not fail build on errors in theme.toml 63150981 @bep #6162
- β Add resources.Match and resources.GetMatch b64617fe @bep #6190
- β Convert from testify to quicktest 9e571827 @bep
- Avoid unnecessary conversions 6027ee11 @muesli
- Simplify code a93cbb0d @muesli
- Implement cascading front matter bd98182d @bep #6041
- π Use the SVG logo in README.md c0eef3b4 @XhmikosR
- β Add a branch bundle test case 82439520 @bep #6173
- Simplify page tree logic 7ff0a8ee @bep #6154#6153#6152
- π Merge pull request #6149 from bep/sort-caseinsensitive 53077b0d @bep
- π Regenerate CLI docs 02b947ea @bep
- β Add "hugo config mounts" command d7c233af @bep #6144
- Cleanup the hugo config command 45ee8a7a @bep #6144
- π¦ Move the mount duplicate filter to the modules package 4b6c5eba @bep
- π Allow overlap in module mounts edf9f0a3 @bep #6146
- β Add some more content language test assertions 84bc8d84 @bep #6136
- β Add proper error message when receiving nil in Resource transformation e5f96024 @bep #6128
- π Merge branch 'release-0.56.1' 9f497e7b @bep
- β‘οΈ Update go-org to v0.1.2 56908509 @niklasfasching
- Do not return error on params dot access on incompatible types e393c629 @bep #6121
- Set GO111MODULE=on e5fe3789 @bep #6114
- Skip resource cache init if the fs is missing da4c4a77 @bep #6113
π Fixes
Core
- π Fix output format handling of mix cased page kinds de876242 @bep #4528
- π Fix broken test 9ef4dca3 @bep
- π Fix bundle header clone logic 0e086785 @bep #6136
Other
- π Fix faulty -h logic in hugo mod get 17ca8f0c @bep #6197
- π Fixed ineffectual assignments c577a9ed @muesli
- π Fixed tautological error conditions e88d7989 @muesli
- π Fix static sync issue with virtual mounts 166a394a @bep #6165
- Cache the next position of
urlreplacer.prefix
a843ca53 @vazrupe #5942 - π Fix no-map vs noMap discrepancy 02397e76 @bep #6166
- π Fix assorted typos f7f549e3 @XhmikosR
- common/collections: Fix typo 6512d128 @shawnps
- π Fix multilingual example compatibility with latest version b8758de1 @robinwassen
- π Fix self-mounts on the main project 36220851 @bep #6143
- π Fix config reloading in Vim and similar 6eca0a3d @bep #6139
- π Fix Jekyll import e28bd4c0 @bep #6131
- π Fix image format detection for upper case extensions, e.g. JPG c62bbf7b @bep #6137
- π Fix i18n project vs theme order 00a238e3 @bep #6134
- π Fix image Width/Height regression 93d02aab @bep #6120
-
v0.56.3 Changes
July 31, 2019This is a bug-fix release with a couple of important fixes. After getting feedback about the new Hugo Modules feature, this release also adds some minor improvements:
π It adds support for overlapping file mounts, even for the filesystems where we walk down the directory structure. One relevant example that is fixed by this release:
[module] [[module.mounts]]source="content1"target="content"[[module.mounts]]source="content2"target="content/docs"
The above is obviously both common and very useful. This was never an issue with the situations where load a specific file/directory (e.g.
resources.Get "a/b/c/d/sunset.jpg"
).π§ User feedback also told us that these file mounts were a little hard to debug, so we added a new command that prints the configured mounts as a JSON:
hugo config mounts
- π― hugolib: Fix bundle header clone logic 0e086785 @bep #6136
- π docs: Regenerate CLI docs 02b947ea @bep
- commands: Add "hugo config mounts" command d7c233af @bep #6144
- commands: Cleanup the hugo config command 45ee8a7a @bep #6144
- π¦ Move the mount duplicate filter to the modules package 4b6c5eba @bep
- π Allow overlap in module mounts edf9f0a3 @bep #6146
- π Fix self-mounts on the main project 36220851 @bep #6143
-
v0.56.2 Changes
July 30, 2019π This is a bug-fix release with a couple of important fixes.
- β Add some more content language test assertions 84bc8d84 @bep #6136
- commands: Fix config reloading in Vim and similar 6eca0a3d @bep #6139
- π Fix Jekyll import e28bd4c0 @bep #6131
- π Fix image format detection for upper case extensions, e.g. JPG c62bbf7b @bep #6137
- π Fix i18n project vs theme order 00a238e3 @bep #6134
- β Add proper error message when receiving nil in Resource transformation e5f96024 @bep #6128
- β‘οΈ deps: Update go-org to v0.1.2 56908509 @niklasfasching
-
v0.56.1 Changes
July 28, 2019 -
v0.56.0 Changes
July 25, 2019Hugo 0.56.0 is filled with improvements, but there are two main headliners: Hugo Modules and Hugo Deploy.
π Hugo Deploy is implemented by @vangent and brings built-in deployment support for GCS, S3, or Azure using the Hugo CLI. See the Hugo Deploy Documentation for more information.
Hugo Modules is very much a community effort on the design and specification side, but @bep has driven the implementation. Some notes about what all of this is about:
- π§ A new
module
configuration section where you can import almost anything. You can configure both your own file mounts and the file mounts of the modules you import. This is the new recommended way of configuring what you earlier put inconfigDir
,staticDir
etc. And it also allows you to mount folders in non-Hugo-projects, e.g. theSCSS
folder in the Bootstrap GitHub project. - π± A module consists of a set of mounts to the standard 7 component types in Hugo:
static
,content
,layouts
,data
,assets
,i18n
, andarchetypes
. Yes, Theme Components can now include content, which should be very useful, especially in bigger multilingual projects. - Modules not in your local file cache will be downloaded automatically and even "hot replaced" while the server is running.
- π Hugo Modules supports and encourages semver versioned modules, and uses the minimal version selection algorithm to resolve versions.
- A new set of CLI commands are provided to manage all of this:
hugo mod init
,hugo mod get
,hugo mod graph
,hugo mod tidy
, andhugo mod vendor
.
Hugo Modules is powered by Go Modules.
This is all very much brand new and there are only a few example projects around:
- https://github.com/bep/docuapi is a theme that has been ported to Hugo Modules while testing this feature. It is a good example of a non-Hugo-project mounted into Hugo's folder structure. It even shows a JS Bundler implementation in regular Go templates.
- β https://github.com/bep/my-modular-site is a very simple site used for testing.
π See the Hugo Modules Documentation for more information.
This release represents 104 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 @vangent, @niklasfasching, 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 48 contributions by 37 contributors. A special thanks to @davidsneighbour, @bep, @BCNelson, and @coliff for their work on the documentation site.Hugo now has:
- 36902+ stars
- 440+ contributors
- 328+ themes
Notes
π§ We have removed the "auto theme namespacing" of params from theme configuration. This was an undocumented and hidden feature that wasn't useful in practice.
π We have revised and improved the symlinks support in Hugo: In earlier versions, symlinks were only fully supported for the content folders. With the introduction of the new very flexible file mounts, with content support even for what we have traditionally named "themes", we needed a more precise definition of symlink support in Hugo:
- Symlinks are not supported outside of the main project ((the project you run
hugo
orhugo server
from). - In the main project
static
mounts, only symlinks to files are supported. - In all other mounts in the main project, both file and directory symlinks are allowed.
β¨ Enhancements
Templates
- β Add Merge function c624a779 @bep #5992
- Regenerate templates b2a3d464 @bep
- Unwrap any interface value in sort and where 8d898ad6 @bep #5989
- Convert numeric values to float64 and compare them fb007e9a @tryzniak #5685
- Provide more detailed errors in Where f76e5011 @moorereason
- Return error on invalid input in in 7fbfedf0 @bep #5875
- π Make Pages etc. work with the in func 06f56fc9 @bep #5875
- π Make Pages etc. work in uniq d7a67dcb @bep #5852
- π Handle late transformation of templates 2957795f @bep #5865
Output
- β Remove comma after URL in new site output de7b9475 @snorfalorpagus
Core
- β Add a symdiff test 072aa7f1 @bep
- β Add testfile to .gitignore 7611078d @bep
- β Add another site benchmark dc1d4a92 @bep
- Prevent parallel server rebuilds 95ce2a40 @bep #5885#5968
- β Disable racy test ad5703a9 @bep #5926
- Avoid recloning of shortcode templates 69a56420 @bep #5890
- No links for bundled pages 0775c98e @bep #5882
- β Add some OutputFormats.Get tests 7aeeb60d @bep #5877
- β Add some integration tests for in/uniq using Pages 6c80acbd @bep #5875#5852
- β Add more tests for Permalinkable 35f41834 @bep #5849
- β Add a test for parent's resources in shortcode 8d7607ae @bep #5833
Other
- β Add Hugo Modules docs 77bf2991 @bep
- Block symlink dir traversal for /static e5f22997 @bep
- modules: Gofmt 87a07282 @bep
- π Rename disabled => disable in config 882d678b @bep
- π Regenerate CLI docs 215d2ed8 @bep
- Regenerate data helpers 23adc0c2 @bep
- β Add Hugo Modules 9f5a9207 @bep #5973#5996#6010#5911#5940#6074#6082#6092
- Tidy 47953148 @bep
- β‘οΈ Update xerrors ac101aba @bep
- Ignore errors in go mod download 58a47ccd @bep
- β‘οΈ Update Chroma 95b1d301 @bep #6088
- π Change postcss to check for local installation under node_modules/.bin a5604e18 @ericselin #5091
- β Add org to front matter formats 020086cb @niklasfasching
- β‘οΈ Update go-org 8524baee @niklasfasching
- Pagination - do not render href if no next item 88c8a15b @markmandel
- β Include path to source page in non-relative ref/relref warning 59c4bc52 @justinvp
- β‘οΈ Update link to prevent redirect ff10aa52 @coliff
- β‘οΈ Update URLs 9f258d2b @coliff
- Introduce '#+KEY[]:' array notation fad183c4 @niklasfasching
- Replace goorgeous with go-org b6867bf8 @niklasfasching
- π Default --target to the first deployment target 9df57154 @vangent
- β Add safety barrier between concatenated javascript resources 35abce27 @vincent99
- β‘οΈ Update CLI doc for "long" form 8914fe7e @vangent
- β¬οΈ Drop dashes in http header matcher attributes; other changes from code review b0f536fb @vangent
- β Add documentation for "hugo deploy" 1384d77a @vangent
- β remove TODO comment about subfolders; handled by GoCDK blob URLs 5e83f425 @vangent
- β‘οΈ Update gocloud.dev to v0.15.0. b376b268 @vangent
- Return nil when not found in resources.Get 4c560020 @bep #5999
- β‘οΈ Update Viper d44d3ea8 @bep #5954
- β Remove references to Google+ d1cf53f5 @brunoamaral
- β‘οΈ Update gitmap to get CommitDate field 811ee996 @bep
- Create new 'hugo list all' command 5b4b8bb3 @rusnasonov #5904
- Medium -> Hugo exporting tool 2278b0eb @Ahirice
- π Switch base image for final build 41974303 @brianredbeard #5970#5056
- π Merge branch 'release-0.55.6' 6b3f1a10 @bep
- π Release 0.55.6 9b48c5d6 @bep
- β‘οΈ Update to Go 1.12.5 and Go 1.11.10 71b8d8b6 @bep #5944
- π Support configuration of upload order 527cf1ab @vangent
- π Support invalidating a CloudFront CDN cache f4956d9a @vangent
- π¦ Move the package below /langs 2838d58b @bep
- compute MD5 by reading if List didn't provide one f330e869 @vangent
- π Use proxy.golang.org 0091b1f8 @bep
- β Add a "deploy" command c7165589 @vangent
- π Release 0.55.5 e33ed29b @bep
- π Regenerate docs helper cee181c3 @bep
- β‘οΈ Update blackfriday to v1.5.2 1cbb501b @dbirks
- π Release 0.55.4 1707f1a5 @bep
- π Avoid rebuilding the Translations map for every lookup 4756ec3c @bep #5892
- Init mem profile at the end 4c3c5120 @bep
- π Release 0.55.3 c85b726f @bep
- π Regenerate docs helper 75b16e30 @bep
- Replace IsDraft with Draft in list command 3e421bd4 @bep #5873
- π Release 0.55.2 fcd63a86 @bep
- π Release 0.55.1 adb776b2 @bep
- β Remove the space in
. RelPermalink
7966c0b5 @yihui
π Fixes
Templates
- π Fix slice type handling in sort e8a716b2 @bep #6023
- π Fix internal templates usage of safeHTMLAttr e22b3f54 @rhcarvalho #5236#5246
- π Fix nil compare in eq/ne for interface values 66b143a0 @bep #5905
- π Fix hugo package name and add godocs 4f93f8c6 @moorereason
Output
- π Fix permalink in sitemap etc. when multiple permalinkable output formats 6b76841b @bep #5910
- π Fix links for non-HTML output formats c7dd66bf @bep #5877
- π Fix menu URL when multiple permalinkable output formats ea529c84 @bep #5849
Core
- π Fix broken test fa28df10 @bep
- π Fix bundle path when slug is set 3e6cb2cb @bep #4870
- π Fix PrevInSection/NextInSection for nested sections bcbed4eb @bep #5883
- π Fix shortcode version=1 logic 33c73811 @bep #5831
- π Fix Pages reinitialization on rebuilds 9b17cbb6 @bep #5833
- π Fix shortcode namespace issue 56550d1e @bep #5863
- π Fix false WARNINGs in lang prefix check 7881b096 @bep #5860
- π Fix bundle resource publishing when multiple output formats 49d0a826 @bep #5858
- π Fix panic for unused taxonomy content files b799b12f @bep #5847
- π Fix dates for sections with dates in front matter 70148672 @bep #5854
- π Fix simple menu config 9e9a1f92 @bep
Other
- π Fix test on Windows e5b6e208 @bep
- π Fix livereload for @import case 2fc0abd2 @bep #6106
- π Fix typo s/Meny/Menu/ 90b0127f @kaushalmodi
- β Add tests; fix Windows 5dc6d0df @vangent
- π Fix concurrent initialization order 009076e5 @bep #5901
- π Fix WeightedPages in union etc. f2795d4d @bep #5850
- π Fix 4d425a86 @bep
- π Fix paginator refresh on server change f7375c49 @bep #5838
- π Fix .RSSLinke deprecation message 3b86b4a9 @bep #4427
- π§ A new