Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
barman-3.16.0.tar.gz.md5 | 2025-10-03 | 55 Bytes | |
barman-3.16.0.tar.gz | 2025-10-03 | 465.7 kB | |
barman-3.16.0-py2.py3-none-any.whl | 2025-10-03 | 516.0 kB | |
barman-3.16.0-manual.pdf | 2025-10-03 | 1.3 MB | |
README.md | 2025-10-02 | 6.7 kB | |
Release 3.16.0 source code.tar.gz | 2025-10-02 | 2.0 MB | |
Release 3.16.0 source code.zip | 2025-10-02 | 2.2 MB | |
Totals: 7 Items | 6.5 MB | 0 |
3.16.0 (2025-10-02)
Notable changes
- The
restore_command
for local restores no longer includessudo
When using barman restore --get-wal
for a local restore (i.e. without
--remote-ssh-command
), the generated restore_command
no longer includes a
sudo -u $USER
prefix. This simplifies the process for the common case where the
locally restored Postgres cluster is run by the barman
user, whom already owns the
files by the end of the barman restore
operation.
Action Required: If you intend to run the restored cluster as a different
user (e.g., postgres
), you must now manually add the appropriate
sudo -u postgres
prefix to the restore_command
in the recovery configuration and
ensure file ownership is correct.
References: BAR-675.
- Deprecate
pygzip
andpybzip2
compression options
The pygzip
and pybzip2
compression options are now deprecated and will be
removed in a future release. Users should migrate to the gzip
and bzip2
options,
which now use Python's internal libraries.
This change was made to improve performance and code consistency. Previously, the
gzip
and bzip2
options relied on external subprocesses, while their py
counterparts used native Python libraries. The core compression logic for gzip
and
bzip2
has been updated to also use Python's built-in libraries, making the
pygzip
and pybzip2
options redundant.
References: BAR-878.
- Add delta-restore flag and recovery option to barman restore
Introduces the --delta-restore flag for barman restore, enabling delta restore mode. This mode restores a backup by reusing identical data already present in the destination directory, which drastically reduces restore time and network traffic.
This feature is also configurable per-server via 'recovery_options' as a new field called delta-restore in the server configuration file.
References: BAR-788.
- S3 Object Deletion Fallback for Object Stores non-compliant with boto3 >=1.36
When using delete_objects()
with some non-compliant S3-compatible object
stores, users could encounter a MissingContentMD5
ClientError
due to a breaking
change in boto3 1.36 that Botocore will no longer automatically compute and populate
the Content-MD5
header.
To address this, Barman now implements a fallback mechanism:
- Bulk deletion via
delete_objects()
is still attempted first. - If
delete_objects()
fails withMissingContentMD5
, Barman automatically falls back to deleting objects individually usingdelete_object()
, which does not require aContent-MD5
header. - Other errors continue to raise exceptions as before.
This change ensures Barman remains compatible with non-compliant object stores without requiring changes on the user's side.
Users with older S3-compatible storage can continue performing backup cleanups without failures, while newer object stores are unaffected.
References: BAR-909.
- Cloud connectivity checks are now only performed with the
-t
/--test
flag.
Previously, Barman always tested cloud connectivity and bucket existence
for most of the commands, raising errors if connectivity failed or if the bucket
did not exist. Both checks are now executed only when the -t
/--test
flag is
specified. The only exception was barman-cloud-check-wal-archive
, which still
checks connectivity and the existence of the bucket.
Additionally, buckets are no longer created automatically — Barman assumes the target bucket already exists, making it the user's responsibility to provision the bucket in advance.
References: BAR-895, BAR-908, BAR-918.
Minor changes
- Add
combine-mode
option tobarman restore
command
Added a --combine-mode
option to the barman restore
command, which can be used
to specify a copy mode for pg_combinebackup
when combining incremental backups
during a restore. Available modes are copy
, link
, clone
, and copy-file-range
which are equivalent to the pg_combinebackup
options --copy
, --link
,
--clone
, and --copy-file-range
, respectively. An equivalent combine_mode
configuration option can be specified in the configuration file.
This feature allows for greater optimization of the restore process based on the underlying filesystem capabilities.
References: BAR-870.
- Reorganize fields in barman diagnose JSON
In the barman diagnose JSON, some fields appeared under the server's "config" section even though they were not actual configuration fields.
The fields "barman_lock_directory", "lock_directory_cleanup", and "config_changes_queue" were relocated under the "global" key, since they represent global configurations. The "name" field was removed since the server name is already used as the key. Additionally, "msg_list" is now stored under the server's name key.
References: BAR-134.
- Add '-p JOBS' to barman-wal-restore command when
--get-wal
isTrue
Adds '-p JOBS' to barman-wal-restore command when --get-wal
or get_wal
configuration option is True
, JOBS
being the number of jobs chosen by the user
via -p
flag or parallel_jobs
configuration option.
References: BAR-857.
- The `barman show-backup`` command now displays the backup compression method
The output of the barman show-backup
command has been enhanced to include a new
Backup Compression
field. If a backup was taken with compression enabled, this
field will now display the compression algorithm that was used (e.g., zstd
). This
makes it easier to quickly verify the compression status of a backup.
References: BAR-901.
Bugfixes
- Fix parallelism (--parallel option) in barman-wal-restore
There has been a regression in barman-wal-restore
when introducing the
--keep-compression
option in Barman 3.12.0, which made the --parallel
option
not invoke processes as expected. This issue has now been fixed.
References: BAR-865.
- Fix
pg_combinebackup
not being found inPATH
whenstaging_location
isremote
When recovering an incremental backup to a remote server with staging_location
set to remote
, Barman checks if pg_combinebackup
is available in the remote PATH
.
However, a previous issue was making it incorrectly check the local PATH
as well,
leading to errors if pg_combinebackup
was not installed locally.
The problem has been fixed by ensuring that the check is only performed on the
server where pg_combinebackup
is actually executed.
References: BAR-903.