The docmd 0.6.3 release introduces major refinements to the project’s structural integrity, a crucial patch to the hot-reload Dev Server and a complete overhaul of our internal build and linting verification pipeline.
✨ Highlights
Contextual Heading IDs (Nested Permalinks)
Duplicate headers (like “Options” or “Examples”) appearing multiple times across different sections of a single page are now automatically disambiguated. IDs are now “Nested” based on their parent hierarchy.
For example, a ### Options header under a ## docmd dev section will now correctly generate the ID #docmd-dev-options instead of a generic #options. This ensures:
- Unique Deep Links: Every section on a page now has a truly unique permalink.
- Accurate TOC: The Table of Contents now points to the correct section position.
- Enhanced Search: The search engine can now link users to the exact sub-section they are looking for.
Collision Safety
In the rare case where identical headers appear within the same section, docmd now implements an automated numbering suffix (e.g., #options-1, #options-2), preventing ID collisions and ensuring valid HTML across your entire site.
📝 Complete Changelog
🛠️ Core Parser
- Smart ID Generation: Updated the
headingIdPluginto track heading levels and parent IDs. - TOC Integrity: Improved ID extraction logic to ensure nested IDs are accurately reflected in the sidebar and navigation.
- Search Optimization: Refined the metadata generation for headings, providing higher-quality search handles to the MiniSearch engine.
🏗️ Internal Tooling & Developer Experience
- Strict Linting Automation: Activated and strictly integrated ESLint logic directly into the CI verification workflows natively across the entire monorepo (
@docmd-monorepo). - Release Preparation Pipeline: Introduced the new
pnpm prepCLI tool utilizing seamless end-to-end sandbox reset, installation, compilation, linting, intensive test executions, and security audits into one single cohesive pre-flight deployment sequence! - Resolved Auditing Traps: Forced
pnpm.overridesagainstflattedlegacy trees to extinguish false-positive high-risk security blockages during deployment cycles.
🐛 Bug Fixes
- Dev Server: Fixed an issue where the
docmd devcommand would fail to broadcast hot-reload signals due to aWebSocket is not definederror in the Node environment.