# Changelog — Lite Fox CMS

All notable changes to **Lite Fox CMS** will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [1.3.3] - 2026-10-24

### 📁 Hierarchical Product Subcategories & Smart Specs (ระบบหมวดหมู่ย่อยสินค้า & ระบบช่วยจำสเปกสินค้า)
- **Product Management Pagination (`/fox-admin/products/`):**
  - Added complete pagination support with configurable items-per-page (10, 20, 50, 100), result range indicator, and smart ellipsis page controls.
  - Preserves active search queries (`q`), category filters (`cat`), and status (`status`) across page navigation.
  - Enhanced category filter dropdown to display hierarchical indentation (`📁 แม่` and `↳ ลูก`).
- **Media Picker Modal Stacking Fix (`/fox-admin/products/categories/`):**
  - Elevated FoxMediaPicker modal layer (`z-index: 100050`), resolving the issue where the media picker would sink behind the category edit modal backdrop.
  - Added live thumbnail preview for category cover image inside the modal.
- **Smart Spec Suggestions & Autocomplete (`/fox-admin/products/edit/`):**
  - Integrated dynamic suggestion engine in Technical Specs sheet for both spec keys and spec values without bloating database schema.
  - Automatically queries historical specs from existing products in DB alongside standard Thai/English commerce presets (แบรนด์, รุ่น, สี, ขนาด, ความจุ, การรับประกัน, อุปกรณ์ในกล่อง).
  - Floating autocomplete popover with highlighted matching letters, keyboard navigation (Arrow Up/Down/Enter/Esc), and automatic focus jumping from key to value field.
  - Added 1-click Quick Preset Chips (`+ แบรนด์`, `+ รุ่น`, `+ สี`, `+ ขนาด`, etc.) for zero-typing spec creation.
  - Browser-conflict guard: explicitly blocks Firefox/Opera native duplicate dropdown clash using custom auto-suggest engine.
- **Shop Category Layout Selector in Admin Modules (`/fox-admin/modules/?tab=shop`):**
  - Added option to switch between **Option 1: Left Sidebar Tree View** (PC 2-column + Mobile collapsible drawer) and **Option 2: Quick Tabs** (top horizontal swipeable tabs with sleek scrollbar).
  - Master toggle `shop_show_categories` cleanly hides all category filters and expands product grid to 100% full width when disabled.
- **Searchable Category Popover Picker (`/fox-admin/products/edit/`):**
  - Upgraded native select dropdown into an instant searchable popover picker with real-time filtering, parent/child groupings, and keyboard ease.
- **Admin Zero-Reload & State Retention (`/fox-admin/products/categories/`):**
  - Instant 0ms client-side panel switching and `return_parent` retention preventing unwanted reset back to the first category after save/delete actions.
- **Dark Mode Color Glare Fixes:**
  - Resolved white badge/chip background glare in dark mode across product listings with themed `.meta-chip` classes.
- **Database Schema & Auto-Migration (`parent_id`):**
  - Added `parent_id INT(10) UNSIGNED NULL DEFAULT NULL` with `KEY idx_parent (parent_id)` to `product_categories`.
  - Added self-healing schema check in `ShopHelper::checkSchema()` to automatically upgrade any legacy database on runtime without manual SQL scripts.
- **Admin Master-Detail Dual Column Management (`/fox-admin/products/categories/`):**
  - Modern dual-column layout tailored for Fox Admin:
    - **Left Column:** Main Categories (หมวดหมู่หลัก) showing subcategory counts, active indicator, edit/delete actions, and instant drag-and-drop handles.
    - **Right Column:** Subcategories (หมวดหมู่ย่อย) belonging to the active parent category with immediate subcategory creation.
  - **Native Drag & Drop Reordering:** Implemented seamless HTML5 drag-and-drop sort reordering with instant AJAX endpoint (`action=reorder`), eliminating tedious manual sort number typing.
  - **Fox Glass Modal (Add & Edit):** Sleek modal with Parent Category selector dropdown, live Slug generator, and image upload.
  - **Safe Orphan Deletion:** Deleting a parent category safely clears child `parent_id` (promoting them to root) preventing orphan foreign key breaks.
