Zum Inhalt

Changelog

[unreleased]

Build

  • Tag image as sommerfest-quiz
  • Enforce conventional commits via commitlint and husky
  • (deps-dev) Bump phpstan/phpstan from 2.1.32 to 2.1.40
  • (deps) Bump intervention/image from 3.11.4 to 3.11.7
  • (deps) Bump stripe/stripe-php from 19.1.0 to 19.4.0

Chore

  • Add pages table for SEO config
  • Increase phpstan memory limit
  • Restore config
  • Scope landing page styles
  • Apply dark blue landing theme
  • Improve landing page contrast
  • Refine compose project handling
  • (deps) Bump symfony/process from 7.3.0 to 7.3.3
  • (deps) Bump symfony/mailer from 7.3.2 to 7.3.3
  • (deps) Bump stripe/stripe-php from 17.5.0 to 17.6.0
  • (deps) Bump slim/slim from 4.14.0 to 4.15.0
  • (deps) Bump guzzlehttp/guzzle from 7.9.3 to 7.10.0
  • Normalize invite setup indentation
  • Restore config backup
  • (docs) Remove unused jekyll rtd theme
  • Add migration for logo width
  • Mark admin script as module
  • Streamline catalog styles
  • Preserve query string on rewrite
  • Remove obsolete comment
  • Send JSON accept header when fetching catalogs
  • Seed admin user
  • Handle network errors in event switcher
  • Add migration for sticker text toggles
  • Normalize spacing before EOF docblocks
  • Track namespace-specific token CSS and tighten .gitignore
  • Remove legacy labor.css, topbar.landing.css, and dead references
  • Add auto-generated namespace token stylesheets
  • Include pre-existing namespace token and upgrade script changes
  • (design) Complete v2.0.0 structure for all design presets
  • Update generated namespace token CSS files
  • Add calhelp blocks demo draft page
  • Add phpstan check script
  • Add cms api contract smoke test script
  • Remove test comment from FooterTools
  • Modernize CI and Docker setup

Ci

  • Rebase changelog updates before push
  • Add GitHub Pages workflow
  • Add JS unit tests job to PR workflow
  • Add pre-commit hook for local CI checks
  • Disable update-tenants workflow

Docs

  • Remove version bump entries from changelog
  • Note removal of docker tag for tenant upgrade
  • Note landing page style overrides
  • Clarify tenant wait probing and HTTPS upgrade
  • Document Docker Compose project name
  • Dokumentation des table frameworks
  • Update table framework guide
  • Add local documentation build instructions
  • Escape twig example in docs
  • Describe QR code endpoint requirements
  • Document active event handling
  • Add domain configuration section
  • Clarify quiz start comment
  • Note management role redirect
  • Refresh contribution and coding guides
  • Explain team name ai preview
  • Document marketing menu assignments
  • Add comprehensive architecture review against AGENTS.md
  • Add prioritized architecture task list (27 tasks in 7 phases)
  • Add harmonization plan for menu editor and footer block editor UX
  • Add comprehensive role and permission documentation
  • Document PR #5300 as superseded by #5303/#5312
  • Add comprehensive project documentation for marketing website
  • Add namespace design explanation
  • Add namespace design review and improvement recommendations
  • Add branch naming conventions to CLAUDE.md
  • Add CSS audit analyzing stylesheet conflicts and legacy inclusions
  • Fix inaccuracies in CSS audit
  • (css) Document intentional hardcoding in highcontrast.css
  • Add UX/UI improvement plan for tenant onboarding
  • Add FEATURES-MARKETING.md with comprehensive feature documentation
  • (features) Add namespace-based subscription and quota model
  • Add GRID_OVERVIEW.md with CSS grid migration analysis and roadmap
  • Update GRID_OVERVIEW.md with exact marketing.css selector analysis
  • Add standard customer chat snippet for cms collaboration
  • (api) Add comprehensive API v1 reference and register news endpoints
  • Add API expansion briefing for AI assistant
  • Add MCP connector setup guide for Claude.ai

