Duplicity Release 3.2.0
Kenneth Loafman via Duplicity-talk <[email protected]>
| Newsgroups | gmane.comp.sysutils.backup.duplicity.general |
|---|---|
| Message-ID | <CAD-_Ma2pnxDZ_NbKvvYoeMA8kzRjXgpssTX5FQvQHMC-RWctRw@mail.gmail.com> |
Hi everyone, We are pleased to announce the release of Duplicity 3.2.0. This version brings significant modernization to the codebase, improves the developer experience, and includes several critical bug fixes. Below is a summary of the key changes: New Features and Modernization - librsync Enhancements: Added a get_version() function to the librsync wrapper and implemented a pure Python fallback using ctypes for environments where the C extension is unavailable. - Code Refactoring: Performed a large-scale refactor to use f-strings for string concatenation across the entire codebase. - GPG Integration: Replaced the internal gpginterface.py with the standard python-gnupg library for improved maintenance and reliability. Infrastructure and Tooling - Developer Experience: Added PyCharm devcontainer support, base Dockerfiles, and comprehensive coverage configuration with new Makefile targets. - Build System: Rewrote the makechangelog utility in Python, updated the Snapcraft configuration to core26 (Python 3.14), and improved the release preparation scripts. - CI/CD: Refined pipeline triggers for better handling of push, web, and merge request events. Bug Fixes and Reliability - Security: Replaced unsafe os.system calls with safer Python alternatives (e.g., subprocess). - Error Handling: Standardized error handling by replacing log.FatalError calls with raised errors.FatalError exceptions. - Core Logic: Implemented a comprehensive fix for backup, restart, and cleanup logic. - Backend & Restore Fixes: Resolved issues related to lockfile releases, B2 backend compatibility, PCA backend URL handling, and an AssertionError during restore operations. For a full list of commits and details, please refer to the CHANGELOG.md <https://gitlab.com/duplicity/duplicity/-/blob/main/CHANGELOG.md> file in the repository. Best regards, The Duplicity Team _______________________________________________ Duplicity-talk mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/duplicity-talk