- **Product Edit Integration (`/fox-admin/products/edit/`):**
  - Upgraded product category selector dropdown with visual tree indents: `📁 หมวดหมู่หลัก` and `↳ หมวดหมู่ย่อย`.
- **Frontend Shop Hierarchy & Display Toggles (`/shop/`):**
  - **Category Display Switch (`shop_show_categories`):** Added configurable toggle in Shop Settings (`/fox-admin/modules/?tab=shop`) to completely hide category filters when unwanted (e.g. specialized B2B catalogs), expanding product grid to 100% full width.
  - **Desktop Left Sidebar Tree View (PC Layout):** Implemented a dedicated Left Sidebar on desktop screens (≥ 992px) with clean tree hierarchy, bullets (`○` / `●`), and descendant counts matching modern commerce standards.
  - **Mobile Responsive Drawer & Quick Tabs:** On mobile screens (< 992px), sidebar collapses into a sleek toggle drawer (`📁 หมวดหมู่... ▾`) saving screen space, paired with horizontal quick tabs for easy thumb scrolling.
  - **Custom Sleek Scrollbar:** Replaced browser's clunky default horizontal scrollbar with a slim, translucent rounded track matching the Fox brand theme.
  - **Smart Aggregated Product Counts:** Parent category badges automatically compute and display the sum of direct and all descendant products.
  - **Descendant Filter Resolution:** Selecting a parent category automatically displays products assigned to that parent AND any of its child subcategories (`categoryIdsWithDescendants`).
  - **Theme Adaptive Styling:** Subcategory tabs and wrappers automatically inherit `theme_border_radius` (sharp 0px, subtle 4px, modern 8-12px, soft 999px).
- **Admin UI Polish & QoL Improvements:**
  - **Dark Mode White Badge Fix:** Fixed hardcoded inline background colors on warranty and price chips in `/fox-admin/products/` by migrating to theme-aware `.meta-chip.warranty` and `.meta-chip.orange` classes.
  - **Stateful Category Navigation:** Fixed annoying jump-to-top bug in `/fox-admin/products/categories/` by preserving active parent state across saves/deletes (`return_parent`) and implementing instantaneous zero-reload panel switching.
  - **Searchable Category Picker:** Replaced long native `<select>` dropdown in `/fox-admin/products/edit/` with an interactive, searchable picker popover supporting real-time text filtering for large category trees.
- **SEO & Hierarchical Breadcrumbs:**
  - Upgraded single product pages (`/shop/{slug}/`) to render full hierarchical breadcrumbs in both HTML UI and JSON-LD BreadcrumbList schema (`หน้าแรก > ร้านค้า > หมวดหมู่หลัก > หมวดหมู่ย่อย > ชื่อสินค้า`).
  - Enhanced shop category header with parent-child breadcrumb navigation.

---

## [1.3.2] - 2026-10-23

### ⚡ Admin Navigation Segregation & Textarea QoL (จัดสัดส่วนโมดูลแอดมิน & ปรับปรุงความสะดวก Textarea)
- **Modular Admin Navigation Architecture (สถาปัตยกรรมเมนูแอดมินแยกตามกลุ่มงานจริง):**
  - Segregated the monolithic `/fox-admin/modules/` view into dedicated tab-driven sub-sections, eliminating vertical scrolling fatigue on laptops and HD screens:
    - `Blog Settings & SEO`: Linked directly under the **Blog** sidebar group (`/fox-admin/modules/?tab=blog`).
    - `Shop & Payments`: Linked directly under the **Shop** sidebar group (`/fox-admin/modules/?tab=shop`).
    - `Google API Key` (reCAPTCHA v2 & Google Sign-In): Placed under **Users & System Settings** (`/fox-admin/modules/?tab=google`).
    - `SMTP Configuration`: Placed under **Users & System Settings** (`/fox-admin/modules/?tab=smtp`).
    - `Scripts & Cookies` (Header/Footer scripts + Cookie banner): Placed under **Users & System Settings** (`/fox-admin/modules/?tab=scripts`).
    - `Modules Control`: Streamlined super-admin modular toggles (`/fox-admin/modules/?tab=modules`).
  - Added smart POST redirects preserving active tab context (`?tab=...`) with persistent flash feedback.
  - Linked quick settings buttons in Product (`/fox-admin/products/`) and Article (`/fox-admin/posts/`) lists directly to their respective settings tabs.
  - Sidebar collapsible groups automatically expand when navigating to nested settings tabs.
