2 Notable changes in 0.33 since 0.32
3 ==================================
5 * Python 3 is now required, in particular 3.7 or newer.
7 * The version of Python is no longer determined by the value of
8 `PYTHON` during `./configure`. It is now determined by the version
9 of `python-config` selected during configuration. The
10 `BUP_PYTHON_CONFIG` environment variable can be set during
11 configuration to select a particular executable
12 (e.g. `BUP_PYTHON_CONFIG=python3.9-config ./configure`). See the
13 `README` for further details.
15 * The `bup` executable is now a binary rather than a Python script.
16 Practically speaking, this means that the Python version is
17 determined by the `libpython` that the executable is linked against
18 (selected via `python-config`), and it means that bup will show up
19 as "bup" in process listings rather than a python invocation.
21 * The output of `bup ls` for multiple paths includes each path before
22 its contents, more closely matching the system `ls`.
24 * The `bup ftp` `ls` command should now respect the working directory
25 (set by `cd`), and that directory has been added to the prompt.
27 * Some minor changes have been made to `bup web`'s interface.
29 * The `index-cache` is no longer included in the `bup midx` `--dir`
32 * Performance may have improved after the relocation of a number of
33 operations from Python to C, and a number of improvements to the
36 * The `#bup` IRC channel has moved to https://libera.chat/.
41 * Bup should now respect the current umask, directory sgid bit,
42 etc. when creating new files (e.g. new packfiles). Previously, it
43 would create them via mkstemp, which would cause them to be readable
44 only by the current user.
46 * Bup should now be able to handle repositories containing signed
49 * `bup tag` has been changed to rely on `git update-ref` instead of
50 writing the (loose) refs directly so that it can handle packed refs
53 * `bup save` should be more careful about noting an error and skipping
54 paths whose type (link, regular file, ...) has changed since
57 * There should no longer be a narrow window where `save` could store
58 conflicting symlink targets or conflicting sizes (in the metadata
59 record and the packfile symlink blob) for a path if the filesystem
60 changed at just the wrong time during a save.
62 * `bup fuse` should no longer become unusable after an unfinished read
63 of commits associated with tags. The underlying VFS issue may have
64 affected other commands too.
66 * Bup's packfile names should now match git's. Previously bup
67 computed the SHA1 from just the sorted object list
68 (cf. `git-index-pack(1)`), but git appears to include the entire
69 pack file in the hash.
71 * Passing idx files to `bup midx` along with `--dir` should now work
74 * The `bup index --print --long ...` mode fields should now be
75 formatted correctly with Python 3 (it changed the `oct()` format).
77 * Resource usage (e.g. memory) may have improved, given a number of
78 changes intended to make bup release resources more carefully and
84 * As mentioned above, `PYTHON`'s role during configuration has been
85 replaced by `BUP_PYTHON_CONFIG`.
87 * `./configure` now supports `--with-pylint=[yes|no|maybe]`.
89 * Any `CC`, `CPPFLAGS`, `CFLAGS`, or `LDFLAGS` set during
90 `./configure` should now be preserved across future make
93 * The build process should now work on systems where `make` isn't GNU
94 Make (the `Makefile` automatically redirects to `GNUmakefile`).
96 * The `PANDOC` path can contain spaces.
101 Abdel Said, Arthur Ward, Bas Stottelaar, Brian Minton, Greg Troxel,
102 Johannes Berg, Mark Hewitt, Muh Muhten, and Rob Browning