Change Log (Platform)
Index of larger product and system deliveries — for review by the team, editorial, and operations. Technical details are on the linked pages.
Audiences (Affects)
| Tag | Meaning |
|---|---|
| Dashboard | Cockpit UI, tabs, editorial, approvals, users/org |
| Website & v0 | Center website, templates, visitors, v0 projects, public API |
| MCP & Agents | MCP tools, AgencyOS, automation |
| Chatbot & AI | Visitor chatbot, AI labeling, EU transparency |
| Social | Social cockpit, Engage, approvals, Outstand |
| Reporting & Analytics | Client reporting, Meta, reviews, bridge insights |
| System emails, form delivery | |
| MEC Import | Legacy MEC import, media migration |
| Signage & QR | Signage, companion, QR, center plan embed |
| Operations & Deploy | Render, cron, schema, DNS, go-live |
(New entries at the top, grouped by month; format see .cursor/rules/documentation-narrative-and-ops.mdc.)
Month July 2026
2026-07-31 — MEC Small Assets: Directions (0.1.134)
Affects: Dashboard · Website & v0 · MCP & Agents
What: In the Directions (Contact Page) tab, there is a separate field Directions Text (customContent.anfahrtDescription) next to the number of parking spaces — separated from parking/public transport fields in the global parkingConfig.
Why: General directions (train, bus, highway) were not semantically separated from the parking information; editorial and v0 needed a clear storage location in the contact block.
Links: MEC Small Assets Webseiten-Tab
2026-07-31 — ILG Opening Hours: Doctors & Practices in Extended List (0.1.134)
Affects: Website & v0
What: On /oeffnungszeiten, under the block 'extended opening hours', all doctors & practices with specified consultation times appear (own section under extended businesses).
Why: Consultation times differ from center core hours and were previously missing from the overview — visitors only saw shops with longer opening hours.
Links: Website-Templates (ILG)
2026-07-31 — Contact/Rental Emails with Center Branding 0.1.133
Affects: Dashboard · Website & v0 · Email
What: Standard email template for send-contact-inquiry / send-rental-inquiry uses center name, baseColor, accentColor, and optional logo — instead of fixed red.
Why: v0 Multi-/Single-Center forms should match the center in emails without a separate template or resending in the frontend.
Links: Dashboard-E-Mails
2026-07-31 — Opening Hours: Central Serialization (0.1.132)
Affects: Dashboard · Website & v0 · MCP & Agents
What: serializeOpeningHoursForDb cleans up faulty top-level weekdays in regularHours everywhere (Dashboard, AgencyOS, Bulk, Drafts); all shop/service/location write paths aligned.
Why: The dashboard bug primarily affected locations — without central normalization, other APIs could save the same pattern again.
Links: Dispatch & Workflow
2026-07-31 — Shop Locations: Opening Hours Storage Bug (Dashboard) 0.1.131
Affects: Dashboard · Website & v0
What: PUT/POST /api/shop-locations no longer saves faulty top-level monday–sunday fields when regularHours is set. Center website evaluates regularHours before legacy top-level days. Cleanup script scripts/fix-shop-opening-hours-legacy-top-level.mjs.
Why: Dashboard session (e.g., Giesler Galerie, 29.07.) wrote correct regularHours plus additionally set all days to "closed" — website showed 'Opening hours on request'.
Links: Dispatch & Workflow
2026-07-31 — Center Geo Coordinates via AgencyOS/MCP 0.1.130
Affects: Dashboard · Website & v0 · MCP & Agents
What: latitude/longitude in GET/PUT /api/agencyos/v1/centers/{centerId} and POST …/centers; MCP cockpit_get_center, cockpit_update_center, cockpit_create_center.
Why: v0 GEO/JSON-LD and agents need center coordinates without manual dashboard — previously only DB + session API.
Links: AgencyOS-Integration
2026-07-31 — MEC Small Assets: CTA Box on Homepage 0.1.129
Affects: Dashboard · Website & v0
What: New tab Homepage: CTA Box (ctaBox.*) with title, rich text, button (link and/or email) and optional image; visibility via pageVisibility.homepage_cta_box.
Why: Small MEC centers need a configurable call-to-action on the homepage — without hardcoding in the v0 repo.
Links: MEC Small Assets Webseiten-Tab
2026-07-30 — MEC Small Assets: Image-Text Blocks & Homepage Visibility 0.1.128
Affects: Dashboard · Website & v0 · MCP & Agents
What: New tab Homepage: Image-Text Blocks (homepageSections[]), extended Pages on/off with homepage_* keys, templateContentSchema for MCP and v0 Multi-Center.
Why: v0 Multi-Site needs different homepage compositions per center — without JSON hacks, with editorial UI established like Forum/MSA.
Links: MEC Small Assets Webseiten-Tab
2026-07-29 — AI Badge on Content Detail Pages (0.1.127)
Affects: Dashboard · Website & v0 · Chatbot & AI
What: On detail pages of news, events, offers, and jobs, the dashboard shows the Visitor Preview of the AI badge (next to title and in the info) — similar to the website.
Why: Editorial should see before publication how the AI labeling appears to visitors — without opening the live page.
Links: KI-Kennzeichnung (Authorship)
2026-07-29 — Chatbot AI Transparency (EU AI Act Art. 50) 0.1.126
Affects: Dashboard · Website & v0 · Chatbot & AI
What: Visitor chatbot shows mandatory AI notice in consent and as a permanent banner in chat (EU symbol + text). Center additional text in consent no longer replaces the AI notice.
Why: Transparency in direct AI interaction from August 2, 2026 — separate from editorial content labeling.
Links: Chatbot KI-Transparenz
2026-07-29 — EU AI Labeling Symbols 0.1.125
Affects: Dashboard · Website & v0 · Chatbot & AI
What: Visitor badge and dashboard preview use the official EU symbols (SVG) along with the German texts.
Why: In line with the EU Code of Conduct for transparency of AI content — symbol plus understandable labeling.
Links: KI-Kennzeichnung (Authorship)
2026-07-29 — Manual AI Labeling (authorship) 0.1.124
Affects: Dashboard · Chatbot & AI
What: Editorial selects AI labeling for news, events, offers, and jobs in the dashboard (Optional tab). Automatic setting by AI assistant or editing is omitted; badge on the website only with explicit ai / ai_reviewed.
Why: Labeling should be conscious and editorially controlled — not silently by AI or saving.
Links: KI-Kennzeichnung (Authorship)
2026-07-28 — MEC Small Assets: Directions Tab (Contact Page) (0.1.115)
Affects: Dashboard · Website & v0
What: New tab Directions (Contact Page) (pageType=anfahrt) — directions text (rich text), heading h2, optional number of parking spaces. Contact tab and navigation: Contact & Directions. Added in 0.1.134 by dedicated field anfahrtDescription (plaintext instead of only rich text in pageDescription).
Why: v0 shows directions as a block under /kontakt; previously the cockpit field for this was missing.
Links: MEC Small Assets Webseiten-Tab
2026-07-28 — Form Emails: Center Context & ILG Subject (0.1.123)
Affects: Dashboard · Website & v0 · Email
What: Contact and rental emails now show Center, Form Type, and Website URL. ILG contact takes the visitor subject into the email subject; promotion area sends formKey for clear assignment.
Why: Center managers should be able to quickly identify which center and which form a request comes from.
Links: dashboard-emails, website-templates
2026-07-28 — ILG: Center Manager Emails for Contact & Promotion Forms (0.1.122)
Affects: Dashboard · Website & v0 · Email
What: Cockpit tab Page: Contact with form recipient; sync script sets ilg.kontakt.contactFormRecipient and ilg.promotionFlaeche.contactFormRecipient to the center manager addresses per ILG center.
Why: Contact and area inquiries should reach the responsible center manager, not generic addresses.
Links: website-templates
2026-07-28 — public-visitor-surface: accentColor for v0 (0.1.121)
Affects: Website & v0
What: data.center.accentColor added to GET …/public-visitor-surface and GET …/by-slug/{slug} — third design color alongside baseColor/secondaryColor.
Why: v0/Claude did not read orange (#F36D25) from the API; CTAs and accents reverted to template defaults.
Links: public-center-website-api-vertrag
2026-07-28 — Shop Opening Hours: Editor Parity & MCP Format (0.1.120)
Affects: Dashboard · Website & v0 · MCP & Agents
What: Shop/branch editor recognizes free text, [object Object], and v0-flat-keys without silent default times; notice banner in the form; free text remains when saving other fields. MCP tool descriptions for shop opening hours with JSON schema. Read-only audit script.
Why: MCP shops showed incorrect default times when editing and overwrote real values — final solution without data loss.
Links: dispatch-und-workflow (Abschnitt Shop-Öffnungszeiten)
2026-07-28 — Shop Opening Hours: MCP Format & Editor Overwrite (0.1.119)
Affects: Dashboard · Website & v0 · MCP & Agents
What: MCP/AgencyOS now saves openingHours objects via JSON.stringify instead of String() (no more [object Object]). Shop GET retains free text on parse error. Shop edit only sends opening hours when the opening hours block has been changed.
Why: In MCP shops, silent default times (Mon–Sat 09:00–20:00) replaced real values on first save — format incompatibility between write and read path.
Links: dispatch-und-workflow
2026-07-28 — Forum Schwanthalerhöhe: Website Tabs (0.1.118)
Affects: Dashboard · Website & v0 · MCP & Agents
What: New config-only template forum-schwanthalerhoehe with 28 dedicated website tabs: homepage following social lounge pattern (hero slider, thematic worlds, AI assistant, …), 15 subpages in templateContent.*Page, footer/social/SEO/pages on/off. MCP hints and documentation for v0/AgencyOS.
Why: Forum Schwanthalerhöhe needs SL homepage plus forum subpages — a single data source for editorial, v0, and agents without page-content mix.
Links: Forum Schwanthalerhöhe Webseiten-Tab
2026-07-28 — Forum Gummersbach: Website Tabs v2 (0.1.117)
Affects: Dashboard · Website & v0 · MCP & Agents
What: Template forum-gummersbach expanded from 17 to 23 dedicated tabs: homepage sections (news, shop logos, shop finder), all subpage content in templateContent.*Page instead of page-content, MCP hints fully transitioned to templateContent.
Why: v0 spec requires tabs = sections in page order; a data source for agents and v0, without page-content mix on subpages.
Links: Forum Gummersbach Webseiten-Tab
2026-07-28 — Base Template: House Rules Page (0.1.116)
Affects: Dashboard · Website & v0 · MCP & Agents
What: New tab Page: House Rules for base center (e.g., Palais Vest): rich text in page-content, CMS subpage layout with hero, footer link next to imprint/data protection. Switch 'Page active' without data loss.
Why: House rules should be editable in the cockpit without having to upload a new PDF with every change.
Links: Hausordnung (Base-Template), Basis-Template-Optionen
2026-07-28 — MEC Small Assets: 14 Website Tabs (0.1.115)
Affects: Dashboard · Website & v0 · MCP & Agents
What: Config-only template mec-template-small-assets with 14 dedicated dashboard tabs (hero/welcome, footer, social, SEO, pages on/off, nine subpages including imprint/data protection). MCP hints analogous to Forum Gummersbach; publicly via templatePublicContent.content.
Why: v0 repo smg-mec-small-assets-websites should replace hardcoded texts with cockpit fields — multi-center, stored per center.
Links: MEC Small Assets Webseiten-Tab
2026-07-28 — MEC Small Assets: Hero Slider & v0-only Preview (Dashboard)
Affects: Dashboard · Website & v0
What: Hero tab supplemented with backgroundImageUrl (single image fallback) and hero.slides[] (slider with image, headline, subline, CTA). Frontend channels hide cockpit preview for v0-only templates and show the staging URL. Tab Directions (Contact Page) for MSA.
Why: v0 HeroSlider is live — cockpit must deliver the same fields as the cursor spec; avoid misleading preview.cockpit-os.de links for config-only templates.
Links: MEC Small Assets Webseiten-Tab
2026-07-28 — Org Hosting: MEC Small Assets (Vercel projectId)
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Organization → Tab Hosting — new field MEC Small Assets (mec-template-small-assets) in vercelProjectsByTemplate; display name also in center activation.
Why:
Links: Go-Live – MEC-Template ↔ Repo
2026-07-27 — Forum Gummersbach: v0 Website Tabs (0.1.114)
Affects: Dashboard · Website & v0 · MCP & Agents
What: New config-only template forum-gummersbach with 17 dedicated website tabs (hero, key facts, GummersBOT, footer, social, SEO, pages on/off, ten subpages with customContent). MCP hints and documentation for v0/AgencyOS.
Why: External editorial team should maintain forum content in the cockpit without MEC/RGW tabs; v0 reads public-visitor-surface and page-content.
Links: Forum Gummersbach Webseiten-Tab
2026-07-27 — Hero: multi-line title & subtitle (D + Grooß, 0.1.113)
Affects: Dashboard · Website & v0
What: Template D/Hybrid: Title and subtitle as Textarea (Enter for line breaks); font weight combo permanently visible. Grooß: Note for subtitle breaks.
Why: Single-line field blocked Enter; Grooß already had title breaks, D did not yet.
2026-07-27 — Template D/Hybrid: Subtitle background box in the editor (0.1.112)
Affects: Dashboard · Website & v0
What: In the Hero tab Subtitle (Template D / Hybrid): Checkbox Background Box and color field – like in Grooß and on the live website.
Why: Option was already present in the data but was missing in the Subtitle tab of the v3 editor.
2026-07-27 — Hero Slider 'More' tab: Link crash fixed (0.1.111)
Affects: Dashboard · Website & v0 · MEC Import
What: Tab More in the Hero Slider (PagePicker) no longer crashes when MEC-imported slides have a link as an object instead of a string.
Why: TypeError: e.trim is not a function when opening More (Link, Badge, Date are normalized during loading).
Links: MEC-Import
2026-07-27 — Template Grooss: Hero title & subtitle (0.1.110)
Affects: Dashboard · Website & v0
What: In the Hero Slider tab (Template Grooss): multi-line title via Enter, font weight (thin/bold combo or uniform), background color for subtitle – preview and live website like Template D.
Why: Editorial could not maintain second title line and subtitle box; live slides deviated from the dashboard.
Links: Template Grooss – Legacy-CSS-Checklist
2026-07-27 — Template Grooss: Hero fine-tuning (0.1.109)
Affects: Dashboard · Website & v0
What: In the Hero Slider tab (Template Grooss) there is now fine-tuning like in Template D: text width, pixel offset, and scaling for title, subtitle, and motif; preview with desktop/tablet/mobile.
Why: Centers could not adjust spacing and motif size without CSS classes – live slides like Förde Park used legacy pro-slide styles.
Links: Template Grooss – Legacy-CSS-Checkliste
2026-07-27 — MEC Import: Hero slides runtime & repeater mapping (0.1.108)
Affects: Dashboard · Website & v0 · MEC Import
What: MEC-Hero-Slides now import start/end date, MEC style (background color/CSS class), description as v3 object, and image URLs for dashboard repeater. Import preview/result: active / expired / upcoming.
Why: Re-import showed all slides without runtime; repeater in the Hero Slider tab was content-wise incomplete.
Links: MEC-Import – Merge beim Re-Import
2026-07-27 — MEC Import: Hero slides on re-import (0.1.107)
Affects: Dashboard · MEC Import
What: On re-import, MEC-Hero-Slides (/slider) overwrite the locally stored slides again; dashboard settings like transition interval remain intact. Import result shows the actual number of stored slides.
Why: Re-import incorrectly retained old dashboard slides (e.g., Oro Schwabach: 1 instead of 17 from MEC).
Links: MEC-Import – Merge beim Re-Import
2026-07-27 — MEC Classic: Website tab completed
Affects: Dashboard · Website & v0
What: Missing Page: ... tab (Shopping World/Rental Grooß/Green, Shops + Shopping World Template A), API fix geschaefte-a-z, hotspot default off, Template C Coupon/Impressions with Hero/SEO (Bunny Upload).
Why:
Links: MEC Classic – Webseiten-Reiter
2026-07-27 — Website contacts: v0/MCP/API parity
Affects: Dashboard · Website & v0 · MCP & Agents
What: Center website contacts (tab Contacts) are readable and writable via AgencyOS v1, public GET route (contacts/public), MCP tools, and public-visitor-surface.apiHints.contactsPublicGet.
Why: v0/Claude could not connect center managers and imprint contacts before — only the live website read them server-side.
Links: AgencyOS — Website-Ansprechpartner
2026-07-27 — MEC Import: Complete media migration to Bunny
Affects: Dashboard · Website & v0 · MEC Import
What: The MEC import now loads all center-specific remote assets from mec.mall-cockpit.de to Bunny (images, SVG, PDF, icons) — including center plan layers, center newspaper PDFs, job PDFs, directions icons, shop gallery (images[]), legal text HTML, and hero slides without MEC URL fallback. Mode Fetch missing data also migrates already imported MEC CDN URLs again.
Why: After shutting down the legacy MEC host, no productive center data should reference external MEC URLs anymore.
Links: MEC-Import – Medien
2026-07-27 — Org tab 'Branding': Block themes removed, Bunny upload
Affects: Dashboard · Website & v0
What: Tab Branding under Organizations replaces the historical theme tab: colors (primary/secondary/accent), logo, favicon, and house font as defaults for centers without their own values; upload via Bunny like in the center form. Block theme selection and 'Create theme' removed (legacy, not for MEC/Center websites). URL ?tab=branding (?tab=theme redirects).
Why:
Links: Organisations-Branding
2026-07-27 — Org Dashboard: Branding, Legal & Support per organization
Affects: Dashboard
What: {slug}.dashboard.cockpit-os.de — branded login, dynamic pages /privacy, /terms, /support with SMG operator default and org-specific support/SLA overrides (dashboardLegalConfig). Tab Legal & Support under Organizations.
Why:
Links: Benutzer und Organisation
2026-07-27 — Documentation: MEC DNS on Recast (Docker/GHCR)
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Go-live documentation supplemented with section MEC on Recast — one repo per template, DNS A-Record on Recast-IP, by-domain, distinction from Vercel go-live/UD automation.
Why:
Links: Go-Live
2026-07-27 — by-slug: websiteTemplate in the response
Affects: Website & v0
What: GET /api/centers/by-slug/{slug} now returns websiteTemplate (e.g., mec-template-a) in the same flat object as id and slug — v0 does not require an extra hop over public-visitor-surface for template guards.
Why:
Links: Public API Vertrag
2026-07-27 — MCP Bulk Hosting: Vercel + Multi-Center per Template
Affects: Dashboard · Website & v0 · MCP & Agents · Operations & Deploy
What: cockpit_bulk_center_hosting — all centers of an org with the same websiteTemplate set to e.g., Vercel + shared and store prj_… in the org map. Individual center: cockpit_update_center_hosting.
Why:
Links: AgencyOS-Integration, MCP-Tool-Referenz
2026-07-27 — MCP: Org Hosting, by-domain, pageVisibility
Affects: Dashboard · Website & v0 · MCP & Agents · Operations & Deploy
What: New MCP tool cockpit_organization_hosting; updated descriptions for go-live/shared Vercel; by-domain delivers websiteTemplate; AgencyOS GET/PATCH …/organizations/{slugOrId}/hosting.
Why:
Links: MCP-Tool-Referenz, Go-Live
2026-07-27 — by-domain: websiteTemplate in the response
Affects: Website & v0
What: GET /api/centers/by-domain now returns center.websiteTemplate (e.g., mec-template-green) — v0/multi-center can set template guards without a second by-slug request.
Why:
Links: Public API Vertrag
2026-07-27 — Org Hosting: Vercel Projects per Website Template
Affects: Dashboard · Website & v0 · Operations & Deploy
What: New tab Hosting on the organization detail page (/dashboard/organizations/{slug}?tab=hosting). IT maintains vercelProjectsByTemplate (e.g., mec-template-green → prj_…). Centers in shared mode automatically resolve the projectId from the websiteTemplate — no manual entry in each center.
Why: MEC multi-center (~60 centers): one Vercel project per template family, not per center.
Links: Go-Live DNS/Vercel/UD
2026-07-26 — Embed Center Plan: 3D Click postMessage for v0 (fixed)
Affects: Dashboard · Website & v0 · Signage & QR
What: Clicking on a 3D surface in the iframe with detailMode=parent now sends the same postMessage as sidebar/list: cockpit:centerplan:open-detail with poi payload.
Why: v0 did not receive an event on 3D clicks — SVG IDs (shop-56) were not resolved to MapLocation UUIDs; orbit drag could swallow taps.
Links: Öffentliche Center-Website API — Centerplan-Embed, v0 Teil F
2026-07-26 — Embed Center Plan: v0 Theme URL Parameters
Affects: Dashboard · Website & v0 · Signage & QR
What: /embed/centerplan accepts branding parameters for controls in the iframe: accent, accentFg, chromeBg, chromeFg, chromeBorder, chromeMuted, chromeRadius, hoverColor/hoverColorSvg, hoverColor3d (only safe CSS colors).
Why: v0 cannot style iframe content via external CSS — colors for floor switcher, 2D/3D toggle, and plan hover must be controllable via the embed URL.
Links: Öffentliche Center-Website API — Centerplan-Embed, v0 Teil F
2026-07-24 — Content: Bulk Status and Edit History Names (0.1.92)
Affects: Dashboard
What: Lists for news, events, offers, and jobs: Bulk Status (e.g., publish/archive) and in the edit history names instead of just user IDs.
Why: Editorial team edits many contents in parallel — status changes and history should be traceable without detours.
Links: Content-Management
2026-07-23 — MCP: Category per Branch (categoryId)
Affects: Dashboard · MCP & Agents
What: cockpit_update_shop_location and AgencyOS PUT …/shop-locations/{id} now accept categoryId — overwrite category only for one branch, chain remains unchanged.
Why: Editorial team (e.g., Forum Wolfenbüttel) should be able to locally clean up duplicate category names without affecting other centers of the same chain.
Links: AgencyOS-Integration — Filialen, MCP-Referenz cockpit_update_shop_location
2026-07-23 — Render: Conditional DB Push & WP Plugin Build
Affects: Dashboard · Operations & Deploy
What: scripts/render-dashboard-build-steps.sh — DB push and WordPress ZIP only on relevant Git changes in the render buildCommand.
Why: Typical dashboard deploys save ~1–4 minutes when only app code has changed.
Links: Build-Optimierung · Abschnitt Checkliste: Schema live bringen
Testing: Push without schema/plugin change → Render log shows 'skipped'; with schema.prisma change → DB push runs.
2026-07-23 — Runbook: Schema live without data loss
Affects: Operations & Deploy
What: Checklist in docs/BUILD-OPTIMIZATION.md — SAFE.sql → schema.prisma → deploy log → smoke.
Why: Clear order for live DB; no accidental data loss during schema deploys.
Links: Checkliste Schema live bringen
2026-07-23 — v0 Centerplan: Hover Instruction (SVG mousemove)
Affects: Website & v0
What: Part F + API contract + v0Integration.centerplan.clickPipeline: Hover via svg mousemove/mouseleave, not mouseover on child paths. Reference InteractiveFloorPlan adjusted.
Why: Hover got stuck — mouseout incorrectly fires between SVG child elements.
Links: v0 Teil F
Testing: v0 Plan: Hover over shop, move mouse away → Highlight disappears; hovering over another shop works.
2026-07-23 — Render Build: OOM fixed during Static Generation
Affects: Dashboard · Operations & Deploy
What: Next.js memory optimizations (webpackBuildWorker, webpackMemoryOptimizations, SSG a worker); Render build with NODE_OPTIONS=6144; Bunny debug logs only with BUNNY_DEBUG=1.
Why: Deploy failed with 'Ran out of memory (used over 8GB)' during Generating static pages.
Links: Build-Optimierung
Testing: Render deploy mallos-dashboard after push — let build run.
2026-07-23 — MCP: Offices & Practices — full write parity
Affects: Dashboard · MCP & Agents
What: AgencyOS POST/PUT /api/agencyos/v1/offices and MCP cockpit_create_office / cockpit_update_office now support all dashboard fields (logo, images, qualifications, parking, publication times, …). New MCP tool cockpit_get_office.
Why: Agents could previously only maintain a part of the office fields — gap to the dashboard model.
Links: AgencyOS Büros & Praxen · MCP-Tool-Referenz
Testing: MCP cockpit_create_office with logo, qualifications, featured → check with cockpit_get_office.
2026-07-22 — MCP: External Contacts (AgencyOS + Team Tab)
Affects: Dashboard · MCP & Agents
What: CRUD for external contacts via AgencyOS v1 and four MCP tools; Dashboard Team Tab saves persistently. CenterContact.metadata for type/emergency fields.
Why: External contacts were only locally in the state in the UI — not agent-capable.
Links: AgencyOS externe Kontakte
Testing: Center → Team → Create contact → cockpit_center_external_contacts.
2026-07-22 — MCP: KAM read and write
Affects: Dashboard · MCP & Agents
What: AgencyOS PUT for center and organization KAMs; MCP tools cockpit_set_center_key_account_managers, cockpit_organization_key_account_managers, cockpit_set_organization_key_account_managers.
Why: KAM was only readable via MCP — agents could not maintain assignments.
Links: AgencyOS KAM
Testing: MCP cockpit_set_center_key_account_managers with centerId + userIds → read again with cockpit_center_key_account_managers.
2026-07-22 — v0 Chatbot: Offer Cards via contentBlocks
Affects: Website & v0 · Chatbot & AI
What: POST /api/ai/visitor-chatbot returns contentBlocks with kind:"offers" for offer questions (even if the AI only lists text). v0 documentation: Chatbot wiring + fallback via currentBundleGet.
Why: Questions like 'Are there any current offers?' only showed Markdown bullets without cards.
Links: v0 Chatbot-Verdrahtung · API-Vertrag Chatbot
Testing: v0 chat → Offer question → Carousel under the answer; reference: VisitorStructuredChatBlocks + structured-chat-offers.ts.
2026-07-22 — Center: WhatsApp in Branding & Social Media
Affects: Dashboard
What: Field WhatsApp added in Center Edit (Branding), Website Basics, and Overview. Optional, default empty; Saving merges existing socialMedia JSON.
Why: Editorial maintains WhatsApp contact like other social links; a text field suffices (number, wa.me or channel URL).
Testing: Edit center → Branding → Leave WhatsApp empty or enter number/URL → Check overview.
2026-07-22 — Center Overview: Social Links in Contact Information
Affects: Operations & Deploy
What: Tab Overview of a center shows social media links (Facebook, Instagram, …) again under Contact Information. API delivers socialMedia with; display reads the JSON field instead of non-existent top-level properties.
Why: Links were maintained in edit but not displayed in the overview.
Testing: Open center → Overview → Contact Information → Social media rows with URLs or 'Not specified'.
2026-07-22 — Content Lists: Unified Filters (Shops, Events, Offers, Services, Jobs)
Affects: Dashboard
What: In the content overviews under /dashboard/content/*, filters are unified: Center, Search, Status, Category (or type for shops/jobs). Shops previously had only Center + Search; offers used hardcoded categories.
Why: Editorial needs the same filter logic in all lists — without duplicate code on each page.
Links: Dashboard → Inhalte → Shops / Events / Angebote / Services / Jobs
Testing: Shops → Filter by Status/Category/Type; Events/Offers/Services/Jobs → Status + Category; Check counter 'X of Y (filtered)'.
2026-07-22 — v0 Instructions: Single Shop vs. Chain
Affects: Dashboard · Website & v0 · MCP & Agents
What: Part D (Instruction + Documentation) and MCP notes clarify: local tenants → single shop via content_push without chain fields; real brands → create_chain + create_shop_location. Incorrect reference cockpit_create_shop removed.
Why: AI assistants incorrectly created new shops as 'chain with 1 branch', although editorial meant local shops.
Links: v0 Instructions Teil D · packages/mcp-cockpit-os/V0_CUSTOM_INSTRUCTIONS.md
2026-07-20 — cockpitOS Branding: Navy instead of Blue, Favicon more readable
Affects: Dashboard
What: Dashboard primary from signal blue to deep navy (#2a4060); Tab favicon C, Apple icon cOS; cOS badge in sidebar and header; Cockpit emails on navy links/buttons.
Why: cOS in 32px unreadable; agency red (#cd1619) as UI primary would look like an error. Center themes unchanged.
Links: mall-os-ui — Theme
2026-07-20 — Scheduling in Editorial Flow + Loyalty Signage live
Affects: Dashboard · Reporting & Analytics · Signage & QR
What: /dashboard/scheduling in sidebar (editorial flow) with submenu video scheduling; Hub tile on /dashboard/editorial flow. Loyalty page loads signage interactions from /api/analytics/signage (Live/Simulator depending on center).
Why: Scheduling was only accessible via direct URL; Loyalty KPIs partly from real signage data instead of pure demo.
Links: Navigation & Module
2026-07-20 — Jobs Form: 3 Tabs (New + Edit)
Affects: Dashboard
What: Job postings (New + Edit) use the same tab pattern as News/Events/Offers — ContentFormStepsHint, Tabs Content / Publish / Optional.
Why: Consistent editorial UX in the Content Hub; less scrolling, clear separation of mandatory vs. optional.
Links: mall-os-ui — Hub & Formulare
2026-07-20 — Loyalty under Marketing Cockpit
Affects: Dashboard
What: /dashboard/loyalty in Sidebar (Marketing → Bonus & Loyalty), Hub tile on Marketing Overview, Navigation documentation.
Why: Loyalty preview accessible without direct URL; remains demo until live connection.
Links: Navigation & Module
2026-07-20 — Content Forms: Unified 3-Step Hint
Affects: Dashboard
What: ContentFormStepsHint for News, Events, and Offers (New + Edit). Hub cards: same button/KPI height in all rows.
Why: Editorial sees the same tab pattern everywhere; Hub grids no longer jump with short descriptions.
Links: mall-os-ui — Hub & Formulare
2026-07-20 — Hub Phase 3: Community, Analytics, News Edit, Impeccable
Affects: Dashboard · Social · Reporting & Analytics
What: Community and Analytics overview with HubNavTile; hint banner in News Edit form; Impeccable hits cleaned up (Bounce, Purple Placeholder, Inter-examples). Social documentation: StatTile/Hub API updated.
Why: Consistent Hub navigation; editorial sees the same 3-step pattern in New and Edit; UI quality check without open hits.
Links: Social Media Freigabe, mall-os-ui — Social Hub
2026-07-20 — Documentation Prose Check + v0 Quality Section Streamlined
Affects: Dashboard · Website & v0 · Operations & Deploy
What: New script check-docs-prose.mjs (meta-phrases in the editorial manual); integrated into pnpm docs:check. Section 'Quality before Go-Live' in v0 + Cockpit without reassuring info box.
Why: Impeccable checks UI code, not documentation tone — analogous check for typical AI documentation patterns (e.g., 'you don't need to know', background phrases).
Links: Doku-Workflow
2026-07-20 — UI Batch 11: CM Apps, Signage, Sales & Reports
Affects: Reporting & Analytics · Signage & QR
What: KPI areas on CM Apps, Digital Signage (Overview + Analytics), Companion Overview, Emergency Override, Center Manager Sales and Reports on StatTile.
Why: Signage/CM modules and report overviews with consistent KPI layout (~55% + canonical).
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 10: Center Manager, Digital Experience, Spinner
Affects: Reporting & Analytics · Signage & QR
What: KPI areas on Center Manager (Drafts, Notifications, Issues, Capture), Digital Experience (Overview, Signage Analytics, Hardware) on StatTile; Notification and Issue KPIs from live data instead of mock values; Loader2 → Spinner on Issue Detail and WordPress Website Detail.
Why: Center Manager and Digital Experience modules unified; KPI numbers reflect real API data.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 9: Staff, Issues, QR, Finance KPIs, CM Spinner
Affects: Dashboard
What: Staff (16 KPI grids), Issues, QR Detail, Finance Analysis KPI tab on StatTile; Center Manager Capture, AI Assistant, Drafts on Spinner.
Why: Canonical adoption ~45% +; Staff and Operations modules unified.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 8: Planner, Workflow, Parking, Integration
Affects: Dashboard · Website & v0
What: KPI areas on Content Planner, Workflow, Parking, WP Template Detail and Integration Suites on StatTile; Spinner on Integration Suites and Center Manager Apps.
Why: Further editorial, operational, and integration pages with consistent KPI layout (~40% + canonical).
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 7: Chatbot, Community, Facility, Content Center
Affects: Dashboard · Chatbot & AI · Signage & QR
What: KPI areas on Chatbot, Community Overview, Facility Maintenance, Content Center Detail and Digital Signage Touchscreens on StatTile; Spinner on Touchscreens loading state.
Why: Core modules for editorial, community, and signage with consistent KPI layout.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 6: Reviews, RSS, Property, WordPress KPIs
Affects: Reporting & Analytics
What: Analytics Reviews, RSS Feeds, Building Automation and WordPress Overview on StatTile; Spinner on Privacy, Scheduling/Videos, Property Maintenance and User Edit.
Why: Further settings/analytics/property modules with canonical KPIs and loading indicators.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 5: Companion, Settings, Community, WordPress
Affects: Dashboard · Website & v0 · Signage & QR
What: KPI areas on Companion App, User/API Settings, Community Management, WordPress Templates and Marketing Campaigns on StatTile; Loader2 → Spinner on Companion, WordPress Overview and Account.
Why: Further sidebar modules with consistent KPI layout and loading indicators.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 4: Feedback, Property, Energy, AI-Settings
Affects: Dashboard
What: KPI areas for Feedback, Property (areas/tenants), Energy, and AI management migrated to StatTile.
Why: More sidebar pages with a uniform KPI layout and higher canonical adoption.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 3: Cockpits, ESG, Security, Analytics-Streams
Affects: Dashboard · Reporting & Analytics · MEC Import
What: HQ, Executive, Personnel, and Cockpit overview on StatTile; ESG and Property/Security KPIs; Analytics data stream components and Dispatch detail on Spinner; violet/purple hardcodes in Dispatch, Feedback, MEC Import, and Google Business Connect replaced with design tokens.
Why: Further canonical adoption on cockpit and security pages; consistent loading indicators and color tokens.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Batch 2: Finance, Data Cockpit, Social-Spinner
Affects: Dashboard
What: Finance overviews (main page, analysis, budget, sales, operating costs) and Data Business Cockpit on StatTile; entire social module switched from Loader2 to Spinner.
Why: Higher canonical usage of KPI components; uniform loading indicators.
Links: mall-os-ui — UI-Audit
2026-07-20 — UI Audit: Impeccable + StatTile Migration (Batch 1)
Affects: Dashboard · Chatbot & AI
What: Audit script audit-dashboard-ui-components.mjs; KPI areas Marketing, Property, Center Manager, Chatbot on StatTile; legacy page-container re-exported @mall-os/ui.
Why: Uniform KPI design and measurable adoption of canonical components.
Links: mall-os-ui — UI-Audit
2026-07-20 — Dashboard KPI Cards & Geist Font
Affects: Dashboard · Operations & Deploy
What: StatTile and new MetricCard in @mall-os/ui — modern layout (label, value, status line, accent bar). Geist is active dashboard-wide as font-sans.
Why: Uniform, calmer KPI design instead of colorful surface tiles; typography aligned with Vercel/Geist standard.
Links: mall-os-ui — StatTile
2026-07-20 — Dashboard Homepage: Impeccable Layout
Affects: Dashboard
What: /dashboard restructured: PageHeader, quick start at the top, KPI tiles (StatTile) for content and social, clearer sections without uppercase eyebrows, role-dependent subtitles. Agency role sees only content-relevant areas.
Why: Less visual noise, faster access to daily tasks, consistent with the Impeccable/mall-os-ui pattern of other dashboard pages.
Links: Navigation → Startseite
2026-07-20 — v0 Instructions: Impeccable Anti-Slop Check
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Instruction Part C and Go-Live Part J supplemented with npx impeccable detect (impeccable.style); own documentation section + chat prompt. V0_CUSTOM_INSTRUCTIONS.md and developer guide reference this.
Why: Deterministic slop/quality check complements the manual design DNA list — fits with v0 workflow and the dashboard check-dashboard-ui-slop.
Links: v0 Instructions (Teil C/J), mall-os-ui — Slop-Check
2026-07-20 — Role 'Agency (Content)' for External Editing
Affects: Dashboard · Website & v0
What: New user role AGENCY_CONTENT_EDITOR — content of assigned centers (Mall + Social), without editorial flow, channel linking, and technical website configuration. Navigation, middleware, and center detail tabs are restricted.
Why: External agencies need editorial access but should not see or change infrastructure (frontend channels, center website, dispatch/workflow).
Links: Benutzer und Organisation
2026-07-17 — Kiosk Floor via API (Touchscreens + floorNumber)
Affects: Dashboard · Website & v0 · MCP & Agents · Signage & QR
What: GET …/signage-config and GET …/public-visitor-surface provide real TouchscreenLocation data including floorNumber. GET /api/touchscreens supplemented. MCP: data.v0Integration.kiosk, Topic kiosk in cockpit_public_integration_docs.
Why: v0 kiosks should read the starting floor from the cockpit — without NEXT_PUBLIC_KIOSK_FLOOR; per kiosk only touchscreenId.
Links: API-Vertrag Signage, v0 Teil H
2026-07-16 — Embed Background: embedBg + chromeGhost for v0
Affects: Dashboard · Website & v0 · Signage & QR
What: /embed/centerplan accepts embedBg=transparent|#hex|rgb(), transparent=1 (alias) and chromeGhost=1 (UI without card background). data.v0Integration.centerplan.embedOption and API contract updated.
Why: v0 should seamlessly embed the plan into its own page — without a white/gray cockpit frame around the map and controls.
Links: API Centerplan v0, v0 Teil F
2026-07-16 — Chatbot Wiring for v0 (Response → Centerplan)
Affects: Dashboard · Website & v0 · MCP & Agents · Chatbot & AI
What: data.v0Integration.chatbot supplemented with responseFields, centerplanWiring, and optionalContext. Part C + chat prompt 'Chatbot Wiring', MCP cockpit_public_integration_docs (actions/suggestedActions), API contract section #visitor-chatbot-v0-wiring.
Why: The visitor chatbot API delivers items, actions, and suggestedActions — v0 needed a clear recipe for how chips are connected with center plan embed or shop routes.
Links: v0 Teil C, API Chatbot-Verdrahtung
2026-07-16 — Embed /embed/centerplan for v0 (own modals)
Affects: Dashboard · Website & v0 · MCP & Agents · Signage & QR
What: New center website route /embed/centerplan with detailMode=parent (postMessage → v0 own modal) or detailMode=cockpit (cockpit modal + shopDetailPath templates). data.v0Integration.centerplan.embedOption and MCP hints updated.
Why: v0 should be able to embed the cockpit plan without porting @mall-os/wayfinding — and still control its own shop detail pages/modals.
Links: v0 Teil F, API Centerplan v0
2026-07-16 — v0 Centerplan: Clicks + Custom Shop Navigation
Affects: Dashboard · Website & v0 · MCP & Agents
What: Part F (v0 Instructions) supplemented with 2D click pipeline and v0 custom detail navigation (/shops/{slug|id} — not Cockpit website). data.v0Integration.centerplan in public-visitor-surface; MCP cockpit_public_integration_docs expanded; chat prompt for plan reconstruction in the v0 documentation.
Why: @mall-os/wayfinding is private — v0 needs to port click logic; shop modals should lead to the own v0 detail pages, not to the Cockpit center website.
Links: v0 Teil F + Chat-Prompt, API Centerplan v0
2026-07-16 — QR Codes: Stable Entry URL + v0 Resolver
Affects: Dashboard · Website & v0 · MCP & Agents · Signage & QR · Operations & Deploy
What: Location QR codes use hosting-aware entry URLs (/companion/qr/{id} or /qr/{id}) instead of hardcoded *.signage.cockpit-os.de. New fields targetType, redirectMode, targetPath, externalUrl on QRCodeLocation; public resolve API; target type 'External URL' in QR management; POST /api/public/qr-codes/{id}/scan (Track+Resolve); QR_API_HINTS in public-visitor-surface, signage-config, frontend channels.
Why: v0 Companion and Cockpit Signage should use the same printed QRs; targets (internal, website, partner link) are resolved and tracked from the DB upon scanning — without redirect switch in the v0 project.
Links: API-Vertrag Standort-QR, MCP cockpit_qr_codes, v0 Hosting & Statistik, v0 Instructions Teil I, db_structure.md (QRCodeLocation)
2026-07-12 — Vector-Sync Cron: Batch + Repair
Affects: Operations & Deploy
What: Nightly Pinecone sync runs in batches (8 centers/request), checks success in JSON, repairs unhealthy centers individually. API: offset/batchSize and centerId on /api/cron/vector-sync.
Why: Full sync of all 109 centers ran into request timeout (~5 min) — 14 centers remained permanently below 85% coverage.
Links: docs/CRON-SETUP.md, AI-Orchestrator
2026-07-10 — AI Recommendations: Draft, Edit, and Approval
Affects: Dashboard · Reporting & Analytics
What: Block Online ↔ Center Visit in customer reporting is editable in the Cockpit (introduction, texts, measures). In the customer link and PDF, it appears only after approval; existing AI data was adopted as approved once.
Why: AI suggestions should be reviewed and formulated by the editorial team before the center management sees them.
Links: Kunden-Reporting — KI-Auswertung
2026-07-10 — Organization Detail Page Instead of Edit Modal
Affects: Dashboard
What: List under Organizations & Clients links to /dashboard/organizations/{slug} with tabs Overview, Master Data, KAM, and Theme (including extended branding: colors, logo, theme templates). New organizations can still be added via modal on the list.
Why: More fields (KAM, Theme, Center) no longer fit into a modal; branding dialog was only on the list and is now fully on the detail page.
Links: Navigation & Module
2026-07-10 — Customer Link: Bridge Insights Without Editorial UI
Affects: Dashboard · Chatbot & AI · Reporting & Analytics
What: Public customer reporting link and PDF show Online ↔ Center Visit in a customer-friendly manner — without 'formulation for conversation', copy buttons, and internal AI badges. Editorial view with conversation formulation remains in the Cockpit.
Why: Center management saw the same internal agency interface as the editorial team.
Links: Kunden-Reporting
2026-07-10 — Organization KAM with Center Inheritance
Affects: Dashboard · Website & v0 · MCP & Agents
What: KAM assignment at the organization level; centers inherit by default, deviation per center possible. APIs and UI (Organization Dashboard + Center Team Tab).
Why: ILG/HBB with many centers — maintain once instead of 30× the same people.
Links: AgencyOS-Integration
2026-07-10 — Organization Accountability API + Teams User Sync
Affects: Dashboard · Website & v0 · MCP & Agents
What: New API organizations/{slug}/accountability for KAM responsibilities (ILG/HBB); AgencyOS users des@, jh@, sl@ aligned with Cockpit emails.
Why: Teams bot 'Who is responsible for ILG?' needs a data source; missing AgencyOS users blocked social DMs.
Links: AgencyOS-Integration
2026-07-10 — Teams Bot Social: Outcome, Digest, In-Chat Approval
Affects: Dashboard · MCP & Agents · Social
What: Cockpit reports approval results to AgencyOS (social-review-outcome), provides digest API for open Cockpit approvals and Agency proxy POST …/social/drafts/{id}/review for approval from Teams.
Why: Requesters should receive feedback in the Teams bot; digest and card actions close the gap to native AgencyOS posts.
Links: AgencyOS-Integration
2026-07-10 — Content Quality Watch API (AgencyOS Teams Bot)
Affects: Website & v0 · MCP & Agents · Reporting & Analytics
What: New AgencyOS-v1 APIs content-quality-watch and kam-quality-watch-index — structured quality hints per center (missing logos, cover images, opening hours, inactivity, content gaps) for proactive Teams DMs.
Why: The AgencyOS bot should reach out to KAMs as an 'extended arm' — separate from daily operational briefing (Social/Reviews/Reporting).
Links: AgencyOS-Integration
2026-07-10 — Customer Reporting: Term Center Management
Affects: Dashboard · Reporting & Analytics
What: User-visible texts changed from 'Client' to Center Management (Customer Reporting, Analytics AI Insights, Email Dispatch, Navigation, Documentation).
Why: In the team, we talk about the conversation with the center management — not with the client.
Links: Kunden-Reporting
2026-07-10 — Social Approval: Floating Responsibilities
Affects: Dashboard · Social
What: In the approval dialog, all active Cockpit users are selectable (search, role badge, sorting Center → Org → Team). Approval/rejection per post through selected reviewers; My Approvals and Self-Approve for every logged-in user with center access.
Why: Small team with changing tasks — responsibility should be flexible per post, not tied to fixed roles.
Links: Social Media Freigabe
2026-07-09 — MCP Tool Reference (Docusaurus)
Affects: Dashboard · MCP & Agents · Reporting & Analytics
What: New page MCP Tool Reference — all 109 tools with parameters and example prompts; generator pnpm mcp:export-tools.
Why: Teams and agents need a searchable reference instead of just JSON export and scattered hints.
Links: Claude & Cockpit, Analytics-Integration
2026-07-09 — MCP: Customer Reporting & KAM Briefing
Affects: Dashboard · MCP & Agents · Reporting & Analytics · Operations & Deploy
What: New MCP tools cockpit_analytics_client_report, cockpit_analytics_client_report_bridge_insights, cockpit_operational_briefing, cockpit_kam_briefing_index, cockpit_center_key_account_managers.
Why: Agents and AgencyOS automation should use the same reporting and KAM data as the dashboard and cron.
Links: Analytics-Integration, AgencyOS-Integration
2026-07-09 — Center Detail: Team Tab Visible, AI Separated
Affects: Dashboard
What: Tab 'AI Profile' split into Team & Contacts (second tab, KAM + Team + Contacts) and AI Assistant (context preview). Old URL ?tab=profile redirects to Team.
Why: KAM and Team were hidden in the AI tab and hard to find.
Links: Benutzer & Organisation
2026-07-09 — User Assignments: Organization, KAM, Representation
Affects: Dashboard · MCP & Agents
What: Multiple organization assignments per user, KAM responsibilities in the user form, KAM role Primary/Representation; Auth considers all org assignments.
Why: An employee can be responsible for multiple centers/organizations; KAM and representation should be centrally manageable at the user and center level.
Links: Benutzer & Organisation, AgencyOS KAM
2026-07-08 — KAM Assignment in Cockpit (Multiple People per Center)
Affects: Dashboard · MCP & Agents
What: New data model center_key_account_managers, dashboard management under Center Profile → Team, AgencyOS APIs key-account-managers and kam-briefing-index; operational-briefing includes kams[].
Why: KAM was previously only in AgencyOS (one user per center); briefings and representations should be centrally managed in the Cockpit.
Links: AgencyOS-Integration → KAM & Briefing-Index
2026-07-08 — Customer Reporting: Strict Filtering of Meta-Ads per Center
Affects: Dashboard · Social · Reporting & Analytics
What: Campaign filter (e.g., BPJ) is always applied in reporting — also on DB snapshots and reporting imports; without filter, no foreign campaigns anymore.
Why: Portfolio advertising account in Zernio contains all centers; Burgau Park Jena saw ads from other locations.
Links: Client-Reporting
2026-07-08 — Social Engage: Faster Loading (Package 1)
Affects: Dashboard · Social · Reporting & Analytics
What: Engage first loads only the post list; comments and metrics come when clicking on a post. Zernio sync only via 'Refresh', channels in parallel, no analytics calls in the list.
Why: A page view triggered hundreds of sequential Outstand/Zernio requests — loading times of 30–60+ seconds.
Links: Social Cockpit (Engage unter Social)
2026-07-08 — My Notifications (Push for All Roles)
Affects: Dashboard
What: New page /dashboard/account/notifications with desktop push and email digest — accessible via avatar menu, bell dropdown, and My Account.
Why: Push opt-in was only findable through the admin settings hub; approval checkers without hub rights could not activate desktop notifications.
Links: Desktop-Push, Benutzer & Organisation
2026-07-08 — AgencyOS Operational Briefing API (KAM Daily)
Affects: Dashboard · MCP & Agents · Reporting & Analytics · Operations & Deploy
What: New AgencyOS-v1 API operational-briefing — open social postings per center, Google reviews, reporting flags, and website workflow drafts including hints[] for Teams messages.
Why: KAM Daily update in the Teams bot needs Cockpit data; AgencyOS cron consumes this API.
Links: AgencyOS-Integration → Operational Briefing
2026-07-08 — AgencyOS Teams Hook for Social Approvals (Phase 2 Prepared)
Affects: Dashboard · MCP & Agents
What: Cockpit optionally sends an HTTP hook to AgencyOS on Request Approval (agencyos-teams-notify.ts). Dashboard bell, push, and email remain unchanged; Teams DMs come via the AgencyOS bot.
Why: Notification hub is in AgencyOS; Cockpit only reports events — no own Teams bot in the monorepo.
Links: AgencyOS-Integration → Teams, Social-Freigabe
2026-07-08 — Desktop Notifications (Web Push)
Affects: Dashboard
What: Real browser push for bell events (approvals, comments, …) — service worker, VAPID, opt-in under settings → notifications.
Why: Checkers should see approval requests immediately on the desktop without polling email or the bell.
Links: Desktop-Push, Social-Freigabe
2026-07-08 — Dashboard: Zernio Auto-Link via Button
Affects: Dashboard · Social · Reporting & Analytics
What: Super admin can trigger Zernio linking (Ads + Social Inbox) in the UI — in Community & Responses (warning banner) and Customer Reporting → Data Sources.
Why: Auto-link was only accessible via API/CLI; editorial/IT needed a clear place in the dashboard.
Links: Social unter Cockpit, Kunden-Reporting
2026-07-08 — Engage: native channel posts (Zernio Live + better auto-link)
Affects: Dashboard · Social
What: Zernio now loads external posts via sync + live API (/accounts/{id}/posts); auto-link also matches center names (e.g., Burgau Park Jena). Engage warns when inbox is not linked.
Why: Only outstanding posts are visible when zernioAccountId is missing — Karma/Facebook native posts were not included.
Links: Social unter Cockpit
2026-07-08 — Social sharing: targeted reviewer selection (Fanpage Karma parity)
Affects: Dashboard
What: Dialog Request Approval with reviewer list, rule one person / all must, optional guest link, Self-approve. Notification only to selected; board shows 'Waiting for ...' and filter My Approvals.
Why: Editorial workflow from Fanpage Karma — format, spelling, and center to be checked by specific people before publishing.
Links: Social-Media-Freigabe
2026-07-08 — Social Engage: channel inbox (Fanpage Karma replacement)
Affects: Dashboard · Social
What: Community & replies now loads all posts from linked channels — cockpit posts (badge 'Cockpit') and external/native posts (badge 'Channel', e.g., Facebook directly, Karma). Filter cockpit/channel, KPI tiles separated.
Why: Replacing Fanpage Karma — editorial team must also see and comment on foreign posts without confusing them with cockpit posts.
Links: Social unter Cockpit, Social-Media-Freigabe
2026-07-08 — Social: target image under cockpit roof + Zernio Engage (pilot)
Affects: Dashboard · Social
What: Provider layer (social-provider), optional zernioAccountId on social channels, Zernio inbox client (read, reply, like/hide), capability-based Engage UI, auto-link also connects organic Zernio channels. Comments: outstanding primarily, Zernio inbox as a second source (dedupe). New documentation Social under Cockpit.
Why: An editorial interface without vendor names; Zernio for moderation/ads, Outstand for posting and replies — finally replacing Fanpage Karma.
Links: Social unter Cockpit, Social-Media-Freigabe
2026-07-08 — Zernio Ads: portfolio filter & auto-link all centers
Affects: Dashboard · Website & v0 · Social · Reporting & Analytics
What: Ad account mapping supports campaignFilter (campaign abbreviation/name) for shared meta accounts. Auto-link pulls Zernio campaigns and automatically links all cockpit centers (API + script).
Why: ILG and other center organizations use a portfolio ad account — without a filter, the total spend appears in every center report.
Links: Kunden-Reporting
2026-07-08 — Customer reporting: AI online ↔ center visit
Affects: Dashboard · Website & v0 · Reporting & Analytics
What: New block Online ↔ Center Visit with AI recommendations and concrete actions — how website visitors become mall visitors (social, ads, events, footfall).
Why: Center management discussions need more than KPIs: a clear connection between online marketing and on-site visitors.
Links: Kunden-Reporting
2026-07-08 — Customer reporting: Google reviews (cockpit parity)
Affects: Dashboard · Reporting & Analytics
What: Tile Google Reviews shows average, sentiment, and quotes from the current Google reviews (like Analytics → Reviews) for empty reporting months; new KPI Response Needed.
Why: Cockpit had more data than the customer report because it was only strictly filtered by time period.
Links: Kunden-Reporting
2026-07-08 — Customer reporting: Google reviews
Affects: Dashboard · Reporting & Analytics
What: New tile Google Reviews with overall rating, new reviews in the period, sentiment, and quote highlights — data from Analytics → Reviews (GBP or Places).
Why: Center management discussions need reputation alongside website, social, and ads — previously only on a separate analytics page.
Links: Kunden-Reporting
2026-07-08 — Social Engage: thread replies & emoji
Affects: Dashboard · Social
What: Community & replies now sends replies as a thread under the comment (no longer as a top-level comment). Emoji quick selection and smiley picker in reply fields; note on Outstand limits (like/hide).
Why: Replies were incorrectly landing as a new comment; editorial needs emojis and clarity on what Outstand can do.
Links: Social Media Freigabe
2026-07-08 — Customer reporting: advertising budget per month
Affects: Dashboard · Reporting & Analytics
What: Per calendar month, meta and Google advertising budgets can be entered in the editorial area. Meta/Google tiles then show monthly budget, spent, remaining, and utilization — also in the customer view and summary.
Why: Center management should see at a glance how the advertising budget was used — not just the absolute costs.
Links: Kunden-Reporting
2026-07-08 — Customer reporting: multiple center management emails
Affects: Dashboard · Reporting & Analytics
What: Under customer reporting, multiple email addresses can be entered for manual monthly report sending (one per line or comma-separated).
Why: Center management and marketing often receive the report in parallel — previously only one address.
Links: Kunden-Reporting
2026-07-08 — Customer reporting: only data tiles & uniform layout
Affects: Dashboard · Reporting & Analytics
What: Intern (/dashboard/analytics/client-report) and customer view (/report/{token}) show only channels with real data in the period. Both layouts use the same components, brand logos (Facebook, Instagram, Google, Meta, Umami), and a consistent KPI grid.
Why: Empty or only configured channels confuse in center management discussions — the overview should only show what is actually substantiated.
Links: Kunden-Reporting
2026-07-08 — Reporting: a place for Live Sync & Outstand Migration
Affects: Dashboard · Social · Reporting & Analytics
What: Customer reporting consolidates data sources (Umami, Outstand, Zernio, Import). Social Performance refers there instead of its own Outstand sync. Super Admin: Link Outstand migration list under channels.
Why: Fewer scattered buttons — a live sync, clear migration Fanpage Karma → Outstand.
Links: Kunden-Reporting, Social Einstieg
2026-07-08 — Zernio Ads live in customer reporting
Affects: Dashboard · Social · Reporting & Analytics · Operations & Deploy
What: Meta/Google Ads can appear live in customer reporting after Zernio integration (Cron sync, Center mapping, Import fallback for history).
Why: Advertising remains in agency BM/MCC; Solo operation without its own Meta app uses Zernio as Managed Ads API (like Outstand for Social).
Links: Kunden-Reporting, Cron-Setup
Month June 2026
2026-06-21 — MCP Remote: COCKPIT_ALLOW_CONTENT_PUSH remains after Deploy
Affects: Dashboard · MCP & Agents · Operations & Deploy
What: render.yaml — COCKPIT_ALLOW_CONTENT_PUSH changed from value: "" to sync: false (like Bearer/API-Key).
Why: Every blueprint deploy reset the manually set variable to true/1 back to empty.
Links: Claude MCP — IT-Setup Render
2026-06-21 — Social approvals: clearer, consistently in German
Affects: Social
What: Approval cards with German status and format display (Feed post, Carousel, Story, Reel), structured detail panel, action bar like website workflow; Center and Meta row.
Why: English post types (feed, carousel) and cramped card layout made verification difficult.
Links: Social Media Freigabe
2026-06-21 — Workflow & approvals: clearer, consistently in German
Affects: Dashboard · Website & v0
What: Draft fields in the detail panel with German labels (Name, Category, Floor, Opening hours, Website …); logical field order; clearer action bar per card; origin/AI assistant instead of English labels.
Why: Shop import drafts showed technical English JSON keys; the action buttons appeared cluttered.
Links: Workflow & Freigaben
2026-06-21 — Password reset page: spinner fix & one-time link rules
Affects: Dashboard
What: Reset/Activate/Unlock pages read tokens server-side (no hanging suspense spinner); diagnoseAccountToken() distinguishes expired, already used, wrong link type.
Why: /auth/reset-password?token=… remained on the loading spinner; reused links had no clear message.
Links: Benutzer: Einmal-Links
2026-06-21 — Profile self-service secured & expanded
Affects: Dashboard
What: User APIs with missing auth closed; My Account supplemented with profile picture URL and organization; Center Manager uses cm-auth instead of open by-email lookup; optional CM_BRIDGE_SECRET for server-to-server.
Why: Every logged-in user could read foreign profiles/center assignments via API; CM app name lookup was broken and insecure.
Links: Benutzer: Mein Konto
2026-06-21 — Forgot password (login), dynamic copyright, cockpit version in footer
Affects: Dashboard
What: Self-service reset on the login page uses the same email pipeline as the admin reset (no longer just status === 'Active'); Auth footer with automatic copyright year and dashboard version from apps/dashboard/VERSION.
Why: Emails did not arrive from the login page, although admin reset worked; outdated copyright year and missing version info in the footer.
Links: Benutzer: Passwort vergessen, Developer: Dashboard-E-Mails
2026-06-17 — API security phase 5 (Admin & Parking)
Affects: Dashboard
What: Maintenance/migration routes (scheduling/migrate, normalize-roles, seed-technicians, migrate/cdn-fields, setup-live-demo, vector-settings/*) only with admin auth in Prod; Parking zones CRUD and center listing with center auth (Session, CM-Bridge or Bearer).
Why: Open admin endpoints (DDL, role migration, demo user, vector keys) and unprotected parking zone mutations close.
Links: docs/SECURITY-AUDIT.md (Abschnitt 11), Cockpit-Daten-Domänen — Parking
2026-06-17 — Visitor chat: prompt injection hardening
Affects: Website & v0 · Chatbot & AI
What: System prompt supplemented (Indirect Injection, Off-Topic rejection); Client assistant history is normalized as context user message for the LLM; regression tests pnpm test:prompt-injection and pnpm test:prompt-injection-db-offer (real DB offer path).
Why: Public chatbot with DB/API context — defend against manipulation through offer texts, fake assistant, and multi-turn.
Links: Public Center Website API — Besucher-Chatbot, scripts/test-prompt-injection.ts, scripts/prompt-injection-db-offer-test.ts
2026-06-11 — GDPR: Retention, anonymization, consent gates
Affects: Dashboard · Website & v0 · Reporting & Analytics · Operations & Deploy
What: Bot analytics are anonymized before storage; session IDs without IP; website chat requires chatConsentAccepted; rate limits for contact/feedback; cookie category external for Google Maps/external fonts; Cron privacy-retention (default 365 days).
Why: Close gaps between documentation and code; traceable retention and consent for visitor services.
Links: DSGVO und Datenschutz, Datenschutz & Einwilligung, Cron-Setup — Privacy Retention
2026-06-06 — Daily editorial digest (opt-in)
Affects: Dashboard · Operations & Deploy
What: Optional daily email summary (bell + open approvals/workflow) — only with content, default off. Settings under Settings → Notifications; Cron hourly, dispatch at the chosen Berlin hour. Rejections and publish errors remain immediate emails.
Why: Editorial team should be informed without receiving every bell immediately via email; security emails (password, lockout) remain unchanged immediate.
Links: Benutzer: Digest, Developer: Dashboard-E-Mails, Cron-Setup, Migration SAFE
2026-06-06 — Center Manager: Operational cockpit UI (Light/Dark)
Affects: Dashboard
What: Neutral layout instead of full-screen gradient and glassmorphism; Light/Dark toggle in the header; AI chat with clear cards, static example chips, and a factual tone.
Why: More professional working tool for Center Manager on the go — better readability, less 'consumer app' look.
Links: Center Manager App — Oberfläche
2026-06-06 — Account Security: Lockout, Unlock, Token Purpose, Legacy API
Affects: Dashboard
What: Login lockout (5 failed attempts) with email + /auth/unlock; setup links also for inactive accounts; legacy PUT/DELETE /api/users sends the same notification emails as [userId]. Additive DB columns to User.
Why: All flows promised in emails work; no dead API paths anymore.
Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails, Migration SAFE
2026-06-06 — Dashboard Emails: SaaS Layout, Setup Links, Activate Account
Affects: Dashboard · Email
What: Unified dashboard emails (resend), copyright SawatzkiMühlenbruch GmbH, no plaintext passwords anymore — Welcome/Admin reset/invitation via one-time link (/auth/activate, /auth/reset-password).
Why: Professional SaaS standard; secure onboarding and reset flow.
Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails
2026-06-06 — Operation: render.yaml, Legacy Cleanup, Cron Health
Affects: Operations & Deploy
What: CRON_SECRET + PINECONE_HOST in Render blueprint; legacy routes slimmed down to 410 stubs; GitHub Vector-Sync checks health afterwards (needsSync === 0).
Why: Cron auth and Pinecone host documented deployable; dead code removed; failed index detected in CI.
Links: docs/CRON-SETUP.md, AI-Orchestrator
2026-06-06 — CM AI Phase 2/3: Health, Social, Confirmation, Thread Memory
Affects: Dashboard · Chatbot & AI · Operations & Deploy
What: Vector-Sync health in API settings, legacy action-handler removed from chat (410), CenterContacts in Pinecone, social drafts, human-in-the-loop, Redis chat threads.
Why: Operations see index status in UI; irreversible actions confirmed; a single orchestrator path instead of a parallel legacy chain.
Links: Developer: AI-Orchestrator, GET /api/system/vector-sync/health
2026-06-06 — Pinecone Vector-Sync & Hybrid Context (Manager AI)
Affects: Operations & Deploy
What: More complete Pinecone index (shops, offices, services/hot picks real-time), central host from config, nightly cron, manager assistant always loads DB + Pinecone.
Why: Not all center data ended up in Pinecone; rich DB context (issues, contacts, etc.) was missing on hits.
Links: Developer: AI-Orchestrator, docs/CRON-SETUP.md
2026-06-06 — Center Manager: AI Orchestrator (intent-driven)
Affects: Dashboard
What: AI chat uses dashboard intent + context; multiple actions via ai-orchestrator instead of regex-first.
Why: Demo workflows were not smart enough; the brain lies in the dashboard (analyzeIntentWithAI).
Links: Center Manager App, Developer: AI-Orchestrator
2026-06-06 — Center Manager: Session Security & Live Data
Affects: Dashboard · Operations & Deploy
What: HttpOnly cookie session with middleware, real employees in the Today dashboard, legacy /ai-assistant → /ai-chat, subdomain DNS documentation.
Why: App was not production-ready (localStorage session, demo team, hardcoded URLs).
Links: Center Manager App
2026-06-04 — Digital Experience: Sidebar Subgroups NOW! Shop & QR
Affects: Dashboard
What: Navigation groups QR management as well as NOW! shop campaigns/reservations/store view under submenus; URLs unchanged.
Why:
Links: Navigation & Module, Modul-Zuordnung
2026-06-04 — Legacy Page Builder: Phase-5a-SQL Prepared (not executed)
Affects: Operations & Deploy
What: 20260604_legacy_page_archive_tables_SAFE.sql — archive tables + idempotent copy from Page/PageBlock.
Why:
Links: Legacy Page Builder — Abschaltung — SQL: packages/database/migrations/20260604_legacy_page_archive_tables_SAFE.sql
2026-06-04 — Legacy Page Builder: Phase-5 Archive Plan (Draft)
Affects: Dashboard
What: Migration plan packages/database/docs/20260604_legacy_page_pageblock_archive_PHASE5_SAFE.md — expand-contract for Page/PageBlock, without execution.
Why: Team can release backup, archive tables, and DROP separately.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Reserve & Collect: Module Assignment Documented
Affects: Dashboard
What: Documentation clarifies that QR management, reserve campaigns, and reservations belong to the module digital-experience; marketing only a cross-section.
Why:
Links: Modul-Zuordnung, Navigation & Module
2026-06-04 — Legacy Page Builder: Backup Script Phase 5 + Branches Footer
Affects: Dashboard
What: Script scripts/backup-legacy-page-builder-tables.mjs exports Page/PageBlock read-only to backups/. Shop locations New use ContentFormFooter like edit.
Why: Safe preparation for DB archiving without DROP; uniform form UX at branches.
Links: Legacy Page Builder — Abschaltung, Mall-OS UI
2026-06-04 — Legacy Page Builder: prisma.page write access disabled (Phase 4)
Affects: Dashboard
What: Guard legacy-page-builder-guard.ts disables all remaining Page/PageBlock writes (Theme Manager, Setup Routes). API add-hbb-blocks removed. Theme setup status uses PageContent/websiteEnabled.
Why: No active stack writes legacy pages anymore — prevents silent re-seeding during theme setup.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Routes + APIs removed (Phase 2)
Affects: Dashboard · Website & v0 · Signage & QR
What: Legacy UI (/dashboard/content/pages), /api/pages*, Center Pages APIs, and migration/maintenance routes deleted. Block editor components for WordPress content areas remain. Audit script checks that removed paths do not reappear.
Why: 0 production traffic on legacy APIs; Center website, WordPress, and signage use different models — UI/API remnants are only a maintenance risk.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Seeding removed + entries cleaned up
Affects: Dashboard · Website & v0 · Signage & QR
What: No new Page/PageBlock seeding during Center creation/repair/theme regeneration; hidden dashboard links (websites tab, theme settings, technology badge, menu editor) point to websites tab or WordPress content areas. WordPress verification: Plugin only uses ContentArea APIs, not legacy pages.
Why: Production stack (center website, signage, manager, WordPress) does not depend on the Page Builder — safe shutdown phase 3+2.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Audit & shutdown plan
Affects: Website & v0 · MCP & Agents
What: Script scripts/audit-legacy-page-builder.mjs + documentation for the safe removal of the React Page Builder (Page/PageBlock); delineation from WordPress, templates, and pagesConfig.
Why: SPA Page Builder is replaced by WordPress/v0/MCP — removal only after measurable usage, without data loss.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Dashboard: UI token check & color migration
Affects: Dashboard
What: check-dashboard-ui-tokens.mjs detects all common Tailwind palette utilities (text/bg/border/gradient/ring, variants); new codemod migrate-dashboard-color-classes.mjs; dashboard baseline 0 under --strict.
Why: Hardcoded blue-600/gray-50 classes bypass cockpit-dashboard-theme.css — central theme adjustments should apply globally.
Links: Mall-OS UI, .cursor/rules/dashboard-ui-tokens.mdc
2026-06-04 — MCP Batch Content Performance + EN Documentation Analytics
Affects: Dashboard · MCP & Agents · Reporting & Analytics
What: New MCP tool cockpit_analytics_content_performance_batch (up to 40 contents, one Umami call); English analytics-integration.md aligned with DE standard.
Why: Agents can evaluate list performance without N individual requests; i18n documentation was outdated.
Links: Analytics-Integration
2026-06-04 — Analytics: Verification checklist + MCP discover
Affects: Dashboard · Website & v0 · MCP & Agents · Reporting & Analytics
What: Documentation section 'Verification' in analytics-integration.md; MCP tool-catalog category analytics (5 tools); cockpit_center_project_init and V0_CUSTOM_INSTRUCTIONS supplemented with analytics read tools.
Why: After Umami/content performance release, clear verification steps for website, v0, and MCP/agents.
Links: Analytics-Integration
2026-06-04 — Umami: Shops, Jobs, News unified
Affects: Dashboard · Reporting & Analytics
What: ContentPerformanceCard on shop detail (tab analytics), job detail, and news (replaces old news card); AI for all content types when OpenAI is active; news retains dedicated SEO POST route.
Why: One module, maximum Umami+AI coverage on all relevant detail pages.
Links: Analytics-Integration
2026-06-04 — Umami Content Performance: Detail pages & MCP
Affects: Dashboard · MCP & Agents · Reporting & Analytics
What: Performance card on offer and event detail pages (ContentPerformanceCard); MCP tools cockpit_analytics_content_performance and cockpit_analytics_content_performance_insights; cockpit_analytics_content_metrics adjusted to Umami aggregation.
Why: Unified Umami+AI usage not only on content overview and news but also for Claude/MCP integrations.
Links: Analytics-Integration · Content Management
2026-06-04 — Content Overview: real performance data
Affects: Dashboard · Reporting & Analytics
What: /dashboard/content — KPI cards and performance table use DB metrics (news, hot picks, jobs); news views with Umami fallback; no random SEO scores anymore; column 'Quality' instead of misleading 'AI Score'.
Why: The box appeared like live analytics but sometimes delivered mock values and broken Prisma selects.
Links: Analytics-Integration
2026-06-04 — Dashboard UI: Social Hub & content status expanded
Affects: Dashboard
What: SocialHubView on Surface/design tokens; content-status-badges.ts supplemented with jobs, hot picks, offices, and offer lifecycle; list and detail pages adjusted accordingly.
Why: Modular UI patterns after color migration completed — less duplicated status mappers.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Hub patterns & content status
Affects: Dashboard
What: CockpitSectionHub uses Surface/surfaceVariant instead of Tailwind color strings; shared status mappers in content-status-badges.ts for news/events/pages; CI workflow dashboard-quality.yml for quick token/route checks.
Why: Maintainable UI patterns after color migration completed — next steps modular instead of big bang.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Strict Check in prebuild
Affects: Dashboard
What: check-dashboard-ui-tokens.mjs --strict in apps/dashboard prebuild and pnpm check:dashboard-ui (Root); Baseline 0 — Build fails on new hardcoded colors.
Why: Prevent regressions after the token migration is completed.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 16 — Baseline 0
Affects: Dashboard
What: Last 37 single-hit files (Auth, CM-App, Wayfinding, Shop-Mapping, Content-Forms, Legal-Pages, etc.) migrated to design tokens; Check script reports 0 hits.
Why: Color migration completed — foundation for --strict in the dashboard build.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 15 (2-hit files completed)
Affects: Dashboard · Website & v0
What: All remaining files with 2 hardcoded hits each: Content-Detail, Hub pages, Marketing, QR, RSS, WordPress templates, Plugin UI generator, etc.
Why: Baseline reduced from 85 to 37 hits — only isolated cases remain.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 14 (Lists, WordPress, Property)
Affects: Dashboard · MEC Import · Signage & QR
What: Digital Signage, Finance, Parking, Property, Marketing, MEC Import, Settings Notifications, WordPress Overview, Center Profile, Editorial Flow, Touchscreen, Wayfinding, etc. migrated to token badges/Surface.
Why: Clean up all remaining three-hit files from the baseline.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 13 (WordPress, Components, Issues)
Affects: Dashboard
What: Theme Generator, Center Profile, Schema Check, External Events, News AI, WP Performance, Shop Mapping, Issues/new, CM Content, Emergency Override migrated to token badges/Surface.
Why: Unify four-hit files and common helper components.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 12 (CM-App, Community, Modules)
Affects: Dashboard
What: Capture Status, Issue Detail, CM Notifications, Community Overview, Team Management, Quick Links, Module Categories, Drafts, QR Detail, Integration Suites migrated to token badges/Surface.
Why: Remaining Center Manager and Community views without scattered bg-*-100 classes.
Links: Mall-OS UI
2026-06-04 — Social Caption AI: Platform Rules & Center Context
Affects: Dashboard · Social
What: Caption generator uses platform-specific hashtag rules (Facebook without tags; Instagram 3–5; optional first comment for FB+IG). Prompts in social-caption-prompts.ts; API loads Shops, Events, Offers, News from the DB according to the brief.
Why: Hashtags only where they work; better texts through real center data instead of generic phrases.
Links: Social Media Freigabe
2026-06-04 — Dashboard UI: Migration Round 11 (Permissions, Dispatch, Content Detail)
Affects: Dashboard
What: ROLE_BADGE_VARIANT/ROLE_DOT_CLASS in permissions.ts; Dispatch cards, Issues, Hot Picks/Jobs Detail, Reviews, Backup, Social sharing link migrated to token badges.
Why: Unify central role colors and remaining list/detail pages.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Hardened Check Script + Migration Round 10
Affects: Dashboard
What: check-dashboard-ui-tokens.mjs now scans all dashboard sources with (?!\d) boundary (no false positives from bg-blue-500). Migration: System Overview, Center Manager Dashboard, Shops/Services, Google Places, Support Page.
Why: Reliable baseline for CI; further lists and cockpit widgets migrated to token badges.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 9 (Content, WordPress, Themes)
Affects: Dashboard
What: WordPress content areas, Dynamic Hero, Content Overview/Offers/Offices, Page Cards (STATUS_INFO), Theme Family Selector, Settings Roles migrated to @mall-os/ui badges and tokens.
Why: Further hardcodes in lists, scope badges, and theme selection unified.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Migration Round 8 (Workflow, Property, Planner)
Affects: Dashboard
What: Further pages migrated to @mall-os/ui tokens: Website releases (workflow), Social sharing board, Property area (badges), Personnel, Content Planner (type chips), Dispatch detail, Events list, Settings users (module matrix).
Why: Gradually reduce hardcoded Tailwind colors — Baseline check from ~332 to ~260 hits.
Links: Mall-OS UI
2026-06-04 — Dashboard UI: Global Primitives & Token Badges
Affects: Dashboard · Operations & Deploy
What: New components in @mall-os/ui: Surface, StatTile, SelectableCard, KanbanColumn. Badge/StatusBadge on design tokens. Migration Dispatch Kanban, Social channel chips, AI selection, Block renderer. Check script pnpm check:dashboard-ui.
Why: A central, maintainable UI layer — appearance controlled via cockpit-dashboard-theme.css instead of scattered Tailwind colors.
Links: Mall-OS UI — Semantische Flächen
2026-06-04 — Alert Variants (Dashboard, Round 7)
Affects: Dashboard
What: Wayfinding SVG upload, shop mapping list, center profile (team & workflows), offers AI, header/footer colors, property automation, integration suites, notifications, file upload, theme upload.
Why: Further standardization of the alert UI in the dashboard.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert Variants (Dashboard, Round 6)
Affects: Dashboard
What: Admin setup, center page sync, app settings modal, homepage tiles, emergency manager, wayfinding, embed chat, reservations, plugin migration. PageContainer for services quick setup and organization detail.
Why: Continuation of consistent alert UI and page shell.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert Variants (Dashboard, Round 5)
Affects: Dashboard · Chatbot & AI · Reporting & Analytics · MEC Import
What: Dispatch detail, MEC import (media alert), shop mapping map, domains, WordPress connect/import, center plan Google Maps alert, chatbot analytics, reviews sentiment. Digital experience theme pages on PageContainer.
Why: Further UI standardization without manual color overrides.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert Variants instead of Color Overrides (Dashboard, Round 4)
Affects: Dashboard · Operations & Deploy
What: About 20 more places: social editor/release board, QR management, Google Places, CM apps settings, workflow rejection, website settings (digital experience) including PageContainer + DNS alert as Alert.
Why: Continuation of UI standardization; fewer manual color classes.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert Variants instead of Color Overrides (Dashboard)
Affects: Dashboard
What: About 50 places with manual border-*-200 bg-*-50 switched to Alert/Card to Alert-variants (default, warning, destructive, success). Hub cards (settings, system) use normal Card + --shadow-card-hover. New variant success in @mall-os/ui.
Why: Uniform alert design without duplicated Tailwind colors.
Links: Mall-OS UI — Hinweise
2026-06-04 — News Performance (Umami/DB/OpenAI) & Card Shadows
Affects: Dashboard
What: News detail shows real views (Umami per news URL, fallback DB), shares from DB, SEO/readability scores (rule-based, optional OpenAI). Central --shadow-card token for all Card components.
Why: No more placeholder metrics; cards clearly stand out from the page background.
Links: Mall-OS UI · API: GET/POST /api/content/news/{id}/performance
2026-06-04 — Dashboard: Settings & WP Content Areas (PageContainer)
Affects: Dashboard
What: Users (new/edit), Roles, Feedback Detail, Communication Redirect, WP Content Areas detail/edit on PageContainer. Design tokens in community and WordPress hub.
Why: Uniform dashboard shell in admin and WordPress areas.
2026-06-04 — Dashboard: Edit Routes & PageContainer (Continuation)
Affects: Dashboard
What: Content editing under canonical path /content/{type}/{id}/edit (offers, shops, services, jobs, hot picks, shop chains, shop locations, centers); old edit/[id] URLs redirect. Integration, WordPress content areas on PageContainer; scheduling/broadcast/content areas: gray-*/blue-* → design tokens.
Why: Uniform URLs and visual shell like in events/news; fewer hardcoded colors.
2026-06-04 — Dead Code Cleanup (Dashboard)
Affects: Dashboard
What: Removed: API-.backup files, api/_disabled/**, WordPress-*.old pages, unused Unified Website Builder, dev route test-bunny, dead nav configs. Demo stubs /dashboard/events|shops|jobs → redirects to /dashboard/content/*. Marketing/community links corrected.
Why: Less confusion, no more duplicate/obsolete UIs in the repo. Remaining React page builder paths are documented in deprecated-navigation.ts.
2026-06-04 — Content Forms & Dashboard Page Layout
Affects: Dashboard
What: News, Events, and Offers (new and edit) use the same 3-step pattern (content → publish → optional). More dashboard pages on PageContainer: center plans (overview + new), team management, scheduling, video scheduling, broadcast messages, WordPress hub.
Why: Uniform editorial workflow; fewer detached special layouts and hardcoded colors.
Links: Content Creator Handbuch
2026-06-04 — Dashboard UI: Tabs, Website Navigation, News Form
Affects: Dashboard · Website & v0
What: Uniform tab styles via design tokens (@mall-os/ui, no more hex overrides). Website tab: collapsible main groups + search in the sidebar. New News: form in three steps (content → publish → optional).
Why: Less visual inconsistency and cognitive load for editors in daily operations.
Who: Editorial team, center operations (dashboard).
Links: Webseiten-Tab Navigation · Content Creator Handbuch → News
Testing: Any page with tabs (e.g., social) → active tab uses primary color. Center → website → expand/collapse groups, search. Content → news → new → click through three tabs, save.
Month May 2026
2026-05-22 — Social from News/Event/Offer
Affects: Dashboard · Social
What: Button As Social Post on content detail pages; API POST /api/social/from-content; hub note for news/events/offers.
Why: A data core — website content is transformed into a social draft without duplicate maintenance (cockpitOS integration).
Who: Editorial, Marketing.
Links: Social Media Freigabe
2026-05-22 — Social Cockpit Shell & Hub 'Today'
Affects: Dashboard · Social
What: Uniform SocialPageShell with subnav on all core pages; hub shows Today for you (KPIs + quick actions) instead of just tiles. API GET /api/social/hub.
Why: Social feels like a cohesive cockpit module in the cockpitOS universe — orientation without feature overload.
Who: Editorial team, center manager, marketing.
Links: Social Media Freigabe, Navigation
2026-05-21 — Social Engage: Facebook Comments from Outstand
Affects: Dashboard · Social
What: Corrected parser for Outstand replies (replies.comments[] instead of just a flat array). Engage uses platformPostId for Facebook and only loads truly published posts.
Why: Under /dashboard/social/engage, comments remained empty even though Facebook showed some — Outstand provides the thread data in a nested JSON.
Links: Social Media Freigabe — Community & Antworten
2026-05-21 — NOW! Shop: Display Name (formerly Reserve & Collect)
Affects: Dashboard
What: Dashboard navigation, pages, marketing overview, shop catalog, and documentation use NOW! Shop as the product name. URLs (/dashboard/reserve-campaigns) and DB models (ReserveCampaign) remain unchanged — no data loss.
Why: Clearer association with the NOW! app and social commerce journey (Social → App → Pickup at Center).
2026-05-21 — Marketing Cockpit: Sidebar, Modules & Roles
Affects: Dashboard
What: Sidebar Marketing Cockpit after Social (Overview, Campaigns, Content Planning, Workflow, Events in Town); active menu items with ?lens=marketing; marketing-cockpit in ROLE_MODULE_IDS and permissions for ORG_MARKETING_MANAGER / CENTER_ADMIN; Mall module without marketing paths; Legacy calendar redirect.
Why: Module visible and correctly assigned — previously, marketing-cockpit often missed in role defaults, sidebar was far down without workflow link.
Links: Navigation & Module, Plattform-Überblick
2026-05-21 — Google Business Profile: Responses Directly from the Cockpit
Affects: Dashboard · Social
What: OAuth integration (Google Business Profile API) per center; reviews from GBP when connected; dialog Send to Google; admin tab under Integration → Google Places.
Why: Google offers an official reply API — with OAuth, centers can publish responses without copy-pasting.
Who: Admin (OAuth client), Center Manager / Editorial (connection + responses).
Links: Social Media Freigabe
2026-05-21 — Reviews: AI Caption, Collective Post, Google Response Help
Affects: Dashboard · Social
What: Social posts from reviews with AI Caption; Social Collective Post from AI recommendation cards; Responses dialog with AI suggestion, copy and link to Google (no auto-post).
Why: Finer tone per topic, address recurring criticism collectively, Google responses user-friendly without a non-existent API.
Who: Editorial, Marketing, Center Manager.
Links: Social Media Freigabe
2026-05-21 — Social: Comment Notifications (Phase B3)
Affects: Dashboard · Social · Operations & Deploy
What: Hub tile Comments Open; dashboard bell for new social comments; Engage opens with ?filter=comments; Cron adds comment check.
Why: Community responses are not forgotten — same 'Today for you' approach as with approvals.
Who: Editorial, Center Manager, Marketing.
Links: Social Media Freigabe
2026-05-21 — Social Post from Google Review
Affects: Dashboard · Social · Reporting & Analytics
What: On Analytics → Reviews button Social Post per review; API POST /api/social/from-content with type: review and review snapshot; hub link to reviews.
Why: Connect reputation (Analytics) and public relations (Social Cockpit) — address criticism/praise in an editable draft without double maintenance of review data.
Who: Editorial, Marketing, Center Manager.
Links: Social Media Freigabe
2026-05-21 — Social / Outstand (Webhooks, Metrics, Publish)
Affects: Dashboard · Social · Reporting & Analytics · Operations & Deploy
What: Outstand integration expanded: channel status in approvals, webhooks (post.published, post.error, account.token_expired), first comment after going live, reels/carousel publish, daily metric sync via Cron.
Why: More reliable publishing (including images via containers[].media), faster error detection and reporting without manual follow-up in Outstand.
Who: Editorial/Social (approval UI), Operations/IT (Env, Webhook, Cron).
Links: - Social Media Freigabe
2026-05-20 — Ree-Carrée & RGW: Cockpit Tabs, DeepL & Legal Free Text
Affects: Dashboard · Website & v0 · MCP & Agents
What: Own Cockpit Tabs per Page (Ree-Carrée, RGW), DeepL Translation in the cockpit, Free Text Mode for imprint/data protection/terms and conditions; footer/header/subpages from cockpit data.
Why: Editorial maintains multilingual center websites without external tools — legal texts without PDF workflow.
Links: Website-Templates
2026-05-19 — MEC ShopBox & Goldbeck: Optional Content Colors
Affects: Website & v0
What: Per center optional Body Text Color and Page Title Color in the website tab (Goldbeck · Options, MEC ShopBox · Options). Brand/layout colors remain in design or Bento/header.
Why: Readability on legal and content pages (e.g., imprint) without changing the brand color of the navigation.
Links: Goldbeck Webseiten-Tab, MEC Optionen
2026-05-19 — Center Plan: Drawing Mode, Hybrid Hover & Content Highlights
Affects: Dashboard · Website & v0 · Signage & QR
What: Manual Drawing in the center plan, hybrid SVG Hover and mobile shop modal; Highlight Toggle for news/events/offers; content API lists aligned with current bundle filter.
Why: Plan maintenance and highlighted content without code — consistent API for v0 and website.
Links: Centerplan Übersicht
2026-05-16 — Cookie Consent, Data Protection & visitorPrivacy (Public API)
Affects: Dashboard · Website & v0 · MCP & Agents
What: Tab Data Protection, website Cookie Consent, legal texts; visitorPrivacy in public-visitor-surface for v0.
Why: GDPR consent and controllable privacy fields — a single API source for visitor sites.
Links: Datenschutz-Einwilligung, Public API
2026-05-16 — WordPress APIs, Marketing Campaigns & Analytics Footfall
Affects: Dashboard · Website & v0 · Reporting & Analytics
What: WordPress websites/Embed/Sync APIs, Marketing Campaigns UI, Footfall Analytics; Builtin Website Templates API.
Why: Centralized WordPress and marketing workflows in the cockpit instead of silo solutions.
Links: Navigation & Module
2026-05-15 — Videos, ILG Arrival & MCP v0 Guardrails
Affects: Dashboard · Website & v0 · MCP & Agents
What: Videos for news/events/offers/services/stores; ILG Arrival Maps (arrival page); MCP Source-of-Truth Guardrails; Umami fields in website config.
Why: Media and arrival via cockpit/API — v0 does not invent fields.
Links: Claude MCP Redaktion
2026-05-15 — Roles & Settings: CENTER_ADMIN Scoping
Affects: Dashboard · Website & v0
What: CENTER_ADMIN: only own center media and templates; role-based settings; Integration/WordPress menu only SUPER_ADMIN.
Why: Tenant separation — Center admins without super admin rights.
Links: Benutzer & Organisation
2026-05-14 — Hybrid Center Plan: Polygon Editor & Floors MCP
Affects: Dashboard · Website & v0 · MCP & Agents
What: Hybrid SVG with polygon editor and PNG segmentation; Tab New Floor; AgencyOS floors_summary for wayfinding/MCP.
Why: Center plan without Illustrator for standard cases; agents read floors in a structured way.
Links: Hybrid PNG mit Polygonen
2026-05-14 — Goldbeck: Page Visibility & Navigation
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Tab Pages on/off; Nav/Footer and 404 respect disabled pages.
Why: Subpages in the cockpit can be toggled — without deploy.
Links: Goldbeck Webseiten-Tab
2026-05-13 — ILG Hero Slides, Current Hub & Voucher Page
Affects: Dashboard · Website & v0 · Operations & Deploy
What: ILG Hero Slides and sidebar nav; Current hub (news separated from offers/jobs); Voucher Page with logo lines; Iframe pages under /{shortname}.
Why: ILG go-live preparation — central visitor flows and special pages completed.
Links: Feature-Katalog
2026-05-11 — ILG Website Tabs & MEC Pixel Parity B-1.16
Affects: Dashboard · Website & v0 · MCP & Agents
What: ILG Page Content Tabs (jobs, doctors, offers); MEC B-1.16 pixel parity (offers flex, contact, opening hours); MCP cockpit_public_wayfinding_floors.
Why: ILG editorial and MEC migration continue in one release cycle.
Links: Feature-Katalog
2026-05-09 — Slug APIs for All Content Types & MCP Completeness
Affects: Website & v0 · MCP & Agents · Reporting & Analytics
What: Public Slug Queries for news, events, offers, stores, services, chains; MCP tools and analytics integration expanded; workflow bulk actions.
Why: v0 and external frontends use meaningful URLs — agents can address everything.
Links: Public API Vertrag
2026-05-01 — Hero Slider Editor for Editors
Affects: Dashboard · Website & v0
What: Hero Slider Editor v2 in the dashboard — slides, layout, and media without custom CSS; connection to templates.
Why: Marketing wants to maintain hero areas themselves — not through developer tickets.
Links: Base Template Optionen
2026-05-01 — MEC Import: templateContent from Legacy API
Affects: Dashboard · Website & v0 · MCP & Agents · MEC Import
What: MEC import takes templateContent from old MEC API; social links dashboard ↔ frontend synchronized.
Why: Migration of old centers without manually updating each template field.
Links: MEC-Import
Month April 2026
2026-04-01 — MEC Templates C/D/Grooss: Pixel Parity Subpages
Affects: Dashboard · Website & v0 · MEC Import
What: MEC Template C, D, Grooss: Subpages visually match the original; shopping world with center plan mode; nav overlay and boxed layout.
Why: MEC migration — visitors should retain the familiar appearance.
Links: MEC-Import
Month March 2026
2026-03-31 — RGW/Goldbeck: CMS Pages & Social Icons
Affects: Dashboard · Website & v0
What: RGW pages (University, Rental, Quarter Compass) from CMS; Goldbeck offices/wayfinding; social icons in templates.
Why: Content pages fully from Cockpit — not hardcoded in the frontend.
Links: Goldbeck Webseiten-Tab
2026-03-25 — Ree-Carrée: Event Banner & Website Tabs
Affects: Dashboard · Website & v0
What: Ree-Carrée: dynamic event banner; hero/deals/opening hours in the website tab; subpages in the template.
Why: Center-specific homepage logic without fork in the base template.
Links: Website-Templates
2026-03-24 — RGW Template (Rathaus Galerie Wuppertal)
Affects: Dashboard · Website & v0
What: RGW template with its own layout; multi-mall overview alphabetically; website options in dedicated tabs.
Why: Second full template for Kaufland/Rathaus-Galerie-Wuppertal.
Links: Website-Templates
2026-03-23 — ILG Website Template Integrated
Affects: Dashboard · Website & v0
What: Own ILG template (Center website + dashboard tab) for doctors/health, sidebar navigation, and special page logic.
Why: ILG-Rheinland needs a different structure compared to the standard mall layout.
Links: Feature-Katalog
Month February 2026
2026-02-27 — SEO/GEO: JSON-LD, Canonical & Sitemap (Base Template)
Affects: Website & v0 · Chatbot & AI
What: Structured Data (ItemList, Breadcrumb, Event/News, HowTo Directions); Canonical/OG/Twitter; GEO Score and AI citation notes in documentation.
Why: Optimize center websites for search and AI responses — not just visually.
Links: SEO AI GEO
2026-02-27 — MEC ShopBox: Bento Grid, Directions & Logo Carousel
Affects: Dashboard · Website & v0 · MEC Import
What: MEC ShopBox template with Bento grid, directions tab extension; logo carousel without white spaces; jobs page in the base template.
Why: Legacy MEC center visually and content-wise aligned with the original.
Links: MEC Small Assets Webseiten-Tab
2026-02-26 — Goldbeck Template & Center Website Wayfinding
Affects: Dashboard · Website & v0
What: Goldbeck website template; wayfinding pages with header/footer; AI page and cookie consent improvements.
Why: First client-specific full template alongside the base layout.
Links: Goldbeck Webseiten-Tab
Month January 2026
2026-01-31 — Center Plan: Shop Mapping Fullscreen & SVG Preview
Affects: Dashboard · Operations & Deploy
What: Simplified Shop Mapping in fullscreen; SimplifiedMapView with SVG rendering; debug API for MapLocation data.
Why: Editorial can map shops faster and see the plan in original quality.
Links: Centerplan Übersicht
2026-01-30 — Digital Signage: Companion Template & Center ID Recognition
Affects: Dashboard · Website & v0 · Signage & QR · Operations & Deploy
What: Companion App template; automatic Center ID from subdomain/branding; wayfinding legacy as a selectable signage template.
Why: Multiple center domains — kiosk/companion without manual UUID maintenance in each instance.
Links: v0 Deploy & Cockpit-Register
Month December 2025
2025-12-31 — WordPress Plugin v1.16.5 (Opening Hours & Locations)
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Plugin v1.16.5: intelligent Compact Opening Hours; delete pages for shop chains/locations; update API fixes.
Why: WordPress shops and locations accurately reflect cockpit opening hours.
Links: WordPress AI Assistant
2025-12-16 — Offices & Practices: Office Type Management
Affects: Dashboard · Website & v0
What: Office Types and extended office/practice maintenance; shop locations with displayId; opening hours JSON consistent in APIs.
Why: Health and office centers need their own types and clean API fields.
Links: Büros & Praxen
Month November 2025
2025-11-29 — Homepage Tiles Manager (Dashboard + Website)
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Create/edit Homepage Tiles in the dashboard; center website dynamically renders tiles from API (grid layout, media).
Why: Homepage highlights without code — editorial controls order and images.
Links: Feature-Katalog
2025-11-29 — Dynamic Center Data & AI Chat Context
Affects: Website & v0 · Chatbot & AI
What: Center website loads full center configuration from DB; AI Chat sends centerId for dynamic context; category themes and media fields.
Why: Visitor chat and UI should use real center data — not static mocks.
Links: Chatbot KI-Transparenz
Month October 2025
2025-10-29 — WordPress Plugin: Auto-Update & Dynamic Tags
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Plugin Auto-Update (v1.7.6+); Content Dynamic Tags with correct API URL; center filter synchronized with context.
Why: Keep WordPress pages up to date without manual plugin uploads.
Links: WordPress AI Assistant
2025-10-28 — WordPress Website Model & Batch Sync
Affects: Dashboard · Website & v0
What: Data model WordPressWebsite; Batch Sync Queue including center, logo, and favicon import.
Why: Cleanly assign and synchronize multiple WP instances per organization.
Links: Navigation & Module
2025-10-18 — Center Plan: Shop Mapping & SVG Hover Revised
Affects: Dashboard · Website & v0
What: Shop mapping on the plan (pins, hover, coordinates); isActive for floors; rich text sync and batch sync for content areas.
Why: Editorial team reliably links shops with plan areas — basis for visitor wayfinding.
Links: Centerplan Content-Workflow
Month September 2025
2025-09-22 — WordPress Plugin Focus (SPA replaced)
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Strategic shift: WordPress Plugin with modular admin UI, German interface, and update system; frontend SPA removed from main path.
Why: Many centers run on WordPress — integration there instead of parallel SPA maintenance.
Links: WordPress AI Assistant
2025-09-22 — Content Areas: WordPress Integration Phase 1
Affects: Dashboard · Website & v0
What: Content Areas sync between Cockpit and WordPress; Elementor/theme widgets use Cockpit data instead of hardcoding.
Why: Editorial team maintains once in Cockpit — WordPress pages show current content.
Links: API WordPress Push
2025-09-18 — Wayfinding: Combined Overview & SVG Converter
Affects: Dashboard · Website & v0 · Signage & QR
What: Wayfinding Overview in the dashboard; SVG converter with multi-floor detection and UX fixes for center plan import.
Why: Make floors and routes importable without Illustrator experts.
Links: Centerplan Übersicht
Month August 2025
2025-08-31 — Frontend SPA: Dynamic Page Blocks from Cockpit API
Affects: Dashboard · Website & v0 · Operations & Deploy
What: Center Frontend SPA loads page builder blocks live from the dashboard API; fallbacks and CORS hardened for production.
Why: Central maintenance of website content — frontend renders what editorial saves in Cockpit.
Links: Plattform-Überblick
2025-08-29 — Universal Plugin System & Modular Theme Architecture
Affects: Dashboard · Website & v0
What: Universal Plugins (Hero, Shops, Events, Services, Quick Links) with dashboard page editor, migration for existing centers, and modular CSS per theme (e.g., HBB).
Why: Center homepages should be composable from reusable blocks without individual development.
Links: Website-Templates
2025-08-28 — Website Analytics Dashboard with Real Charts
Affects: Dashboard · Chatbot & AI · Reporting & Analytics
What: Analytics overview in the dashboard with real charts and chatbot integration — first central evaluation instead of placeholders.
Why: Center operations should see traffic and usage without external tools.
Links: Analytics Guide
Month July 2025
2025-07-22 — Digital Signage: Build & Deploy stabilized
Affects: Dashboard · Website & v0 · Signage & QR · Operations & Deploy
What: Digital Signage App Build in CI/CD fixed (Favicon, GitHub Actions); Database env templates for production standardized.
Why: Kiosk/Companion deployments must not fail due to frontend builds — operations need reproducible pipelines.
Links: Digital Signage Guide
Month May 2025
2025-05-26 — Project Start: cockpitOS Monorepo & Dashboard
Affects: Dashboard · Operations & Deploy
What: First Monorepo with Dashboard (Next.js, Tailwind v4), deployment setup, and basic navigation — foundation for all future modules.
Why: A common cockpit instead of scattered tools for center operations and editorial work.
Links: Plattform-Überblick · Getting Started
Entries are added with each delivery; older releases receive Affects tags when the page is updated anyway.
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/plattform/changelog