- **Textarea Editor Quality of Life (QoL) Improvements (ปรับปรุงความสูงและระบบแก้ไขเนื้อหา):**
  - **Vertical Resize Only:** Enforced `resize: vertical !important;` across all textareas and WYSIWYG editors, preventing accidental horizontal layout overflows on admin cards.
  - **Generous Initial Heights:** Increased default min-heights across standard form textareas (95px), code textareas (160px), and WYSIWYG/HTML editors (480px for articles/products, 280px for section builder).
  - **Seamless Dynamic Height Sync on Mode Toggle:** Fixed the editor collapsing/shrinking bug when switching between "Visual" and "HTML Code" modes. `FoxRichEditor.setMode()` now dynamically measures and synchronizes rendered heights between Visual and Source views in real-time.
  - **Tab Key Indentation:** Added native 4-space indentation support when pressing `Tab` inside `.code-textarea` and `.wysiwyg-source`, eliminating loss of focus to subsequent form elements.

---

## [1.3.1] - 2026-10-23

### 🏢 Enterprise B2B Customizations & Visual Polish (ฟีเจอร์องค์กรและการปรับแต่งอัตลักษณ์)
- **Product Excerpt Subtitle:**
  - Displayed concise product summary (`.product-page-excerpt`) directly beneath main product heading (`h1.product-page-title`) on product detail pages when excerpt is provided.
- **Complete Price & Stock Box Lockdown (`shop_hide_price_box`):**
  - Added new option under Catalog settings to completely suppress the price block (`.product-price-box`) and stock status indicator for enterprise quote-only and medical procurement specifications.
- **Theme Switcher Toggle Lockdown (`theme_toggle_enabled`):**
  - Added toggle control in Appearance settings (`/fox-admin/appearance`). When disabled, completely suppresses `#themeToggleBtn` on the header navbar, preserving strict corporate brand guidelines and preventing visitor theme toggles.
- **Configurable UI Corner Radius (`theme_border_radius`):**
  - Added UI corner styling presets in Appearance settings:
    - `Modern` (8-12px — default balanced rounded look)
    - `Sharp Edge` (0px — crisp, sharp rectangular corners for industrial and formal enterprise aesthetics)
    - `Subtle Soft` (4px — refined classic minimal curvature)
    - `Extra Soft` (16px — modern friendly mobile app curvature)
- **Brand / Partner Logo Box Layout (`brand_box`):**
  - Added new layout shape in Section Builder (`category_list`) featuring a 4-column responsive grid with clean white canvas background, `object-fit: contain` for full logo visibility without edge cropping, and centered brand titles.
- **Universal Multi-Domain Rewrite Fix:**
  - Resolved canonical HTTPS/non-WWW redirect issue in `.htaccess` by migrating to dynamic `%{HTTP_HOST}` rewrite rules, preventing third-party domain installations from redirecting to parent server.

---

## [1.3.0] - 2026-10-23

### 🛍️ Dual-Mode Commerce & B2B Showroom (ระบบร้านค้าคู่ขนาน: E-Commerce VS Catalog)
- **Shop Operation Mode (`shop_mode`):**
  - Instant switching between **E-Commerce Mode** (online shopping cart, checkout, payments, stock tracking) and **Catalog / Showroom Mode** (B2B medical equipment, made-to-order products, price inquiry showroom).
  - **Full Cart Lockdown:** In Catalog mode, shopping cart icon in header navbar is completely hidden, `/cart/` and `/checkout/` URLs automatically redirect to `/shop/`, and Cart AJAX endpoints strictly return HTTP 403 Forbidden.