Feat

  • Allow selecting subscription plan
  • Persist and extend QR design
  • Allow resending welcome mail
  • (admin) Allow column selection for tenants
  • Show tenant invoices
  • Enable subscription plan toggle for all tenants
  • Add health endpoint and improve onboarding check
  • Add automatic patch bump workflow
  • Enforce password repeat in reset
  • Group admin options by category
  • Extend dark mode styling to html element
  • Sync Stripe subscription on plan change
  • Increase icon button tap size
  • Enable automatic dark mode
  • Make font sizes responsive
  • Always show tenant actions in dropdown
  • Add dynamic canonical and OG URLs
  • Add theme color variables
  • Add dynamic nav placeholder sizing
  • Add responsive offcanvas menu toggle
  • Add mobile offcanvas navigation
  • Validate redirects before navigation
  • Allow hiding topbar icons
  • Add compact settings dropdown
  • Add player profile page
  • Add profile name management
  • Enforce profile setup for random names
  • Store player names per event
  • Add exponential backoff for db connection
  • Improve topbar accessibility
  • Pull image before tenant upgrade
  • Allow custom image tag for tenant upgrade
  • Consolidate admin toolbar actions
  • Improve navigation accessibility
  • Dark pricing cards
  • Toggle dark stylesheet via disabled attribute
  • Themeable landing topbar
  • Improve landing page theme variables
  • Streamline dark mode handling
  • Improve dark theme colors
  • Use Poppins font for body
  • Replace landing page with new design
  • Apply design system to landing
  • Refresh landing page
  • (dark-mode) Refine login input styling
  • Initialize theme before css load
  • Mobil-first landing styles
  • Darken login version tag
  • Add redirects table
  • Apply dark mode classes without stylesheet
  • Simplify landing hero
  • Use uikit navbar toggle
  • Add offcanvas nav to marketing landing
  • Add light landing theme with dark override
  • Redesign landing topbar
  • Implement theme toggle and qr tokens for landing
  • Improve tenant creation error handling
  • Set default light theme
  • Add icons to landing page navigation
  • Add collapsible log to onboarding
  • Improve tenant health check and TLS logging
  • Require Stripe pricing table
  • Toggle dark mode class
  • (editor) Add section template after hero
  • Enable dark mode by default on landing
  • Load .env variables in onboarding script
  • Limit onboarding task log height
  • Add language menu to landing
  • Update how-it-works section
  • Ensure btn icons match text color
  • Add use case slider
  • Expand landing FAQ
  • Update contact block copy
  • Greet returning team name
  • Preserve catalog questions on slug change
  • (admin) Edit teams via modal
  • Add qr action button style
  • Add teams speed dial
  • Add pagination for team management
  • Add light mode row styling
  • Refine QR code defaults
  • Add swipe card styles
  • Add table macros for admin views
  • Add generic table manager
  • Add mobile card rendering with accessibility
  • Polish table layout and theme variables
  • Add table macros and update docs
  • Add table manager utility
  • Add twig template for tenant rows
  • Update catalog manager save logic
  • (admin) Render catalog mobile cards
  • Expose event config endpoints
  • Implement event config page logic
  • (admin) Enhance event config sidebar
  • Add pagination and classes to catalog manager
  • Guard table manager init
  • Add mobile action menu and modal editing for catalogs
  • Improve mobile table layout
  • Add paginated catalog endpoint
  • Add accessible table loading spinners
  • Allow custom QR code options
  • Add mobile labels for table columns
  • Apply default QR code layout
  • Add explicit chillerlan qr options
  • Use table layout for admin events
  • Make QR logo punch-out configurable
  • Punchout logo area in svg QR codes
  • Add reusable cell editor helper
  • Support event-specific QR logo endpoints
  • (admin) Add catalog edit modal
  • Auto-save catalog changes
  • (admin) Add missing events table
  • Autosave questions
  • Add event-specific config endpoint
  • Add eventless catalog fallback
  • Add save button identifier
  • Add autosave for loaded config
  • Make tenants directory configurable
  • Enable autosave for event configuration
  • Import existing page content
  • Add catalog load warning
  • (catalog) Show intro on initial load
  • Resolve catalog slug from URL path
  • Add async catalog selection
  • Centralize storage utilities
  • Add player session endpoint
  • (storage) Scope puzzle and catalog data
  • Provide storage fallbacks for catalog
  • Redirect event selection via query
  • Show event name in admin headings
  • Pass event uid to result service
  • Collect solved catalogs in competition mode
  • Preload events on admin page
  • Remove events pagination limit
  • Warn if no events present
  • Combine team actions into single column
  • Move team name prompt to top bar
  • Globalize player name storage
  • Allow resetting stored team name
  • Show team name button
  • Stop resuming catalog from session
  • Enhance event catalogs layout
  • Adapt onboarding buttons for dark mode
  • Show event header outside topbar
  • Improve sticker background upload UX
  • Improve sticker background upload UX
  • Add catalog sticker preview
  • Add dark-mode contrast for secondary buttons
  • Suggest username for manual QR input
  • Enable dark theme on license page
  • Update user rendering
  • Highlight catalog cards in dark mode
  • Prevent replaying solved catalogs
  • Add label for event selection
  • Use native select for event picker
  • Inline role editing
  • Add username modal for admin
  • Dynamically switch admin events
  • Hide event selector on small screens
  • Persist letter in puzzle mode
  • Prevent admin event change auto reload
  • Widen sticker editor modal
  • Reintroduce additional Avery sticker templates
  • Introduce image upload service
  • Centralize event image storage
  • Auto orient image uploads
  • Add image format option
  • Support per-line font sizes in sticker preview
  • Add catalog fallback
  • Use new image upload controller for sticker background
  • Use UIkit uploader for sticker backgrounds
  • Preserve text box position during resize
  • (sticker) Support padding in editor
  • Add mm grid snapping for sticker editor
  • Refine sticker QR size field
  • Allow marketing contact forms to define endpoint
  • Add animated calserver hero background
  • Implement future-is-green mega menu
  • Add domain-specific RAG management
  • Manage RAG chat settings in admin
  • Expand calHelp case stories
  • Redesign calhelp news section
  • Redesign calhelp news section
  • Add CalHelp section theming
  • Allow customizing live dashboard widget titles
  • Allow marketing event pages to adopt event branding
  • Integrate events module into namespace system
  • Add advanced footer block system with content types
  • Add automatic WCAG color contrast checking for theme tokens
  • Add conventional commits and manual version bump support
  • Make all page module block types mobile-first responsive
  • Add responsive font-size scaling for all heading classes in modules
  • Add item-level card toggle with filtered sub-variants in Layout-Stil
  • Add Future-is-Green namespace design theme and design import function
  • Add fully functional contact_form block with configurable fields
  • Enhance footer editor with layout persistence, drag-and-drop, live preview, rich text and inline editing
  • Improve admin menu for mobile with touch-optimized offcanvas nav
  • Reorganize admin navigation – split Struktur into Menüs + Footer
  • Add self-service mail settings page (/settings/mail)
  • Extract anchors from all pages for menu editor autocomplete
  • Add latest-news page editor module
  • Add latest_news block type to page editor section templates
  • Add customer role for self-service namespace management
  • Add newsletter variant to CTA block
  • Add rename and delete actions via dropdown menu in page tree
  • Add rename/delete actions to page editor tree via dropdown menu
  • Namespace-driven team name generation and event scoping
  • (config) Add admin toggle for player contact email form
  • (design) Track source preset and import timestamp
  • (design) Add custom CSS overrides tab per namespace
  • (cms) Add block-contract-v1 prompt template for marketing page import
  • (calserver) Implement one-pager design via CMS blocks and namespace CSS
  • (calserver) Add CMS page migration for calserver namespace
  • (calserver) Add CMS menu migration for calserver namespace
  • (pages) Add domain selector to page tree for per-domain startpage assignment
  • (calserver) Replace marketing page with CMS block-based design
  • (page-tree) Add top menu assignment to page tree context menu
  • (page-tree) Add menu assignment to pages content tree
  • (pages) Auto-generate section anchors and expose them in menu editor
  • (calserver) Add trust_band variant for seamless trust strip below hero
  • (menu) Replace native datalist with grouped anchor suggestion dropdown
  • (cms) Add event_highlight page block
  • (hero) Add optional video support to stat_tiles variant
  • (cms) Register event_highlight block in page editor
  • (hero) Add viewport height options to hero sections
  • (hero) Add DSGVO consent gate for embedded videos
  • (cms) Add event dropdown and settings form for event_highlight block
  • (feature_list) Add clustered-tabs variant for grouped module display
  • (hero) Suppress unrelated YouTube recommendations via rel=0
  • (theme) Add default theme based on calServer design
  • (subscription) Inline cancel and upgrade/downgrade on abo page
  • (theme) Allow design preset selection on namespace creation
  • (editor) Add visual icon picker for block icon fields
  • (pages) Add page publishing with draft/published/archived status
  • (i18n) Translate event config admin page
  • (i18n) Translate wiki admin page and add design translation keys
  • (i18n) Translate design and cookies admin pages
  • (i18n) Translate admin controller error messages
  • (i18n) Extract admin JS strings to translation system
  • (i18n) Translate remaining admin templates
  • (ai) Add progress log and spinner to AI page generation modal
  • (quota) Add namespace-based quota logging system
  • (dashboard) Display all quota metrics on admin dashboard
  • (media) Restrict project media access to authenticated namespace users
  • (auth) Add Google Sign-In for login and onboarding
  • (quiz) Redesign question editor with block-card pattern
  • (quiz) Enhance question editor with numbering, duplicate and UX polish
  • (pages) Modernize block list with type badges and drag-and-drop reorder
  • (i18n) Translate admin area including question editor
  • (quiz) Add catalog selector to event block and fix quiz start links
  • (tests) Add vitest unit test suite for admin-utils, catalog, and teams modules
  • (editor) Show live preview side-by-side in edit mode
  • (editor) Improve side-by-side preview with responsive layout and collapse toggle
  • (landing-news) Add slug suggestion and rich text content editor
  • (news) Add optional image URL to landing news entries
  • (ai) Add HTML-import prompt template for 1:1 block-contract conversion
  • (news) Add link and image insertion to content editor
  • Public CMS API v1 with namespace tokens
  • (api) Allow status/title updates in cms upsert
  • (api) Strict block schema validation with detailed errors
  • (marketing) Allow draft preview with ?preview=1 for logged-in users
  • (api) Add cms page list endpoint (cms:read)
  • (api) Add pages tree endpoint
  • (admin) Allow deleting api tokens and improve copy UX
  • (api) Menu read/write endpoints for namespace
  • (api) Add menu read/write endpoints
  • (api) Add menu endpoints (read/write) with hierarchical items
  • (api) Add news CRUD endpoints with read/write scopes
  • (mcp) Add MCP server with OAuth 2.0 authentication
  • (mcp) Add optional namespace parameter to all tools and list_namespaces discovery
  • (mcp) Add get_block_contract tool to retrieve block schema
  • (mcp) Add footer block and layout MCP tools
  • (mcp) Resolve block contract schema and return detailed validation errors
  • (quiz) Add API v1 and MCP endpoints for quiz module
  • (backup) Add complete namespace backup & restore
  • (oauth) Show all MCP endpoints on authorization page
  • (docs) Migrate GitHub Pages from Jekyll/Minima to MkDocs Material
  • (seo) Add AI training data integration (GEO)
  • Auto-expose marketing domains to nginx reverse proxy
  • (mcp) Add stylesheet API for AI-driven design management
  • (mcp) Register design:read and design:write OAuth scopes
  • (cms) Add dynamic language variant resolution via base_slug column
  • (mcp) Add seo parameter to upsert_page tool
  • (i18n) Add translations for cookie admin page
  • (editor) Add direct image upload to page editor block fields
  • (mcp) Add menu assignment tools for header/footer menu slot management
  • (hero) Add configurable media size for hero image area
  • (topbar) Add configurable topbar style setting for navigation visibility
  • (hero) Make hero media image clickable with UIkit lightbox
  • (packages) Add configurable columns per row for package summary block
  • (ui) Add smooth page transitions with progressive enhancement
  • (mcp) Add wiki tools module
  • (mcp) Register wiki scopes in OAuth consent screen
  • (page-tree) Improve sidebar tree usability
  • (mcp) Add delete_page tool
  • (page-tree) Apply sidebar tree improvements to /admin/pages/content
  • (tickets) Add ticket system API with customer registration and profiles
  • (hero) Add frameless option for hero media images
  • (wiki) Integrate namespace design and apply Notion-inspired layout
  • (wiki) Add GFM markdown table support for wiki article parser
  • (wiki) Add direct wiki mode for pages with type=wiki
  • (wiki) Add Material Design styling inspired by MkDocs Material
  • (billing) Add Lago billing stack integration
  • (billing) Add multi-product Stripe billing hub
  • (account) Add customer-facing /account page per namespace
  • (subscription) Load plans dynamically from Stripe Product metadata
  • (subscription) Add per-plan trial days via Stripe Product metadata

