1 2Notable changes in 0.28 as compared to 0.27.1 3============================================= 4 5May require attention 6--------------------- 7 8* The default install PREFIX is now "/usr/local". 9 10* BINDIR, DOCDIR, LIBDIR, and MANDIR settings no longer side-step 11 DESTDIR. i.e. `make DESTDIR=/x MANDIR=/y` install will install the 12 manpages to "/x/y" not just "/y". 13 14* The index format has changed, which will trigger a full index 15 rebuild on the next index run, making that run more expensive than 16 usual. 17 18* When given `--xdev`, `bup save` should no longer skip directories 19 that are explicitly listed on the command line when the directory is 20 both on a separate filesystem, and a subtree of another path listed 21 on the command line. Previously `bup save --xdev / /usr` could skip 22 "/usr" if it was on a separate filesystem from "/". 23 24* Tags along a branch are no longer shown in the branch's directory in 25 the virtual filesystem (VFS). i.e. given `bup tag special 26 /foo/latest`, "/foo/special" will no longer be visible via `bup ls`, 27 `bup web`, `bup fuse`, etc., but the tag will still be available as 28 "/.tag/special". 29 30General 31------- 32 33* bup now provides experimental `rm` and `gc` subcommands, which 34 should allow branches and saves to be deleted, and their storage 35 space reclaimed (assuming nothing else refers to the relevant data). 36 For the moment, these commands require an `--unsafe` argument and 37 should be treated accordingly. Although if an attempt to `join` or 38 `restore` the data you still care about after a `gc` succeeds, 39 that's a fairly encouraging sign that the commands worked correctly. 40 (The `t/compare-trees` command in the source tree can be used to 41 help test before/after results.) 42 43 Note that the current `gc` command is probabilistic, which means it 44 may not remove *all* of the obsolete data from the repository, but 45 also means that the command should be fairly efficient, even for 46 large repositories. 47 48* bup may have less impact on the filesystem cache. It now attempts 49 to leave the cache roughly the way it found it when running a `save` 50 or `split`. 51 52* A specific Python can be specified at `./configure` time via PYTHON, 53 i.e. `PYTHON=/some/python ./configure`, and that Python will be 54 embedded in all of the relevant scripts as an explicit "#!/..." line 55 during `make install`. 56 57* `bup web` will now attempt an orderly shutdown when it receives a 58 SIGTERM. 59 60* `bup web` will listen on a filesystem socket when given an address 61 like "unix://...". 62 63* bup no longer limits the number of files in a directory to 100000. 64 The limit is now UINT_MAX. 65 66* `bup fuse` now has a `--verbose` argument, and responds to 67 `--debug`. 68 69Bugs 70---- 71 72* bup save should not fail when asked to save a subdirectory of a 73 directory that was completely up to date in the index. Previously 74 this could cause a "shalists" assertion failure. 75 76* The way bup writes the data to disk (the packfiles in particular), 77 should be a bit safer now if there is a coincident power failure or 78 system crash. 79 80* A problem has been fixed that could cause bup to ignore the current 81 TZ setting when computing the local time. 82 83* bup should no longer generate broken commits when the timezone 84 offset is not an integer number of hours 85 (e.g. TZ=Australia/Adelaide). 86 87* `bup midx --output` should now work when used with `--auto` or 88 `--force`. 89 90* `bup import-rsnapshot` should exit with a status of 1, not -1. 91 92* bup should be more likely to get the data to permanent storage 93 safely on OS X, which appears to follow a surprising interpretation 94 of the `fsync()` specification. 95 96* `bup web` should handle non-ASCII paths better. It will no longer 97 treat them as (and try to convert them to) Unicode (which they're 98 not). 99 100* `bup restore` should no longer crash when an attempt to remove an 101 xattr returns EACCES. 102 103Build system 104------------ 105 106* The tests can now be run in parallel (and possibly much more 107 quickly) via `make -j check`. 108 109* The build system now creates and uses cmd/bup-python which refers to 110 the `./configure` selected python. 111 112 113Thanks to (at least) 114==================== 115 116Aidan Hobson Sayers, Ben Kelly, Ben Wiederhake, Brandon Smith, Brian Minton, 117David Kettler, Frank Gevaerts, Gabriel Filion, Greg Troxel, James Lott, 118Karl-Philipp Richter, Luis Sanchez Sanchez, Marcus Schopen, Mark J 119Hewitt, Markus, Mathieu Schroeter, Michael March, Nimen Nachname, Nix, 120Patrick Rouleau, Paul Kronenwetter, Rob Browning, Robert Edmonds, 121Simon Persson, Tadej Janež, Thomas Klausner, Tilo Schwarz, Tim 122Riemenschneider, Wayne Scott, pspdevel, and stevelr 123