- **Configurable Catalog Action Buttons (`shop_catalog_btn_action`):**
  - *ปิดปุ่มทั้งหมด (None):* Hides quantity stepper and all buy/cart buttons completely for official B2B transactions via Mail & Fax.
  - *ติดต่อสอบถาม / ขอใบเสนอราคา (Contact):* Direct button linking to contact page (`shop_catalog_contact_url`).
  - *สอบถามทาง LINE (LINE):* Instant direct link to LINE Official Account.
- **Dynamic Price Display:** When in Catalog mode, products with price `฿0` or unpriced display professional "ติดต่อสอบถามราคา" inquiry copy instead of `฿0`.

### 📦 Unlimited Stock Management & Schema Auto-Migration
- **Unlimited Stock Flag (`is_unlimited`):**
  - Added checkbox "สินค้าพร้อมจำหน่ายเสมอ (ไม่จำกัดจำนวน / ไม่ตัดสต็อก)" in product editor.
  - Unlimited products bypass stock decrements during orders and never trigger "สินค้าหมดชั่วคราว" (Out of Stock) badges.
- **Silent Schema Auto-Migration:**
  - Automated execution of `ALTER TABLE products ADD COLUMN is_unlimited tinyint(1) NOT NULL DEFAULT 0 AFTER stock_qty` across admin and shop helper, ensuring seamless database upgrade from v1.0–v1.2 without manual SQL scripts.

### 🛡️ Dynamic Trust Guarantee Box Engine
- **3-Tier Guarantee Configuration (`shop_trust_box_mode`):**
  - *Disabled (ปิดการแสดงผล):* Completely hides guarantee card under product images and header trust pills.
  - *Enabled (ข้อความมาตรฐาน):* Generic quality, packaging, and fast delivery assurances.
  - *Custom (กำหนดข้อความเอง 3 หัวข้อ):* Full customization for FDA medical certifications (อย.), ISO standards, calibration engineering, or on-site support.
- **Synchronized Header Trust Pills:** Header trust indicators on `/shop/` now dynamically render the configured trust box items rather than hardcoded benchmark phrases.

### 🏷️ Neutralized Section Identity & Condition Badges
- **Customizable Section Badge (`shop_badge`):**
  - Decoupled from hardcoded "Hardware & Store" text. Admins can enter custom badge copy, leave empty for dynamic `[Site Name] Catalog`, or input `none` to hide entirely.
- **Sanitized Product Condition Badges:**
  - Products with unspecified conditions (`unspecified`, `none`, empty) now strictly suppress condition badges and callout cards.
  - Condition filter dropdown on `/shop/` automatically hides in Catalog mode to preserve a clean B2B layout.

### 🔍 Dynamic SEO Sitemap, AI LLM Feeds & Crawl Protection
- **XML Sitemap (`sitemap.php`):**
  - Dynamically registers `/shop/` directory and published product URLs when Shop module is active; automatically prunes all shop URLs when module is disabled.
- **AI LLM Feeds (`llms_auto.php`):**
  - Exports published catalog items to `/llms.txt` and full structured product details (SKU, Category, Specs table, Description) to `/llms_full.txt` for AI crawlers (Perplexity, ChatGPT, NotebookLM).
- **Crawl Budget Protection:**
  - Injected `<meta name="robots" content="noindex, nofollow">` across Member authentication (`/member/*`) and Admin panel (`/fox-admin/*`) to prevent duplicate URL indexing in Google Search Console.

### 🌐 Universal Domain Redirection (.htaccess)
- **Dynamic Host & Canonical Redirect:**
  - Replaced hardcoded `2bfox.com` in `.htaccess` canonical rewrite rules with dynamic `%{HTTP_HOST}` and `%1`.
  - Websites deployed on custom domains now strictly remain on their respective domain when accessed via `http://` or `www.` instead of redirecting back to `2bfox.com`.
  - Added localhost / 127.0.0.1 exemption to prevent HTTPS connection errors during offline local development.

---

## [1.2.1] - 2026-10-21

