Package Release Info


Update Info: Base Release
Available in Package Hub : 15





Change Logs

* Wed May 02 2018
- Leap 15.0 and SLE15 both are moved to renamed python3-msgpack,
  fix-msgpack-requirement.patch have to be used to deal with msgpack
  package rename fallout.
* Mon Apr 02 2018
- Update to 1.1.5
- Fixes:
  * create --list: fix that it was never showing M status
  * create: fix timing for first checkpoint (read files cache early,
    init checkpoint timer after that)
  * extract: set rc=1 when extracting damaged files with all-zero replacement
    chunks or with size inconsistencies
  * diff: consider an empty file as different to a non-existing file
  * files cache: improve exception handling
  * ignore exceptions in scandir_inorder() caused by an implicit stat(), also
    remove unneeded sort
  * fixed tab completion problem where a space is always added after path even
    when it shouldn't
  * build: do .h file content checks in binary mode, fixes build issue for
    non-ascii header files on pure-ascii locale platforms
  * borgfs: fix patterns/paths processing
  * config: add some validation
  * repository config: add validation for max_segment_size
  * set cache previous_location on load instead of save
  * remove platform.uname() call which caused library mismatch issues
  * add exception handler around deprecated platform.linux_distribution() call
  * use same datetime object for {now} and {utcnow}
- New features:
  * create: implement --stdin-name
  * add chunker_params to borg archive info (--json)
  * BORG_SHOW_SYSINFO=no to hide system information from exceptions
- Other changes:
  * updated zsh completions for borg 1.1.4
  * files cache related code cleanups
  * be more helpful when parsing invalid --pattern values
  * be more clear in secure-erase warning message
  * improve getpass user experience
  * docs build: unicode problem fixed when using a py27-based sphinx
- docs:
  * security: explicitly note what happens OUTSIDE the attack model
  * security: add note about combining compression and encryption
  * security: describe chunk size / proximity issue
  * quickstart: add note about permissions, borg@localhost
  * quickstart: add introduction to repositories & archives
  * recreate --recompress: add missing metavar, clarify description
  * improve logging docs
  * add an example for --pattern usage
  * clarify path semantics when matching
  * link to offline documentation from README
  * add docs on how to verify a signed release with GPG
  * chunk seed is generated per repository (not: archive)
  * better formatting of CPU usage documentation
  * extend append-only repo rollback docs
- tests:
  * fix erroneously skipped zstd compressor tests
  * skip a test if argparse is broken
- Drop borgbackup-1.1.4-binary-content-checks.patch which is already included
- Rebase fix-msgpack-requirement.patch
* Mon Mar 05 2018
- Fix sphinx theme fallback condition
* Sun Mar 04 2018
- Add patch to fall back to a sphinx default theme for older distributions
  that don't have python3-guzzle_sphinx_theme available
  * borgbackup-1.1.4-sphinx-default-theme.patch
* Thu Mar 01 2018
- Add patch to require the new msgpack python module in Tumbleweed
  instead of the deprecated msgpack-python python module:
  * fix-msgpack-requirement.patch
* Tue Feb 27 2018
- Add patch borgbackup-1.1.4-binary-content-checks.patch:
  * Fixes build failure due to bad encoding
  * Based on upstream commit 9cf8d57 "do .h file content checks in binary mode"
  * This patch will no longer be needed with borgbackup > 1.1.4
* Sun Jan 28 2018
- Don't use liblz4 nor libzstd on Leap 42.x which doesn't support them
  and add missing requirement python-guzzle_sphinx_theme on Tumbleweed.
* Wed Jan 10 2018
- Update to borgbackup 1.1.4
  * Fix a potential data corruption issue with 'borg check --repair'
    happening in borg >= 1.1 and < 1.1.4
  * zstd compression is new in borg 1.1.4, older borg can't handle it.
  * new minimum requirements for the compression libraries:
    + added requirement: libzstd >= 1.3.0
    + updated requirement: liblz4 >= 1.7.0 / r129
- Fixes:
  * check: data corruption fix: fix for borg check --repair malfunction. See
  the more detailed notes at
  * delete: also delete security dir when deleting a repo
  * prune: fix building the "borg prune" man page
  * init: use given --storage-quota for local repo
  * init: properly quote repo path in output
  * fix startup delay with dns-only own fqdn resolving
- New features:
  * added zstd compression.
  * added placeholder {reverse-fqdn} for fqdn in reverse notation
  * added BORG_BASE_DIR environment variable
