## Changelog
### 0.7.0.0 - 28.06.2026

#### New Features
- **White Label: Wider Admin Menu (no-jump)**
  - New optional setting to widen the admin sidebar menu to a configurable width, with the page content/footer offset to match
  - Configurable expanded width (default 260px) and folded/collapsed width (default 36px), each clamped to the WordPress minimums
  - CSS is injected in `admin_head` so the menu renders at the chosen width on the first paint — no width "jump"/flicker on load
  - Handles submenu fly-out positions (current vs. hover) and folded (collapsed) mode
  - Added a "Menu Width" entry to the White Label quick-navigation jump bar
  - White Label module bumped to 1.2.0

#### Security & Fixes
- **Dashboard widgets: graceful session-timeout on the "Refresh Widget Cache" action**
  - A timed-out admin now gets a clear "Your session has expired" response (HTTP 401) and is taken to the WordPress re-login modal/login, instead of a misleading "Permission denied" message
  - The nonce is now verified before the capability check (correct order); a genuine capability denial still returns 403
- **Dashboard notice dismiss: added nonce verification**
  - The `cf_dismiss_widget_cache_notice` AJAX action is now CSRF-protected (nonce added on both the client request and the handler)

### 0.6.0.1 - 21.06.2026

#### Bug Fixes
- **Dashboard Gutenberg: post type renamed from `cf_dashboard` to `cf_enhancer_tpl`**
  - Resolves conflict with cubicfusion-kpi plugin, which registers its own `cf_dashboard` post type with `show_ui => false`, overwriting the admin-enhancer registration and causing "Sorry, you are not allowed to edit posts in this post type." on the Dashboard Templates screen
  - Added `map_meta_cap => true` to the post type registration for correct capability handling
- **Dashboard Gutenberg: dismiss button no longer shown when "Is dismissable?" is unchecked**
  - The WordPress core `.welcome-panel-close` button is rendered directly in `wp-admin/index.php` outside of any hook; it is now hidden via CSS when dismissable is disabled
  - Fixed condition from `!== false` to `=== 'on'` — CMB2 checkboxes return an empty string when unchecked, which `!== false` incorrectly treated as truthy

### 0.6.0.0 - 02.02.2026
**Major UI/UX Improvements & Mobile Optimization**

#### New Features
- **Horizontal Quick Navigation Bar**
  - Redesigned from fixed vertical sidebar to horizontal sticky bar
  - Positioned below plugin header section
  - Becomes sticky/floats at top only when scrolling
  - Smooth slide-down animations
  - Active section highlighting during scroll
  - Responsive: Full bar on desktop, icon-only on tablet, hidden on mobile
  - Adapts to collapsed WordPress admin menu

#### Mobile Responsive Improvements
- **Complete Mobile Support (≤782px & ≤600px breakpoints)**
  - CMB2 rows properly stack vertically on mobile devices
  - All input fields (text, number, email, url, select, textarea) are full-width
  - Labels and fields left-aligned (no more centering issues)
  - Optimized padding for touch interfaces
  - Proper spacing between form elements
  - Navigation tabs stack vertically on mobile
  - Brand header adjusts to mobile layout

- **Code Textarea Mobile Support**
  - CodeMirror editor fully functional on mobile devices
  - Full-width editors with horizontal scrolling enabled
  - Font size adjusted: 12px (tablet) → 11px (mobile)
  - Compact line number gutters (20px width)
  - Minimum height ensures usability (200px → 150px on mobile)
  - Plain textarea fallback works properly

- **Widget Grid Mobile Optimization** (gui-widget-grid.css)
  - Widget cards stack on mobile with proper padding
  - CMB rows within cards display as block
  - Full-width inputs and controls
  - Description text always on new line
  - Compact spacing for small screens

#### UI/UX Enhancements
- **CMB2 Field Descriptions**
  - Now always break to new line (display: block)
  - Full-width with proper spacing (8px margin-top)
  - Clear visual separation from input fields
  - Works in all contexts (.cmb-td, .cmb-th)

- **Consistent Label Width**
  - Standardized all .cmb-th (label columns) to 250px min-width
  - Previously inconsistent: 200px in some contexts, 250px in others
  - Now uniform across all scenarios: regular rows, groups, postboxes, options pages

- **Enhanced Design System**
  - Proper use of CSS custom properties throughout
  - Spacing scale: --cf-space-xs (4px) through --cf-space-2xl (48px)
  - Border radius scale: --cf-radius-sm/md/lg/full
  - Transition timing: --cf-transition/fast/slow
  - Better maintainability and consistency

