Appearance
Changelog
All notable changes to the UDE (Universal Documentation Engine) project will be documented in this file.
[v2.0] - 2026-07-08
The v2.0 milestone represents a comprehensive architectural overhaul, introducing strict typing, advanced decoupled CI/CD integrations, and enterprise-grade security gates.
Breaking Changes
Three changes stop an unmodified v1.0 configuration from building. All three fail loudly with a specific message rather than degrading silently. See migration-v2.md for the exact messages and the fix for each.
sidebar.tomlis now mandatory and must declare at least one[[sidebar]]entry, in every directory containing aude_doc_config.json, Hugo variants included. It replaces the per-renderertoc_*.jsonfiles as the navigation source and resolves through a three-tier deep merge (global → SDK → document). Missing, empty and malformed files all stop the build: there is no default navigation at any tier, because a sidebar the author never wrote renders successfully and leaves nothing to notice. The[groups]folder taxonomy is deliberately the opposite — it keeps its engine default, since a uniform layout is a sensible fallback where invented navigation is not.sidebar_structures_dirremoved fromude_global_config.json. The key is trapped explicitly, not ignored; folder taxonomy moved tosidebar.toml's[groups]table, which is schema-validated withextra="forbid".renderer.typemust be a renderer family key (html,oda_html,hugo_markdown,oda_hugo_markdown, plus aliases), never a concrete renderer class name. The language-specific subclass is now selected by the renderer factory fromcollector.language.
Explicitly not breaking: the v1.0 flat CLI (ude --doc-config …) works unchanged, v1.0 IR files still load, and the ClassEntity / NamespaceEntity / MethodEntity names are retained as aliases of the new models.
Added
- Typed Entity Models: Complete schema evolution replacing untyped
ClassEntitywith 7 strict Pydantic models (e.g.,VariableModel,MethodModel). - Decoupled CLI Architecture: New subcommands
ude parse,ude render,ude compile, andude auditallowing discrete IR payload generation and rendering. The IR is gzip-compressed (.json.gz). - Strict Coverage Auditing:
GlobalConfig.coverage_modeandcoverage_thresholdsettings, empowering the newude auditblocking quality gate.auditexits2when the gate rejects the target; the embeddableapply_coverage_gate()raisesUdeExceptioninstead of callingsys.exit(). - Public Library API:
UdeOrchestratorexposesparse,renderandrunfor embedding the engine without the CLI. - Unified Logging: a single
uderoot logger driven bylog_level/log_file, silent by default when imported as a library. - L2 Render Cache: unchanged entities skip re-rendering on repeat builds.
- Three-Tier Doxyfile Merge: key-level merge across global, SDK and document tiers, resolved via
global_templates_dir. - Cross-Repository Orchestration: Formalized payload synchronization via GitHub
repository_dispatchwebhooks across the submodule topology. - Automated Security Guards:
pydantic_guard(Bash/PowerShell) to strictly block obsolete dictionary key access. - Project Catalog Metadata: Added
project_nameandversionfields toProjectCatalog. Both are optional and default to an empty string.
Changed
- Refactored
fields: List[str]tofields: List[VariableModel]. - Enforced strict shell execution (
bash -euo pipefail {0}) and minimized permissions in all GitHub Actions workflows.
Documentation Quality
- Doc-O-Matic output parity verified across 39 SDK/language combinations spanning 16 SDKs. Every difference against the reference documentation is either resolved, covered by a documented parsing rule, or individually confirmed as real API content the reference tool does not document.
- Two areas are deliberately out of scope, by nature rather than omission: SWIG binding folders that are components of another SDK and have no reference documentation of their own, and Python, for which Doc-O-Matic never produced output — leaving regression-against-previous-build as the only available comparison there.
[v1.0] - 2025-01-15
The initial MVP release establishing the core documentation generation capabilities.
Added
- Flat CLI flag architecture for single-pass documentation generation.
- Basic
ClassEntityandNamespaceEntitystring-keyed data structures. - Support for Doxygen XML parsing and basic HTML/Markdown rendering output.
Related Docs: (Paths below are repository-root-relative.)
user-docs/docs/migration-v2.md— step-by-step migration guide for the breaking changes listed aboveuser-docs/docs/cli-reference.md— reference for the newude parse/render/compile/auditsubcommands