### 📊 Modular Stacking Dashboard (แดชบอร์ดสถาปัตยกรรมโมดูลาร์ซ้อนชั้น)
- **Contextual Card-Header Metrics:**
  - Integrated key module metrics directly into the header of each respective section card, keeping data and actions in immediate visual proximity.
  - **Core Section (Pages & Modules):** Displays page counts and total page views alongside system module statuses and rapid links (`/sitemap.xml`, `/llms.txt`). Pages are core and always permanently displayed.
  - **Blog Section (Articles & Content):** Displays total posts, total views, and verified real reads (`Real Reads`) with direct action controls (`+ เขียนบทความใหม่`). Automatically stacks when `blog` module is enabled.
  - **Shop Section (E-Commerce & Orders):** Displays active products count, total orders, pending orders alert badge, and paid sales total amount with quick order verification shortcuts. Automatically stacks when `shop` module is enabled.
  - **Slim Welcome Overview Strip:** Replaced bulky, repetitive top metric blocks with a clean single-row status banner highlighting system readiness, WebP media count, active members, active module count, and active site language tag.
- **Adaptive Header Action Controls:**
  - Dynamic topbar action buttons in `layout.php` adapting to active modules (`+ เขียนบทความ`, `+ เพิ่มสินค้า`, or `+ สร้างเพจใหม่`).

### 🌐 Internationalization Foundation & Configurable Site Language
- **Configurable Site Language (`site_language`):**
  - Added primary language selector in **Appearance Settings (`/fox-admin/appearance`)** under Site Identity.
  - Supports ISO language tags (`th`, `en`, `en-US`, `en-GB`, `ja`, `zh-CN`, `zh-TW`, `de`, `fr`, `es`) with default fallback to `th`.
  - Dynamic `<html lang="...">` rendering across all frontend templates.
  - Synchronized JSON-LD Schema.org `'inLanguage'` attributes across WebSite, WebPage, Article, CollectionPage, and SearchResultsPage schemas.
  - Transactional HTML email layout (`Mailer.php`) now automatically respects the configured site language.
- **Installer Language Selection (`install.php`):**
  - Added language choice directly in Step 2 of the installation wizard, pre-configuring `site_language` in the settings table.

### 🖼️ Category Cover Picker & Image Optimization Refinements
- **Taxonomy Cover Media Picker:**
  - Extended `FoxMediaPicker` integration to **Article Categories (`/fox-admin/categories`)** and **Product Categories (`/fox-admin/product-categories`)**.
  - Added persistent thumbnail preview and clear-cover controls.
- **Thumbnail Sizing & Performance Tuning:**
  - Fine-tuned random/related post thumbnail generation to 160x160 WebP to eliminate Core Web Vitals image dimension penalties.

---

## [1.2.0] - 2026-10-21

### 🖼️ Next-Gen Media Picker & Media Library (คลังสื่อ & โมดัลเลือกรูปภาพ)
- **Central Reusable Media Picker Pop-Up (`FoxMediaPicker`):**
  - **2-Tab Workflow:**
    - *Tab 1: อัปโหลดไฟล์ใหม่ (Upload - Default):* Drag & drop zone with file size preview, Alt text input, automated WebP conversion and thumbnail generation, plus instant 1-click auto-fill & modal auto-dismiss upon upload completion.
    - *Tab 2: เลือกจากคลังภาพ (Library):* Instant real-time search filtering by filename or Alt text, with compact 18-items-per-page smart pagination.
  - **Snug 120px Card Grid:** Tuned grid stepping to `minmax(120px, 1fr)` with 90px preview height, perfectly proportioned for modal dialog viewing.
  - **Modal Ergonomics:** Full backdrop click and `Escape` key dismissal support.
- **Media Library Management (`/fox-admin/media/`):**
  - **Thumbnail Generator Pipeline:** Added `MediaManager::generateThumbnail(id)` and `MediaManager::generateAllMissingThumbnails()`.
  - **Bulk Actions Toolbar:** Select-all checkbox toolbar supporting batch thumbnail generation (`⚡ สร้าง Thumbnail ที่เลือก`) and batch deletion (`🗑️ ลบที่เลือก`).
  - **6-Step Responsive Grid Stepping:** Replaced awkward 5-column layout with clean 6 $\rightarrow$ 4 $\rightarrow$ 3 $\rightarrow$ 2 grid stepping with 24, 48, and 96 items-per-page dropdown selection, eliminating orphan cards on all screen resolutions.
  - **Asset Synchronization:** Automated media table registration for all existing covers and content media.