- Other changes:
  * list help topics when invalid topic is requested
  * fix lz4 deprecation warning, requires lz4 >= 1.7.0 (r129)
  * add parens for C preprocessor macro argument usages (did not cause
  * exclude broken pytest 3.3.0 release
  * updated fish/bash completions
  * init: more clear exception messages for borg create
  * docs:
    + add auto-generated docs for borg config
    + don't generate HTML docs page for borgfs
    + docs update for lz4 b2 zstd changes
    + add zstd to compression help, readme, docs
    + update requirements and install docs about bundled lz4 and zstd
    + refactored build of the compress and crypto.low_level extensions
    + move some lib/build related code to setup_{zstd,lz4,b2}.py
    + bundle lz4 1.8.0 (requirement: >= 1.7.0 / r129)
    + bundle zstd 1.3.2 (requirement: >= 1.3.0)
    + blake2 was already bundled
    + rename BORG_LZ4_PREFIX env var to BORG_LIBLZ4_PREFIX for better
    consistency: we also have BORG_LIBB2_PREFIX and BORG_LIBZSTD_PREFIX now.
    + add prefer_system_lib* = True settings to - by default the
    build will prefer a shared library over the bundled code, if library
    and headers can be found and meet the minimum requirements.
* Mon Dec 11 2017
- Update to borgbackup 1.1.3
- Fixes:
  * Security Fix for CVE-2017-15914: Incorrect implementation of access
    controls allows remote users to override repository restrictions in Borg
    servers. A user able to access a remote Borg SSH server is able to
    circumvent access controls post-authentication.
    Affected releases: 1.1.0, 1.1.1, 1.1.2. Releases 1.0.x are NOT affected.
  * crc32: deal with unaligned buffer, add tests - this broke borg on older ARM
    CPUs that can not deal with unaligned 32bit memory accesses and raise a bus
    error in such cases. the fix might also improve performance on some CPUs as
    all 32bit memory accesses by the crc32 code are properly aligned now.
  * mount: fixed support of --consider-part-files and do not show .borg_part_N
    files by default in the mounted FUSE filesystem.
  * fixed cache/repo timestamp inconsistency message, highlight that
    information is obtained from security dir (deleting the cache will not
    bypass this error in case the user knows this is a legitimate repo).
  * borgfs: don't show sub-command in borgfs help
  * create: show an error when --dry-run and --stats are used together
- New features:
  * mount: added exclusion group options and paths.
    Reused some code to support similar options/paths as borg extract offers -
    making good use of these to only mount a smaller subset of dirs/files can
    speed up mounting a lot and also will consume way less memory.
    borg mount [options] repo_or_archive mountpoint path [paths...]
    paths: you can just give some "root paths" (like for borg extract) to only
    partially populate the FUSE filesystem.
    new options: --exclude[-from], --pattern[s-from], --strip-components
  * create/extract: support st_birthtime on platforms supporting it
  * add "borg config" command for querying/setting/deleting config values
- Other changes:
  * clean up and simplify packaging (only package committed files,
  do not install .c/.h/.pyx files)
  * docs:
  * point out tuning options for borg create
  * add instructions for using ntfsclone, zerofree
  * move image backup-related FAQ entries to a new page
  * clarify key aliases for borg list --format
  * mention break-lock in checkpointing FAQ entry
  * document sshfs rename workaround
  * add FAQ about removing files from existing archives
  * add FAQ about different prune policies
  * usage and man page for borgfs
  * clarify create --stats duration vs. wall time
  * clarify encrypted key format for borg key export
  * update release checklist about security fixes
  * document good and problematic option placements, fix examples
  * add note on using --nobsdflags to avoid speed penalty related to bsdflags
  * move most of support section to
* Fri Nov 10 2017
- Fix build on Leap 42.2 by BuildRequiring bash-completion
* Wed Nov 08 2017
- Update to borgbackup 1.1.2
- Fixes:
  * fix KeyError crash when talking to borg server < 1.0.7
  * extract: set bsdflags last (include immutable flag)
  * create: don't do stat() call on excluded-norecurse directory, fix exception handling for stat() call
  * create --stats: do not count data volume twice when checkpointing
  * recreate: move chunks_healthy when excluding hardlink master
  * recreate: get rid of chunks_healthy when rechunking (does not match)
  * check: get rid of already existing not matching chunks_healthy metadata
  * list: fix stdout broken pipe handling
  * list/diff: remove tag-file options (not used)
- New features:
  * bash, zsh and fish shell auto-completions, see scripts/shell_completions/
  * added BORG_CONFIG_DIR env var
- Other changes:
  * docs:
  * clarify using a blank passphrase in keyfile mode
  * mention "!" (exclude-norecurse) type in "patterns" help
  * document to first heal before running borg recreate to re-chunk stuff, because that will have to get rid of chunks_healthy metadata.
  * more than 23 is not supported for CHUNK_MAX_EXP
  * borg does not respect nodump flag by default any more
  * clarify same-filesystem requirement for borg upgrade
  * update / rephrase cygwin / WSL status
  * improve docs about --stats
  * vagrant: openindiana new clang package
- Already contained in 1.1.1 (last minute fix):
  * arg parsing: fix fallback function, refactor
- Generate new subpackages borgbackup-bash-completion,
  borgbackup-zsh-completion and borgbackup-fish-completion with
  autocompletion scripts for each shell.
* Mon Oct 23 2017
- Update to borgbackup 1.1.1
- Compatibility notes:
  * When upgrading from borg 1.0.x to 1.1.x, please note:
  * read all the compatibility notes for 1.1.0*, starting from 1.1.0b1.
  * borg might ask some security-related questions once after upgrading.
    You can answer them either manually or via environment variable.
    One known case is if you use unencrypted repositories, then it will ask
    about a unknown unencrypted repository one time.
  * your first backup with 1.1.x might be significantly slower (it might
    completely read, chunk, hash a lot files) - this is due to the
  - -files-cache mode change (and happens every time you change mode). You
    can avoid the one-time slowdown by using the pre-1.1.0rc4-compatible mode
    (but that is less safe for detecting changed files than the default).
    See the --files-cache docs for details.
  * The deprecated --no-files-cache is not a global/common option any more, but
    only available for borg create (it is not needed for anything else).
    Use --files-cache=disabled instead of --no-files-cache.
  * The nodump flag ("do not backup this file") is not honoured any more by
    default because this functionality (esp. if it happened by error or
    unexpected) was rather confusing and unexplainable at first to users.
    If you want that "do not backup NODUMP-flagged files" behaviour, use:
    borg create --exclude-nodump ...
- Fixes:
  * borg recreate: correctly compute part file sizes. fixes cosmetic, but
    annoying issue as borg check complains about size inconsistencies of part
    files in affected archives. you can solve that by running borg recreate
    on these archives.
  * bsdflags support: do not open BLK/CHR/LNK files, avoid crashes and slowness
  * recreate: don't crash on attic archives w/o time_end
  * don't crash on repository filesystems w/o hardlink support
  * don't crash in first part of truncate_and_unlink
  * fix server-side IndexError crash with clients < 1.0.7
  * don't show traceback if only a global option is given, show help
  * cache: use SaveFile for more safety
  * init: fix wrong encryption choices in command line parser, fix missing
  * move --no-files-cache from common to borg create options
  * fix detection of non-local path (failed on ..filename)
  * logging with fileConfig: set json attr on "borg" logger
  * fix crash with relative BORG_KEY_FILE
  * show excluded dir with "x" for tagged dirs / caches
- New features:
  * create: --nobsdflags and --exclude-nodump options
  * extract: --nobsdflags option
- Other changes:
  * remove annoying hardlinked symlinks warning
  * vagrant: use self-made FreeBSD 10.3 box
  * docs:
  * readme: -e option is required in borg 1.1
  * add example showing --show-version --show-rc
  * use --format rather than --list-format (deprecated) in example
  * update docs about hardlinked symlinks limitation
* Sun Oct 08 2017
- Update to borgbackup 1.1.0
- Changelog:
  * Major new features in the 1.1 release series are:
  * borg recreate: remove files from existing archives and re-chunk or
    re-compress them. This finally allows deduplication between legacy
    Attic / Borg 0.xx archives and Borg 1.x archives. This is an
    experimental feature.
  * borg diff: show differences between two archives.
  * borg mount: show all recorded versions of files with the "versions view".
  * borg list: more formatting options, including generation of hashes and
    per-file chunk statistics.
  * borg create: automatic compression mode (-C auto,zlib/lz4/...), faster
    handling of many files, experimental support for inclusion patterns
    (--patterns, --patterns-from), files cache mode control (mtime/ctime)
  * borg export-tar: streaming export of GNU tar compatible archives.
  * Archive comments
  * BLAKE2b256-based encryption modes, and "authenticated" modes that provide
    data integrity without encryption. These provide better performance than
    the existing SHA-256-based modes on most hardware, except where the x86
    SHA extensions are available (e.g. AMD Ryzen).
  * Repository indices and the Borg cache now use checksums to detect bitrot
    and other corruption.
  * A documented JSON API has been added to the most vital commands
    (borg list, borg info and borg create).
  * Structured JSON logging is available for all commands.
  * --prefix has been supplemented with --glob-archives (-a), --sort-by,
  - -last and --first options. These can be used for borg list, borg info,
    borg mount, borg check, borg delete and borg prune.
  * Quality of life improvements:
  * options that imply output (--show-rc, --show-version, --list, --stats,
  - -progress) don't need -v/--info to have that output displayed any more.
  * borg check is silent by default (finally!).
  * borg can now checkpoint within (big) files, not only between files.
  * borg delete can delete multiple archives by giving their names.
  * Automatic removal of stale locks, which should make "borg break-lock"
    essentially superfluous. This is enabled by default, see
  * Answers to prompts like "Accessing previously unknown repository" are
    now saved immediately.
  * Cache synchronization and "borg info" are now faster.
  * Reduced space usage of chunks.archive.d in the cache by 30-40 %.
    Existing caches are migrated during a cache sync.
  * The cache used for remote cache syncs and mounting remote repositories
    does not grow indefinitely any more, but adapts to the available space.
    Good riddance, TMP=/var/tmp!
  * BORG_PASSCOMMAND makes using key rings and hardware keys much easier.
  * Documentation improvements
  * Compatibility notes for upgrading from Borg 1.0 to Borg 1.1:
  * No explicit "borg upgrade" is required.
  * Borg 1.1 uses some new data structures which are backwards-compatible
    with Borg 1.0.4 and newer.
  * Borg 1.0 can't make use of Borg 1.1's "compact cache" and will
    silently ignore it.
  * The default compression has been changed from "none" to "lz4".
  * Repositories in the "repokey" and "repokey-blake2" modes with an empty
    passphrase are now treated as unencrypted repositories for security
  * borg init:
    + -e/--encryption is now a mandatory option with no default value.
    Previously the default value was "repokey".
    + the short form of --append-only (-a) has been removed.
    + running "borg init" via a "borg serve --append-only" server will not
    create an append-only repository any more.
    Use "borg init --append-only" to initialize an append-only repository.
  * borg create: the --exclude-if-present option now supports tagging a
    folder with any file system object type (file, folder, etc.), instead of
    accepting only files as tags.
  * borg upgrade: the short form of --inplace (-i) has been removed.
  * borg delete: the short form of --cache-only (-c) has been removed.
  * "borg migrate-to-repokey" has been renamed to
    "borg key migrate-to-repokey" with no deprecation notice, since it is
    rarely and only manually used.
- For more information, see
* Wed Aug 02 2017
- Update to version 1.0.11 (2017-07-21)
  Bug fixes:
  - use limited unpacker for outer key (security precaution), #2174
  - fix paperkey import bug
  Other changes:
  - change --checkpoint-interval default from 600s to 1800s, #2841.
    this improves efficiency for big repositories a lot.
  - docs: fix OpenSUSE command and add OpenSUSE section
  - tests: add tests for split_lstring and paperkey
  - vagrant:
  - fix openbsd shell
  - backport cpu/ram setup from master
  - add stretch64 VM
* Sun May 07 2017
- update to version 1.0.10 (2017-02-13)
  Bug fixes:
  - Manifest timestamps are now monotonically increasing, this fixes
    issues when the system clock jumps backwards or is set inconsistently
    across computers accessing the same repository, #2115
  - Fixed testing regression in 1.0.10rc1 that lead to a hard dependency
    on py.test >= 3.0, #2112
  New features:
  - ?key export? can now generate a printable HTML page with both a QR
    code and a human-readable ?paperkey? representation (and custom text)
    through the --qr-html option.
  - The same functionality is also available through paperkey.html, which
    is the same HTML page generated by --qr-html. It works with existing
    ?key export? files and key files.
  Other changes:
  - docs:
  - language clarification - ?borg create ?one-file-system? option
    does not respect mount points, but considers different file systems
    instead, #2141
  - build_api: sort file list for determinism
- update to version 1.0.10rc1 (2017-01-29)
  Bug fixes:
  - borg serve: fix transmission data loss of pipe writes, #1268 This
    affects only the cygwin platform (not Linux, BSD, OS X).
  - Avoid triggering an ObjectiveFS bug in xattr retrieval, #1992
  - When running out of buffer memory when reading xattrs, only skip the
    current file, #1993
  - Fixed ?borg upgrade ?tam? crashing with unencrypted repositories. Since
    the issue is not relevant for unencrypted repositories, it now does
    nothing and prints an error, #1981.
  - Fixed change-passphrase crashing with unencrypted repositories, #1978
  - Fixed ?borg check repo::archive? indicating success if ?archive? does
    not exist, #1997
  - borg check: print non-exit-code warning if ?last or ?prefix aren?t
  - fix bad parsing of wrong repo location syntax
  - create: don?t create hard link refs to failed files, mount: handle
    invalid hard link refs, #2092
  - detect mingw byte order, #2073
  - creating a new segment: use ?xb? mode, #2099
  - mount: umount on SIGINT/^C when in foreground, #2082
  Other changes:
  - binary: use fixed AND freshly compiled pyinstaller bootloader, #2002
  - xattr: ignore empty names returned by llistxattr(2) et al
  - Enable the fault handler: install handlers for the SIGSEGV, SIGFPE,
    SIGABRT, SIGBUS and SIGILL signals to dump the Python traceback.
  - Also print a traceback on SIGUSR2.
  - borg change-passphrase: print key location (simplify making a backup
    of it)
  - officially support Python 3.6 ( add Python 3.6 qualifier)
  - vagrant / travis / tox: add Python 3.6 based testing
  - vagrant: fix openbsd repo, #2042
  - vagrant: fix the freebsd64 machine, #2037 #2067
  - vagrant: use python 3.5.3 to build binaries, #2078
  - vagrant: use osxfuse 3.5.4 for tests / to build binaries vagrant:
    improve darwin64 VM settings
  - travis: fix osxfuse install (fixes OS X testing on Travis CI)
  - travis: require succeeding OS X tests, #2028
  - travis: use latest pythons for OS X based testing
  - use pytest-xdist to parallelize testing
  - fix xattr test race condition, #2047
  - setup.cfg: fix pytest deprecation warning, #2050
  - language clarification - VM backup FAQ
  - borg create: document how to backup stdin, #2013
  - borg upgrade: fix incorrect title levels
  - add CVE numbers for issues fixed in 1.0.9, #2106
  - fix typos (taken from Debian package patch)
  - remote: include data hexdump in ?unexpected RPC data? error message
  - remote: log SSH command line at debug level
  - API_VERSION: use numberspaces, #2023
  - remove .github from pypi package, #2051
  - add pip and setuptools to requirements file, #2030
  - SyncFile: fix use of fd object after close (cosmetic)
  - simplify, exclude *.{so,dll,orig}, #2066
  - ignore posix_fadvise errors in, #2095 (works around
    issues with docker on ARM)
  - make LoggedIO.close_segment reentrant, avoid reentrance
