1XDelta NEWS -- history of user-visible changes. -*- Text -*- 2$Date: Sun, 24 Feb 2002 11:31:12 -0800 $ 3$ReleaseVersion: 1.1.4 $ 4 5Please send bug reports to xdelta-bugs@XCF.Berkeley.EDU. See the file 6`README' for a description of how to report bugs. 7 8 9** Changes since version 1.1.3 10 11* Add an implementation of xdp_generator_free() for users of the 12 libxdelta API. Previously there were no such users of the 1.x API, 13 but Elliot Lee <sopwith@redhat.com> has written a program for 14 providing delta operations on RPM files. See http://@@@ 15 16* The man page now documents return values. 17 18** Changes since version 1.1.2 19 20* Correct error message format for the case when gzread fails trying 21 to automatically decompress a corrupted GZIP file. The situation 22 itself--corrupt GZIP files--should be dealt with the -p (--pristine) 23 option, which disables GZIP file recognition. Reported by Ben 24 Escoto. 25 26* Apply a patch from Klaus Dittrich for building on HPUX with the 27 native compiler. There is now a script called "contrib/build_hpux". 28 29 30** Changes since version 1.1.1 31 32* This code release is a distant fork of the 2.0 release. It will 33 hopefully be replaced. 34 35* When 'patch' supplies its default TO file name recorded in the 36 delta, it still generates a unique file name to avoid overwriting an 37 existing copy. Use the 'xdelta info' command to see what file names 38 are contained in the delta. 39 40* The code for writing patches to stdout was broken in the case where 41 gzip compression is used. Writing patches to stdout has therefore 42 been disabled. The problem is a limitation in the gzdopen/gzwrite 43 functions provided by zlib--you cannot determine how many bytes have 44 been written to the file descriptor without dup-ing the FD 45 beforehand and then lseek-ing afterwards, which does not work 46 correctly if the output file is not seekable. 47 48* By default, Xdelta uses a hard-coded 16 byte block size. If you're 49 working with large files, try #undef XDELTA_HARDCODE_SIZE in 50 xdelta.h then use -s BLOCKSIZE (--blocksize=BLOCKSIZE), which should 51 be a power of 2. 52 53* New test program in the 'test' subdirectory, which runs comparisons 54 against "diff --rcs -a" and also verifies the "xdelta patch" 55 command. 56 57* Incorporate DJGPP patches from Richard Dawe <richdawe@bigfoot.com>. 58 You can find his versions directly at: 59 60 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/xdlt112b.zip 61 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/xdlt112s.zip 62 63* Updated xdelta(1) man page. 64 65* Updated autoconf (2.50), automake (1.4-p4), libtool (1.4) scripts, 66 which includes updated config.guess and config.sub scripts. 67 68* Correct some backward compatibility issues: strcmp() was not being 69 tested == 0 for formats older than 1.0.4. 70 71* Update GLIB version requirement, now 1.2.8. 72 73* We really need support for 64bit file sizes... perhaps the next 74 version? 75 76 77** Changes since version 1.1.0 78 79* No one was were able to build the 1.1.0 release because it depended 80 on a version of glib which will not be distributed for some time. 81 This version backs out those dependencies and now requires 82 glib-1.2.1. 83 84 85** Changes since version 1.0.6 86 87* The 64M limit on file sizes has been lifted. File lengths are now 88 limited by the size of a 32-bit integer. 89 90* The internal data structures were changed and some of the 91 experimental bits of the interface have been moved out of libxdelta, 92 resulting in a simpler interface. Old patch files are still 93 supported. 94 95 96** Changes since version 1.0.5 97 98* There are 8 bytes of space in the patch format's header that are 99 reserved for future use. They are not currently used, but were also 100 not being initialized, making it possible for two deltas produced in 101 the same manner to differ. This was exposed by comparing deltas 102 produced between the same files on Windows and Linux. With this 103 patch, the results should be identical. 104 105 106** Changes since version 1.0.4 107 108* The code now compiles natively under Windows. I used MS VC++ 5.0. 109 It depends on glib and zlib, but I don't feel like documenting 110 the build process yet. I have had some trouble with the zlib DLLs 111 and had to build my own, so you can't build it yourself yet. There 112 is a pre-built version at 113 114 ftp://ftp.xcf.berkeley.edu/pub/xdelta/xdelta-1.0.5.win32.zip 115 116* Many changes required to keep Xdelta working with PRCS 2. Mostly 117 this involved keeping up to date with some code that is shared 118 between the two. All the shared code is now in the "libedsio" 119 subdirectory, which stands for "Error Delivery and Serialized IO". 120 121 122** Changes since version 1.0.3 123 124* Slight change in file format to improve detection of and error 125 messages regarding corrupt deltas (specifically, those left behing 126 when an xdelta process is killed while computing a delta). This 127 means 1.0.0-1.0.3 will not read these new deltas, they will report a 128 bad magic number. 129 130* Improve several error messages related to corrupt deltas. 131 132 133** Changes since version 1.0.2 134 135* Fix a few bugs, especially one related to the implementation of -m, 136 and a couple more which were shaken out by testing on a pair of 137 emacs releases (~55M each). These changes only affect the xdelta 138 application, the library is unchanged. 139 140* Add a new command `xdelta info' that lists information about a 141 delta, for example: 142 143 $ xdelta info some.patch 144 xdelta: version 1.0.3 found patch version 1.0 in some.patch 145 xdelta: patch contents are compressed 146 xdelta: patch from: from 147 xdelta: patch from length: 53309440 148 xdelta: patch from md5: c0ddcb6904d40da7cf1eae5e6bdbbc01 149 xdelta: patch to: to 150 xdelta: patch to length: 55377920 151 xdelta: patch to md5: 00b3dd4d1a9b450bc5b8991b183013fb 152 xdelta: patch insert length: 2436426 153 xdelta: patch inst count: 253649 154 155 156** Changes since version 1.0.1 157 158* Fix minor typos, and build improvements. There is now a gtk-style 159 'xdelta-config' program and autoconf macro to locate the library. 160 161 162** Changes since version 1.0.0 163 164* Fix incorrect usage report in --help output for the patch command. 165 166* Abort when directories are specified, there is no recursive mode. 167 168* Now requires glib-1.1.5. 169 170* The new ``pristine'' option (-p, --pristine) disables 171 automatic uncompression of compressed input data, and is for use 172 when data integrity is being externally verified. This enables a 173 tool written by Manish Singh (yosh@gimp.org) to compute deltas 174 between the Debian dpkg utility's .deb format. 175 176* A draft paper describing its algorithms, rational, advanced 177 features, and future work is now available at 178 ftp://ftp.xcf.berkeley.edu/pub/xdelta/xdelta.ps. 179 180** Changes since version 0.24 181 182* This version is a complete rewrite, and removes some of the features 183 available in version 0. Featuring: 184 185 - A completely new and much improved library interface. This code is 186 a complete rewrite. 187 - An optimized implementation of the XDelta algorithm. 188 - A drastic memory reduction. 189 - The library stream-processes files where possible and uses a page- 190 based interface when seeking is required (allowing the application 191 to run in bounded memory on large files). 192 - There is now a little documentation. A man page and the 193 beginnings of texinfo documentation. 194 - Includes several advanced features used by PRCS version 2, see the 195 documentation for more information. 196 - Includes a minimal implementation of the Rsync algorithm, also used 197 by PRCS version 2. 198 - Uses an abstract file handle interface, the library has very few 199 system dependencies. This allows the library client to compute 200 MD5 checksums in a single-pass as XDelta reads files, use pre- 201 computed checksums, or disable checksum verification entirely. 202 - Compression and file-unarchival have been removed from the library, 203 these features are orthogonal. 204 205 At the application level: 206 207 - GDBM archive experiment has been removed. This functionality is 208 implemented directly in PRCS version 2 using the present library 209 interface. 210 - Base 64 encoding support has been removed for technical reasons. 211 - Can no longer accept patches from stdin, due to the same 212 technical reasons (the patch instruction index is stored at the 213 end of the file, requiring seeking). 214 - Automatic detection and un-archival of RPM and dpkg file formats 215 has been removed. Automatic uncompression of gzipped files is 216 still supported. 217 - The GIMP plugin is no longer supported. 218