### 📝 Post Management & Editor Modernization (จัดการบทความ & หน้าแก้ไข)
- **Posts Management Power-Ups (`/fox-admin/posts/`):**
  - Integrated live search (`q`), category filtering, status filtering (`published`, `scheduled`, `hidden`), and 5-way sorting (`newest`, `oldest`, `views`, `reads`, `title`).
  - Dynamic responsive pagination with full contrast harmony across Light and Dark modes.
- **Cover Image Editor Refactoring (`/fox-admin/posts/edit`):**
  - Removed legacy raw `<input type="file" name="cover_file">` to eliminate accidental image overwrites during saves.
  - Fully integrated with `FoxMediaPicker` with persistent cover preview and fallback dashed placeholder.
  - Added dedicated Clear Cover button (`[ 🗑️ นำภาพปกออก ]`) to detach cover image without deleting server assets.

### 👥 Member Management & Quick Verification (ระบบสมาชิก & การยืนยันอีเมล)
- **Quick Email Verification:** Added clickable amber badge (`[⏳ รอยืนยันอีเมล]`) in member list table to verify unverified members with 1-click confirmation.
- **Filter Tabs:** Added live filter tabs (`ทั้งหมด`, `ยืนยันแล้ว`, `รอยืนยัน`) for immediate member status auditing.
- **Form Controls:** Added direct `is_email_verified` checkbox in member edit form.
- **Interface Polish:** Cleaned up row buttons and badge contrasts across Light and Dark modes.

### 🤖 SEO, AI Discovery & Human-Friendly XML Sitemap
- **Clean Footer Presentation:** Removed raw `Sitemap` and `LLMs.txt` links from all 4 footer layouts (`classic`, `columns`, `minimal`, `stacked`), keeping footers elegant and preventing non-technical visitors from mistaking technical feeds for website errors.
- **Human-Readable XSLT Stylesheet (`/sitemap.xml`):**
  - Attached dynamic `sitemap.xsl` converting raw XML sitemaps into responsive, modern HTML tables when viewed in web browsers.
  - Built-in dynamic domain extraction with zero hardcoded URLs, making it 100% white-label and release-ready for any domain.
  - Features total URL count badge, priority pills, and a clean return button (`← กลับสู่หน้าหลัก`).
- **Enhanced AI Crawlers Directives:** Updated `robots.txt` with explicit pointers for GPTBot, ClaudeBot, and Perplexity to consume `/llms.txt`.

---

## [1.1.0] - 2026-10-19

### 🎨 Theme & Appearance Architecture (ธีม & รูปลักษณ์)
- **New Unified Admin Group:** Consolidated scattered website identity, branding, navigation, contact, and template configurations into a dedicated **"ธีม & รูปลักษณ์"** section positioned directly above "ผู้ใช้ & ตั้งค่าระบบ".
- **4 Dedicated Subpages:**
  - 🏷️ **ข้อความอัตลักษณ์ (`/fox-admin/appearance/?tab=identity`):** Site name, short name, tagline, logo, favicon, PWA icons, brand colors, background tones, default theme mode, and footer intro/outro/copyright text.
  - 🧭 **จัดการเมนู (`/fox-admin/appearance/?tab=menus`):** Header and footer navigation link management with single-column vertical stacked form for improved usability and responsive comfort.
  - 💬 **ช่องทางติดต่อ (`/fox-admin/appearance/?tab=contact`):** Direct contact (phone, email) and social media channels (Facebook, LINE, TikTok, YouTube, Instagram, X, GitHub).
  - 🎨 **รูปแบบเทมเพลต (`/fox-admin/appearance/?tab=templates`):** Modular Header and Footer style selectors.