* Tue Jan 03 2017
- disable %check for leap versions, their pytest package is too old
* Tue Jan 03 2017
- update to version 1.0.9 (2016-12-20)
  - Security fixes:
  - A flaw in the cryptographic authentication scheme in Borg allowed
    an attacker to spoof the manifest. See :ref:`tam_vuln` above for
    the steps you should take.
    Fixes CVE-2016-10099
  - borg check: When rebuilding the manifest (which should only be
    needed very rarely) duplicate archive names would be handled on a
    "first come first serve" basis, allowing an attacker to apparently
    replace archives.
    Fixes CVE-2016-10100
  - Bug fixes:
  - borg check:
    rebuild manifest if it's corrupted
    skip corrupted chunks during manifest rebuild
  - fix TypeError in integrity error handler, #1903, #1894
  - fix location parser for archives with @ char (regression introduced
    in 1.0.8), #1930
  - fix wrong duration/timestamps if system clock jumped during a create
  - fix progress display not updating if system clock jumps backwards
  - fix checkpoint interval being incorrect if system clock jumps
- update to version 1.0.9rc1 (2016-11-27)
  - Bug fixes:
  - files cache: fix determination of newest mtime in backup set (which
    is used in cache cleanup and led to wrong "A" [added] status for
    unchanged files in next backup), #1860.
  - borg check:
  - fix incorrectly reporting attic 0.13 and earlier archives as corrupt
  - handle repo w/o objects gracefully and also bail out early if repo
    is completely empty, #1815.
  - fix tox/pybuild in 1.0-maint
  - at xattr module import time, loggers are not initialized yet