Fix

  • Update phpstan config for v2
  • Ensure page content respects dynamic topbar height
  • (events) Prevent table frame from clipping actions
  • Respect flex-wrap when sizing nav placeholder
  • Remove empty hamburger menu and align settings toggle
  • Always show topbar icons
  • Handle missing player name key
  • Align config button to navbar edge
  • Remove opacity from accessibility toggle icon
  • Ensure landing navbar uses UIKit-specific background
  • Improve landing page contrast
  • Restore backend light mode styles
  • Make landing topbar github buttons rectangular
  • Serve assets with base path
  • Reveal hero gradient
  • Allow landing offcanvas to overlay viewport
  • Improve topbar contrast in light theme
  • Override UIkit card backgrounds
  • Remove redundant nullsafe operator
  • Align landing button icon color
  • Preserve player name across catalogs
  • Ensure consistent table cell padding
  • Preserve svg logo aspect ratio
  • Reuse catalog uid for existing slug
  • Avoid autosave after load
  • Reuse existing catalog uid for duplicate slug
  • Address phpstan warnings
  • Remove admin topbar position override
  • Avoid duplicate params declaration
  • Align admin action wrappers to right
  • Preserve player name on restart
  • Restore landing theme toggles
  • Load storage helper for options menu
  • Scope topbar button bg for landing
  • Apply topbar button background on landing
  • Dark mode landing primary buttons
  • Verify sticker background path
  • Remove quoted identifiers in sticker migration
  • Allow automated commits to trigger ci
  • Guard entrypoint pipefail usage
  • Make admin.js event handling namespace-aware
  • Resolve PHPStan errors in LegacyCalserverLandingController
  • Enforce namespace isolation across all event-related endpoints
  • Enforce namespace access checks on admin content write operations
  • Link brand tokens to marketing vars when scheme is active in namespace-design
  • Resolve admin page tree loading and namespace design application
  • Restore missing pageTypeDefaultsList variable in content.twig
  • Use DOMContentLoaded for page tree init and harden apiFetch fallback
  • Escape Liquid/Twig syntax in docs to fix GitHub Pages build
  • Add missing section CSS for namespace-themed block rendering
  • Add missing CSS tokens and block styles for CMS page rendering
  • Connect theme blocks to contrast system, improve palettes
  • Reset text/link color inside cards on coloured section backgrounds
  • Resolve GitHub Actions race condition with concurrency groups
  • Remove margin-top between sections that caused unfilled gaps
  • Hero text contrast on colored sections + eyebrow tag option
  • FAQ accordion contrast — inherit section text color, adaptive icons
  • Align block renderer output with UIkit HTML reference styling
  • Resolve missing stylesheet contrast on marketing landing page
  • Regenerate namespace token CSS and load topbar styles on CMS pages
  • Harden section contrast for dark backgrounds and extract renderSectionHeader helper
  • Align CTA buttons to same height when both are visible
  • Add missing eyebrowAsTag to HeroData validation schema
  • Hero block text contrast matches actual hero background
  • Persist container in sectionStyle and always include background
  • Guarantee readable text on every background surface
  • Complete all marketing schemes with missing tokens for display safety
  • Resolve PHPStan nullCoalesce.offset errors in ColorContrastService
  • Resolve missing scheme tokens and CSS fallback gaps in marketing design
  • Make dark mode work for sections by preventing light-theme inline style overrides
  • Remove blank line before class closing brace in LegacyMarketingMenuDefinition
  • Block-slider intro shows raw HTML tags, CTA button invisible on highlight sections
  • Prevent double-escaping of notes in package_summary block
  • Filter namespace selection to only show active namespaces
  • Enable AI menu generation by connecting frontend to existing backend API
  • Route all contact forms to /api/contact-form endpoint
  • Add missing mobile menu toggle on header/footer settings page
  • Stop auto-creating namespaces when domains are created
  • Hard-delete namespaces and clean up derived data on removal
  • Add missing mobile menu toggle to all admin templates
  • Correct admin topbar layout order and hide namespace prefix on mobile
  • Hide breadcrumb divider on small screens
  • Improve mobile responsiveness for page editor structure view
  • Make page block style options freely combinable
  • Reset padding-left on uk-grid-large children in mobile admin view
  • Make footer block modal responsive on mobile and add missing translations
  • Resolve CI test failures in entrypoint and onboarding tests
  • Scope admin dashboard data to the selected namespace
  • Menu editor item creation and AI generation
  • Allow deletion of inactive namespaces
  • Menu card editor – inline editing, auto-save, and preview
  • Pass PostgreSQL sequence names to lastInsertId() for menu operations
  • Show 3 cards side-by-side on iPad for page modules
  • Create project_settings table before altering it
  • Add missing layout to FAQ block default meta sectionStyle
  • IPad card layout — follow Ablauf pattern, drop @s intermediate for 3+ columns
  • Revert modified migration and add new one for table creation
  • Resolve PHPStan errors for null coalesce and redundant comparison
  • Remove redundant non-empty-string comparison with empty string
  • Remove redundant null coalescing on uid which is always a non-nullable string
  • Restore footer block editor tab in navigation page
  • Remove redundant comparisons flagged by PHPStan
  • Swap surface text variables to dark variants in aurora dark mode
  • Add dark mode contrast-text overrides to all namespace-tokens.css
  • Resolve AI menu generation HTTP 500 errors
  • Sync sqlite-schema.sql with missing migration changes
  • Swap page background and text inline styles for dark mode
  • Forward namespace parameter to domain-chat API endpoints
  • Clear stale inline styles before re-applying on theme toggle
  • Add ALTER TABLE statements for existing SQLite databases
  • Dark mode toggle now applies all styles without page refresh
  • Handle network errors in AI page creation with user-friendly message
  • Preserve featureData in normalizePagePayload so latest_news block renders news
  • Load landingNews for pages with latest_news block regardless of feature flag
  • Replace news redirect routes with proper MarketingLandingNewsController handlers
  • Add hero intent to button/link contrast overrides in sections.css
  • Prevent light default surface from overriding dark hero/highlight bg
  • Remove unused PageService property in PageModuleController
  • Load marketing.css in page editor for correct inline preview
  • Preserve container (width/frame/spacing) in section style sanitization
  • Generate client-side player UID fallback when registration fails
  • Update sqlite-schema.sql with customer role CHECK constraint
  • Apply namespace design tokens to editor inline preview
  • Add data-effect attributes to sections so behavior effects are applied
  • Tablet-responsive Layouts für Card-/Options-Blöcke verbessern
  • 3 Spalten direkt ab @s (640px) statt 2-Spalten-Zwischenschritt
  • Redesign use-cases block with proper BEM structure, contrast and theme support
  • Connect sliderProfile to frontend and skip reveal for above-fold sections
  • Case-insensitive comparison for hover effect target detection
  • Add missing CSS for module-card and news-card variants
  • Rename team-name namespace migration to run after prerequisites
  • Stat-Strip 4–6 Spalten Regression beheben
  • Load marketing.css in page editor for namespace preview
  • CalServer.com Tablet-responsive Grid-Overrides
  • Show namespace-scoped catalogs instead of single event in admin views
  • Add marketing-page class to preview canvas for full namespace tokens
  • Remove duplicate 'pageModules' array key in PageController
  • Remove unused $pageModules property from PageController
  • Apply aurora design scheme correctly for calserver-neu namespace
  • (docs) Correct privacy claims to reflect player email collection
  • (docs) Clarify email collection is player-optional, not admin-configurable
  • (design) Clean up orphan CSS files when namespace is deleted
  • (teams) Scope all team API calls to the active event
  • (design) Resolve duplicate CSS vars and missing quizrace namespace tokens
  • (design) Resolve duplicate CSS vars and missing quizrace namespace tokens
  • (design) Emit marketing scheme tokens with falsy CSS values like '0'
  • (news) Add header, breadcrumb navigation, and footer to news pages
  • (news) Align CSS and footer with CMS landing page template
  • (design) Fix CSS tab visibility and add preview tab
  • (docs) Escape Liquid template syntax in Jekyll documentation
  • (design) Resolve contrast panel issues for transparent secondary bg and missing card-dark token
  • Make secondary button visible in design preview primary/secondary sections
  • (sections) Remove column-gap that broke 3-column grid on desktop
  • (calserver) Align block data with block-contract schema
  • (calserver) Repair block-contract violations in database content
  • (pages) Resolve startpage removal bug and stale tree menu labels
  • (calserver) Repair block-contract violations in update_calserver_page_blocks migration
  • (design) Generate dark-mode namespace tokens to prevent cascade overrides
  • (calserver) Update CTA hrefs to match renamed demo anchor
  • (design) Auto-fix contrast button now considers all themes
  • Create namespaces table before calserver CMS page migration
  • (topbar) Use display:contents for namespace label to prevent line wrap
  • (rag-chat) Add namespace selector to chatbot admin page
  • Handle PostgreSQL boolean string representations in normalizeBoolean
  • (seo) Extract text from block-based JSON for AI SEO import
  • (seo) Improve AI import error messages with German details
  • (seo) Show specific field errors when saving SEO config
  • (calserver) Use snake_case column name design_tokens in migration
  • Use namespace-specific brand name for browser tab title
  • (admin) Add missing namespace middleware to rag-chat route
  • (templates) Use null coalescing instead of default filter for boolean toggles
  • Resolve localhost requests to main domain namespace
  • (calserver) Align block contract with new page data
  • (calserver) Correct visual styling for hero, trust bar, and navbar
  • (testimonial) Validate individual quote entries in testimonial block contract
  • (calserver) Sync block-contract.schema.json with block-contract.js
  • (calserver) Add JS cache-busting, fix PHP testimonial validator, revert legacy twig
  • (header) Hide config menu when no options are enabled
  • (calserver) Rebuild namespace CSS after migrations and write full stylesheet
  • (calserver) Ensure config row exists before setting custom CSS and fix referenzen data
  • (calserver) Reduce hero padding, improve element sizing, add logo config
  • Remove unused nullable type from PageAiGenerator::$blockContractValidator
  • (ai-page) Restore prompt template selection and add Impressum template
  • (ai) Limit template selector to block-contract prompts and backfill missing templates
  • (calserver) Move CSS and logo config changes to new migration
  • (calserver) Add module switcher styles for CMS page namespace
  • (calserver) Add new migration for updated CSS (20300104 was already applied)
  • (calserver) Increase hero spacing, compact stats strip, enlarge logo
  • (calserver) Persist layout fixes via database migration
  • (ai) Surface dispatch failures and add polling backoff
  • (pages) Allow editing page title in rename modal
  • (ai) Add shutdown handler, fix template sync, and align polling budget
  • Delegate block-based impressum content to PageController
  • Prevent 404 error when deleting pages with numeric slugs
  • Remove redundant null coalescing on guaranteed array offset
  • Prevent CssSanitizer from mangling scroll-behavior property
  • Stop tracking generated namespace CSS and auto-rebuild on first request
  • (preview) Render editor preview in iframe for responsive fidelity
  • (menu) Pass menuId to AI generation endpoint
  • Allow deleting pages with reserved slugs
  • Use CSS variable references for section backgrounds to support dark mode
  • Remove redundant null coalesce on always-present array key
  • Remove redundant getEditableSlugs check from page deletion
  • (admin) Stop leaking internal exception messages on page delete
  • Use section-default vars for light-mode namespace surface colors
  • (renderer) Honor container frame 'none' in resolveContainerPreset
  • Use theme-aware vars in resolveSectionBackgroundStyles for color backgrounds
  • (hero) Apply video card styles to stat_tiles variant
  • (effects) Extend hover micro-interactions to custom card components
  • (hero) Use event delegation for DSGVO video consent handlers
  • (consent) Use MutationObserver for hero video consent init
  • (css) Propagate namespace card-style token to sections and marketing cards
  • (cms) Pass page namespace to events API in event_highlight form
  • (subscription) Use Stripe customer portal in platform mode
  • Generate correct inline surface styles for container-based section presets
  • Load .env in page AI generation script and detach background process
  • (editor) Add padding to optional details section content fields
  • (subscription) Use reactivateSubscriptionForCustomer for pending cancellations
  • (ai) Increase default max_completion_tokens to 16384
  • (editor) Translate English labels to German in stat_strip block
  • (subscription) Prevent errors on reactivation and plan change
  • (subscription) Restore plan in database on reactivation
  • (ai) Increase default HTTP timeout from 60s to 180s
  • Resolve PHPStan nullCoalesce.offset errors
  • (page-tree) Add missing "Status ändern" menu item to Seitenbaum
  • (subscription) Scope subscription handling to namespace instead of tenant
  • (quiz) Pass event UID explicitly in catalog requests
  • (i18n) Remove duplicate notify_domain_ssl_issued translation keys
  • Remove conflicting flex layout from block-row in page designer
  • (marketing) Point logo links to root instead of page slug
  • (admin) Address codex review – footer handle, wiki sort listener, highlight reorder
  • (table-manager) Sync filteredData after paginated reorder
  • (editor) Fix block reordering in structure view not persisting
  • (blocks) Adapt news block grid columns to configured entry count
  • (stat_strip) Add trust_band variant support to schema and editor
  • (news) Align news page templates with CMS layout pattern
  • (news) Remove namespace-specific conditionals from news templates
  • (editor) Truncate block display title to prevent layout overflow
  • (migrator) Align CTA data structure and block schema extraction
  • (layout) Move header before main and enable SSR content for CMS pages
  • (migrations) Ensure forward-referenced schema exists before use
  • (ai) Shorten html-import template to prevent token overflow
  • (ai) Strip CSS/scripts from HTML input and sync updated templates
  • (ai) Request minified JSON and detect token-limit truncation
  • (migrations) Drop fk_config_event before namespace config inserts
  • (migrations) Create marketing_ai_prompts table before ALTER
  • (cms) Remove redundant embedded JSON payload from CMS page body
  • (cms) Suppress raw JSON flash when CMS content is a blocks payload
  • (ci) Scan all commits since last bump for version type detection
  • (cms) Prevent header+footer flash and enable staggered section reveals
  • Remove redundant null check after isset() in LandingNewsService
  • (effects) Use rAF for reveal transitions and add default profile fallback
  • Add csrf header for api token admin actions
  • (admin) Preview links include preview=1 and add preview action to structure tree
  • Phpstan issues in api token auth and page list
  • Phpstan false-positive in pages tree endpoint
  • (admin) Add missing menu:read scope checkbox to API token form
  • (mcp) Align MCP server with Streamable HTTP transport spec for Claude custom connectors
  • (auth) Honor redirect parameter in login flow for OAuth authorization
  • Resolve pre-existing phpstan errors blocking CI build
  • (mcp) Return server info on GET /mcp instead of 405
  • (mcp) Remove unused $pdo promoted property in FooterTools
  • (ssl) Dispatch wildcard jobs on SSL renewal and replace missing renew script
  • Resolve merge conflict in MCP scope mapping
  • (mcp) Add missing CORS headers and OAuth scopes for Claude.ai connector
  • (domains) Save domain before validating ACME DNS provider
  • (mcp) Bypass domain resolution and service init for MCP/OAuth endpoints
  • Resolve PHPStan errors blocking Docker build
  • Add missing eforms design tokens based on aurora theme
  • Prevent duplicate nginx server blocks for marketing domains
  • (mcp) Remove unused promoted property in StylesheetTools
  • Remove unused PDO property promotion in StylesheetTools
  • Use standalone nginx configs with acme.sh for custom domains
  • (cms) Hide entire page during hydration to prevent header/footer flash
  • (mcp) Clarify upsert_page description — seo lives in meta.seo, not as separate param
  • (preview) Load default-theme.css and dark.css in editor preview
  • (cms) Link eforms english page variant and remove test page
  • (stat_strip) Migrate data when switching to/from trust_band variant
  • (design) Increase specificity of hero/highlight button selectors
  • (ci) Prune stale remote refs before fetch in deploy script
  • (editor) Render custom icons in icon picker via programmatic API
  • (mcp) Decode double-encoded unicode escape sequences in tool arguments
  • (hero) Resolve image from imageId when media.image is missing
  • (editor) Load custom-icons.js on all admin pages
  • (media) Allow public access to project uploads via namespace resolution
  • (topbar) Resolve PHPStan type errors for header_topbar_style
  • Override UIkit absolute positioning on navbar center for CMS pages
  • (ui) Improve secondary button visibility on dark backgrounds
  • (hero) Use inline height styles instead of UIkit height classes for media size
  • (topbar) Link logo to namespace homepage instead of current page
  • Remove redundant null coalescing on header_topbar_style
  • (packages) Add columns property to inline schema in block-contract.js
  • (ui) Override button tokens instead of properties for dark surfaces
  • (editor) Align preview stylesheets with actual rendered page
  • (page-tree) Move toolbar to project_tree template and fix search wiring
  • (mcp) Validate pageId exists before creating wiki articles
  • Use correct slot name for header menu resolution
  • Prevent frame from showing when no frame is configured
  • Resolve phpstan errors in TicketService
  • (hero) Reset viewport height when switching back to auto
  • (menu) Auto-promote link items with children to dropdown
  • (hero) Scale media image on mobile instead of cropping
  • Add dark mode background to cookie consent banner
  • (ci) Clean up stale containers before docker compose up
  • (wiki) Add main navigation header and fix backlink in wiki pages
  • Unify namespace switching and fix reset bug
  • (wiki) Generate direct wiki URL in menu for type=wiki pages
  • (mcp) Add content schema documentation to footer block tools
  • (ci) Resolve migration failure due to missing dashboard token secret
  • (ci) Prevent spurious patch bumps triggered by changelog push
  • Add /news routes to prevent empty news page
  • (wiki) Correct grid layout and reduce heading sizes
  • (admin) Restore namespace switch handler on pages without admin.js
  • (admin) Show content area by removing broken uk-switcher dependency
  • (admin) Remove stray closing div that breaks admin content layout
  • (editor) Prevent infinite scroll after hero and sync design tokens in preview
  • (wiki) Offset wiki layout below topbar when menu is assigned
  • (admin) Define $escapedPreset before try block to avoid undefined variable
  • Remove extra {{end}} blocks in nginx.tmpl causing docker-gen parse failure
  • Include main domain in MarketingProxySyncService
  • (hero) Add missing uk-modal class to hero media lightbox