- **Standardized Page Layout:** Removed redundant top tab bar in favor of direct sidebar navigation, keeping uniform padding and structure with other admin views.
- **Dynamic Topbar Titles:** Admin topbar title now dynamically reflects the active tab (e.g., "ข้อความอัตลักษณ์ & แบรนด์", "จัดการเมนูนำทาง", "รูปแบบเทมเพลตเว็บไซต์").

### 🧩 Modular Header & Footer Template Engine
- **4 Header Layout Styles:**
  - *Classic Fox:* Standard balanced header (Logo + Menu + Actions).
  - *Two-Tier Nav:* Separated two-tier layout with centered navigation bar.
  - *Top Bar & Split:* Corporate/shop style with top announcement bar and split menu.
  - *Minimal Clean:* Ultra-slim modern bar with left-aligned brand and links.
- **3 Header Search Presentation Modes:**
  - *Icon Popover:* Compact floating search modal.
  - *Compact Bar:* Direct search bar in header with fixed width and non-expanding focus stability.
  - *Disabled:* Completely hidden search elements when not required.
- **4 Footer Layout Styles:**
  - *Classic 4-Column:* Rich multi-column footer with quick links, social media, and copyright.
  - *Columns Layout:* Clean modern column distribution.
  - *Minimal Slim Bar:* Compact footer with clean bottom copyright and right-aligned Sitemap, LLMs.txt, and Cookie settings.
  - *Mobile-First Stacked:* Full-width vertical stacked layout optimized for smartphone viewing.

### 🔍 SEO & Directory Metadata Enhancements
- **Custom Post & Shop Directory SEO:**
  - Independent Title (`<title>`), H1 Heading, Subtitle/Excerpt, and Meta Description for `/post/` and `/shop/` directory pages.
  - Seamless fallback to brand defaults when left blank.

### 📂 Collapsible Sidebar Navigation
- **Collapsible Groups:** Added smooth chevron dropdown toggles to:
  - โมดูลบทความ (Blog)
  - โมดูลร้านค้า (Shop)
  - ธีม & รูปลักษณ์ (Theme & Appearance)
  - ผู้ใช้ & ตั้งค่าระบบ (Users & System Settings)
- **Local State Persistence:** Remembers collapsed/expanded state in `localStorage` across page reloads.
- **Smart Auto-Expand:** Automatically expands any group whose child link is currently active.
- **Permanent Core & Quick Links:** Keeps "ระบบหลัก (Core)" and "ลิงก์ด่วน" permanently visible.
- **Clean Aesthetic:** Removed redundant status badges (`Core`, `ON`, `OFF`) from sidebar links to prevent visual clutter and layout shift.

### 🛡️ Permissions & System Stability
- **New Appearance Permission:** Added `appearance` permission in `Auth::AVAILABLE_PERMISSIONS` with full bidirectional compatibility with legacy `menus` permission.
- **Search Insights Relocation:** Moved Search Insights (`สถิติการค้นหา & AI Bots`) into Core so it remains accessible even when the Blog module is toggled off.
- **Database Provisioning:** Updated `install.php` wizard to seed all new template styles and directory metadata defaults on fresh setups.

---

## [1.0.1] - 2026-10-19

### Added & Fixed
- **Dark Mode System-Wide Polish:** Single-toggle sun/moon switcher synchronized across frontend, admin (`/fox-admin/`), member panel (`/member/`), and authentication screens.
- **Dynamic Brand Color Integration:** Fixed select dropdowns and active sidebar indicators to pull theme colors dynamically from system settings.
- **2K Centered Workspace:** Centered max-width layout for high-resolution 2K/4K displays.
- **Layered Footer Buffer:** 2-tier buffer structure ensuring sticky footer always rests with proper padding from bottom content.

---

## [1.0.0] - 2026-10-18

### Initial Release
- Core modular CMS engine with dynamic module toggling (Blog, Shop, Members, SMTP, Cookie Consent).
- WebP image optimization pipeline and lightweight media manager.
- Static HTML cache engine with automatic cache invalidation on save.
- Native PWA support with auto-generated `/manifest.json`, Service Worker, and offline fallback.
- AI Search & Bot analytics (Googlebot, Bingbot, Claude, GPTBot detection).
- Built-in 4-step security installer wizard (`install.php`).
