Skip to content

5.0.0

Latest
Compare
Choose a tag to compare
@Archmonger Archmonger released this 30 Aug 08:13
· 2 commits to master since this release
73a21e5

Added

  • Implement new SqliteBackupConnector to backup SQLite3 databases using the .backup command (safe to execute on databases with active connections).
  • Verified full Windows compatibility via new CI workflows.
  • Add Django Signals support for backup and restore operations. New signals include pre_backup, post_backup, pre_restore, post_restore, pre_media_backup, post_media_backup, pre_media_restore, and post_media_restore.
  • New DjangoConnector that provides database-agnostic backup and restore functionality using Django's built-in dumpdata and loaddata management commands.

Changed

  • This repository has been transferred out of Jazzband due to logistical concerns.
  • Improve error message for missing database tools (pg_dump, mysqldump, etc.) to provide guidance instead of generic "No such file or directory" errors.
  • Changed default SQLite connector from SqliteConnector to SqliteBackupConnector to adhere to best practices.
  • Set default IF_EXISTS to True for PostgreSQL connectors (PgDumpConnector and PgDumpBinaryConnector) to reduce restore errors when objects are absent.
  • If PASSWORD is set to None for PostgreSQL connectors, the --no-password flag is now automatically used.

Removed

  • Drop support for end-of-life Python 3.7 and 3.8.
  • Drop support for end-of-life Django 3.2.
  • Drop pytz dependency in favor of Python's standard library zoneinfo (following Django 4.0+ timezone implementation).
  • Drop support for DBBACKUP_STORAGE AND DBBACKUP_STORAGE_OPTIONS settings, use Django's STORAGES['dbbackup'] setting instead.
  • Remove deprecated DBBACKUP_FAILURE_RECIPIENTS setting, use DBBACKUP_ADMINS instead.
  • Remove deprecated code for legacy Django version compatibility.

Fixed

  • Fixed -O flag to properly handle S3 URIs. Now python manage.py dbbackup -O s3://bucket/path/ and python manage.py mediabackup -O s3://bucket/path/ correctly route S3 URIs to the storage backend instead of attempting to write to local filesystem.
  • Fix issues with parsing excess whitespace within dbbackup -d "<COMMA_SEPARATED_ARGS>"
  • Fix encryption support when using gnupg==5.x.
  • Resolve SQLite backup temporary file locking issues on Windows.
  • Fix MediaRestore path corruption for files containing "media" in their paths.
  • Fix FTP storage restore issue where file objects without fileno() support caused io.UnsupportedOperation error during database restore operations.
  • Fix SQLite restore failing when multi-line TextField content contains semicolons.
  • Fix SQLite no such table errors.
  • Fix SQLite UNIQUE constraint errors.
  • Fix SQLite index/trigger/view <NAME> already exists errors.
  • Fix PostgreSQL restore errors with identity columns by automatically enabling --if-exists when using --clean in PgDumpBinaryConnector.

Security

  • Use environment variable for PostgreSQL password to prevent password leakage in logs/emails.