Merge

  • Resolve conflict with main, update admin routes with customer role
  • Nur SEO, Cookies und RAG Chat als zu technisch einschraenken

Perf

  • (admin) Optimize table loading for events and logins
  • Lazy-load non-critical CSS and embed hydration payload
  • (seo) Improve global seo with twitter tags, theme-color, font optimization and https redirect

Refactor

  • Centralize SMTP config loading
  • Wrap invoice return docblock
  • Sanitize subscription DOM updates
  • Build pagination DOM and escape paths
  • Externalize onboarding styles
  • Use accent color variable in dark mode
  • Use CSS variables for landing page
  • Update topbar text colors
  • Unify landing page theme variables
  • Scope dark mode styles
  • Replace landing page inline styles
  • Improve dark mode handling
  • Apply accessibility landing style patch
  • Extract landing tokens into scss
  • Consolidate landing page design tokens
  • Centralize landing navigation links
  • Use data-theme for dark mode
  • Add log details container
  • Replace UIkit card modifiers with qr-card
  • Add theme-aware icon color
  • Derive base url from request
  • Add qr color variables
  • Extract table styles and theme variables
  • Move configuration fully to database
  • Filter tenants by status safely
  • Use table macro in admin
  • Wrap long lines in QrCodeService
  • Streamline catalog and team tables
  • Use catalogKey for identifiers
  • Remove redundant null coalesce
  • Centralize quiz intro
  • Rely on SessionMiddleware
  • Centralize session post requests
  • Rename active event uid variable
  • Remove config fallback for empty event
  • Merge password action into user actions
  • Centralize event switching
  • Add manual drag fallback
  • Replace sticker background upload
  • Add stage container for sticker editor
  • Centralize calhelp placeholder injection
  • Relocate admin event controls
  • Phase 0-2 – fix AGENTS.md, remove require_once, add namespace scoping
  • Phase 3/5/7 – extract middleware, shared JS utils, establish ADRs
  • Improve admin pages UI for clarity and reduced clutter
  • Redesign block editor section config UI into 3 clear layers
  • Consolidate namespace design editor from 6 panels to 2 panels
  • Simplify menu and footer template structure
  • Consolidate admin navigation into single tabbed page
  • Integrate footer block editor as 4th tab in navigation page
  • Harmonize menu tree editor UX with footer block editor patterns
  • Simplify admin UI by removing duplicate selectors and restructuring tabs
  • Remove hidden pageContentSelect and extract admin base layout
  • Dissolve Zuordnungen tab from navigation admin
  • Split navigation tabs into separate admin menu pages
  • Rename header settings sidebar link and reorder navigation
  • Migrate all remaining admin templates to admin/base.twig
  • Codebase audit - security hardening, deduplication, and file splitting
  • Remove legacy calhelp bindings from CMS page generation
  • (design) Remove redundant top-level designTokens from presets
  • (design) Remove duplicate [data-namespace="default"] CSS block
  • (design) Normalize color keys to camelCase convention
  • Rename data-calhelp- attributes to data-page- (Prio 6)
  • (css) Migrate calhelp-about styles to token-based values in marketing.css
  • (css) Migrate calserver-maintenance styles to marketing.css with tokens
  • (css) Migrate fluke-metcal styles to marketing.css with token refs
  • (css) Migrate future-is-green styles to marketing.css with scheme aliases
  • (css) Replace hardcoded hex values with design tokens in admin CSS
  • (css) Replace ~64 hardcoded hex values in dark.css with design tokens
  • (css) Consolidate calserver.css and calhelp.css into marketing.css
  • (css) Remove redundant marketing-utilities.css
  • (calserver) Remove fixed slug routes and add namespace design tokens
  • (pages) Replace domain combo box with inline submenu in page tree
  • (ai-page) Rework AI page creation to block-contract-v1
  • (calserver) Rename switcher classes to generic BEM names
  • Remove sectionStyleDefaults from page types
  • (stripe) Improve subscription management for easier plan switching, cancellation, and trial handling
  • (ui) Rename subscription page to customer portal and remove redundant button
  • (tenant) Replace docker-per-tenant with schema-only isolation
  • (ui) Extract shared card-row system and convert all admin list editors
  • (subscription) Rename Kundenportal to Abonnements and improve page layout
  • (pages) Remove preview modal from page editor
  • (wiki) Replace color settings with tabs and remove theme options
  • (admin) Extract utility functions into admin-utils.js
  • (admin) Extract page-tree and project modules
  • (admin) Extract teams, events, and users modules
  • (admin) Integrate events and users module extractions
  • (admin) Extract catalog and help sidebar modules
  • (admin) Extract configuration module into admin-config.js
  • (ai) Rewrite html-import template for better GPT-4.1 conversion quality
  • (design) Audit and simplify design system for API integration
  • (hero) Replace fullscreen lightbox with framed modal overlay
  • Remove 6 legacy marketing twig templates and dead code
  • (wiki) Move page namespace selector into accordion
  • [breaking] Rename project from sommerfest-quiz/quizrace to edocs-cloud/edocs.cloud
  • (billing) Simplify subscription page and add Stripe Pricing Table

