Duplicity 3.1.0 Released

Kenneth Loafman via Duplicity-talk <[email protected]> Tue, 16 Jun 2026 12:10:10 -0500
Newsgroups gmane.comp.sysutils.backup.duplicity.general
Message-ID <CAD-_Ma3UHpzir+rG64M1_Vqk2_kBoTWaZ9z3=0CV=mbUViXMjw@mail.gmail.com>
--===============0472875903314030584==
Content-Type: multipart/alternative; boundary="000000000000b1a5af0654620456"

--000000000000b1a5af0654620456
Content-Type: text/plain; charset="UTF-8"

Hi everyone,

I am pleased to announce the release of duplicity version 3.1.0.

This release follows version 3.0.7 and includes a minor version bump to
reflect a significant new feature. Thanks to elmuz's contribution, restore
operations can now use --include, --exclude, --include-regexp, and
--include-filelist directly from the command line.

There are many other improvements and bug fixes included in this update.
Please see the CHANGELOG below for full details.

Thanks,
Ken

rel.3.1.0 / 2026-06-16

  - 821a8cda:chg: Merge branch dev into main.
  - eeb5d106:chg: Replace setup.py with modern python-build for sdist
  - 5c4cdc2f:new: Now do pip builds for macOS and Linux
  - 0140a374:new: Add include/exclude restore filtering using
archive-relative paths
  - 46a4796b:chg: Update snapcraft.yaml for license, type, and typo fixes.
  - 143373b8:chg: Use --build-on for snapcraft remote-build.
  - 182d6e33:chg: Use python3 -m build for sdist in release-prep.
  - 3997156c:chg: Update README-RELEASE.md.
  - 0f5430db:fix: Fix so GNUPGHOME is not changed in production.
  - 53cc9659:fix: lower boto warning log level, rephrase.
  - 88bfc75e:chg: Misc cleanups for developers
  - 4b0bb8d5:chg: Update 'release pip version' in README-RELEASE.md.
  - c17b03bc:fix: try/except block masking real S3UploadFailedError
  - db127ce5:new: Add --full-if-n-inc flag for count-based full backup.
  - dc977419:fix: Simplify swig module definition.
  - 0de30e69:chg: Adjust to newer sphinx.
  - c1883117:fix: Add templates for bug and feature requests.
  - 39150d34:fix: delete unused Path.patch_with_attribs.
  - 1a7c6790:fix: Remove support for Python 2.
  - 564dd593:fix: fix flag name --gpg-agent -> --use-agent.
  - 866680d0:chg: Multiple changes for 2026 are planned
  - 29e00b55:fix: Fix incompatibility with Python 3.14.
  - 50faabfc:chg: Partial fix for #924.
  - 00ae7687:fix: webdav, always send warmup OPTIONS request, prevent loop
  - 37841a0e:fix: Handle local version identifiers in b2backend
  - 3475dd05:fix: Unnecessary passphrase prompt with --encrypt-key
--no-check-remote.
  - b8508f6d:chg: Remove slow marker from tests.

--000000000000b1a5af0654620456
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi everyone,<br><br>I am pleased to announce the release o=
f duplicity version 3.1.0.<br><br>This release follows version 3.0.7 and in=
cludes a minor version bump to reflect a significant new feature. Thanks to=
 elmuz&#39;s contribution, restore operations can now use --include, --excl=
ude, --include-regexp, and --include-filelist directly from the command lin=
e.<br><br>There are many other improvements and bug fixes included in this =
update. Please see the CHANGELOG below for full details.<br><br>Thanks,<br>=
Ken<br><br>rel.3.1.0 / 2026-06-16<br><br>=C2=A0 - 821a8cda:chg: Merge branc=
h dev into main.<br>=C2=A0 - eeb5d106:chg: Replace setup.py with modern pyt=
hon-build for sdist<br>=C2=A0 - 5c4cdc2f:new: Now do pip builds for macOS a=
nd Linux<br>=C2=A0 - 0140a374:new: Add include/exclude restore filtering us=
ing archive-relative paths<br>=C2=A0 - 46a4796b:chg: Update snapcraft.yaml =
for license, type, and typo fixes.<br>=C2=A0 - 143373b8:chg: Use --build-on=
 for snapcraft remote-build.<br>=C2=A0 - 182d6e33:chg: Use python3 -m build=
 for sdist in release-prep.<br>=C2=A0 - 3997156c:chg: Update README-RELEASE=
.md.<br>=C2=A0 - 0f5430db:fix: Fix so GNUPGHOME is not changed in productio=
n.<br>=C2=A0 - 53cc9659:fix: lower boto warning log level, rephrase.<br>=C2=
=A0 - 88bfc75e:chg: Misc cleanups for developers<br>=C2=A0 - 4b0bb8d5:chg: =
Update &#39;release pip version&#39; in README-RELEASE.md.<br>=C2=A0 - c17b=
03bc:fix: try/except block masking real S3UploadFailedError<br>=C2=A0 - db1=
27ce5:new: Add --full-if-n-inc flag for count-based full backup.<br>=C2=A0 =
- dc977419:fix: Simplify swig module definition.<br>=C2=A0 - 0de30e69:chg: =
Adjust to newer sphinx.<br>=C2=A0 - c1883117:fix: Add templates for bug and=
 feature requests.<br>=C2=A0 - 39150d34:fix: delete unused Path.patch_with_=
attribs.<br>=C2=A0 - 1a7c6790:fix: Remove support for Python 2.<br>=C2=A0 -=
 564dd593:fix: fix flag name --gpg-agent -&gt; --use-agent.<br>=C2=A0 - 866=
680d0:chg: Multiple changes for 2026 are planned<br>=C2=A0 - 29e00b55:fix: =
Fix incompatibility with Python 3.14.<br>=C2=A0 - 50faabfc:chg: Partial fix=
 for #924.<br>=C2=A0 - 00ae7687:fix: webdav, always send warmup OPTIONS req=
uest, prevent loop<br>=C2=A0 - 37841a0e:fix: Handle local version identifie=
rs in b2backend<br>=C2=A0 - 3475dd05:fix: Unnecessary passphrase prompt wit=
h --encrypt-key --no-check-remote.<br>=C2=A0 - b8508f6d:chg: Remove slow ma=
rker from tests.<br><br></div>

--000000000000b1a5af0654620456--


--===============0472875903314030584==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRHVwbGljaXR5
LXRhbGsgbWFpbGluZyBsaXN0CkR1cGxpY2l0eS10YWxrQG5vbmdudS5vcmcKaHR0cHM6Ly9saXN0
cy5ub25nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZHVwbGljaXR5LXRhbGsK

--===============0472875903314030584==--