版本发布 7
This release announces several breaking changes and informs users via warning and information dialogs. Please read these messages carefully. Existing setups will continue to work. # Summary [Gocryptfs](https://github.com/rfjakob/gocryptfs) is used for encryption in local profiles. This replaces EncFS with its known security issues. Therefore, using EncFS for encryption is no longer supported for newly created profiles (local and SSH), but remains available for existing profiles. Gocryptfs encryption for SSH profiles is not yet available and will follow in a later release. Package maintainers should be aware of **modified dependencies** and adjust their packaging accordingly. After 17 years of existence, _Back In Time_ now has its own application logo, provided by Gregory Deseck (@gregorydk). Support for external SSH key agents and configurations was added. There is a new option to warn users about low available storage space. Several changes and improvements were made to the GUI, most of them in the Manage Profiles dialog. Translations improved and updated. Excluding English, 17 of 44 languages are fully translated, 9 are over 80%, but 7 languages are lower than 50% complete and removal candiates for the next release. Newly added language: Georgian. Because of no translation activity the languages Bosnian, Thai, and Occidental/Interlingue were removed. Several bug fixes and a large part of the codebase were refactored. See [changelog](https://github.com/bit-team/backintime/blob/dev/CHANGES) for details. [Compare version 1.6.0 with previous 1.5.6](https://github.com/bit-team/backintime/compare/v1.5.6...v1.6.0). # Breaking Changes, deprecations, dependencies - Creation of new EncFS profiles is no longer supported. - Several CLI commands are deprecated and most of them replaced by alternatives. - SSH cipher can no longer be configured. Existing configurations are deprecated. - The term "snapshot" is replaced with "backup" to prevent confusion with image-based backup software. - New dependencies: "python3-pyqt6.qtsvg", "bash", "gocryptfs". - Removed dependency on any icon-specific theme. See [changelog](https://github.com/bit-team/backintime/blob/dev/CHANGES) for details. # Contributors This version received extensive support from external contributors (in alphabetical order by last name or nickname): - @davidfjoh fixed a bug around SSH. - Germar Reize @germar started the Gocryptfs support. - David Wales @daviewales finished the Gocryptfs support. - @devinjb99 refactored GUI code. - @Fest6 provided the "Less storage space" warning feature. - Huaide Jiang @LatiosInAltoMare provided the shutdown confirmation feature. - John Woltman @johnwoltman fixed a GUI bug in log view dialog. - @madic-creates fixed a GUI bug while comparing backups. - Marcus van Dam @m4rcu5 improved scheduling widget in case cron is missing. - Rafael @rafaelhdr added a check if include list entries do not exists in backup source. - Johan Risberg @johanR04 provided documentation about rsync. - @reddyshekharc55 updated the screenshots and screencasts for translators. - @samo-sk improved the GUI. - Sung Hyun Cho @roycho96 provided documentation. - Several translators ([credits](https://translate.codeberg.org/search/backintime/common/?q=+source%3A%3Dtranslator-credits-placeholder)) - Also not to be forgotten are the many people who supported the project by testing it, providing feedback, reporting issues, and analyzing problems. - Infrastructur and tools provided by Codeberg (translate.codeberg.org), TravisCI, Debian GNU/Linux, GNU Emacs, … - Please let me know if I missed a contribution. # Installation This release contains the source code only and does not include distribution packages. To install the new release from the source code please follow our [build & installation instructions](https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#build--install). # Known Major Issues - qt_probing.py may hang with high CPU usage when running Back In Time as root via cron (https://github.com/bit-team/backintime/issues/1592) - File permissions handling and therefore possible non-differential backups ([#2388](https://github.com/bit-team/backintime/issues/2388), https://github.com/bit-team/backintime/issues/988 & https://github.com/bit-team/backintime/issues/994)
# Summary This version fixes urgent bugs from the previous version causing crashes when using languages Spanish, Basque or Icelandic. Thank you to @Caramelitosis for reporting this. # Installation This release contains the source code only but no distro packages. To install the new release from the source code please follow our [build & installation instructions](https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#build--install). # Known major issues open - qt_probing.py may hang with high CPU usage when running Back In Time as root via cron (https://github.com/bit-team/backintime/issues/1592) - File permissions handling and therefore possible non-differential backups (https://github.com/bit-team/backintime/issues/988 & https://github.com/bit-team/backintime/issues/994) # Changes * Fix(translation): Correct corrupt translated strings in Basque, Islandic and Spanish causing application crashes (#1828) * Fix: Ensure crontab with ending newline (#781) * Build(translation): Language helper script processing syntax checks on po-files
# Summary This version fixes a bug from the previous version. During ping tests of the SSH server, the port of the SSH proxy was used instead of the target SSH server. Thank you to Johannes (@hannes101) for reporting this. # Installation This release contains the source code only but no distro packages. To install the new release from the source code please follow our [build & installation instructions](https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#build--install). # Known major issues open - qt_probing.py may hang with high CPU usage when running Back In Time as root via cron ([#1592](https://github.com/bit-team/backintime/issues/1592)) - File permissions handling and therefore possible non-differential backups ([#988](https://github.com/bit-team/backintime/issues/988) & [#994](https://github.com/bit-team/backintime/issues/994)) # Changes - Fix: Use correct port to ping SSH Proxy (#1815)
This release increase the Qt version usedfrom 5 to 6. EncFS is marked as deprecated (#1734). BIT warns if Cron is not running. As a new feature SSH proxy (aka jump host) can be used. For more details see the changelog. This release has several new contributors. Thank you to all of them, several issues could be fixed and the code quality increased. - Ayush Saluja: Improving code quality - Christie Grinham: Implement SSH proxy feature - David Gibbs: Fix "places" widget in main window and "one file system" export option. - DerekVeit: Fix a long standing Qt segmentation fault - JATIN-RAGHAV: Improve code quality and docu - Kosta Vukicevic: Improve debug behavior of the GUI and code quality. - Rafael Hurpia da Rocha: Fix "Backup folders" list in main window. - Tianyi Tao: Improve code quality with refactoring. - Tom Hunter: Improve code quality with refactoring. - Vaibhav Raj: Improve code quality with refactoring. Also several new translators and former translators updating their translations to fit to the latest development. Thank you to them the [language translation coverage](https://translate.codeberg.org/engage/backintime/) increased to 82 %. # Installation This release contains the source code only but no distro packages. To install the new release from the source code please follow our [build & installation instructions](https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#build--install). # Known major issues open - qt_probing.py may hang with high CPU usage when running Back In Time as root via cron ([#1592](https://github.com/bit-team/backintime/issues/1592)) - File permissions handling and therefore possible non-differential backups ([#988](https://github.com/bit-team/backintime/issues/988) & [#994](https://github.com/bit-team/backintime/issues/994)) # Changelog * Dependency: Migration to PyQt6 * Breaking Change: EncFS deprecation warning (#1735, #1734) * Breaking Change: GUI started with --debug does no longer add --debug to the crontab for scheduled profiles. Use the new "enable logging for debug messages" in the 'Schedule' section of the 'Manage profiles' GUI instead. * Feature: Warn if Cron is not running (#1747) * Feature: Profile and GUI allow to activate debug output for scheduled jobs by adding '--debug' to crontab entry (#1616, contributed by @stcksmsh Kosta Vukicevic) * Feature: Support SSH proxy (jump) host (#1688) (@cgrinham, Christie Grinham) * Feature: Support rsync '--one-file-system' in Expert Options (#1598) * Feature: "*-dev" version strings contain last commit hash (#1637) * Fix: Global flock fallback to single-user mode if insufficient permissions (#1743, #1751) * Fix: Fix Qt segmentation fault with uninstall ExtraMouseButtonEventFilter when closing main window (#1095) * Fix: Names of weekdays and months translated correct (#1729) * Fix: Global flock for multiple users (#1122, #1676) * Fix bug: "Backup folders" list does reflect the selected snapshot (#1585) (@rafaelhdr Rafael Hurpia da Rocha) * Fix: Validation of diff command settings in compare snapshots dialog (#1662) (@stcksmsh Kosta Vukicevic) * Fix bug: Open symlinked folders in file view (#1476) * Fix bug: Respect dark mode using color roles (#1601) * Fix: "Highly recommended" exclusion pattern in "Manage Profile" dialog's "Exclude" tab show missing only (#1620) * Fix bug: `make install` ignored $(DEST) in file migration part (#1630) * Removed: Context menu in LogViewDialog (#1578) * Removed: Field "filesystem_mount" and "snapshot_version" in "info" file (#1684) * Refactor: Replace Config.user() with getpass.getuser() (#1694) * Chore!: Remove "debian" folder (#1548) * Build: Enable several PyLint rules (#1755, #1766) * Build: Add AppStream meta data (#1642) * Build: PyLint unit test is skipped if PyLint isn't installed, but will always run on TravisCI (#1634) * Build: Git commit hash is presevered while "make install" (#1637) * Build: Fix bash-completion symlink creation while installing & adding --diagnostics (#1615) * Build: TravisCI use PyQt (except arch "ppc64le")
# Changes * Dependency: Add "qt translations" to GUI runtime dependencies (#1538) * Build: Unit tests do generically ignore all instead of well-known warnings now (#1539). * Build: Warnings about missing Qt translation now are ignored while testing (#1537). * Fix bug: GUI didn't start when "show hidden files" button was on (#1535).
Changelog * Project: Renamed branch "master" to "main" and started "gitflow" branching model. * Refactor: Renamed qt4plugin.py to systrayiconplugin.py (we are using Qt5 for years now ;-) * Refactor: Removed unfinished feature "Full system backup" (#1526) * Fix bug: AttributeError: can't set attribute 'showHiddenFiles' in app.py (#1532) * Fix bug: Check SSH login works on machines with limited commands (#1442) * Fix bug: Missing icon in SSH private key button (#1364) * Fix bug: Master issue for missing or empty system-tray icon (#1306) * Fix bug: System-tray icon missing or empty (GUI and cron) (#1236) * Fix bug: Improve KDE plasma icon compatibility (#1159) * GUI Change: View last (snapshot) log button in GUI uses "document-open-recent" icon now instead of "document-new" (#1386) * Fix bug: Unit test fails on some machines due to warning "Ignoring XDG_SESSION_TYPE=wayland on Gnome..." (#1429) * Fix bug: Generation of config-manpage caused an error with Debian's Lintian (#1398). * Fix bug: Return empty list in smartRemove (#1392, Debian Bug Report 973760) * Fix bug: Taking a snapshot reports `rsync` errors now even if no snapshot was taken (#1491) * Fix bug: takeSnapshot() recognizes errors now by also evaluating the rsync exit code (#489) Fixes related problem: Killing `rsync` was not handled gracefully (by ignoring the rsync exit code) * Fix bug: The error user-callback is now always called if an error happened while taking a snapshot (#1491) * Fix bug: D-Bus serviceHelper error "LimitExceeded: Maximum length of command line reached (100)": Max command length is now 120 instead of 100 (#1027) * Feature: Introduce new error codes for the "error" user callback (as part of #1491): 5: Error while taking a snapshot. 6: New snapshot taken but with errors. * Feature: The `rsync` exit code is now contained in the snapshot log (part of #489). Example: [E] Error: 'rsync' ended with exit code -9 (negative values are signal numbers, see 'kill -l') * Fix bug: Treat rsync exit code 24 as INFO instead of ERROR (#1506) * Breaking change: Minimal Python version 3.8 required (#1358). * Removed: Handling and checking of user group "fuse" (#1472). * Feature: Exclude /swapfile by default (#1053) * Feature: Rearranged menu bar and its entries in the main window (#1487, #1478). * Feature: Configure user interface language via config file and GUI. * Documentation: Removed outdated docbook (#1345). * Build: Introduced .readthedocs.yaml as asked by ReadTheDocs.org (#1443). * Dependency: The oxygen icons should be installed with the BiT Qt GUI since they are used as fallback in case of missing icons * Fix bug: Add support for ChainerBackend class as keyring which iterates over all supported keyring backends (#1410) * Translation: Strings to translate now easier to understand for translators (#1448, #1457, #1462, #1465). * Translation: Improved completeness of translations and additional modifications of source strings (#1454, #1512) * Translation: Plural forms support (#1488). * Removed: Translation in Canadian English, British English and Javanese (#1455). * Added: Translation in Persian and Vietnamese (#1460). * Added: Message to users (after 10 starts of BIT Gui) to motivate them contributing translations (#1473).
# Changelog * New feature: Command line argument "--diagnostics" to show helpful info for better issue support (#1100) * GUI change: Remove Exit button from the toolbar (#172) * GUI change: Define accelerator keys for menu bar and tabs, as well as toolbar shortcuts (#1104) * Desktop integration: Update .desktop file to mark Back In Time as a single main window program (#1258) * Improvement: Write all log output to stderr; do not pollute stdout with INFO and WARNING messages anymore (#1337) * Bugfix: RTE "reentrant call inside io.BufferedWriter" in logFile.flush() during backup (#1003) * Bugfix: Incompatibility with rsync 3.2.4 or later because of rsync's "new argument protection" (#1247). Deactivate "--old-args" rsync argument earlier recommaned to users as a workaround. * Bugfix: DeprecationWarnings about invalid escape sequences. * Bugfix: AttributeError in "Diff Options" dialog (#898) * Bugfix: Settings GUI: "Save password to Keyring" was disabled due to "no appropriate keyring found" (#1321) * Bugfix: Back in Time did not start with D-Bus error "dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'net.launchpad.backintime.serviceHelper': no such name" (fixes client-side part of #921 - system D-Bus part of the Udev serviceHelper is still under investigation). * Bugfix: Avoid logging errors while waiting for a target drive to be mounted (#1142, #1143, #1328) * Bugfix: [Arch Linux] AUR pkg "backintime-git": Build tests fails and installation is aborted (#1233, fixed with #921) * Bugfix: Wrong systray icon showing in Wayland (#1244) * Documentation update: Correct description of profile<N>.schedule.time in backintime-config manpage (#1270) * Translation update: Brazilian Portuguese (#1267) * Translation update: Italian (#1110, #1123) * Translation update: French (#1077) * Testing: Fix a test fail when dealing with an empty crontab (#1181) * Testing: Fix a test fail when dealing with an empty config file (#1305) * Testing: Skip "test_quiet_mode" (does not work reliably) * Testing: Improve "test_diagnostics_arg" (introduced with #1100) to no longer fail when JSON output was mixed with logging output (part of #921, fixes #1233) * Testing: Numerous fixes and extensions to testing (#1115, #1213, #1279, #1280, #1281, #1285, #1288, #1290, #1293, #1309, #1334)