- update to version 1.0.8 (2016-10-29)
  - Bug fixes:
  - RemoteRepository: Fix busy wait in call_many, #940
- update to version 1.0.8rc1 (2016-10-17)
  - Bug fixes:
  - fix signal handling (SIGINT, SIGTERM, SIGHUP), #1620 #1593 Fixes e.g.
    leftover lock files for quickly repeated signals (e.g. Ctrl-C Ctrl-C)
    or lost connections or systemd sending SIGHUP.
  - progress display: adapt formatting to narrow screens, do not crash,
  - borg create --read-special - fix crash on broken symlink, #1584. also
    correctly processes broken symlinks. before this regressed to a crash
    (5b45385) a broken symlink would've been skipped.
  - process_symlink: fix missing backup_io() Fixes a chmod/chown/chgrp/
    unlink/rename/... crash race between getting dirents and dispatching
    to process_symlink.
  - yes(): abort on wrong answers, saying so, #1622
  - fixed exception borg serve raised when connection was closed before
    reposiory was openend. add an error message for this.
  - fix read-from-closed-FD issue, #1551 (this seems not to get triggered
    in 1.0.x, but was discovered in master)
  - hashindex: fix iterators (always raise StopIteration when exhausted)
    (this seems not to get triggered in 1.0.x, but was discovered in master)
  - enable relative pathes in ssh:// repo URLs, via /./relpath hack, #1655
  - allow repo pathes with colons, #1705
  - update changed repo location immediately after acceptance, #1524
  - fix debug get-obj / delete-obj crash if object not found and remote
    repo, #1684
  - pyinstaller: use a spec file to build borg.exe binary, exclude osxfuse
    dylib on Mac OS X (avoids mismatch lib <-> driver), #1619
