This release comes with language-aware collation of text (for sorting, e.g. with `ByTitle`, `ByLinkTitle` and `ByParam`) (2180) and localized `GroupBy*Date` methods (9745 ).
The new text sorting algorithm means among other things that text with accents in them gets ordered the way you would expect. Before this release:
- alpha
- charlie
- echo
- sierra
- zulu
- émotion
With this release:
- alpha
- charlie
- echo
- émotion
- sierra
- zulu
This release also re-introduces the new server flag `--renderStaticToDisk`, which enables a new **hybrid static filesystem** for Hugo's development server. This is great for sites with lots of static content, as it greatly reduces memory consumption while still keeping the fast render times by writing dynamic content to memory (the definition of static content in Hugo is all files mounted in `/static` and all files in `/content` that's not content files or a member of a content bundle). With this update, there are now 3 filesystem options when starting the server:
1. `hugo server` (default), renders to and serves all files from memory.
2. `hugo server --renderToDisk`, renders to and serves all files from disk.
3. `hugo server --renderStaticToDisk` (the new hybrid mode), renders to and serves static files from disk, dynamic files from memory.
One final improvement to mention would be the new `key` option in `resources.GetRemote`, which, is set, will be used as the cache key. The default behaviour is to calculate the key based on the URL and all the options. This means that you can now do:
{{ $cacheKey := print $url (now.Format "2006-01-02") }}
{{ $resource := resource.GetRemote $url (dict "key" $cacheKey) }}
This release represents **31 contributions by 6 contributors** to the main Hugo code base. [bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [dependabot[bot]](https://github.com/apps/dependabot), [jmooring](https://github.com/jmooring), and [ifurther](https://github.com/ifurther) for their ongoing contributions. And thanks to [digitalcraftsman](https://github.com/digitalcraftsman) for his ongoing work on keeping the themes site in pristine condition.
Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs),
which has received **19 contributions by 11 contributors**. A special thanks to [jmooring](https://github.com/jmooring), [danielfdickinson](https://github.com/danielfdickinson), [deining](https://github.com/deining), and [coliff](https://github.com/coliff) for their work on the documentation site.
Hugo now has:
* 58259+ [stars](https://github.com/gohugoio/hugo/stargazers)
* 429+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
* 397+ [themes](http://themes.gohugo.io/)
Changes
* releaser: Reduce parallelism d80d5a10 bep
* Revert "build(deps): bump gocloud.dev from 0.20.0 to 0.25.0" 842262f6 bep 9778
* resources: Add `key` to reources.GetRemote options map 2dbdf38a bep 9755
* build(deps): bump github.com/evanw/esbuild from 0.14.34 to 0.14.36 f8c4e169 dependabot[bot]
* Make string sorting (e.g. ByTitle, ByLinkTitle and ByParam) language aware 627eed1d bep 2180
* Fix gosum checksum errors 82ba634e bep 9771
* build(deps): bump github.com/tdewolff/minify/v2 from 2.11.0 to 2.11.1 d417a6cf dependabot[bot]
* compare: Add a string sort benchmark 13dac7f3 bep
* Replace all usage of CopyOnWriteFs with OverlayFs 30c2e54c bep 9761
* deps: Update github.com/tdewolff/minify/v2 v2.10.0 => v2.11.0 3117e585 jmooring 9713 9740
* docs: Regen CLI docs ffe3eb91 bep
* Rework the Destination filesystem to make --renderStaticToDisk work d070bdf1 bep 9626
* Revert "Revert "Some minor adjustments to the new static filesystem logic"" b0819397 bep
* Revert "Revert "Allow rendering static files to disk and dynamic to memory in server mode"" 0a56f2af bep
* build(deps): bump github.com/evanw/esbuild from 0.14.31 to 0.14.34 9e360d38 dependabot[bot]
* modules/client: Vendor config directory if present a8c221d3 jmooring 9751
* resources: Create a common ResourceFinder interface e58a5408 bep 8653
* build(deps): bump gocloud.dev from 0.20.0 to 0.25.0 20162518 dependabot[bot]
* build(deps): bump golang.org/x/tools from 0.1.9 to 0.1.10 6b469cc8 dependabot[bot]
* build(deps): bump github.com/magefile/mage from 1.12.1 to 1.13.0 080dcac6 dependabot[bot]
* build(deps): bump github.com/gobuffalo/flect from 0.2.4 to 0.2.5 072fc8cc dependabot[bot]
* Localize all the GroupBy*Date methods 658e11eb bep 9745
* build(deps): bump github.com/getkin/kin-openapi from 0.93.0 to 0.94.0 e0a882fd dependabot[bot]
* deploy: Set an MD5 attribute and use that if eTag not available d0657a43 davidejones
* build(deps): bump github.com/sanity-io/litter from 1.5.2 to 1.5.4 a6e2e38b dependabot[bot]
* build(deps): bump github.com/evanw/esbuild from 0.14.25 to 0.14.31 510e1790 dependabot[bot]
* build(deps): bump github.com/frankban/quicktest from 1.14.2 to 1.14.3 21484f9e dependabot[bot]
* Add environment as a new filter to _cascade.target da00e771 CathrinePaulsen 9612
* Merge branch 'release-0.96.0' ed9aa374 bep
* Snap: Add {system,user}-gitconfig plugs to read gitconfig (9619) 2a231b0b ifurther
* releaser: Prepare repository for 0.97.0-DEV 69c59008 bep