-
Add a configurable trailing-slash policy via
RcProject.config.trailingSlash(defaultfalse). Routes, canonical/hreflang links, switch-locale/market URLs, and theuseMarketPathhelper are generated in the configured shape, and a Nitro server middleware issues a 301 normalizing the opposite shape. The policy is also applied to Nuxt's<NuxtLink>default so client-side navigation hrefs match, and the active value is readable at runtime viaruntimeConfig.public.laioutr.trailingSlash. Domain path prefixes are normalized, so single- and multi-segment prefixes (/fr,/en/us) — including ones written with a stray trailing slash — compose correctly. Fixes homepage alternate/canonical links carrying a trailing slash on path-prefixed domains (/fr/→/fr). The root path/is unaffected.On path-prefixed domains the homepage now resolves correctly instead of falling through to the 404 page (the
core/404catch-all is no longer market-prefixed, so it can no longer shadow the prefixed homepage such as/fr). Unknown paths under a market prefix (/fr/unknown) still resolve to the 404 page and the project-redirects lookup as before, without triggering a redirect loop. -
Breaking: The
@laioutr/loggernuxt module has been removed. It is no longer installed byfrontend-coreororchestr, and the package itself is no longer published. Internal logging now goes throughconsola(Nuxt's standard logger). This removes the pino dependency chain and prepares for an OpenTelemetry-based observability setup.What this means for your project:
-
The auto-imported
useLogger()composable and server util are gone. Useconsolainstead:// Before const logger = useLogger('my-scope'); // After import { consola } from 'consola'; const logger = consola.withTag('my-scope');
-
The
$loggerglobal (globalThis.$logger,event.node.req.log) is no longer provided. -
The
ltrLoggerconfig key (logLevelServer,logLevelClient,logForDevelopment,logNitroRequestsVerbose,logNitroResponsesVerbose) is no longer read — remove it from yournuxt.config.ts. -
Request-id middleware (pino-http request logging,
x-request-idresponse header, Sentry request-id tagging) is no longer included.
-
- Storefronts now emit a
<meta name="generator" content="Laioutr">tag in the document head for platform attribution.