@ -5,6 +5,10 @@ The latest `## [X.Y.Z]` header must match the `version` field in `punkproject.to
Entries are newest-first; one bullet per notable change. See the root `AGENTS.md`
"Project Versioning" section for the bump policy.
## [0.12.40] - 2026-07-17
- G-087 stage 2: layout refs migrated to fauxlink files. fauxlink 0.2.0 (vendored from upstream) implements fauxlink::link_as - the encoder counterpart of resolve with a round-trip guarantee - and the migration script used it to generate every new ref name. punk::cap::handlers::templates 0.2.0 resolves layout refs via the fauxlink module (<alias>#<encodedtarget>.fauxlink|.fxlnk, target relative to src/project_layouts); the bespoke <alias>@<target>.ref grammar is retired (.ref files no longer recognised). Layout refs must carry a non-empty alias - alias-less (leading-#) refs are warned about and skipped (punkcheck excludes leading-# filenames). All 7 live refs renamed (alias-less ones gained their target-tail aliases); visible layout names unchanged. punk::mix::templates 0.1.5 carries the migrated module-shipped ref. Verified end-to-end: dev project.new resolves the default punk.project layout through fauxlink refs and materializes a full project.
## [0.12.39] - 2026-07-17
- fauxlink 0.1.2 vendored from upstream (c:/repo/jn/tclmodules/fauxlink, now under fossil version control with a 62-test suite): punk::args documentation for the whole developer-facing API including a (package)fauxlink id (inert until G-075 surfaces package ids); fixes for decode_unicode_escapes dropping the first character when a hexless %U was present, single-comment (3-section) links skipping validation/decoding, and the link_as stub silently no-oping (now raises 'not yet implemented'). Consumers (fcat redirect-follow, make.tcl merge_over/startup-script check, kit boot fallback) unchanged.