Batoi Press Docs

Updates

Understand Batoi Press update checks, stable manifests, checksums, backups, and rollback expectations.

Updates

Batoi Press checks a public stable manifest to determine whether a newer stable version is available. The admin update screen separates routine version checks from higher-risk actions such as package staging, applying updates, and restoring backups.

Batoi Press update workflow A diagram showing update check, checksum verification, backup, package apply, health check, and rollback. Check manifest Download package Verify checksum Backup site Apply files Health check Rollback path if health checks fail

Stable Manifest

The stable manifest is published at:

https://batoi.com/pub/press/latest.json

The manifest includes version, release date, package URL, checksum, minimum PHP version, GitHub tag, and version notes URL.

Update Safety

  • Create a ZIP backup of config, content, theme, and app customizations.
  • Verify package checksum when a SHA-256 value is provided.
  • Reject ZIP packages with unsafe entry paths before extraction.
  • Extract a package into a staging directory.
  • Require a release manifest inside the staged package.
  • Apply only manifest-listed files to allowed runtime paths.
  • Enable maintenance mode while applying staged files.
  • Clear cache and run post-update health checks after replacement.
  • Automatically restore from the pre-update backup when guarded apply or health checks fail.
  • Restore files from a selected backup ZIP when needed.

The admin update screen displays version status, manifest URL, package staging, staged packages, backup creation, and rollback backups as separate operational sections. Restore actions should be treated as danger-zone operations because they replace live files.

Package Manifest

Release packages must include release.json, batoi-press-release.json, or manifest.json at the package root.

The package manifest must list installable files:

{
  "version": "0.2.0",
  "files": [
    {
      "path": "radpress/core/App.php",
      "sha256": "..."
    }
  ]
}

Use source and target when the package path differs from the live install path.

Allowed update targets are intentionally constrained to runtime files such as public entrypoints, assets, admin code, core code, docs, helpers, security, theme files, update code, UIF/AIF scaffolding, and radpress/config/update.json.

Public Package Location

Release packages are published under:

https://www.batoi.com/pub/press/releases/