- update to version 1.4.0
- adjust copyright header
- add two new variable definitions needed by borgbackup >= 1.4.0:
"BORG_LIBXXHASH_PREFIX=" and "BORG_LIBACL_PREFIX="
- change requirements for
libacl-devel to >= 2.2.47
python3-Cython to >=3.0.10
python3-base to >= 3.9
python3-msgpack to >= 1.0.3 and <= 1.1.0
python3-llfuse to >= 1.3.8
- remove obsolete conflict for python3-msgpack = 1.0.1
- add %{borg_libacl_prefix} and %{borg_libxxhash_prefix} to the
%build and the %install section
- Upgrade Notes borg 1.2.x to 1.4.x:
* If you currently use borg 1.2.5+: no upgrade steps needed (if
you already did them when upgrading to that version,
otherwise see below).
* If you currently use borg 1.2.0 .. 1.2.4, read and follow
“Pre-1.2.5 archives spoofing vulnerability (CVE-2023-36811)”
section in the changelog, see link below.
- Compatibility notes:
* By default, borg 1.4 will behave quite similar to borg 1.2
(it was forked off from 1.2-maint branch at 1.2.7).
* the slashdot hack: be careful not to accidentally give paths
containing /./ to “borg create” if you do not want to trigger
this feature (which strips the left part of the path from
archived items).
* BORG_EXIT_CODES=modern is a feature that borg script, wrapper
and GUI authors may want to use to get more specific error
and warning return codes from borg. In that case, of course
they will need to make sure to correctly deal with these new
codes, see the internals/frontends docs.
- Update to version 1.4:
* BORG_EXIT_CODES=modern: optional more specific return codes
(for errors and warnings)
* borg create: add the "slashdot hack" to strip recursion root
prefixes
* borg version REPO: show version of borg client and server
- Other bigger changes:
* ACL code: refactor, improve acl_get / acl_set error handling
* removed bundled 3rd party code (lz4/zstd/xxhash)
* modernised python packaging (use pyproject.toml, use less
setup.py)
* use pyinstaller 6.7.0 and python 3.11 for the binary builds
* new naming convention for fat binaries (include glibc version
for linux)
Full changelog:
https://borgbackup.readthedocs.io/en/1.4-maint/changes.html
OBS-URL: https://build.opensuse.org/request/show/1187048
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=113
- Update to version 1.2.8
+ Fixes:
* check: fix return code and log level for index entry value
discrepancies
* with-lock: catch FileNotFoundError exception, print error
msg, #8022
* benchmark: inherit options --rsh --remote-path, #8099
* fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries,
#8155
+ New features:
* upgrade --check-tam: check manifest TAM auth, exit with rc=1
if there are issues.
* upgrade --check-archives-tam: check archives TAM auth, exit
with rc=1 if there are issues.
+ Other changes:
* allow msgpack 1.0.8 (this might fix memory leaks with Python
3.12), #8133
* use the latest Cython 0.29.x
* vagrant:
* use / build binaries with python 3.9.19
* use generic/openbsd7 box
* docs:
* simplify TAM-related upgrade docs using the new commands
* improve docs for borg with-lock, #8022
* add more infos borg check --repair recreating the shadow
index to change log, see #6687
Full Changelog:
https://github.com/borgbackup/borg/blob/1.2.8/docs/changes.rst#version-128-2024-03-29
OBS-URL: https://build.opensuse.org/request/show/1184098
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=111
- Update to version 1.2.7
- Update Requires/BuildRequires to
(python3-msgpack >= 0.5.6 with python3-msgpack <= 1.0.7)
+ Fixes:
- docs: CVE-2023-36811 upgrade steps: consider checkpoint
archives, #7802
- check/compact: fix spurious reappearance of orphan chunks
since borg 1.2, #6687 - this consists of 2 fixes:
- for existing chunks: check --repair: recreate shadow index,
#6687
- for newly created chunks: update shadow index when doing a
double-put, #5661
- LockRoster.modify: no KeyError if element was already gone,
#7937
- create --X-from-command: run subcommands with a clean
environment, #7916
- list --sort-by: support "archive" as alias of "name", #7873
- fix rc and msg if arg parsing throws an exception, #7885
+ Other changes:
- support and test on Python 3.12
- include unistd.h in _chunker.c (fix for Python 3.13)
- allow msgpack 1.0.6 and 1.0.7
- TAM issues: show tracebacks, improve borg check logging,
#7797
- replace "datetime.utcfromtimestamp" with custom helper to
avoid deprecation warnings when using Python 3.12
+ vagrant:
- use generic/debian9 box, fixes#7579
- add VM with debian bookworm / test on OpenSSL 3.0.x.
+ docs:
- not only attack/unsafe, can also be a fs issue, #7853
- point to CVE-2023-36811 upgrade steps from borg 1.1 to 1.2
upgrade steps, #7899
- upgrade steps needed for all kinds of repos (including
"none" encryption mode), #7813
- upgrade steps: talk about consequences of borg check, #7816
- upgrade steps: remove period that could be interpreted as
part of the command
- automated-local.rst: use GPT UUID for consistent udev rule
- create disk/partition sector backup by disk serial number,
#7934
- update macOS hint about full disk access
- clarify borg prune -a option description, #7871
- readthedocs: also build offline docs (HTMLzip), #7835
- frontends: add "check.rebuild_refcounts" message
Full Changelog:
https://github.com/borgbackup/borg/blob/1.2.7/docs/changes.rst#version-127-2023-12-02
OBS-URL: https://build.opensuse.org/request/show/1138479
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=107
- Update to version 1.2.6:
+ The upgrade procedure docs as published with borg 1.2.5 did not
work, if the repository had archives resulting from a borg
rename or borg recreate operation.
+ The updated docs now use
BORG_WORKAROUNDS=ignore_invalid_archive_tam at some places to
avoid that issue.
- Changes from version 1.2.5:
+ Fixes:
- Security: fix pre-1.2.5 archives spoofing vulnerability
(CVE-2023-36811, boo#1214809).
- rename/recreate: correctly update resulting archive’s TAM.
- create: do not try to read parent dir of recursion root.
- extract: fix false warning about pattern never matching.
- diff: remove surrogates before output,
- compact: clear empty directories at end of compact process.
- create --files-cache=size: fix crash,
- keyfiles: improve key sanity check.
- only warn about “invalid” chunker params.
- ProgressIndicatorPercent: fix space computation for wide
chars.
- improve argparse validator error messages.
+ New features:
- mount: make up volname if not given (macOS), #7690. macFUSE
supports a volname mount option to give what finder displays
on the desktop / in the directory view. if the user did not
specify it, we make something up, because otherwise it would
be “macFUSE Volume 0 (Python)” and hide the mountpoint
directory name.
- BORG_WORKAROUNDS=authenticated_no_key to extract from
OBS-URL: https://build.opensuse.org/request/show/1116970
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=105
- change requirement: python3-Cython >= 0.29.33
- update to 1.2.4
New features:
* import-tar: add --ignore-zeros to process concatenated tars,
#7432.
* debug id-hash: computes file/chunk content id-hash, #7406
* diff: --content-only does not show mode/ctime/mtime changes,
#7248
* diff: JSON strings in diff output are now sorted
alphabetically
Bug fixes:
* xattrs: fix namespace processing on FreeBSD, #6997
* diff: fix path related bug seen when addressing deferred
items.
* debug get-obj/put-obj: always give chunkid as cli param, see
#7290 (this is an incompatible change, see also borg debug
id-hash)
* extract: fix mtime when ResourceFork xattr is set (macOS
specific), #7234
* recreate: without --chunker-params, do not re-chunk, #7337
* recreate: when --target is given, do not detect "nothing to
do". use case: borg recreate -a src --target dst can be used
to make a copy of an archive inside the same repository,
#7254.
* set .hardlink_master for ALL hardlinkable items, #7175
* locking: fix host, pid, tid order. tid (thread id) must be
parsed as hex from lock file name.
* update development.lock.txt, including a setuptools security
fix, #7227
Other changes:
* requirements: allow msgpack 1.0.5 also
* upgrade Cython to 0.29.33
* hashindex minor fixes, refactor, tweaks, tests
* use os.replace not os.rename
* remove BORG_LIBB2_PREFIX (not used any more)
* docs:
* BORG_KEY_FILE: clarify docs, #7444
* update FAQ about locale/unicode issues, #6999
* improve mount options rendering, #7359
* make timestamps in manual pages reproducible
* installation: update Fedora in distribution list, #7357
* tests:
* fix test_size_on_disk_accurate for large st_blksize, #7250
* add same_ts_ns function and use it for relaxed timestamp
comparisons
* "auto" compressor tests: don't assume a specific size, do not
assume zlib is better than lz4, #7363
* add test for extracted directory mtime
* vagrant:
* upgrade local freebsd 12.1 box -> generic/freebsd13 box
(13.1)
* use pythons > 3.8 which work on freebsd 13.1
* pyenv: also install python 3.11.1 for testing
* pyenv: use python 3.10.1, 3.10.0 build is broken on freebsd
Full changelog:
https://github.com/borgbackup/borg/blob/1.2.4/docs/changes.rst#version-124-2023-03-23
OBS-URL: https://build.opensuse.org/request/show/1074335
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=103
- Update to 1.2.2
- Update requirements: openssl-devel >= 1.1.0
New features:
* prune/delete --checkpoint-interval=1800 and ctrl-c/SIGINT
support, #6284
Fixes:
* SaveFile: use a custom mkstemp with mode support, #6933,
#6400, #6786. This fixes umask/mode/ACL issues (and also
"chmod not supported" exceptions seen in 1.2.1) of files
* updated using SaveFile, e.g. the repo config.
* hashindex_compact: fix eval order (check idx before use),
#5899
* create --paths-from-(stdin|command): normalize paths, #6778
* secure_erase: avoid collateral damage, #6768. If a hardlink
copy of a repo was made and a new repo config shall be
saved, do NOT fill in random garbage before deleting the
previous repo config, because that would damage the hardlink
copy.
* list: fix {flags:<WIDTH>} formatting, #6081
* check: try harder to create the key, #5719
* misc commands: ctrl-c must not kill other subprocesses, #6912
borg create with a remote repo via ssh
borg create --content-from-command
borg create --paths-from-command
* (de)compression filter process of import-tar / export-tar
Other changes:
* deprecate --prefix, use -a / --glob-archives, see #6806
* make setuptools happy ("package would be ignored"), #6874
* fix pyproject.toml to create a fixed _version.py file,
compatible with both old and new setuptools_scm version,
#6875
* automate asciinema screencasts
* CI: test on macOS 12 without fuse / fuse tests (too
troublesome on github CI due to kernel extensions needed by
macFUSE)
* tests: fix test_obfuscate byte accounting
* repository: add debug logging for issue #6687
* _chunker.c: fix warnings on macOS
* requirements.lock.txt: use the latest cython 0.29.32
docs:
* add info on man page installation, #6894
* update archive_progress json description about
"finished", #6570
* json progress_percent: some values are optional, #4074
* FAQ: full quota / full disk, #5960
* correct shell syntax for installation using git
- Full Changelog: /usr/share/doc/packages/borgbackup/CHANGES.rst
OBS-URL: https://build.opensuse.org/request/show/1004341
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=99
Hello Maintainers,
this is borgbackup 1.2.1. It has beeen tested for nearly three weeks and is working as intended.
- Update to 1.2.1
Compatibility notes:
* matching of path patterns has been aligned with borg storing
relative paths. Borg archives file paths without leading
slashes. Previously, include/exclude patterns could contain
leading slashes. You should check your patterns and remove
leading slashes.
Fixes:
* create: skip with warning if opening the parent dir of
recursion root fails, #6374
* create: fix crash. metadata stream can produce all-zero
chunks, #6587
* fix crash when computing stats, escape % chars in archive
name, #6500
* fix transaction rollback: use files cache filename as found
in txn.active/, #6353
* import-tar: kill filter process in case of borg exceptions,
#6401#6681
* import-tar: fix mtime type bug
* ensure_dir: respect umask for created directory modes, #6400
* SaveFile: respect umask for final file mode, #6400
* check archive: improve error handling for corrupt archive
metadata block, make robust_iterator more robust, #4777
* pre12-meta cache: do not use the cache if want_unique is
True, #6612
* fix scp-style repo url parsing for ip v6 address, #6526
* mount -o versions: give clear error msg instead of crashing.
it does not make sense to request versions view if you only
look at 1 archive, but the code shall not crash in that case
as it did, but give a clear error msg.
* show_progress: add finished=true/false to archive_progress
json, #6570
* delete/prune: fix --iec mode output (decimal vs.
binary units), #6606
* info: fix authenticated mode repo to show
"Encrypted: No", #6462
* diff: support presence change for blkdev, chrdev and fifo
items, #6615
New features:
* delete: add repository id and location to prompt, #6453
* borg debug dump-repo-objs --ghost: new --segment=S
--offset=O options
Other changes:
* support python 3.11
* allow msgpack 1.0.4, #6716
* load_key: no key is same as empty key, #6441
* give a more helpful error msg for unsupported key formats,
#6561
* better error msg for defect or unsupported repo configs, #6566
* docs:
* document borg 1.2 pattern matching behavior change, #6407
* Make clear that absolute paths always go into the matcher as
if they are relative (without leading slash). Adapt all
examples accordingly.
* authentication primitives: improved security and performance
infos
* mention BORG_FILES_CACHE_SUFFIX as alternative to
BORG_FILES_CACHE_TTL, #5602
* FAQ: add a hint about --debug-topic=files_cache
* improve borg check --max-duration description
* fix values of TAG bytes, #6515
* borg compact --cleanup-commits also runs a normal compaction,
#6324
* virtualization speed tips
* recommend umask for passphrase file perms
* borg 1.2 is security supported
* update link to ubuntu packages, #6485
* use --numeric-ids in pull mode docs
* remove blake2 docs, blake2 code not bundled any more, #6371
* clarify on-disk order and size of segment file log
entry fields, #6357
* docs building: do not transform --/--- to unicode dashes
* tests:
* check that borg does not require pytest for normal usage,
fixes#6563
* fix OpenBSD symlink mode test failure, #2055
* vagrant:
* darwin64: remove fakeroot, #6314
* update development.lock.txt
* use pyinstaller 4.10 and python 3.9.13 for binary build
* upgrade VMCPUS and xdistn from 4 to 16, maybe this speeds
up the tests
* crypto:
* use hmac.compare_digest instead of ==, #6470
* hmac_sha256: replace own cython wrapper code by hmac.digest
python stdlib (since py38)
* hmac and blake2b minor optimizations and cleanups
* removed some unused crypto related code, #6472
* avoid losing the key (potential use-after-free). this never
could happen in 1.2 due to the way we use the code. The issue
was discovered in master after other changes, so we also
"fixed" it here before it bites us.
* setup / build:
* add pyproject.toml, fix sys.path, #6466
* setuptools_scm: also require it via pyproject.toml
* allow extra compiler flags for every extension build
* fix misc. C / Cython compiler warnings, deprecation warnings
* fix zstd.h include for bundled zstd, #6369
* source using python 3.8 features:
pyupgrade --py38-plus ./**/*.py
- Full changelog at /usr/share/doc/packages/borgbackup/CHANGES.rst
OBS-URL: https://build.opensuse.org/request/show/984910
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=91
- 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
1.1.0b1.
* borg upgrade: you do not need to and you also should not run
it.
* 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
now.
* 1.1.17 install_requires the “packaging” pypi package now.
Fixes:
OBS-URL: https://build.opensuse.org/request/show/906158
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=83
- Update to 1.1.16:
Fixes:
* setup.py: add special openssl prefix for Apple M1 compatibility
* 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 delete'
* repository: deduplicate code of put and delete, no functional change
Docs updates
OBS-URL: https://build.opensuse.org/request/show/881716
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=74
- Update to 1.1.15:
* drops python 3.4 support, minimum requirement is 3.5 now.
Fixes:
* extract:
+ improve exception handling when setting xattrs, #5092.
+ emit a warning message giving the path, xattr key and error
message.
+ 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,
#5333
* allow appending the files cache filename with
BORG_FILES_CACHE_SUFFIX env var
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
OBS-URL: https://build.opensuse.org/request/show/870638
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=72
- 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).
Fixes:
* 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
OBS-URL: https://build.opensuse.org/request/show/856496
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=70
- Update to 1.1.13:
* rebuilt using a current Cython version, compatible with
python 3.8, #5214
- Update to 1.1.12:
Fixes:
* 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 borgbackup.org/releases" to release checklist, #4999
OBS-URL: https://build.opensuse.org/request/show/812513
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgbackup?expand=0&rev=68