Skip to content

v4.15.0

Choose a tag to compare

@rodrigoslayertech rodrigoslayertech released this 16 Jul 23:39
· 74 commits to main since this release
v4.15.0
5805a7c

Focus: an explicit, self-describing schema for menu item separators.

Changes

  • ➖ Added the explicit menu.separators form for sidebar menu items: separators: { lineTop, lineBottom } spells out whether the line renders above or below the item — the old separator: true did not say which (it was below), which confused both readers of the config and AI assistants authoring pages.
  • 🎚️ A separator value can name a thickness variant from the menu styles: lineBottom: 'page' or 'list' render the thicker line the legacy class-suffix hack (separator: ' page') produced.
  • ♻️ Fully backward compatible: the legacy menu.separator key (boolean or class-suffix string) keeps working and normalizes to lineBottom; when separators is present, it wins. Rendered markup and CSS classes are unchanged.
  • 🧩 Added the normalizeMenuSeparators/menuSeparatorClass helpers (src/components/menu-separators.js) and rewired DMenuItem to render both positions.
  • 📚 Updated the Pages & Routing guide in both locales with the new schema, and migrated the engine's own page registry to it.
  • ✅ Validated with 250 passing tests (6 new) and a build probe confirming the rendered separator classes are byte-identical to the legacy output.

Notes

  • No action required in consumer projects — existing separator: entries keep rendering exactly as before. Migrating is a mechanical swap to separators: { lineBottom: ... }.