Engine Changelog
Engine updates after the latest commit and their runtime impact.
Baseline commit: 4c8f9a8 (2026-02-06, chore: clean core repo, add release workflow).
This page lists engine changes added after that commit.
Release v0.1.3 (2026-02-11)
- Cross-platform file lock in indexer
- Files:
internal/indexer/indexer.go,internal/indexer/filelock_unix.go,internal/indexer/filelock_nonunix.go syscall.Flockusage was moved behind OS-specific wrappers.- Result: release builds now compile for
windows_amd64and all configured targets. - Runtime behavior:
- unix: keeps non-blocking exclusive lock behavior;
- non-unix: best-effort fallback lock implementation.
- Release pipeline recovered
- Tag
v0.1.2workflow failed atBuild binariesbecause of non-portable lock code. v0.1.3release completed successfully with full artifact set:notepub_darwin_amd64notepub_darwin_arm64notepub_linux_amd64notepub_linux_arm64notepub_windows_amd64.exechecksums.txt
Action for recipes and docs:
- update pinned
NOTEPUB_VERSIONtov0.1.3in CI workflows and setup instructions.
internal/serve/server.go
-
/searchhandler now loads resolve index and setsdata.Collections. -
Result: search page can render the same docs hub/sidebar structure as other docs pages.
-
Compatibility: if resolve index is unavailable, rendering continues without panic.
-
renderNotFoundnow setsContent-Type: text/html; charset=utf-8. -
Result: 404 is rendered as HTML, not plain text.
-
This also improves non-latin text rendering.
internal/serve/theme.go
embednow includesembed/templates/partials/*.html.- Result: partial templates are bundled into the embedded fallback theme.
- This keeps standalone binary behavior consistent when filesystem theme is unavailable.
Verification checklist:
- Run
notepub index --config ./config.yaml --rules ./rules.yaml. - Open
/searchand confirm docs sidebar is visible. - Open a non-existing URL and confirm 404 is rendered by the theme template.