1 2XZ Utils To-Do List 3=================== 4 5Known bugs 6---------- 7 8 The test suite is too incomplete. 9 10 If the memory usage limit is less than about 13 MiB, xz is unable to 11 automatically scale down the compression settings enough even though 12 it would be possible by switching from BT2/BT3/BT4 match finder to 13 HC3/HC4. 14 15 XZ Utils compress some files significantly worse than LZMA Utils. 16 This is due to faster compression presets used by XZ Utils, and 17 can often be worked around by using "xz --extreme". With some files 18 --extreme isn't enough though: it's most likely with files that 19 compress extremely well, so going from compression ratio of 0.003 20 to 0.004 means big relative increase in the compressed file size. 21 22 xz doesn't quote unprintable characters when it displays file names 23 given on the command line. 24 25 tuklib_exit() doesn't block signals => EINTR is possible. 26 27 SIGTSTP is not handled. If xz is stopped, the estimated remaining 28 time and calculated (de)compression speed won't make sense in the 29 progress indicator (xz --verbose). 30 31 32Missing features 33---------------- 34 35 xz doesn't support copying extended attributes, access control 36 lists etc. from source to target file. 37 38 Multithreaded compression 39 40 Multithreaded decompression 41 42 Buffer-to-buffer coding could use less RAM (especially when 43 decompressing LZMA1 or LZMA2). 44 45 I/O library is not implemented (similar to gzopen() in zlib). 46 It will be a separate library that supports uncompressed, .gz, 47 .bz2, .lzma, and .xz files. 48 49 lzma_strerror() to convert lzma_ret to human readable form? 50 This is tricky, because the same error codes are used with 51 slightly different meanings, and this cannot be fixed anymore. 52 53 54Documentation 55------------- 56 57 Some tutorial is needed for liblzma. I have planned to write some 58 extremely well commented example programs, which would work as 59 a tutorial. I suppose the Doxygen tags are quite OK as a quick 60 reference once one is familiar with the liblzma API. 61 62 Document the LZMA1 and LZMA2 algorithms. 63 64