Releases: docmd-io/docmd
docmd@0.4.10 🛠️ (Stability Fix)
Following our massive architectural overhaul in v0.4.8, we've spent this release hunting down edge cases, perfecting the Single Page Application (SPA) experience, and making our Markdown parser completely bulletproof.
🛠️ Bug Fixes & Improvements
SPA Router & Navigation:
- Fix: Eliminated the "layout dragging" jitter that occurred when navigating to or from pages with heavy elements (like Mermaid diagrams). The router now briefly locks the layout height during DOM swaps for a perfectly stable, native-feeling transition.
- Fix: Resolved
404 Not Founderrors for Favicons and Theme CSS that occurred when the SPA navigated between different folder depths (e.g., from/to/content/syntax/). - Fix: Relative internal Markdown links (e.g.,
[link](./file.md)) now resolve correctly. The parser now intelligently calculates depth traversal to account for docmd's "Clean URLs" folder structure. Fix #62. - Fix: Hash anchors in internal links (e.g.,
[link](./file.md#section)) are now preserved correctly during the HTML build step.
Mermaid & Plugins:
- Fix: Fixed a critical Mermaid.js crash (
Could not find a suitable point for the given distance) that occurred when diagrams were placed inside hidden containers like Tabs or Collapsibles.docmdnow uses an advanced in-memory SVG rendering queue that safely waits for the container to become visible before drawing.
Parser & UI:
- Fix: Indented
::: buttoncomponents inside nested containers (like Cards or Callouts) are no longer mistakenly parsed as<pre><code>blocks by standard Markdown rules. - Fix: The "Edit this page" link in the footer now accurately points to the original
.mdsource file path rather than the generated.htmloutput path.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.9...0.4.10
docmd@0.4.9 🩹 (Security Patch)
v0.4.9 is a critical security and performance hotfix.
This release removes a vulnerable third-party dependency from the Live Editor and replaces it with a faster, native implementation.
🛡️ Security & Fixes
- Security: Removed the
servedependency from the@docmd/livepackage, resolving multiple high-severity security warnings (CVE-related ReDoS vulnerabilities inserve-handlerandajv). - Performance: Replaced the third-party server with a lightweight, native Node.js HTTP server. The
docmd livecommand is now faster to boot and significantly smaller to install. - Maintenance: Bumped all workspace packages to ensure version consistency across the monorepo.
Recommended Action: All users should update to v0.4.9 to clear security audit warnings in their CI/CD pipelines.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.8...0.4.9
docmd@0.4.8 🚀 (Stability, UX & SPA Update)
v0.4.8 is our biggest stability and UX update yet. We’ve completely overhauled the internal architecture to make docmd faster, smarter, and incredibly beautiful out-of-the-box. Frosted-glass headers, deep container nesting, and buttery-smooth page transitions, all while keeping the core footprint tiny.
✨ Highlights
1. The New V2 Layout Configuration
We've introduced a cleaner, more organized configuration structure. All UI elements (header, sidebar, options menu, footer) are now neatly grouped under a layout object.
NOTE: Your existing v0.4.7 config is 100% backward compatible! Our new internal schema adapter translates it on the fly.
Example of the new structure:
module.exports = {
siteTitle: 'My Docs',
layout: {
spa: true, // Seamless page transitions
header: { enabled: true },
sidebar: { collapsible: true, defaultCollapsed: false },
// Centralized options menu!
optionsMenu: {
position: 'header', // 'header', 'sidebar-top', 'sidebar-bottom'
components: {
search: true,
themeSwitch: true,
sponsor: 'https://github.com/sponsors/your-name'
}
},
// The New "Complete" Footer
footer: {
style: 'complete', // 'minimal' or 'complete'
description: 'The minimalist documentation generator.',
copyright: '© 2026 My Project',
columns: [
{
title: 'Resources',
links:[
{ text: 'Getting Started', url: '/getting-started' },
{ text: 'API', url: '/api' }
]
}
]
}
}
}I will update the complete new config template in the documentation
2. Introducing SPA Router & Event Delegation
We completely rewrote the client-side JavaScript. Instead of attaching hundreds of event listeners, docmd now uses a single, highly-optimized Event Delegation model.
- Seamless Navigation: Clicking sidebar links instantly swaps content without reloading the page, without breaking
<head>relative paths, and without throwing Favicon 404s. - Failsafe Offline Mode: If you open the docs locally via
file:///, the SPA intelligently disables itself to prevent browser CORS blocks.
3. The Migration Tool (docmd migrate)
Moved to the new V2 config structure? We built a tool to do it for you.
Run docmd migrate in your project root. It will:
- Backup your existing
docmd.config.js. - Intelligently map your old settings (
search,theme,sponsor) to the new nestedlayoutstructure. - Generate a clean, modern config file automatically.
4. Deep Container Nesting
Previously, nesting a ::: button inside a ::: card inside ::: tabs could confuse the Markdown parser into closing the wrong container. We wrote a custom depth-tracking parser. You can now infinitely nest components without breaking the layout.
5. Premium UI Overhaul
- Cross-Browser Perfection: Buttons, SVGs, and header elements are now strictly bound to
remand CSS variables. They look pixel-perfectly identical on Safari, Chrome, and Firefox. - Heading Anchors: Hovering over any
h2,h3, orh4now reveals a beautiful, clickable permalink chain icon. - Frosted Glass: The sticky top header now features a modern
backdrop-filter: blureffect. - Smart Scrollbars: Scrollbars are now theme-aware. In Chrome, they auto-hide until hovered. In Safari, they respect native OS dark/light color schemes natively.
- Themes Update: The
defaulttheme is now stable and nearing its final design stage. Other themes have received initial improvements but are not yet fully stable. They will continue to be refined over the next few releases.
📝 Complete Changelog
Features & Enhancements:
- Core: Added
docmd migratecommand. - Failsafe:
failsafe.jsnow includes a Virtual Machine (VM) runtime test to catch crashes before they happen. - Config: Introduced nested
layoutschema with backward compatibility adapter. - Config: Added
layout.spa: true/falseto easily toggle the SPA router. - UI: Added multi-column
completefooter option. - UI: Added
docmd-headinganchor links for H2, H3, and H4. - UI: Unified
optionsMenufor Search, Theme, and Sponsor buttons allowing easy repositioning. - UX: Replaced jittery
scrollIntoViewin the Table of Contents with a smooth, targeted containerscrollTo. - UX: Dummy navigation links (paths like
#or missing) now render as unclickable<span class="nav-category-label">to prevent false active states.
Bug Fixes:
- Core: Fixed relative path duplication bug (
content/content/syntax) during SPA navigation. - Core: Dev server now correctly throws a
301redirect to append trailing slashes on directories, mimicking production servers. - Core:
docmd initnow generates the modern V2 configuration by default. - Parser: Fixed greedy closing tags (
:::) when nesting Cards, Callouts, and Collapsibles. - Plugins:
plugin-searchcompletely decoupled from the layout template. The search modal is now self-injected by the plugin, reducing bundle size for users who disable it. - Plugins:
plugin-mermaidnow does lazy rendering to prevent layout crashes when diagrams are placed inside hidden containers. - Plugins:
plugin-mermaidnow seamlessly handles dark mode toggles without forcing a full page reload. - Plugins: Fixed Monorepo plugin resolution fallback (
Cannot find module @docmd/plugin-search). - Security: Updated
minimatchvia overrides to patch a transitive vulnerability. Updatedesbuildandlucide-staticto latest.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.7...0.4.8
docmd@0.4.7 🚀
This release focuses on quality-of-life improvements for content authors and polishing the Live Editor experience.
✨ New Features
- GFM Emoji Support: You can now use GitHub-flavored emoji shortcodes in your markdown!
I :heart: documentation :rocket:→ I ❤️ documentation 🚀
- Smart Link Rewriting: You can now link directly to
.mdfiles in your content.docmdwill automatically convert paths like[Guide](guide.md)into clean HTML links (/guide/) during the build. This ensures links work in your code editor (VS Code) and your website.
🛠 Improvements & Fixes
- Parser Stability: Resolved a critical crash (
plugin.apply is not a function) caused by ESM/CommonJS conflicts in the parser dependencies. - Button Syntax: The default template now uses the modern, self-closing button syntax (
::: button "Text" URL). - Live Layout: Fixed iframe resizing issues in the Live Editor to ensure the preview pane fills the available space correctly.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.6...0.4.7
docmd@0.4.6 🚀
This release marks a major step forward for docmd as a developer-first tool, introducing native AI support and fixing long-standing parsing edge cases.
✨ New Features
- AI Context Plugin (
llms.txt): Added@docmd/plugin-llms. It automatically generates an/llms.txtfile (mapping to llmstxt.org) to help AI agents like ChatGPT, Claude, and Cursor understand your project context instantly. Resolved #37 - Live Editor Presets: Added a "Chips" toolbar to the Live Editor. Quickly load templates for Mermaid, Tabs, Steps, and Containers to see how
docmdcomponents look in real-time.
🐛 Critical Parser Fixes
- Tabs Indentation: Fixed #40. Code blocks nested inside Tabs now perfectly preserve their internal indentation. No more flattened code!
- Mermaid Live: Fixed a silent rendering failure in the Live Editor by inlining the Mermaid loader directly into the preview iframe.
- Container Nesting: Improved depth-tracking to allow infinite nesting of components (e.g., a Card inside a Step inside a Tab) without early closure.
🖥️ UX & Internal Improvements
- Overlay Scrollbars: Redesigned sidebar scrollbars to use an "overlay" style. This prevents layout shifts and content "jumping" when expanding large sub-menus.
- Asset Ordering: Refactored the build engine to ensure Plugin CSS/JS is injected after Core CSS, making custom overrides easier and more predictable.
- Persistent Highlight Themes: Fixed an issue where code blocks would flash or revert to Light mode on page reload while in Dark mode.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.5...0.4.6
docmd@0.4.5 🚀 (Stability & WCAG Improvements)
This release brings stability improvements to the core parser and improves on WCAG standards.
✨ New Features
- Button Syntax: Upgraded the
::: buttoncontainer syntax. It is now a self-closing block, supporting quoted text and mailto links.::: button "Contact Support" mailto:support@example.com - Base Path: We now support a base configuration option in
docmd.config.js. Set base: '/project-name/'. When you write, docmd automatically rewrites it to/project-name/assets/img.pngduring the build. (Feature #43) - Keyboard Shortcuts: Still very early addition but we're adapting to more keyboard friendly UX with WCAG AA standards. Now users can skip sidebar/navigation completely and jump directly to the main-content with keyboard using hidden navigations.
🐛 Bug Fixes
- CSS Minification: Fixed an issue where plugin assets (like Mermaid styles) were not being minified during the build.
- Nested Containers: Resolved parsing logic where closing a nested container (e.g., a Card inside a Step) would break the parent container.
- Port Detection: Improved the
docmd devport check to avoid false positives and "EADDRINUSE" errors on restarts. - Fixed many minor design inconsistencies and broken elements.
📥 Upgrade
npm install -g @docmd/coreFull Changelog: 0.4.4...0.4.5
docmd@0.4.4 🚀 (Live Editor Fix & CLI Options)
This patch addresses a critical packaging issue preventing the Live Editor from building on user machines and adds new CLI flexibility.
✨ New Features
- Build-Only Mode: Added a
--build-onlyflag. You can now rundocmd live --build-onlyto generate the standalone Live Editor bundle in./distwithout starting the local server. This is useful for deploying the editor itself to static hosting.
# Usage
docmd live --build-only🐛 Critical Fixes
- Live Editor Packaging: Fixed an issue where source files (
src/) were excluded from the published NPM package.docmd livenow correctly resolves all internal modules and builds successfully on end-user machines.
🛠 Improvements
- CLI Stability: Fixed missing imports in the global binary that caused crashes on certain commands.
- Zero-Config Assets: New projects created with
docmd initnow use a default Data URI favicon, eliminating 404 errors in the console before user assets are added.
📥 Install
npm install -g @docmd/coreFull Changelog: 0.4.3...0.4.4
docmd@0.4.3 🚀
This release focuses on critical bug fixes for the Live Editor, Markdown parsing logic, and plugin stability.
✨ New Features
- Overlay Scrollbars: Sidebar scrollbars now overlay content instead of taking up physical space, preventing layout shifts when menus expand.
- Theme Toggle: Refactored syntax highlighting logic. We now load both Light and Dark themes and toggle them instantly, fixing issues where code blocks didn't update or persisted incorrectly on reload.
🐛 Critical Fixes
- Live Editor Build: Fixed a packaging issue where source files were missing from the npm package, causing
docmd liveto fail with "Could not resolve browser-entry.js". - Nested Containers: Fixed a "greedy parser" bug where closing a nested container (like a Callout inside a Tab) would prematurely close the parent container. You can now safely nest components!
🔌 Plugins
- Mermaid.js: Switched to ESM imports. This fixes rendering issues with complex diagram types like Kanban and GitGraph which failed to load in previous versions.
📥 Install
npm install -g @docmd/coreFull Changelog: 0.4.2...0.4.3
docmd@0.4.2
Patch release replacing 0.4.1.
0.4.1 was rolled back due to wrongful workspace linking and missing mermaid plugin. This release fixes that issue.
📥 Install
npm install -g @docmd/coreFull Changelog: 0.4.0...0.4.2
docmd@0.4.1 🚀
✨ New Features
- Isomorphic Core: The parsing engine now runs in both Node.js and the Browser.
- Live Editor: New
@docmd/livepackage allows real-time browser-based editing. - Plugin System: New hook-based architecture for Search, SEO, and Analytics.
- Theme Toggle: Fixed issues with dark mode persistence and highlighting.
🐛 Bug Fixes
- Fixed mermaid plugin missing from
core. - Fixed disproportionate buttons in header.
- Dependencies update and minor bug fixes.
⚠️ Breaking Changes
- Renamed: The CLI is now installed via
@docmd/core(formerly@mgks/docmd). - Config:
siteUrlis now required indocmd.config.jsfor sitemap generation.
📥 Install
npm install -g @docmd/coreWhat's Changed
- 0.4.1 patch update by @mgks in #54
- Bump the npm-dependencies group across 1 directory with 3 updates by @dependabot[bot] in #52
Full Changelog: 0.4.0...0.4.1
