Changelog
hyperctl v0.18.1 (2026-03-01)
- Fixed
hyperctl theme packagenow includes thetheme.jsonconfiguration file in the generated theme archive.
hyperctl v0.18.0 (2026-02-26)
- Added
ht.*template data namespace, andht.version&ht.release_dateproperties - Added
env.*template data namespace (forHT_*environment variables) - Added
theme.*template data namespace – themes can now provide default template data - Added
block.*template data namespace forht-blockelements - Added
page.canonical_urlcomputed property (equivalent tosite.base_url+page.path) - Added
ht-offsetandht-limitparameters for configuringht-templateiterators - Added
hyperctl theme ls,hyperctl theme install, andhyperctl theme packagecommands - Added
theme.config.fragments_dirandtheme.config.data_dirconfiguration settings - Added HyperMark word count extension, computes a
page.wordcountproperty for parsed Markdown documents - Added support for
page.md,page.yaml, andpage.jsonpage files - Added support for "static" pages, created via
index.htmlorpage.htmlfiles (e.g.content/**/index.html) - Added support for
ht-attrsmaps, mapping template data keys to element attribute names - Changed
site.author→site.byline - Changed
page.author→page.byline - Changed
hyperctl new→hyperctl cms new - Changed
hyperctl asset→hyperctl cms asset - Changed
hyperctl content-type→hyperctl cms content-type - Changed
hyperctl data→hyperctl cms data - Changed
hyperctl page→hyperctl cms page - Changed
hyperctl build→hyperctl build complete - Changed
hyperctl generate→hyperctl build incremental - Changed
hyperctl deploy→hyperctl deploy complete - Changed
hyperctl publish→hyperctl deploy incremental - Changed
hyperctl graph→hyperctl dev graph - Changed
hyperctl mimetype→hyperctl dev mimetype - Changed
hyperctl render→hyperctl dev render - Changed
hyperctl server→hyperctl dev server - Removed
data.env.*template data in favor of newenv.*namespace - Removed
data.ht.*template data in favor of newht.*namespace - Removed
page.author.username(what would have becomepage.byline.username) - Removed
page.contributors[*].username(contributors have the same properties as apage.byline)