Revert

  • (billing) Remove Lago stack in favor of direct Stripe integration

Style

  • Add top spacing to event selector label
  • Match hamburger menu toggle to options button
  • Improve landing topbar contrast
  • Square icon buttons
  • Add dark mode styles for landing page
  • Align topbar link colors with theme
  • Use variables for footer colors
  • Refine landing visuals
  • Improve form error contrast
  • Darken options button in light mode
  • Improve landing backgrounds for themes
  • Add danger color tokens
  • Emulate GitHub header on landing
  • Update landing hero styling
  • Add git style to menu toggle
  • Switch landing page to light theme
  • Refine landing focus and hover styles
  • Expand scenario pill list
  • Unify landing footer layout
  • Use black text for contact details on light theme
  • Enhance landing slider
  • Make event start button text white
  • Adjust team table layout
  • Add admin config CSS with dark mode variables
  • Remove extra blank line
  • Add draggable sticker handle
  • Refresh calserver card styling
  • Compact admin layout for mobile screens
  • Improve optional contact fields UI with proper card design
  • (sections) Connect marketing design tokens to section rendering
  • (admin) Align namespace selectors to compact partial layout
  • (calserver) Redesign trust-bar section as chip/badge layout
  • (editor) Improve block configuration form UI hierarchy and spacing
  • (ui) Modernize customer portal page layout
  • (editor) Strengthen input field contrast and add rich-text borders
  • (admin) Remove bullet dots from page block list
  • (wiki) Tighten typography for technical-reference look
  • (wiki) Redesign wiki layout inspired by MkDocs Material theme
  • Fix phpcs errors across codebase
  • Fix remaining header block errors in test files
  • Fix phpcs line-length warnings across codebase
  • Fix additional phpcs line-length warnings
  • Fix phpcs line-length warnings in remaining files
  • Fix phpcs line-length warnings in repository and service files
  • Fix phpcs line-length warnings in service files
  • Fix phpcs line-length warnings in admin controllers
  • Fix phpcs line-length warnings in marketing and seo services
  • Fix phpcs line-length warnings in marketing page controller
  • Fix phpcs line-length warnings in test files
  • Fix phpcs line-length warnings in controller test files
  • Fix phpcs line-length warnings in route files
  • Fix phpcs line-length warnings in service and integration tests
  • Fix phpcs line-length warnings in controller test files group 2
  • Fix phpcs line-length warnings in api and misc controllers
  • Fix phpcs line-length warnings in service files group 3
  • Fix phpcs line-length warnings in test files group 6
  • Fix phpcs line-length warnings in test files group 4
  • Fix phpcs line-length warnings in service files group 4
  • Fix phpcs line-length warnings in mcp tool files
  • Fix remaining phpcs errors
  • (wiki) Fix oversized headings, duplicate titles, and narrow content area

