The website can be built:
- by contributors on their local system
- by Continuous Integration workflows
- by the FreeCAD servers
Luckily, all they need is the single Hugo binary in the standard edition.
Sharing the same version is thus pretty easy. The version currently used is documented in a few places (e.g. ReadMe, web docs, etc).
The version choice is done "manually" for now, i.e. a maintainer updates all version strings after they have checked everything works with the new version.
The Hugo team releases about 10 to 20 versions (plus patch releases) every year (e.g. 0.110-0.121 for 2023, 0.122-0.140 for 2024, 0.141-0.154 for 2025, etc). Their deprecation policy is pretty consistently applied. New versions seldom have breaking changes, but are most often improvements to existing features, speed or templates, and security updates. Major architecture changes are no tied to specific release numbers (e.g. 0.146 for template overhaul).
Given that, it sounds reasonable to update Hugo versions for every tenth version, given it is not a "major" architecture reshuffle, in which case we can wait a few more versions for stabilization. Next one would be 0.170 and then 0.180, that is about every 6 months.
Open questions:
- do we keep updating manually, as it is fairly easy for now (5 strings to update)?
- do we set up a container like Docker or similar, and encourage contributors to use that?
- do we set up some automated process to update the version in the servers as well?
- if and when the website base is used more broadly (e.g. full user documentation), do we set up some "dummy" environment for automated testing with all features used, so we can detect before-hand any rendering issues a new version could bring (i.e. instead of randomly founding it out)?
- TBD
The website can be built:
Luckily, all they need is the single Hugo binary in the standard edition.
Sharing the same version is thus pretty easy. The version currently used is documented in a few places (e.g. ReadMe, web docs, etc).
The version choice is done "manually" for now, i.e. a maintainer updates all version strings after they have checked everything works with the new version.
The Hugo team releases about 10 to 20 versions (plus patch releases) every year (e.g. 0.110-0.121 for 2023, 0.122-0.140 for 2024, 0.141-0.154 for 2025, etc). Their deprecation policy is pretty consistently applied. New versions seldom have breaking changes, but are most often improvements to existing features, speed or templates, and security updates. Major architecture changes are no tied to specific release numbers (e.g. 0.146 for template overhaul).
Given that, it sounds reasonable to update Hugo versions for every tenth version, given it is not a "major" architecture reshuffle, in which case we can wait a few more versions for stabilization. Next one would be 0.170 and then 0.180, that is about every 6 months.
Open questions: