Skip to content

Batoi Press 1.2.0

Choose a tag to compare

@ashwinirath ashwinirath released this 12 Jul 06:18
· 48 commits to main since this release

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 $theme and $branding contexts 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.