Batoi Press 1.1.0
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, andnosniffheaders. - 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.jsonmanifest. - 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.phpphp radpress/tests/media_assets.phpphp radpress/tests/security_baseline.phpphp radpress/tests/role_access.phpphp radpress/tests/post_ownership.phpphp radpress/tests/static_export.phpphp radpress/tests/smoke.phpphp radpress/tests/theme_template_syntax.phpphp radpress/tests/update_runner.php- Browser verification of the synchronized testsite Media library UI and public CSS/JS injection.
php tools/build-release.phpphp tools/generate-release-manifest.phpphp 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.