Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog ,
and this project adheres to Semantic Versioning .
Unreleased
Added
- CLI Build & Serve Enhancements: Added
-q/--quietflag and elapsed execution timing togolem build, along with startup compilation status and live rebuild progress ingolem serve. - Server-Side Syntax Highlighting: Pygments-powered syntax highlighting integrated into the build pipeline with Fired Clay styling.
- Project Hygiene & CI Checks: Added
CONTRIBUTING.adoccontributor guide and AST-based CI canary test (tests/test_syntax_invariants.py). - Test Coverage Configuration: Added
pytest-covandcoverage[toml]to dev dependencies with configured targets inpyproject.toml.
Changed
- Plugin Execution Gating: Refactored
get_plugin_manager()to a two-pass discovery-registration architecture whereconfig.pluginsis the sole authority for activation and execution order. - Dependency Upgrades: Bumped
asciidoctrineto>=0.2.0a4,asciidoctypeto>=0.1.0a4, and addedpygments>=2.18. - AsciiDoc Docstrings: Standardized docstrings across all internal modules to AsciiDoc format using
asciidocstringconventions. - CSS Visual Hierarchy: Enhanced default theme typography, admonition pill labels, code listing language badges, table breakouts, and per-page layout classes.
Fixed
- Python Exception Handling: Corrected five occurrences of deprecated Python 2
except A, B:syntax to Python 3except (A, B):. - Plugin Hook Robustness: Isolated plugin exceptions across all build hooks and added conflict warnings when multiple plugins modify the same value.
- Cross-Platform File Locking: Replaced POSIX-only
fcntlcache locking with cross-platformfilelock. - Configuration Normalization: Deduplicated TOML parsing across
golem.tomlandpyproject.tomlinto a centralized normalizer helper. - Navigation & TOC Performance: Cached
discover_navigation()tree during build cycles and eliminated duplicated text in TOC anchor generation. - CLI Scaffolding & Metadata: Dynamically resolved
--versionfrom package metadata and author name fromgit configingolem init. - Repository Cleanliness: Removed internal review artifacts from tracking and added pattern ignores to
.gitignore. - Dev Server Disconnects: Downgraded client socket disconnect exceptions to debug-level logging.
0.1.0a2 - 2026-08-24
Added
- Fine-Grained Cache Invalidation (Issue #1):
- AST/ASG
node_typesinventory recorded per page in.golem/cache.json. - Theme template fingerprinting and scoped cache invalidation for specific node template changes (e.g.
listing.htmlonly recompiles pages with code blocks). - New Pluggy lifecycle hook
golem_mark_stale(changed_files, cache_metadata)enabling plugins to perform selective cache invalidation. - Automated API Documentation Generation (
golem apidoc):- Built-in plugin
golem.plugins.apidocusing Griffe andasciidocstringto introspect packages and generate clean AsciiDoc API reference documentation.
- Built-in plugin
Changed
- Upgraded Dependencies:
- Upgraded
asciidoctrinedependency requirement to>=0.2.0a3(incorporating parser memoization, underscore emphasis fixes, and listing block bracket fixes). - Upgraded
asciidoctestdependency requirement to>=0.2.0a3(supporting AST section scoping and named test contexts).
Fixed
- API Reference Formatting:
- Description list multi-line formatting in apidoc output avoiding parser bloat.
- Truncation of large inline attribute constants (such as HTML templates).
- Heading level offset adjustment for docstrings opening with section headings.
0.1.0a1 - 2026-08-18
Added
- Incremental DAG Build Engine: Dependency tracking with SHA-256 content hashing in
.golem/cache.json, rebuilding only modified files and their inclusion dependents. - AsciiDoc Native Pipeline: Integration with
asciidoctrine(Lark AST parser/ASG resolver) andasciidoctype(Chameleon ZPT templates) supporting 39 standard node types. - Hierarchical Navigation Auto-Discovery: Automatic sidebar tree generation with numeric prefix stripping (
01-intro.adoc->Intro), homepage pinning, and explicitgolem.tomloverrides. - Multi-Threaded Live Dev Server: Zero-dependency
ThreadingHTTPServerwith Server-Sent Events (SSE) live browser reload under/golem-reloadand interactive compiler error overlays. - Pluggy Plugin Architecture: Lifecycle hooks for
on_pre_parse,on_ast_created,on_asg_created,on_post_render, andgolem_add_subcommands. - CLI Inspection Commands:
golem pluginsandgolem themescommands to discover, inspect, and list active and installed extensions. - Doctest Integration: Executable Python code example verification in listing blocks using
asciidoctest. - Fired Clay / Workbench Default Theme:
- Handcrafted warm paper / workbench aesthetic with automatic
prefers-color-scheme: darkmode. - Complete typography system built on Google Fonts Source family (
Source Serif 4for display/body,Source Sans 3for UI chrome,Source Code Profor monospaced code blocks). - Sub-perceptible SVG
feTurbulencepaper-grain texture data URIs. - Distinct earth-tone admonition palette (
NOTE,TIP,IMPORTANT,WARNING,CAUTION).
- Handcrafted warm paper / workbench aesthetic with automatic
- Comprehensive Documentation Suite: Complete user manual, developer guide, and technical specification rewritten as focused, topic-grouped guides.
Fixed
- TOC Scroll Anchors & Description Lists: Fixed table-of-contents slug anchors and description list node rendering.
- Navigation Pruning: Pruned empty non-AsciiDoc directories and defaulted plugin lists cleanly to avoid empty navigation nodes.