v0.102.0
Note: there were an issue with the Deb Linux binaries (see #10220), so those are now removed; will create a patch release with a fresh set later today.
This release adds Linux ARM64 extended archives (see issue #8257). If you look behind the scenes of this, you may say that "this looks like a lot of work for one file", but the current serial build setup was already closing in on the timeout limits of CircleCI (mostly because of the relatively resource-intensive extended build with CGO/webp/libsass). So, we eventually had to do something. This release is built using Hugoreleaser, a custom build tool that allows us to partition the build step. The Linux ARM64 binaries are built in its own Docker container, and we also get a general speedup of the entire build:
In Circle CI, this is how the release flow looks like:
In the above, build_container1
is doing most of the work and is configured with parallelism: 7
and partitioned using $CIRCLE_NODE_TOTAL
and $CIRCLE_NODE_INDEX
:
See the CircleCI Config for details.
Notes
- The MacOS archives have been replaced with universal/fat binaries that works on all MacOS platforms, named *macOS-universal.tar.gz.
- These archives are removed: 32 bit Linux archives, Windows 32-bit and ARM, Linux ARM Deb. We may re-add some of these if enough people shout.
Bug fixes
- common/hugio: One more fix for non-OS fs f5ba6fd @bep
- common/hugio: Fix CopyDir when fs is not OS c4bbc1e @bep
- markup/goldmark/codeblock: Fix attributes when no language identifier in CodeBlock cbdaff2 @chick-p #10118
- commands: Fix embed in livereload.go 3fefea0 @yyqqing
Improvements
- license: Add copyright info c983484 @bep #10218
- github: Use GitHub's Choco-Install function to retry installs f7e00c0 @anthonyfok
- livereload: Inject script without head or body tag b017f7c @satotake #10105
- Externalise and embed livereload.js string 21562e3 @satotake
- Cache when not found in LookupLayout 9c24b86 @bep
- parser/pageparser: Don't store the byte slices 223bf28 @bep
- Make the baseline benchmark's test files stable 72b0ccd @bep
- Accept vendor-specified build date if .git/ is unavailable 8ebcaa5 @anthonyfok #10053
- Extract the baseline benchmark to a test d1278f6 @bep
- Add a baseline benchmark 92f31ae @bep
Dependency Updates
- build(deps): bump go.uber.org/atomic from 1.9.0 to 1.10.0 2de393c @dependabot[bot]
- build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.10 7efb356 @dependabot[bot]
- build(deps): bump github.com/getkin/kin-openapi from 0.97.0 to 0.98.0 ddbcc67 @dependabot[bot]
- deps: Update github.com/pelletier/go-toml/v2 v2.0.2 => v2.0.4 fd75f12 @bep #10210
- build(deps): bump github.com/spf13/afero from 1.8.2 to 1.9.2 14878ca @dependabot[bot]
- build(deps): bump github.com/tdewolff/parse/v2 from 2.6.1 to 2.6.2 e88873b @dependabot[bot]
- build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 4219993 @dependabot[bot]
- build(deps): bump github.com/rogpeppe/go-internal from 1.8.1 to 1.9.0 988e141 @dependabot[bot]
- build(deps): bump github.com/yuin/goldmark from 1.4.12 to 1.4.13 4252988 @dependabot[bot]
- build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 45f1b1c @dependabot[bot]
- build(deps): bump github.com/tdewolff/minify/v2 from 2.11.10 to 2.12.0 369bdf2 @dependabot[bot]
- build(deps): bump github.com/evanw/esbuild from 0.14.43 to 0.15.5 d1b03a0 @dependabot[bot]
Build Setup
- releaser: Bump versions for release of 0.102.0 0ff4a93 @bep
- Add linux/arm64 extended to release setup 45e1084 @bep #8257
- snap: Delete obsolete custom x-nodejs plugins 0e0fb1b @anthonyfok
- releaser: Fat MacOS binaries 7fb2808 @bep #9131
- Update to Go 1.19 0cd1929 @bep #10145
- snap: Replace mage with "go build" and set VendorInfo=snap 2414819 @anthonyfok
- snap: Use interface names etc-gitconfig and gitconfig, Take 2 5caed8a @anthonyfok #6226
- snap: Use interface names etc-gitconfig and gitconfig fd3953c @anthonyfok #6226
- releaser: Prepare repository for 0.102.0-DEV 15463f8 @bep