* Sun Oct 30 2016
- Trim description
* Thu Oct 13 2016
- Remove smp parameters when building documentation so different
  sphinx instances are not run in parallel which sometimes fails
  due to a race condition
* Sat Aug 20 2016
- update to version 1.0.7 (2016-08-19):
  a critical security fix and some major bug fixes
  Please check:
- clean specfile
Version: 1.1.13-bp152.1.1
* Mon Jun 08 2020 Antonio Larrosa <>
- Update to 1.1.13:
  * rebuilt using a current Cython version, compatible with
    python 3.8, #5214
- Update to 1.1.12:
  * fix preload-related memory leak, #5202.
  * mount / borgfs (FUSE filesystem):
    + fix FUSE low linear read speed on large files, #5067
    + fix crash on old llfuse without birthtime attrs, #5064 -
    accidentally we required llfuse >= 1.3. Now also old llfuse works again.
    + set f_namemax in statfs result, #2684
  * update precedence of env vars to set config and cache paths, #4894
  * correctly calculate compression ratio, taking header size into
    account, too
  New features:
  * --bypass-lock option to bypass locking with read-only repositories
  Other changes:
  * upgrade bundled zstd to 1.4.5
  * travis: adding comments and explanations to Travis config/install
    script, improve macOS builds.
  * tests: test_delete_force: avoid sporadic test setup issues, #5196
  * misc. vagrant fixes
  * the binary for macOS is now built on macOS 10.12
  * the binaries for Linux are now built on Debian 8 "Jessie", #3761
  * docs:
    + PlaceholderError not printed as JSON, #4073
    + "How important is Borg config?", #4941
    + make Sphinx warnings break docs build, #4587
    + some markup / warning fixes
    + add "updating" to release checklist, #4999
    + add "rendering docs" to release checklist, #5000
    + clarify borg init's encryption modes
    + add note about patterns and stored paths, #4160
    + add upgrade of tools to pip installation how-to
    + document one cause of orphaned chunks in check command, #2295
    + linked recommended restrictions to ssh public keys on borg servers
    in faq, #4946
- Remove patch already included in 1.1.12:
  * 0001-rename-local-preload-function-to-not-overwrite-keyword-argument.patch
* Tue Jun 02 2020 Antonio Larrosa <>
- Add patch to fix a memory issue that in some cases might make
  borg use more than 32 GB of memory for an operation that shouldn't
  consume any memory at all, thus forcing the kernel to kill the process:
  * 0001-rename-local-preload-function-to-not-overwrite-keyword-argument.patch
