Create and restore backups of your HumHub installation: database, modules, configuration, uploads and a custom theme.
tests/codeception/_bootstrap.php) failed with a fatal error if HUMHUB_PATH pointed to protected/humhub instead of the root of the installation. It now accepts both, falls back to the default location and stops with a readable message that lists the paths it triedcodecept build first, HUMHUB_PATH)@app/modules with only a .gitignore) are no longer part of a backup, and files that are identical to the backup are not rewritten, so they do not have to be writable. Backups that already contain such a directory can be restored as well--sandbox for MariaDB, --commands=OFF for MySQL 8.4+ for dumps without DELIMITER), so client commands in the dump cannot run@app/modules is part of moduleAutoloadPaths but skipped because it contains no modules)module.json; tests/error_log and the generated test files are no longer part of the packagehumhub\modules\gmBackup. This only matters if you use the classes of the module in your own code@webroot/uploads -> /data/uploads in the Docker image) were accepted. The path is now checked as entered and resolved, and directories linked into the web root count as part of it@app/modules only. All paths of moduleAutoloadPaths except @humhub/modules are backed up and restored; the manifest records every path. A backup whose module directories are not configured on the target installation is refused with an explanationqueue, queue_exclusive) are excluded from the database dump, so jobs from the time of the backup do not come back after a restoremodule_image.png compressed (1.6 MB -> 113 KB)backup to gm-backup (translation category GmBackupModule)humhub\helpers\Html, humhub\widgets\bootstrap\Button, humhub\widgets\form\ActiveForm)ManageModules permission)@app/modules, @config, @uploads, @themes); missing or partially readable parts are reported and recorded in backup-info.jsonmariadb-dump / mariadb), requirement hints on the settings page, documentation of the requirements@runtime or outside the web root; the database password is passed via a temporary option file@runtime) instead of per session.part file first and renamed when complete; database dumps are added to the archive without loading them into memoryprotected/humhub/themes) and the theme name was not validatedAutoBackupJob, empty/unused methods, PDO restore fallback that split dumps on ;), restyling of core CSS classes?#developer, requirements in INSTALLATION.md, note that backups contain personal data, removed the "not for production" warning