---
tagName: 11.12.0
name: Neo.mjs v11.12.0 Release Notes
publishedAt: '2025-11-29T11:32:31Z'
isPrerelease: false
isDraft: false
---
# Neo.mjs v11.12.0 Release Notes

This release focuses on improving the **SEO infrastructure** of the platform. By enhancing how we generate sitemaps and site metadata, we are paving the way for better discoverability by search engines and AI crawlers. These changes are a preparatory step for the upcoming middleware-based routing deployment, ensuring that external bots can index the entire application tree effectively.

## ✨ Highlights

### 🗺️ Middleware-Ready SEO Generation

We have significantly updated the `generate-seo-files` build tool to support environments using server-side middleware for routing.

*   **Real Routes:** The sitemap generator now produces "clean" URLs (e.g., `/services`) instead of hash-based fragments (e.g., `/#/services`). This is critical for crawlers like Googlebot, which prioritize standard URL structures.
*   **Route Mapping:** The CLI tool now supports a new `objects` output format. This provides a JSON mapping between the public "real" route and the internal client-side route (e.g., `{"route": "/services", "clientSideRoute": "/#/services"}`). This mapping enables middleware to correctly resolve incoming requests and serve the appropriate application state.
*   **Categorized Routing:** The internal logic now explicitly categorizes routes as `tree` (documentation), `top-level` (SPA roots), or `file` (standalone apps/examples), ensuring correct path handling for every type of content.

## 📦 Full Changelog

### Build Scripts & SEO
-   **Enhance SEO generator to support middleware-compatible routes** (Issue #7910)
    -   Added `useHash` option to route generation to support clean URLs.
    -   Added `objects` format to CLI for generating route mappings.
    -   Fixed path handling for standalone example apps (no longer prefixed with `/learn`).