* Thu May 07 2020 Hans-Peter Jansen <>
- Add libb2 dependency, where appropriate (avoids bundling libb2)
- Remove outdated build fixes from spec
- Provide proper compile flags
- Install all available man files
- Disable 2 progress related tests, that fail for TW
* Sat Mar 14 2020 Hans-Peter Jansen <>
- Add fdupes build dependency
- break overlong lines in changelog
* Thu Mar 12 2020 Paolo Stivanin <>
- Update to 1.1.11
  * fixed potential index corruption / data loss issue due to bug in
    hashindex_set, #4829 Please read and follow the more detailled notes
    close to the top of this document.
  * upgrade bundled xxhash to 0.7.3, #4891 0.7.2 is the minimum requirement
    for correct operations on ARMv6 in non-fixup mode, where unaligned memory
    accesses cause bus errors. 0.7.3 adds some speedups and libxxhash 0.7.3
    even has a pkg-config file now.
  * upgrade bundled lz4 to 1.9.2
  * upgrade bundled zstd to 1.4.4
  * fix crash when upgrading erroneous hints file, #4922
  * extract:
  - fix KeyError for "partial" extraction, #4607
  - fix "partial" extract for hardlinked contentless file types, #4725
  - fix preloading for old (0.xx) remote servers, #4652
  - fix confusing output of borg extract --list --strip-components, #4934
  * delete: after double-force delete, warn about necessary repair, #4704
  * create: give invalid repo error msg if repo config not found, #4411
  * mount: fix FUSE mount missing st_birthtime, #4763 #4767
  * check: do not stumble over invalid item key, #4845
  * info: if the archive doesn't exist, print a pretty message, #4793
  * SecurityManager.known(): check all files, #4614
  * use stat() to check for repo dir, #4695
  * Repository.check_can_create_repository: use stat() to check, #4695
  * fix invalid archive error message
  * fix optional/non-optional location arg, #4541
  * commit-time free space calc: ignore bad compact map entries, #4796
  * ignore EACCES (errno 13) when hardlinking the old config, #4730
  * --prefix / -P: fix processing, avoid argparse issue, #4769
  New features:
  * enable placeholder usage in all extra archive arguments
  * new BORG_WORKAROUNDS mechanism, basesyncfile, #4710
  * recreate: support --timestamp option, #4745
  * support platforms without (e.g. Android with Termux), #4901 if
    we don't have, we just extract another copy instead of making a
  * support linux platforms without sync_file_range (e.g. Android 7 with
    Termux), #4905
  * ignore --stats when given with --dry-run, but continue, #4373
  * add some ProgressIndicator msgids to code / fix docs, #4935
  * elaborate on "Calculating size" message
  * argparser: always use REPOSITORY in metavar, also use more consistent
    help phrasing.
  * check: improve error output for matching index size, see #4829