Test

  • Enforce starter plan event limit
  • Add plan limit controller tests
  • Switch to postgres in tests
  • Support sqlite memory db
  • Verify health endpoint timestamp and tenant host
  • Ensure version displayed on login
  • Cover catalog question access
  • Verify catalog slug parameter
  • Validate catalog slug selection
  • Verify slug option selection
  • Add handleSelection header test
  • Cover quiz autostart error cases
  • Persist session on localhost
  • Ensure login redirect on main domain
  • Cover team name suggestion
  • Cover user position ordering
  • Ensure managers redirect to admin
  • Ensure summary updates after event switch
  • Generate sticker background during test
  • Use new sticker background route
  • (onboarding) Add Playwright E2E tests for onboarding wizard
  • Verify pre-commit hook runs
  • Add phpunit unit tests to pre-commit hook

Ui

  • Namespace + scopes picker for api tokens
  • Add cms:read scope option for namespace api tokens

[0.2.0] - 2025-08-18

Dokumentation

  • Statistik-Tab beschrieben

Chore

  • Cascade delete events
  • Pin GitHub Actions to SHA
  • Apply unless-stopped restart policy
  • (test) Run migrations for sqlite
  • (test) Remove extra newline
  • Split ranking regex lines
  • Upgrade QR code library
  • Optimize landing page images
  • Add ghostscript to Docker image
  • Require PHP 8.2
  • Test against php 8.2
  • Update dependencies
  • Pin php base images to patch release
  • Add migration for Stripe customer id
  • Restrict access to hidden files
  • Use textContent for quiz buttons
  • Fix style and security warnings
  • Reformat stripe tests for readability
  • Release 0.2.0

