-
Python 3 is now required, in particular 3.7 or newer.
-
The version of Python is no longer determined by the value of
PYTHONduring./configure. It is now determined by the version ofpython-configselected during configuration. TheBUP_PYTHON_CONFIGenvironment variable can be set during configuration to select a particular executable (e.g.BUP_PYTHON_CONFIG=python3.9-config ./configure). See theREADMEfor further details. -
The
bupexecutable is now a binary rather than a Python script. Practically speaking, this means that the Python version is determined by thelibpythonthat the executable is linked against (selected viapython-config), and it means that bup will show up as "bup" in process listings rather than a python invocation. -
The output of
bup lsfor multiple paths includes each path before its contents, more closely matching the systemls. -
The
bup ftplscommand should now respect the working directory (set bycd), and that directory has been added to the prompt. -
Some minor changes have been made to
bup web's interface. -
The
index-cacheis no longer included in thebup midx--dirdefault. -
Performance may have improved after the relocation of a number of operations from Python to C, and a number of improvements to the VFS.
-
The
#bupIRC channel has moved to https://libera.chat/.
-
Bup should now respect the current umask, directory sgid bit, etc. when creating new files (e.g. new packfiles). Previously, it would create them via mkstemp, which would cause them to be readable only by the current user.
-
Bup should now be able to handle repositories containing signed commits.
-
bup taghas been changed to rely ongit update-refinstead of writing the (loose) refs directly so that it can handle packed refs correctly. -
bup saveshould be more careful about noting an error and skipping paths whose type (link, regular file, ...) has changed since indexing. -
There should no longer be a narrow window where
savecould store conflicting symlink targets or conflicting sizes (in the metadata record and the packfile symlink blob) for a path if the filesystem changed at just the wrong time during a save. -
bup fuseshould no longer become unusable after an unfinished read of commits associated with tags. The underlying VFS issue may have affected other commands too. -
Bup's packfile names should now match git's. Previously bup computed the SHA1 from just the sorted object list (cf.
git-index-pack(1)), but git appears to include the entire pack file in the hash. -
Passing idx files to
bup midxalong with--dirshould now work correctly. -
The
bup index --print --long ...mode fields should now be formatted correctly with Python 3 (it changed theoct()format). -
Resource usage (e.g. memory) may have improved, given a number of changes intended to make bup release resources more carefully and sooner.
-
As mentioned above,
PYTHON's role during configuration has been replaced byBUP_PYTHON_CONFIG. -
./configurenow supports--with-pylint=[yes|no|maybe]. -
Any
CC,CPPFLAGS,CFLAGS, orLDFLAGSset during./configureshould now be preserved across future make invocations. -
The build process should now work on systems where
makeisn't GNU Make (theMakefileautomatically redirects toGNUmakefile). -
The
PANDOCpath can contain spaces.
Abdel Said, Arthur Ward, Bas Stottelaar, Brian Minton, Greg Troxel, Johannes Berg, Mark Hewitt, Muh Muhten, and Rob Browning