* Wed Mar 11 2020 Paolo Stivanin <>
- fix building with python3
* Thu May 23 2019 Hans-Peter Jansen <>
- Update to version 1.1.10 (2019-05-16)
  + Compatibility notes:
  * When upgrading from borg 1.0.x to 1.1.x, please note:
  * read all the compatibility notes for 1.1.0*, starting from
  * borg upgrade: you do not need to and you also should not run
  * borg might ask some security-related questions once after
    upgrading. You can answer them either manually or via
    environment variable. One known case is if you use
    unencrypted repositories, then it will ask about a unknown
    unencrypted repository one time.
  * your first backup with 1.1.x might be significantly slower
    (it might completely read, chunk, hash a lot files) - this is
    due to the --files-cache mode change (and happens every time
    you change mode). You can avoid the one-time slowdown by
    using the pre-1.1.0rc4-compatible mode (but that is less safe
    for detecting changed files than the default). See the
  - -files-cache docs for details.
  + Fixes:
  * extract: hang on partial extraction with ssh: repo, when
    hardlink master is not matched/extracted and borg hangs on
    related slave hardlink, #4350
  * lrucache: regularly remove old FDs, #4427
  * avoid stale filehandle issues, #3265
  * freebsd: make xattr platform code api compatible with linux,
  * use whitelist approach for borg serve, #4097
  * borg command shall terminate with rc 2 for ImportErrors,
  * create: only run stat_simple_attrs() once, this increases
    backup with lots of unchanged files performance by ~ 5%.
  * prune: fix incorrect borg prune --stats output with --dry-
    run, #4373
  * key export: emit user-friendly error if repo key is exported
    to a directory, #4348
  + New features:
  * bundle latest supported msgpack-python release (0.5.6),
    remove msgpack-python from install_requires - by
    default we use the bundled code now. optionally, we still
    support using an external msgpack (see hints in,
    but this requires solid requirements management within
    distributions and is not recommended. borgbackup will break
    if you upgrade msgpack to an unsupported version.
  * display msgpack version as part of sysinfo (e.g. in
  * timestamp for borg delete --info added, #4359
  * enable placeholder usage in --comment and --glob-archives,
    [#4559], #4495
  + Other:
  * serve: do not check python/libc for borg serve, #4483
  * shell completions: borg diff second archive
  * release scripts: signing binaries with Qubes OS support
  * testing:
  * vagrant: upgrade openbsd box to 6.4
  * travis-ci: lock test env to py 3.4 compatible versions, #4343
  * get rid of confusing coverage warning, #2069
  * rename test_mount_hardlinks to test_fuse_mount_hardlinks, so
    both can be excluded by "not test_fuse".
  * pure-py msgpack warning shall not make a lot of tests fail,
  * docs:
  * add "SSH Configuration" section to "borg serve", #3988, #636,
  * README: new URL for funding options
  * add a sample logging.conf in docs/misc, #4380
  * elaborate on append-only mode docs, #3504
  * installation: added Alpine Linux to distribution list, #4415
  * usage.html: only modify window.location when redirecting,
  * add msgpack license to docs/3rd_party/msgpack
  * vagrant / binary builds:
  * use python 3.5.7 for builds
  * use osxfuse 3.8.3
- remove msgpack patch fix-msgpack-requirement.patch and borg_msgpack
  build conditional, since msgpack is bundled now (yeah!)
Version: 1.1.15-bp153.1.19
* Tue Feb 09 2021 Antonio Larrosa <>
- Update to 1.1.15:
  * drops python 3.4 support, minimum requirement is 3.5 now.
  * extract:
    + improve exception handling when setting xattrs, #5092.
    + emit a warning message giving the path, xattr key and error
    + continue trying to restore other xattrs and bsdflags of the
    same file after an exception with xattr-setting happened.
  * export-tar:
    + set tar format to GNU_FORMAT explicitly, #5274
    + fix memory leak with ssh: remote repository, #5568
    + fix potential memory leak with ssh: remote repository with
    partial extraction
  * create: fix --dry-run and --stats coexistence, #5415
  * use --timestamp for {utcnow} and {now} if given, #5189
  New features:
  * create: implement --stdin-mode, --stdin-user and --stdin-group,
  * allow appending the files cache filename with
  Other changes:
  * drop python 3.4 support, minimum requirement is 3.5 now.
  * enable using libxxhash instead of bundled xxh64 code
  * update llfuse requirements (1.3.8)
  * set cython language_level in some files to fix warnings
  * allow EIO with warning when trying to hardlink
  * PropDict: fail early if internal_dict is not a dict
  * update shell completions
  * tests / CI
    + add a test for the hashindex corruption bug, #5531 #4829
    + fix spurious failure in test_cache_files, #5438
    + added a github ci workflow
    + reduce testing on travis, no macOS, no py3x-dev, #5467
    + travis: use newer dists, native py on dist
  * vagrant:
    + remove jessie and trusty boxes, #5348 #5383
    + pyinstaller 4.0, build on py379
    + binary build on stretch64, #5348
    + remove easy_install based pip installation
  * docs:
    + clarify '--one-file-system' for btrfs, #5391
    + add example for excluding content using the --pattern cmd
    line arg
    + complement the documentation for pattern files and exclude
    files, #5524
    + made ansible playbook more generic, use package instead of
    pacman. also change state from "latest" to "present".
    + complete documentation on append-only remote repos, #5497
    + internals: rather talk about target size than statistics,
    + new compression algorithm policy, #1633 #5505
    + faq: add a hint on sleeping computer, #5301
    + note requirements for full disk access on macOS Catalina,
    + fix/improve description of borg upgrade hardlink usage,
  * modernize 1.1 code:
    + drop code/workarounds only needed to support Python 3.4
    + remove workaround for pre-release py37 argparse bug
    + removed some outdated comments/docstrings
    + requirements: remove some restrictions, lock on current
* Wed Dec 16 2020 Paolo Stivanin <>
- Update to 1.1.14:
  Compatibility notes:
  * changes return codes due to a bug fix: In case you have scripts \
    expecting rc == 2 for a signal exit, you need to update them
    to check for >= 128 (as documented since long).
  * check --repair: fix potential data loss when interrupting it, #5325
  * exit with 128 + signal number (as documented) when borg is killed by a signal, #5161
  * fix hardlinked CACHEDIR.TAG processing, #4911
  * create --read-special: .part files also should be regular files, #5217
  Other changes:
  * upgrade bundled xxhash to 0.7.4
  * prettier error message when archive gets too big
  * check/recreate are not "experimental" any more
    (but still potentially dangerous)
  * use "allow/deny list" instead of "white/black list" wording
  * update docs
Version: 1.1.17-bp154.1.20
* Tue Jul 13 2021 Hans-Peter Jansen <>
- Update to 1.1.17 (2021-07-12):
  Compatibility notes:
  * When upgrading from borg 1.0.x to 1.1.x, please note:
  * read all the compatibility notes for 1.1.0*, starting from
  * borg upgrade: you do not need to and you also should not run
  * borg might ask some security-related questions once after
    upgrading. You can answer them either manually or via
    environment variable. One known case is if you use unencrypted
    repositories, then it will ask about a unknown unencrypted
    repository one time.
  * your first backup with 1.1.x might be significantly slower (it
    might completely read, chunk, hash a lot files) - this is due
    to the ?files-cache mode change (and happens every time you
    change mode). You can avoid the one-time slowdown by using the
    pre-1.1.0rc4-compatible mode (but that is less safe for
    detecting changed files than the default). See the ?files-
    cache docs for details.
  * 1.1.11 removes WSL autodetection (Windows 10 Subsystem for
    Linux). If WSL still has a problem with sync_file_range, you
    need to set BORG_WORKAROUNDS=basesyncfile in the borg process
    environment to work around the WSL issue.
  * 1.1.14 changes return codes due to a bug fix: In case you have
    scripts expecting rc == 2 for a signal exit, you need to
    update them to check for >= 128 (as documented since long).
  * 1.1.15 drops python 3.4 support, minimum requirement is 3.5
  * 1.1.17 install_requires the ?packaging? pypi package now.
  * pyinstaller dir-mode: fix pyi detection / LIBPATH treatment,
  * handle crash due to kill stale lock race, #5828
  * fix BORG_CACHE_DIR crashing borg if empty, #5216
  * create ?dry-run: fix display of kept tagfile, #5834
  * fix missing parameter in ?did not consistently fail? msg,
  * missing / healed chunks: always tell chunk ID, #5704
  * benchmark: make sure cleanup happens even on exceptions, #5630
  New features:
  * implement BORG_SELFTEST env variable, #5871. this can be used
    to accelerate borg startup a bit. not recommended for normal
    usage, but borg mass hosters with a lot of borg invocations
    can save some resources with this. on my laptop, this saved
    ~100ms cpu time (sys+user) per borg command invocation.
  * implement BORG_LIBC env variable to give the libc filename,
    [#5870]. you can use this if a borg does not find your libc.
  * check: add progress indicator for archive check.
  * allow ?files-cache=size (not recommended, make sure you know
    what you do)
  Other changes:
  * Python 3.10 now officially supported! we test on py310-dev on
    github CI since a while and now also on the vagrant machines,
    so it should work ok.
  * github CI: test on py310 (again)
  * get rid of distutils, use packaging and setuptools. distutils
    is deprecated and gives warnings on py 3.10.
  * rename ?clean? to ?clean2? to avoid shadowing the
    ?clean? command.
  * remove libc filename fallback for the BSDs (there is no
    ?usual? name)
  * cleanup flake8 checks, fix some pep8 violations.
  * docs building: replace deprecated function ?.add_stylesheet()?
    for Sphinx 4 compatibility
  * docs:
  * add a hint on sleeping computer and ssh connections, #5301
  * update the documentation on hacked backup client, #5480
  * improve docs/FAQ about append-only remote repos, #5497
  * complement the documentation for pattern files and exclude
    files, #5520
  * ?filename with spaces? example added to exclude file, #5236
    note: no whitespace escaping needed, processed by borg.
  * add info on renaming repositories, #5240
  * clarify borg check ?verify-data, #5808
  * add notice about defective hardware to check documentation,
  * add paragraph added in #5855 to utility documentation source
  * add missing leading slashes in help patterns, #5857
  * clarify ?you will need key and passphrase? borg init warning,
  * pull mode: add some warnings, #5827
  * mention tar ?compare (compare archive to fs files), #5880
  * fix typos, backport of #5597
  * vagrant:
  * add py3.7.11 for binary build, also add 3.10-dev.
  * use latest Cython 0.29.23 for py310 compat fixes.
  * more RAM for openindiana upgrade plan resolver, it just hangs
    (swaps?) if there is too little RAM.
  * fix install_pyenv to adapt to recent changes in pyenv (same as
    in master now).
  * use generic/netbsd9 box, copied from master branch.
- Reformatted Paolos last changelog
- Revert logic of borgbackup-1.1.16-fix-sphinx-api.patch:
- Allow to use old version of xxhash library (might crash on ARM),
  but an update is in enqueued
* Fri Jul 02 2021 Hans-Peter Jansen <>
- Fix documentation generation with
  borgbackup-1.1.16-fix-sphinx-api.patch for Leap >= 15.3
* Sun May 16 2021 ecsos <>
- Remove the version from recommends pyfuse3,
  because it doesn't work in suse.
* Sun May 16 2021 ecsos <>
- Use recommends pyfuse3 instead of llfuse for Tumbleweed.
  Upstream says use primary pyfuse3 and secondary llfuse.
* Sun Mar 28 2021 Paolo Stivanin <>
- Update to 1.1.16:
  * add special openssl prefix for Apple M1
  * do not recurse into duplicate roots, #5603
  * remove empty shadowed_segments lists, #5275, #5614
  * fix libpython load error when borg fat binary / dir-based
    binary is invoked via a symlink by upgrading pyinstaller to
    v4.2, #5688
  * config: accept non-int value (like 500M or 100G) for
    max_segment_size or storage_quota, #5639. please note: when
    setting a non-int value for this in a repo config, using the
    repo will require borg >= 1.1.16.
  New features:
  * bundled msgpack: drop support for old buffer protocol to
    support Python 3.10
  * verbose files cache logging via --debug-topic=files_cache,
    [#5659]. Use this if you suspect that borg does not detect
    unmodified files as expected.
  * create/extract: add --noxattrs and --noacls option, #3955.
    when given with borg create, borg will not get xattrs / ACLs
    from input files (and thus, it will not archive xattrs / ACLs).
    when given with borg extract, borg will not read xattrs / ACLs
    from archive and will not set xattrs / ACLs on extracted files.
  * diff: add --json-lines option, #3765
  Other changes:
  * Tab completion support for additional archives for 'borg
  * repository: deduplicate code of put and delete, no functional
  Docs updates