#### Bug Fixes & Improvements
- **Dark Mode Support**
  - All new components inherit dark mode colors from gui.css
  - Proper contrast ratios maintained throughout
  - Yellow accent color (#FFD800) optimized for visibility in dark mode
  - Consistent shadow adjustments for dark backgrounds

- **CSS Priority**
  - Added !important to critical padding rules (--cf-space-lg)
  - Ensures consistent spacing across different contexts
  - Better override control for theme conflicts

- **Code Cleanup**
  - Removed external product references from codebase
  - Updated code comments for clarity
  - Removed unused or redundant styles

#### Technical Details
- Two responsive breakpoints implemented:
  - 782px: WordPress admin bar breakpoint (tablet/small desktop)
  - 600px: Mobile phones
- Sticky navigation offset accounts for:
  - WordPress admin bar height (32px desktop, 46px mobile)
  - Collapsed admin menu width (36px vs 160px)
- All changes maintain backward compatibility

### 0.5.0.0 - 28.01.2026
- Added dark mode to the admin.

### 0.4.0.0 - 12.01.2026
- Complete rewrite of the admin.
- Complete rewrite for the core Gutenberg Dashboard functionality.
- PHP 8.4 compliance (Updated core libs)
- Block Editor updates and fixes.
- Proper content escaping.
- Dashboard widgets are getting snapshots now and only the snapshots are shown in the editor. Widgets that are loaded via Javascript, will just show a simple Preview Message.
- Updated the base CSS for the dashboard. Apply your own CSS as required.
  
### 0.3.0.0 - 06.01.2026
All included libs updated or checked.
General security checks & updates.

### 0.2.6.1.3 - 13.08.2023
Check for WordPress 6.5.2
Changes coming ...

### 0.2.6.1.2 - 13.08.2023
Check for WordPress 6.3
Nothing new yet!

#### 0.2.6.1.1 - 03.01.2023
Check for WordPress 6.1
Nothing new, but working on it again ;)

#### 0.2.6.1 - 25.01.2022
Check for WordPress 5.9
CMB2 update

#### 0.2.6 - 30.07.2021
Dashboard Gutenberg Fix for WP 5.8
Admin Toolbar cleanup

#### 0.2.5.2 - 13.11.2020
Small tweaks to all modules.

#### 0.2.5 - 09.11.2020
1. **Updated: Shortcodes** (0.2.5)  
	Allow dashboard widgets with a Closure. Added Opis Closure which allows to serialize closures. This makes sure that dashboard widgets, like those from Rank Math work.

2. **Updated: Admin Toolbar** (0.2)  
	Add your own logo. (32x32, 32x160, 160x60, 160x160, custom height)
Set logo background - color.
Set logo image.
Use pure text logo.
Set text logo color

#### 0.2.3 - 07.11.2020
Cleanup and reorganizing of the codebase

#### 0.2.2 - 13.08.2020
Some minor bug fixes and internal check for WordPress 5.5

#### 0.2.1 - 26.05.2020
Technical fix for dashboard widgets that use closures as a callback. This fix prevents the serialization of these callbacks. This is a PHP limitation that can be solved, but will wait and see how the demand for such a feature is. 

#### 0.2 - 25.05.2020
1. **Updated: Shortcodes** (0.2)  
	Cleanup & Copy to Clipboard added.

2. **New: Dashboard Gutenberg / Dashboard Templates** (0.1)  
	This Addon allows you to build a Dashboard with Gutenberg. You can create a new Dashboard under 'Dashboard Templates' and set a default template below.
I will be extending this to allow different templates for different roles / groups. This release also includes a Gutenberg block for the shortcodes.

3. **New: Admin Toolbar** (0.1)  
	This Addon allows you to tweak the admin toolbar and footer.

#### 0.1 - 08.05.2020
1. **Initial Release**  
	Admin Enhancer is a work in progress.I am using this WordPress plugin to centralise things I love & need, when sending out a finished website or project.
These tools are completely free and will always stay free.

2. **Shortcode Addon (0.1)**  
	All dashboard widgets are converted to simple shortcodes. You can use those shortcodes within Elementor Pro or any other page builder that allows you to create custom admin dashboards. Makes it easy to build white-label dashboards, while still reusing all those nice dashboard widgets.