Ci

  • Add workflow for automatic changelog
  • Build tenant image during deploy
  • Use setup-php v2
  • Run deploy on push to main

Docs

  • Add postgres instructions
  • Document running psql via Docker
  • Add frontend word-break guidelines
  • Switch to MkDocs readthedocs
  • Add hierarchical navigation
  • Add version history
  • Mention exif extension
  • Add tenant API section
  • Add tenant features section
  • Clarify event table columns
  • Fix shell commands for alpine
  • Ignore changelog update commits
  • Add troubleshooting for test data
  • Update docker setup instructions
  • Clarify php.ini usage
  • Add domain workflow and signup instructions
  • Add nginx onboarding note
  • Add migration step
  • Clarify DB privileges for tenants
  • Mention onboard_tenant script
  • Clarify Docker requirement for onboarding
  • Mention proxy network
  • Clarify APP_IMAGE usage
  • Describe password reset flow
  • Describe higher subscription tiers cumulatively
  • Document PHP 8.2 requirement
  • Add PHP 8.2 stable support note
  • Document qr code enhancements
  • Outline SEO and SEF requirements
  • Note removal of unsupported automatic payment methods
  • Note removal of unsupported automatic payment methods

Feat

  • Skip schema init when db ready
  • Support soft hyphen placeholders
  • Add dynamic congratulations for team PDFs
  • Add event API and schema columns
  • (admin) Activate event selection
  • Confirm event deletion
  • Centralize roles and update management
  • Seed users for all roles
  • Improve mobile admin nav
  • (summary) Link catalog headers
  • (migrations) Add QRRemember manual migration
  • (db) Use consolidated base schema
  • Seed default roles via migration
  • (migrations) Add admin seed
  • Allow restore and delete of old backups
  • (admin) Add dropdown for active event
  • (admin) Landing page option
  • (admin) Improve mobile event list
  • Add admin page editor
  • Integrate static page editing
  • (admin) Allow editing of FAQ page
  • Retry database connection
  • (admin) Add language selector
  • Manage nginx vhost creation
  • (onboarding) Create admin account and show password
  • Add tenant availability check
  • Add nginx reload route
  • Support webhook-based nginx reload
  • Display tenants tab for admin
  • Launch tenant webserver for ssl
  • Add SSL renewal for tenants
  • Auto onboard when credentials available
  • (admin) Link tenant subdomains
  • (onboarding) Show link to new container
  • Collapse onboarding logs and track availability
  • (admin) Add frontend open button for selected event
  • (admin) Show tenant profile on main domain
  • Add blacklist for sensitive subdomains
  • Support profile variables in pages
  • (admin) Autosave settings
  • Style landing page with calhelp design
  • Autosave for event configuration
  • Add save text button for event settings
  • Store admin password per tenant
  • Collect and store user email
  • Add password reset endpoints
  • Add password reset templates
  • Allow publishing events and copying links
  • Add fallbacks for QR and logo
  • Center landing page topbar elements
  • Make landing footer non-sticky
  • Animate landing page
  • Animate landing page content blocks
  • Add horizontal scrollspy animations
  • Enhance landing page messaging
  • Align subscription templates with new plan details
  • Add subscription matrix to landing page
  • Add event selector to summary and results
  • Add invitation handling
  • Secure password reset tokens
  • Implement QR code service
  • Update admin QR codes to new design
  • Add parameterized QR routes
  • Elevate Warum QuizRace section
  • Add rotating word animation to hero
  • Add logo and rounding to QR codes
  • Enhance rotating word marker
  • Style founder section
  • (stripe) Add session status endpoint
  • Add reusable admin navigation partial
  • Group admin navigation links
  • Centralize SMTP sender configuration
  • Enforce stripe-only payments
  • Add page SEO config
  • (admin) Move stats filter below header on mobile
  • Fallback to null logger when monolog missing
  • Add subscription usage widget
  • Support embedded stripe checkout
  • Show event summary on dashboard
  • Add csrf protection to profile page
  • (admin) Greet user on dashboard
  • (onboarding) Show upcoming steps
  • Validate onboarding inputs
  • (onboarding) Reinstate app creation progress
  • Enhance tenant onboarding tasks
  • Fallback logo path when event id missing
  • Enhance tenant table UI
  • Add demo data export
  • Make database connection retries configurable
  • Add customizable qr design modal
  • Add responsive email layout
  • Support configurable QR designs
  • Show overall event counts on dashboard

