Batoi Press 1.2.0
Batoi Press 1.2.0
Batoi Press 1.2.0 makes themes a complete presentation contract and adds site-managed public branding while preserving existing 1.x themes and content.
Branding
- Adds brand-logo upload, preview, replacement, removal, and accessible alt text to Settings.
- Supports text, logo, and logo-plus-text public header modes with site-name fallback.
- Validates SVG, PNG, WebP, JPG/JPEG, and GIF logo content with size and dimension limits.
- Stores site-owned branding in typed site asset paths and records semantic branding audit events.
- Preserves the Batoi Press logo and favicon for the Admin Console.
Theme Contract
- Adds normalized schema-versioned theme manifests while accepting existing minimal manifests.
- Adds safe
/theme-assets/{theme}/{path}delivery for bundled CSS, JavaScript, images, and fonts. - Supports ordered manifest styles and scripts with media, defer, async, and module metadata.
- Passes documented
$themeand$brandingcontexts to layouts and partials. - Adds the base-path-aware
bp_theme_asset()helper. - Shows theme validation and bundled-asset status in Admin Themes.
Theme Operations And Security
- Adds preview targets for home, page, post, blog, archive, and 404 layouts.
- Moves preview banner injection into the renderer so custom body classes remain compatible.
- Enforces manifest, required template, declared asset, archive count, file size, extracted size, duplicate path, traversal, link, encryption, and executable-file checks.
- Restricts theme PHP files to approved layout and partial directories.
- Publishes validated themes atomically.
- Supports same-slug theme upgrades with timestamped backups and rollback-safe replacement.
- Prevents activation of invalid themes.
Static Export
- Renders pages, posts, blog, archive, and 404 output through the active theme.
- Includes the live header, footer, navigation, branding, favicon, application assets, active-theme assets, typed assets, libraries, and legacy media.
- Rewrites local links with depth-aware relative paths for subdirectory-safe static hosting.
- Verifies themed output and every expected active-theme asset in the generated ZIP.
Compatibility
- Existing sites default to text branding when new settings are absent.
- Existing minimal theme manifests normalize to schema version 1.
- Existing template variables, public routes, content files,
/media/paths, and library packages remain compatible. - Existing favicon paths continue to resolve.
Verification
- PHP syntax checks across application, public, and tool PHP files.
- Full smoke, update, asset library, media, security, role access, ownership, theme syntax, theme/branding, and static-export tests.
- Synchronized testsite verification of Settings, desktop/mobile logo modes, logo-plus-text mode, all preview targets, theme-asset response headers, and active-theme static export contents.
- GitHub publication workflow now runs the expanded theme, asset, security, and export suite.