HEX
Server: LiteSpeed
System: Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User: swifizcd (1555)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //proc/self/root/var/softaculous/genix/changelog.txt
## [2.2.1] - 2026-04-10

### Added
- **Nixslider CSS Customization Docs**: Added a new "How To Use" section in the Nixslider module admin panel, providing developers with clear CSS selectors and snippets for fine-tuning the slider's appearance.
- **Nixslider UI Polish**: Centered slider captions and implemented a Flexbox-based alignment system for a more professional and balanced visual presentation across all themes.
- **System Core**: Bumped system version to 2.2.1 and updated professional DocBlock headers across all core library classes (`inc/lib/`).

### Fixed
- **GxEditor & Media Management**: Resolved a critical bug where images selected via elFinder failed to render. Standardized the `Asset::elfinderDialog` function to support context-aware callbacks, ensuring seamless image insertion across "Classic" and "Block" modes.
- **GxEditor Source Mode**: Fixed high-contrast visibility bug in "View Source" mode by ensuring dark-mode persistence on focus and removing Bootstrap style conflicts.
- **Theme Version Synchronization**: Unified version numbers in `themeinfo.php` and `options.php` for all core themes to ensure accurate update tracking.
- **Real-time Archive Synchronization**: Resolved a bug where sidebar archive counts were inconsistent with actual posts due to a 24-hour cache delay. Implemented a reactive hook system in the `Archives` class that listens to post lifecycle events (Create, Update, Delete, Publish, Unpublish) to refresh archive data instantly.
- **Default Theme Featured Image**: Resolved a critical layout bug where featured images were rendered twice (once in the theme's custom header and once within the post body). Fixed by decoupling image insertion from the core `PostControl` content stream.
- **PHP Undefined Variable Fix**: Eliminated PHP warnings regarding `$site_footer` and `$site_url` in the rendering pipeline by ensuring consistent initialization in `BaseControl`.
- **Architecture: Rendering Pipeline Refinement**: Centralized `post_title_filter` execution and HTML entity decoding (`Typo::Xclean`) within `Posts::prepare()`. This ensures consistent title rendering across all frontend views while simplifying theme development by allowing templates to use raw variables (e.g., `{$p->title}`) without manual processing.
- **Theme Cleanup**: Refactored `default`, `bsmag`, `gneex`, and `themusk` themes to leverage the new core-level decoding, removing redundant manual filtering from templates.
- **Smart URL Thumbnail Fix**: Implemented a "recursive-safe" `Url::thumb()` logic that automatically strips existing thumbification parameters, resolving malformed URL bugs (e.g., `?thumb=?thumb=`) when `SMART_URL` is disabled.
- **Shortcode Decoding Fix**: Resolved a "double encoding" issue in Nixslider captions and titles by switching to `Typo::Xclean()` for proper HTML entity decoding.
- **Theme Rendering Standardization**: Migrated `default`, `themusk`, and `bsmag` themes to use the pre-processed `{$content}` variable, ensuring all shortcodes and filters are executed consistently.
- **BSMag Slider Reset**: Added a CSS reset for `.nixslider-slide img` in the BSMag theme to prevent global blog image styles (borders/padding) from distorting the slider layout.

## [2.2.0] - 2026-04-08

### Added
- **GxEditor Math Equation Editor**: Integrated KaTeX for professional LaTeX-based mathematical rendering. Features a real-time preview, custom Sigma-Root (Σ√) toolbar icon, and double-click editing support.
- **GxEditor Table Wizard**: Replaced legacy `prompt()` with a comprehensive Bootstrap-based modal for configurable table insertion (rows, columns, headers, and striped/bordered styles).
- **Dynamic Builder & GxEditor Synchronization**: Implemented a robust `change` event listener and `htmlToShortcode` integration, ensuring seamless data transfer between visual building and textual editing without data loss.
- **Improved Inline Toolbar**: Fixed and standardized the inline toolbar in "Classic Mode" for headings (H1-H3) and paragraphs using the correct `formatBlock` command architecture.
- **Programmatic CSP Whitelisting**: Moved `System::securityHeaders()` to occur after theme and module initialization, enabling developers to dynamically modify Content Security Policy rules via the `system_security_headers_args` hook.
- **BSMag Theme Dark Mode Extensions**: Implemented comprehensive dark mode support for `blog-post-meta` and the entire comments section (`custom-comment-wrap`), ensuring consistent editorial aesthetics across all color modes.
- **Dynamic Page Layouts**: Implemented a robust per-page layout selection system. Theme developers can now create `layout-*.latte` templates which are automatically detected and selectable in the admin dashboard.
- **Documentation**: Added comprehensive guide for creating custom theme layouts in `genixcms-docs/docs/how-to/create-theme.md`.

### Fixed
- **WYSIWYG Editor Registry**: Resolved a bug where `summernote` and `editorjs` would disappear from settings when the global editor toggle was off. Standardized initialization via a new `Editor::loadDefaults()` method.
- **Asset Loading Lifecycle**: Fixed a critical bug in `BaseControl` where premature `Site::footer()` calls in the constructor would clear the asset queue before rendering, causing missing scripts (like Bootstrap JS) on the frontend.
- **BSMag Theme Asset Paths**: Corrected broken path for `color-modes.js` (now v2.1.0) to correctly point to theme-internal assets, resolving MIME type errors and restoring theme switching functionality.
- **Admin UI Polish**: Corrected inconsistent spacing and border rendering in the page and post creation forms for a more unified "GeniXCMS 2.0" aesthetic.
- **Builder Compatibility (HTMLPurifier)**: Reconfigured `HTMLPurifier` in `Typo::cleanX()` to allow `<style>` tags and common CSS/Builder attributes (`class`, `id`, `style`, `data-*`). This prevents visual builders like GrapesJS from losing their styles upon saving.
- **GxEditor Layout Refinement**: Streamlined the color picker UI and refined block margins for a more balanced and professional authoring workspace.

## [2.1.0] - 2026-04-07

### Added
- **9 Customizable Admin Sections**: Hero, Expertise (4 cards), Advantages (3 items), Validation (3 testimonials), Posts, Colors, Typography, Social, and Advanced settings.
- **CSS Variables System**: Dynamic color injection via CSS custom properties for seamless theme customization.
- **Extended Menu System**: New `itemClass` parameter in `Menus::getMenu()` for custom menu item styling per-theme.
- **Bootstrap CSS Dequeue**: Frontend now loads TailwindCSS exclusively, preventing Bootstrap style conflicts.
- **Dynamic Builder Pro Upgrade**: Overhauled the visual editor with a premium dark theme, integrated elFinder asset manager, and a new high-quality block library (Hero, Pricing, FAQ, Features).
- **Responsive Builder Workspace**: Added device simulation toggles (Desktop, Tablet, Mobile) to the builder header for effortless responsive design.
- **Team Section Widget**: A premium, responsive 4-column grid with custom 3:4 aspect ratio containers and grayscale-to-color hover transitions.
- **Dynamic Builder Documentation**: Comprehensive User and Developer guides integrated into the official GeniXCMS documentation site.
- **Heading Component Integration**: Upgraded static headings in standard sections to use the dynamic `heading-component`, allowing on-the-fly H1-H6 level adjustment.

### Changed - Core Asset & Menu Systems
- **Asset::dequeue() Method**: Added new method to the Asset class for removing assets from the current page queue dynamically.
- **Menu Generation Logic**: Updated `Menus::getMenu()` to conditionally apply Bootstrap classes only when `$bsnav = true`, supporting theme-specific styling.
- **Bootstrap Frontend Loading**: Bootstrap CSS is now conditional and not loaded on the frontend by default (configurable per theme).

### Fixed - Dynamic Builder UI/UX
- **Block Category Toggle**: Resolved a major UI bug where block categories would not collapse; fixed by removing an `!important` CSS override in `builder.css`.
- **Image & Text Editability**: Standardized Team and Hero images as `type: 'image'` and explicitly defined sub-elements in "Hero Cyber Frontier" as `type: 'text'` for reliable editor interaction.
- **Canvas Aspect Ratios**: Implemented a dedicated `canvas.css` layer for the editor iframe to ensure custom ratios (like 3:4) and interactive hover effects are rendered accurately.
- **Image Widget Defaults**: Standardized the core Image block to be full-width, float-none, and border-radius: 0 for a cleaner "out-of-the-box" design experience.

### Fixed - Theme Styling & UI
- **Validation Card Variables**: Fixed undefined Latte variables for validation card styling (changed from snake_case to camelCase for consistency).
- **Posts Card Border Styling**: Border styling now applied via CSS instead of relying on Tailwind arbitrary opacity syntax.
- **Card Border Radius Consistency**: Posts cards now use `rounded-3xl` matching validation and expertise cards for unified design.