Skip to content

Batoi Press 1.1.0

Choose a tag to compare

@ashwinirath ashwinirath released this 11 Jul 05:18
· 53 commits to main since this release

Batoi Press 1.1.0

Batoi Press 1.1.0 introduces integrated asset and frontend-library management while preserving the stable 1.0 content, theme, installer, and update contracts.

Asset Management

  • Classifies new images, documents, audio, video, CSS, JavaScript, and module uploads into typed paths below radpress/content/assets/.
  • Serves typed files from recursive /assets/{path} URLs with MIME, immutable-cache, content-length, and nosniff headers.
  • Keeps existing files under radpress/content/media/ available from their unchanged /media/{file} URLs.
  • Adds type filters, storage paths, copy controls, embed snippets, view actions, and guarded deletion to Admin Media.
  • Supports image, document, audio, video, stylesheet, classic script, and module embed snippets.
  • Preserves customized upload allowlists and limits while upgrading recognized historical defaults to the new asset baseline.

Frontend Libraries

  • Installs versioned ZIP packages containing a root library.json manifest.
  • Preserves package directories for relative fonts, images, source maps, CSS, and script dependencies.
  • Validates archive traversal, absolute paths, symbolic links, executable files, supported extensions, file count, extracted size, and declared entry points before installation.
  • Supports global CSS and JavaScript entry points with defer, async, modules, media queries, integrity, and crossorigin metadata.
  • Allows owners and admins to enable, disable, retain, and remove library versions.
  • Ensures only one version of a library name is active while retaining older versions for rollback.
  • Automatically injects enabled global entry points into public theme output.

Static Export

  • Recursively exports typed assets under assets/.
  • Preserves complete frontend-library dependency trees and manifests.
  • Continues exporting legacy media under media/.
  • Includes enabled global library tags in generated static HTML.
  • Verifies each expected recursive asset path in generated ZIP packages.

Compatibility

This release is backward compatible with 1.0.x content files, theme templates, public routes, installer layout, update package manifests, and existing /media/ references. Customized security upload policies remain unchanged.

Verification

  • PHP syntax checks for all changed PHP files.
  • php radpress/tests/asset_library.php
  • php radpress/tests/media_assets.php
  • php radpress/tests/security_baseline.php
  • php radpress/tests/role_access.php
  • php radpress/tests/post_ownership.php
  • php radpress/tests/static_export.php
  • php radpress/tests/smoke.php
  • php radpress/tests/theme_template_syntax.php
  • php radpress/tests/update_runner.php
  • Browser verification of the synchronized testsite Media library UI and public CSS/JS injection.
  • php tools/build-release.php
  • php tools/generate-release-manifest.php
  • php tools/verify-release-artifacts.php

Publication

Publish dist/latest.json and dist/batoi-press-1.1.0.zip to the public Batoi Press release directory after artifact verification.