]> arthur.barton.de Git - bup.git/blob - note/0.33-from-0.32.md
72970cffc06229df4511c707470791f54fe55b35
[bup.git] / note / 0.33-from-0.32.md
1
2 Notable changes in 0.33 since 0.32
3 ==================================
4
5 * Python 3 is now required, in particular 3.7 or newer.
6
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.
14
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.
20
21 * The output of `bup ls` for multiple paths includes each path before
22   its contents, more closely matching the system `ls`.
23
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.
26
27 * Some minor changes have been made to `bup web`'s interface.
28
29 * The `index-cache` is no longer included in the `bup midx` `--dir`
30   default.
31
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
34   VFS.
35
36 * The `#bup` IRC channel has moved to https://libera.chat/.
37
38 Bugs
39 ----
40
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.
45
46 * Bup should now be able to handle repositories containing signed
47   commits.
48
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
51   correctly.
52
53 * `bup save` should be more careful about noting an error and skipping
54   paths whose type (link, regular file, ...) has changed since
55   indexing.
56
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.
61
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.
65
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.
70
71 * Passing idx files to `bup midx` along with `--dir` should now work
72   correctly.
73
74 * The `bup index --print --long ...` mode fields should now be
75   formatted correctly with Python 3 (it changed the `oct()` format).
76
77 * Resource usage (e.g. memory) may have improved, given a number of
78   changes intended to make bup release resources more carefully and
79   sooner.
80
81 Build and install
82 -----------------
83
84 * As mentioned above, `PYTHON`'s role during configuration has been
85   replaced by `BUP_PYTHON_CONFIG`.
86
87 * `./configure` now supports `--with-pylint=[yes|no|maybe]`.
88
89 * Any `CC`, `CPPFLAGS`, `CFLAGS`, or `LDFLAGS` set during
90   `./configure` should now be preserved across future make
91   invocations.
92
93 * The build process should now work on systems where `make` isn't GNU
94   Make (the `Makefile` automatically redirects to `GNUmakefile`).
95
96 * The `PANDOC` path can contain spaces.
97
98 Thanks to (at least)
99 ====================
100
101 Abdel Said, Arthur Ward, Bas Stottelaar, Brian Minton, Greg Troxel,
102 Johannes Berg, Mark Hewitt, Muh Muhten, and Rob Browning