Fix

  • (migrate) Clear reference after uid update
  • (qr) Enable camera flip after scanner ready
  • (qr) Await scanner init
  • Avoid scanner timing race
  • Hide catalog list when repeating in competition mode
  • (js) Refresh UIkit lightboxes
  • Sanitize migrations
  • Avoid using first event if active one missing
  • Address style warnings
  • Encode flip card text
  • Add summary photo service dependency
  • Support PostgreSQL serial syntax
  • Standardize qrremember column name
  • (migrations) Ensure idempotent sort order constraint
  • Align config controller test with default settings
  • Format event dates for datetime-local
  • Ensure topbar icons work on mobile
  • Respect base path in admin JS
  • Serve event-specific logo paths
  • Remove landing menu in admin
  • (onboard) Write error messages to stderr
  • Detect docker compose command
  • Skip docker compose check when reload disabled
  • (admin) Ensure ssl renewal starts tenant
  • Ensure landing route sets domain type
  • Apply dark mode styles to page editor
  • Read SMTP settings from .env
  • Ensure logo uploads work across image versions
  • Update QR code generation
  • Enforce fixed topbar height
  • Prevent landing page header overlap on mobile
  • Render footer menu at page bottom
  • Import email confirmation service
  • Show feedback after password reset request
  • Address code style issues
  • Ensure mobile nav active items remain readable
  • Improve active nav contrast in dark menu
  • Add migration for password reset token hash
  • Remove redundant null coalesce
  • Improve dark mode menu active state
  • Handle missing onboarding data after payment
  • Avoid published column migration error
  • Remove fallback logo srcset
  • Show catalog info on start page
  • Remove manual chunked encoding in tenant onboarding
  • Avoid global variable conflict on landing page
  • Align QR config migration with camelCase columns

Refactor

  • Wrap long SQL strings
  • Reuse existing events script for event selector
  • Use constants for qr code defaults
  • Redesign dashboard calendar
  • Avoid multiple classes in test
  • Drop qrcode url field

Style

  • Add custom file input
  • Enhance catalog comment card
  • Enhance rotate button appearance
  • Improve mobile layout for events
  • Unify vue quiz buttons
  • Unify admin question buttons
  • Wrap long SQL strings in TenantService
  • Improve landing page layout
  • Enlarge hero heading and center button text
  • Harmonize landing page section backgrounds
  • Use neutral background for founder section
  • Add textured underline animation
  • Remove Weisheit font from about section
  • Modernize onboarding step boxes
  • Show pricing plans in onboarding
  • Improve event selector display
  • Remove trailing blank line

Test

  • Switch service tests to use sqlite
  • Verify tenant creation and removal
  • Fix schemas for event-aware tables
  • Verify catalog create and delete via db
  • Expect marketing pages on main domain
  • Cover main profile update
  • (admin) Ensure dashboard greets username
  • (admin) Ensure dashboard greets username
  • Update profile plan enum
  • Cover award ranking edge cases
  • Cover welcome mail resend

[0.1.0] - 2025-06-16

Chore

  • Update php requirements

Doc

  • Elaborate license section
  • Explain manual composer workflow

Docs

  • Add info boxes for manual file replacement
  • Add html validity badge
  • Expand team tab help
  • Add deployment status badge
  • Remove outdated statistical.log references
  • Expand accessibility notes
  • Update README with development focus and config
  • Mention composer lock update

Feat

  • Show results overview and restart option
  • Add catalog selection
  • Show QR login on start
  • Auto-open QR scan for direct catalog links
  • Use SortableJS for drag operations
  • (admin) Integrate results tab
  • (config) Migrate legacy config
  • (admin) Auto-generate catalog ids
  • (data) Add remote QR codes for catalog samples
  • (data) Add remote QR codes for catalog samples
  • (pdf) Add login qr code
  • (admin) Auto-generate unique catalog ids
  • (export) Show records as printable cards
  • Allow logo upload
  • (photos) Restore consent modal

Fix

  • Remove duplicate feedback vars
  • Show catalog selection with config header and move questions to json
  • Keep topbar at page top
  • (pdf) Show QR code column when qrcode_url present
  • (catalog) Ensure catalog files persist

Style

  • Align remove button right
  • Enlarge drag elements
  • Enlarge multiple choice view
  • Apply dark mode to qr modal
  • Add top spacing above header
  • (login) Center login card
  • Enhance question preview
  • Ensure card titles are white in dark mode
  • (results) Use uk-leader layout for top rankings