Commit graph

1941 commits

Author SHA1 Message Date
Thomas Waldmann
2e9ebe4d95
docs: add missing link definition for mfusepy 2025-12-23 16:13:45 +01:00
Thomas Waldmann
43c7878a56
docs: update installation requirements and BORG_FUSE_IMPL about mfusepy 2025-12-20 19:31:51 +01:00
Thomas Waldmann
28de075535
update CHANGES 2025-12-16 13:51:27 +01:00
Thomas Waldmann
ac73be4b09
CI: use macOS 15 for binary builds
Github EOLed all other macOS Intel action runners.

As Apple Silicon users tend to have more
recent OSes, we bump that to macOS 15 also.
2025-12-15 17:40:51 +01:00
Thomas Waldmann
4db56e3f71
update binary readme 2025-12-15 17:37:14 +01:00
Thomas Waldmann
3642c7903b
docs: some fixes/update to the FAQ 2025-11-21 17:16:35 +01:00
Thomas Waldmann
4eb19d9e14
update CHANGES 2025-11-19 17:42:11 +01:00
TW
1b9779b4f3
Merge pull request #9162 from ThomasWaldmann/docs/archive-series-note-8955
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
docs: highlight archive series naming for fast incrementals (fixes #8955)
2025-11-18 02:11:46 +01:00
Thomas Waldmann
7548f523e6
update CHANGES 2025-11-17 20:28:50 +01:00
Thomas Waldmann
15f59233b5
completion: borg can now generate completion scripts for supported shells, fixes #9172
Added `shtab` dependency for shell completion functionality:
- bash completion (works).
- zsh completion (known-broken due to iterative/shtab#183).
2025-11-17 18:47:00 +01:00
Thomas Waldmann
71ca0ac6a7
docs: add prominent note to borg create about archive series and files cache; recommend stable NAME per series for performance (#8955) 2025-11-10 02:37:55 +01:00
Thomas Waldmann
5c44dad125
diff --sort-by: enhanced sorting, fixes #8998
use borg diff --sort-by=spec1,spec2,spec2 for enhanced sorting.

remove legacy --sort behaviour (sort by path), this was deprecated
since 1.4.2.

Co-authored-by: Daniel Rudolf <github.com@daniel-rudolf.de>

This is a port of #9005 to master branch.
2025-11-03 19:25:02 +01:00
Thomas Waldmann
352cf7bdcc
update CHANGES 2025-11-03 17:33:19 +01:00
Thomas Waldmann
eba3f8cfb0
docs: update attestation instructions in binary readme 2025-11-02 18:48:08 +01:00
Thomas Waldmann
a5c8aed7cf
CI: add GitHub artifact attestations for release binaries (fixes #9134)
- grant id-token and attestations permissions to posix_tests job
- add actions/attest-build-provenance@v1 step for built artifacts

This publishes SLSA-style provenance for our tag builds (only when binaries
are produced) so users can verify the origin of downloaded borg binaries.
2025-11-02 17:17:23 +01:00
Thomas Waldmann
3fe9102b29
update binary readme 2025-11-01 20:02:22 +01:00
Thomas Waldmann
943e68b20e
docs: release binaries are built on GitHub now
bad:
- no *BSD testing and FreeBSD binary building on gh
- binaries not signed by me, because they are built on gh

good:
- for linux intel/amd64 and arm64, built on ubuntu
- for macOS intel and arm64, built on a relatively recent macOS
- I can get rid of that ancient macOS VM I used for building.
- the source code distribution (sdist) is still made locally on
  my machine and thus signed with my signature (*.asc).
2025-11-01 20:02:20 +01:00
Thomas Waldmann
7e6dea9408
BORG_MSGPACK_VERSION_CHECK=no to disable the version check, fixes #9109
(cherry picked from commit 2d63dc9a4f)
2025-11-01 16:48:00 +01:00
Thomas Waldmann
73e2543b53
update CHANGES 2025-10-16 13:34:27 +02:00
Thomas Waldmann
c4a9582fdf
build binaries on github
also:

- speed up CI for PRs
- update README for binaries
2025-10-16 00:37:46 +02:00
TW
b988f9c3a2
Merge pull request #9050 from ThomasWaldmann/keyfile-same-repo-path-master
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.10, mypy) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.10, py310-fuse2) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.11, docs) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.11, py311-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.12, py312-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.13, py313-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.14, py314-fuse3) (push) Has been cancelled
CI / macOS (macos-14, 3.11, py311-none) (push) Has been cancelled
CI / windows (push) Has been cancelled
docs: What happens when a new keyfile repo is created at the same path?
2025-10-10 20:24:54 +02:00
Thomas Waldmann
d0dab94c07
docs: What happens when a new keyfile repo is created at the same path?, fixes #6230
Also add a test.
2025-10-10 14:24:05 +02:00
Atemu
fdabbd7633
extract: document how to use wildcards in PATHs
Fixes https://github.com/borgbackup/borg/issues/8589
2025-10-10 11:20:08 +02:00
Thomas Waldmann
2c7bec0149
manual corrections/reverts 2025-09-23 14:56:35 +02:00
Thomas Waldmann
3120f9cd1c
fixed typos and grammar (AI)
this was done by Junie AI.
2025-09-23 14:56:23 +02:00
Thomas Waldmann
ff7f2ab2ab
binary readme: fix typos and grammar 2025-09-23 14:53:56 +02:00
TW
5b85f47618
Merge pull request #9015 from PhrozenByte/docs-build-src-version
Update install docs to include `SETUPTOOLS_SCM_PRETEND_VERSION`
2025-09-21 15:43:12 +02:00
Daniel Rudolf
5b765b9ec5
Add Arch Linux to installing from source docs
Note that Arch Linux usually has no separate `-dev` packages, but ships development headers with the normal package.
2025-09-19 16:55:45 +02:00
Daniel Rudolf
8f63d984be
Update install docs to include SETUPTOOLS_SCM_PRETEND_VERSION 2025-09-13 20:37:52 +02:00
TW
332ef28c7e
Merge pull request #8988 from ThomasWaldmann/vagrant-debian-testing-master
Vagrant: debian testing/trixie box (master)
2025-08-17 16:50:52 +02:00
dataprolet
5b01535768
Adds systemd-inhibit and examples (#8989) 2025-08-11 15:06:36 +02:00
Thomas Waldmann
85e0e05f35
vagrant: add debian trixie box
currently still known as "testing",
but soon to be released.
2025-08-09 16:28:47 +02:00
Thomas Waldmann
4905fd8bea
update CHANGES 2025-08-02 11:21:28 +02:00
Thomas Waldmann
f327af11a6
build_usage build_man 2025-08-02 11:12:20 +02:00
Thomas Waldmann
1f75c40d34
update CHANGES 2025-08-01 20:19:04 +02:00
Thomas Waldmann
9b26b1011a
build_usage build_man 2025-06-18 17:35:37 +02:00
Thomas Waldmann
840c0c4788
update CHANGES 2025-06-18 17:31:57 +02:00
Thomas Waldmann
1e40d74f88
update CHANGES 2025-06-14 17:20:53 +02:00
Thomas Waldmann
d23704e112
buzhash64: docs 2025-06-10 23:42:22 +02:00
Thomas Waldmann
b116971217
update CHANGES 2025-06-10 01:09:25 +02:00
Thomas Waldmann
7741b503ad
reformat text 2025-06-09 14:19:14 +02:00
Thomas Waldmann
c850f508f8
fix grammar 2025-06-09 14:19:12 +02:00
TW
f3cfc72b9d
Merge pull request #8331 from qyanu-pull-requests/3818simplifyexport-master
docs: borg-serve: simplify example of env in authorized_keys
2025-06-09 14:17:46 +02:00
Thomas Waldmann
81bacd04c5
docs: add docs for serve --permissions / BORG_REPO_PERMISSIONS 2025-06-08 13:49:09 +02:00
Thomas Waldmann
5ca22e9c10
update CHANGES 2025-06-03 20:26:10 +02:00
Thomas Waldmann
456e319bb6
docs: fix mistyped CVE number 2025-05-23 09:26:26 +02:00
Thomas Waldmann
7072f6263d
ChunkerParams: reject even window size for buzhash, fixes #8868 2025-05-23 06:49:52 +02:00
Thomas Waldmann
6b87fec1f7
update CHANGES 2025-05-22 14:22:10 +02:00
Thomas Waldmann
fa01a2d46a
build_usage build_man 2025-05-22 13:21:21 +02:00
Thomas Waldmann
5b24e774b7
update CHANGES 2025-05-22 12:46:05 +02:00
Thomas Waldmann
6e548ed1f0
build_man build_usage 2025-05-19 23:20:38 +02:00
Thomas Waldmann
7644b04df2
docs: remove outdated docs/man files about borg change-passphrase
this is borg key change-passphrase now.
2025-05-19 23:18:19 +02:00
Vaskebjoern
15e55bfd2e
docs: add S3/B2 urls to documentation for repository urls, fixes #8833 2025-05-19 10:41:07 +02:00
Thomas Waldmann
6e0a11cb96
update CHANGES 2025-05-18 09:57:29 +02:00
Thomas Waldmann
b6ee18fffc
docs: minor formatting changes in development docs 2025-05-07 17:02:29 +02:00
Thomas Waldmann
b68552aef2
docs: announce releases on Mastodon, bsky, X 2025-05-07 16:53:30 +02:00
Thomas Waldmann
32ce149caa
docs: refer to more current 1.4-maint 2025-05-07 16:48:55 +02:00
Thomas Waldmann
ae423cfd10
docs: must have the release tags in the local repo, fixes #8582 2025-05-07 16:45:53 +02:00
Thomas Waldmann
524d927871
build_usage build_man 2025-05-06 01:37:17 +02:00
Thomas Waldmann
3bca22a0a3
update CHANGES 2025-05-06 01:35:29 +02:00
Thomas Waldmann
bcb178418e
BORG_DEBUG_PASSPHRASE: also show "other" env vars, docs 2025-05-05 21:21:38 +02:00
Thomas Waldmann
ae4aaa96b9
better support other repo by misc. passphrase env vars, fixes #8457
- borg repo-create and borg transfer not only support --repo / --other-repo options,
  but also already supported related BORG_REPO and BORG_OTHER_REPO env vars.
- similar to that, the passphrases now come from BORG_[OTHER_]PASSPHRASE, BORG_[OTHER_]PASSCOMMAND or BORG_[OTHER_]PASSPHRASE_FD.
- borg repo-create --repo B --other-repo A does not silently copy the passphrase of key A
  to key B anymore, but either asks for the passphrase or reads it from env vars.
2025-05-05 21:09:31 +02:00
Thomas Waldmann
477e8f53fb
build_man build_usage 2025-04-28 21:42:30 +02:00
Thomas Waldmann
9e6d90754e
remove remainders of append-only support
Some features like append-only repositories rely on a server-side component
that enforces them (because that shall only be controllable server-side,
not client-side).

So, that can only work, if such a server-side component exists, which is the
case for borg 1.x ssh: repositories (but not for borg 1.x non-ssh: repositories).

For borg2, we currently have:
- fs repos
- sftp: repos
- rclone: repos (enabling many different cloud providers)
- s3/b3: repos
- ssh: repos using client/server rpc code similar as in borg 1.x

So, only for the last method we have a borg server-side process that could enforce some features, but not for any of the other repo types.

For append-only the current idea is that this should not be done within borg,
but solved by a missing repo object delete permission enforced by the storage.

borg create could then use credentials that miss permission to delete,
while borg compact would use credentials that include permission to delete.
2025-04-28 18:55:15 +02:00
Thomas Waldmann
48b39d878f
remove remainders of quota support
Some features like repository quotas rely on a server-side component
that enforces them (because that shall only be controllable server-side,
not client-side).

So, that can only work, if such a server-side component exists, which is the
case for borg 1.x ssh: repositories (but not for borg 1.x non-ssh: repositories).

For borg2, we currently have:
- fs repos
- sftp: repos
- rclone: repos (enabling many different cloud providers)
- s3/b3: repos
- ssh: repos using client/server rpc code similar as in borg 1.x

So, only for the last method we have a borg server-side process that could enforce some features, but not for any of the other repo types.

For quotas the current idea is that this should not be done within borg,
but enforced by a storage specific quota implementation (like fs quota,
or quota of the cloud storage provider). borg could offer information
about overall repo space used, but would not enforce quotas within borg.
2025-04-28 16:57:30 +02:00
Thomas Waldmann
5c3d9dec4b
remove support for / testing on Python 3.9
Python 3.9 will run out of upstream support 2025-10 anyway.
So we can also drop it right now and have faster CI testing.
2025-04-24 22:29:55 +02:00
Thomas Waldmann
18dbfd3985
update CHANGES 2025-04-21 21:08:45 +02:00
Thomas Waldmann
4550a49b0f
build_usage / build_man 2025-04-21 21:08:42 +02:00
Thomas Waldmann
a69fd81098
update CHANGES 2025-04-21 18:36:23 +02:00
TW
e12b3bb2f6
Merge pull request #8568 from ThomasWaldmann/remove-chunks-healthy
Item: remove .chunks_healthy, fixes #8559
2025-04-11 21:11:42 +02:00
Thomas Waldmann
c14e803429
docs: fix template to support search result preview 2025-04-10 21:20:37 +02:00
Thomas Waldmann
30e9bc9d83
docs: add layout.html template from guzzle_sphinx_theme 0.7.11 2025-04-10 21:19:15 +02:00
Thomas Waldmann
f55d64db0b
docs: add sphinxcontrib.jquery
The html generated uses jquery ($(...)),
but sphinx does not include it anymore since a while.

also: correctly add guzzle_sphinx_theme to extensions.
2025-04-10 19:50:12 +02:00
Thomas Waldmann
d312ddb1f7
docs: register theme as extension 2025-04-10 18:56:25 +02:00
Thomas Waldmann
2996daff97
docs: add FAQ entry about pure-python msgpack warning, fixes #8323 2025-04-09 17:07:18 +02:00
Thomas Waldmann
1252c16373
binary readme: first check faq and existing issues 2025-04-09 17:06:36 +02:00
Thomas Waldmann
992b5f18c8
update CHANGES 2025-04-06 18:25:11 +02:00
Thomas Waldmann
6357f2ebc1
Item: remove .chunks_healthy, fixes #8559
Well, it's not totally removed, some code in Item, Archive and
borg transfer --from-borg1 needs to stay in place, so that we
can pick the CORRECT chunks list that is in .chunks_healthy
for all-zero-replacement-chunk-patched items when transferring
archives from borg1 to borg2 repos.

transfer: do not transfer replacement chunks, deal with missing chunks in other_repo

FUSE fs read: IOError or all-zero result
2025-04-06 17:35:22 +02:00
vancheese
8df4bf75d4
docs: borg commands updated with --repo option, fixes #8550 2025-04-01 17:28:57 +02:00
TW
b90807c722
Merge pull request #8693 from dagelf/docs
Clearer language
2025-03-23 14:59:23 +01:00
TW
fb6f0d4eb6
Merge pull request #8698 from ThomasWaldmann/update-changes-master
update CHANGES
2025-03-23 14:53:46 +01:00
Thomas Waldmann
863a1efdc0
update CHANGES 2025-03-23 14:48:01 +01:00
Thomas Waldmann
e12ad8a6a8
it's 2025. 2025-03-23 14:40:03 +01:00
Coenraad Loubser
309bfc1f0c
Clearer language 2025-03-21 12:23:19 +02:00
Thomas Waldmann
7b0eed99ae
update CHANGES 2025-02-16 19:31:32 +01:00
jan
de9d46acf0 docs: modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite
fixes #8641
In the example, setting SYSTEMD_WANTS instead of appending may prevent
other autostart services attached by earlier udev rules from launching.
This commit changes = to += to fix this behavior.
2025-01-19 14:41:52 +01:00
jan
113e1b7fb2 docs: fix udev rule priority in automated-local.rst
fixes #8639
The priority of 40 for the udev rules as stated in to documentation
applies the rule too early on some systems, which prevents the rule from
matching. This commit changes the priority to 80.
2025-01-18 14:22:47 +01:00
infectormp
bfa944af07
FAQ: Why backups are slow on a Linux server that is a member of a windows domain? (#8636)
FAQ: Why backups are slow on a Linux server that is a member of a windows domain?
2025-01-18 00:03:22 +01:00
Ken Kundert
45b8e629ac update prune documentation for new --keep-within intervals 2025-01-10 11:12:20 -08:00
Ken Kundert
b9498ca571
Allow timespan to be specified with common time units (#8626)
allow timespan to be specified with common time units, fixes #8624

Co-authored-by: Ken Kundert <ken@theKunderts.net>
2025-01-08 18:48:10 +01:00
TW
5b141e2077
Merge pull request #8625 from ThomasWaldmann/workaround-sphinx-warning-master
work around sudden failure of sphinx ini lexer
2025-01-05 19:52:29 +01:00
Thomas Waldmann
0b4ec9df1a
work around sudden failure of sphinx ini lexer
/Users/tw/w/borg/docs/internals/data-structures.rst:971:
WARNING: Lexing literal_block
'
[cache]
version = 1
repository = 3c4...e59
manifest = 10e...21c
timestamp = 2017-06-01T21:31:39.699514
key_type = 2
previous_location = /path/to/repo

[integrity]
manifest = 10e...21c
files = {"algorithm": "XXH64", "digests": {"HashHeader": "eab...39e3", "final": "e2a...b24"}}
'
as "ini" resulted in an error at token: '}'.
Retrying in relaxed mode. [misc.highlighting_failure]

Note: this part of the docs didn't change for a long time, so I guess
the sudden warning comes from a change in sphinx' lexers.

Main problem is that rc != 0 will abort our CI pipeline.
2025-01-05 19:47:40 +01:00
Max-Julian Pogner
048ff2afba docs: borg serve: recommend using a simple shell (closes #3818)
Co-authored-by: Thomas Waldmann <tw@waldmann-edv.de>
2025-01-05 19:19:14 +01:00
Max-Julian Pogner
75687b469d docs: borg-serve: simplify example of env in authorized_keys
see #8318

so long as it can be assumed that the user has configured a POSIX
compliant login shell, using a simple command [1] looks cleaner, as
no ``export`` or ``;`` are used.

[1] Section "2.9.1 Simple Commands" in volume "Shell & Utilities" of POSIX.1-2024
2025-01-04 01:09:33 +01:00
Thomas Waldmann
2d033e7155
docs: update install docs, fixes #8342.
the python package pkgconfig does not need to be "preinstalled"
anymore, because our pyproject.toml cares for that. otoh, the cli tool
pkg-config must be preinstalled so that libs and headers can be found
automagically.

Also be a bit more clear about the FUSE stuff.
2024-12-29 18:08:42 +01:00
Andreas Gruhler
9e0023c218 doc(installation): libffi required for argon2-cffi-bindings 2024-12-15 21:36:52 +01:00
Andreas Gruhler
ca25453e10 doc(installation): add libffi-dev dependency 2024-12-15 16:08:27 +01:00
Björn Ketelaars
cf6a324afa borg2 - Support other OpenSSL versions on OpenBSD
`setup.py` hardcoded crypto library paths for OpenBSD, causing build
issue when OpenBSD drops specific OpenSSL version. Solution is to make
paths configurable.

Addresses #8553.
2024-11-23 23:01:44 +01:00
Thomas Waldmann
ebfd581049
add undelete command to index 2024-11-18 02:30:58 +01:00
Thomas Waldmann
37077a55e7
build_usage build_man 2024-11-16 20:14:16 +01:00