Compatibility: WordPress 6.9+, ClassicPress 2.5+, PHP 8.4+
Saturn 2.9 is a significant maintenance release that builds on the foundation laid by the 2.8.x series. This version focuses on performance optimization, security hardening, PHP 8.4 compatibility, and the removal of legacy features that no longer serve modern WordPress development.
This release arrives alongside WordPress 6.9, ensuring full compatibility with the latest core improvements.

Changes in the 2.8.x Series
Before diving into 2.9, here’s what the 2.8.x releases delivered:
Security Enhancements
Nonce Verification for Settings Forms — All form submissions in the theme settings panel now include nonce verification, protecting against Cross-Site Request Forgery (CSRF) attacks. This ensures that settings can only be modified by authenticated users with proper intent.
Custom CSS Sanitization — User-provided custom CSS is now sanitized by stripping all HTML tags before saving to the database. This prevents potential XSS vulnerabilities through the custom CSS field.
Performance Improvements
Template Part Query Optimization — The query that loads template parts for dropdown selectors was optimized for faster execution, reducing admin page load times.
Font Display Swap for Akar Icons — Added font-display: swap to the Akar Icons stylesheet, preventing Flash of Invisible Text (FOIT) and improving perceived page load performance. Text remains visible while the icon font loads.
Flickity Autoplay Fix — Resolved an issue where the Flickity slider’s autoplay feature wasn’t functioning correctly, ensuring smooth automatic slide transitions.
New Features
Optional Post Sidebar — Added support for an optional sidebar on single posts, giving theme users more layout flexibility without requiring additional plugins.
WooCommerce Hybrid Template Support — Enabled modern single product media features for sites using WooCommerce with Saturn’s hybrid (classic + block) template approach. This includes product image zoom, Photoswipe lightbox, and thumbnail slider functionality—features that are fully supported in WooCommerce 10.
Timezone Handling
Date Function Update — Fixed an issue where date functions didn’t properly respect WordPress timezone settings, ensuring accurate date display across all time zones.
Code Quality & Clean-up
WordPress Coding Standards Compliance — Multiple passes of WPCS (WordPress Coding Standards) updates ensure the codebase follows WordPress best practices for code style, documentation, and security.
Removed Quick Navigation Sidebar — The experimental quick navigation sidebar element was removed after it failed to gain traction with users.
Removed Fixed GDPR Button — The static GDPR consent button was removed. Modern GDPR compliance is better handled by dedicated plugins that offer proper consent management and cookie controls.
Removed Unused Wobble Animation — Dead CSS animation code was removed, reducing stylesheet size.
Custom CSS Style Tag ID — Added a unique ID to the custom CSS style tag, making it easier to target or debug in browser developer tools.
What’s New in 2.9
Memory & Database Optimization
Eliminated Redundant Option Calls — Theme options that were being retrieved multiple times within the same file are now cached in local variables. This applies to the header template (12+ options), the Side Panel module (5 options), and the Google Fonts builder function. While WordPress caches get_option() results internally, this change eliminates repeated function call overhead and type casting operations.
Fixed Array Filter Redundancy — External CSS resources were being filtered twice in succession. The logic has been consolidated into a single filter operation, reducing unnecessary array iterations.
Remote Update Request Timeout — The theme updater now includes a 3-second timeout for remote requests. Previously, if the update server was slow or unreachable, the request could block PHP processes indefinitely. This change prevents potential site slowdowns during update checks.
WP_Query Loop Rewind Fix — Fixed an issue in the settings panel where multiple dropdown selectors using the same query only populated the first dropdown. The query pointer now properly rewinds between loops, ensuring all dropdowns display their options correctly.
PHP 8.4 Compatibility
PHP 8.4 introduces stricter error handling for null value access. Saturn 2.9 addresses two edge cases:
Fade Slider Null Image Handling — Slides without featured images previously caused warnings when attempting to access the image URL. The slider now gracefully skips slides that don’t have a featured image set.
Side Panel Null Post Handling — The Side Panel module now verifies that the configured content block exists before attempting to render it, preventing errors when a block has been deleted.
Removed Features
Logo Carousel Module — The Logo Carousel feature has been completely removed, including its custom post type registration and shortcode. This feature saw minimal adoption and added unnecessary database overhead. Users who need logo showcase functionality should consider the Query Loop block with a custom post type, or a dedicated plugin that offers more flexibility.
Shortcode Paragraph Fix Filter — The content filter that removed empty paragraph tags wrapped around shortcodes has been removed. This filter was essential for Classic Editor users but is unnecessary when using the Block Editor exclusively, as shortcode blocks don’t suffer from wpautop() interference.
Font Awesome Shortcode — The [fa] shortcode has been removed since Saturn doesn’t bundle Font Awesome. Users should use the included Akar Icons or IcoFont libraries instead.
Consolidated Template Files — The templates/blocks.php file has been deleted after its remaining functions were either moved to functions.php or removed entirely.
CSS Clean-up
Removed Duplicate CSS Variables — CSS custom properties that were defined in both :root and body selectors have been consolidated. The duplicate body declarations were unnecessary, since CSS custom properties inherit naturally from :root.
Upgrade Notes
Breaking Changes
Users of the Logo Carousel feature should migrate to an alternative solution before upgrading. The custom post type and shortcode will no longer function after the update.
Users of the [fa] shortcode should replace these with IcoFont or Akar Icons equivalents, or switch to inline SVG icons.
Automatic Clean-up
On the first visit to the theme’s Welcome tab after upgrading, the following database option will be removed:
use_logo_carousel
Minimum Requirements
- PHP: 8.4 or higher (recommended)
- WordPress: 6.9 or higher
- ClassicPress: 2.5.0 or higher
Summary of Removed Files
| File | Reason |
|---|---|
templates/blocks.php | Functions moved or removed |
includes/cpt-logos.php | Logo Carousel feature removed |
modules/logo-carousel.php | Logo Carousel feature removed |
Looking Ahead
Saturn 2.9 represents a commitment to modern WordPress development. By removing legacy compatibility code and focusing on Block Editor workflows, the theme is positioned to take full advantage of WordPress 6.9’s improvements and PHP 8.4’s performance gains.
Future releases will continue this trajectory, with planned improvements including:
- Further optimization for WordPress’s block rendering pipeline
- Enhanced support for WooCommerce 10’s evolving template system
- Continued removal of ClassicPress-only compatibility shims as the platform matures