1*ba8755cbSAndroid Build Coastguard Worker## Licensed to the Apache Software Foundation (ASF) under one 2*ba8755cbSAndroid Build Coastguard Worker## or more contributor license agreements. See the NOTICE file 3*ba8755cbSAndroid Build Coastguard Worker## distributed with this work for additional information 4*ba8755cbSAndroid Build Coastguard Worker## regarding copyright ownership. The ASF licenses this file 5*ba8755cbSAndroid Build Coastguard Worker## to you under the Apache License, Version 2.0 (the 6*ba8755cbSAndroid Build Coastguard Worker## "License"); you may not use this file except in compliance 7*ba8755cbSAndroid Build Coastguard Worker## with the License. You may obtain a copy of the License at 8*ba8755cbSAndroid Build Coastguard Worker## 9*ba8755cbSAndroid Build Coastguard Worker## http://www.apache.org/licenses/LICENSE-2.0 10*ba8755cbSAndroid Build Coastguard Worker## 11*ba8755cbSAndroid Build Coastguard Worker## Unless required by applicable law or agreed to in writing, 12*ba8755cbSAndroid Build Coastguard Worker## software distributed under the License is distributed on an 13*ba8755cbSAndroid Build Coastguard Worker## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14*ba8755cbSAndroid Build Coastguard Worker## KIND, either express or implied. See the License for the 15*ba8755cbSAndroid Build Coastguard Worker## specific language governing permissions and limitations 16*ba8755cbSAndroid Build Coastguard Worker## under the License. 17*ba8755cbSAndroid Build Coastguard Worker ${project.name} RELEASE NOTES 18*ba8755cbSAndroid Build Coastguard Worker 19*ba8755cbSAndroid Build Coastguard Worker$introduction.replaceAll("(?<!\015)\012", " 20*ba8755cbSAndroid Build Coastguard Worker") 21*ba8755cbSAndroid Build Coastguard Worker 22*ba8755cbSAndroid Build Coastguard Worker## N.B. the available variables are described here: 23*ba8755cbSAndroid Build Coastguard Worker## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html 24*ba8755cbSAndroid Build Coastguard Worker## Hack to improve layout: replace all pairs of spaces with a single new-line 25*ba8755cbSAndroid Build Coastguard Worker$release.description.replaceAll(" ", " 26*ba8755cbSAndroid Build Coastguard Worker") 27*ba8755cbSAndroid Build Coastguard Worker 28*ba8755cbSAndroid Build Coastguard Worker## Fix up indentation for multi-line action descriptions 29*ba8755cbSAndroid Build Coastguard Worker#macro ( indent ) 30*ba8755cbSAndroid Build Coastguard Worker#set($action=$action.replaceAll("(?m)^ +"," ")) 31*ba8755cbSAndroid Build Coastguard Worker#end 32*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions().size() == 0) 33*ba8755cbSAndroid Build Coastguard WorkerNo changes defined in this version. 34*ba8755cbSAndroid Build Coastguard Worker#else 35*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('add').size() !=0) 36*ba8755cbSAndroid Build Coastguard WorkerNew features: 37*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('add')) 38*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows. 39*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n"," 40*ba8755cbSAndroid Build Coastguard Worker")) 41*ba8755cbSAndroid Build Coastguard Worker#indent() 42*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue()) 43*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue()) 44*ba8755cbSAndroid Build Coastguard Worker#else 45*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 46*ba8755cbSAndroid Build Coastguard Worker#end 47*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo()) 48*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo()) 49*ba8755cbSAndroid Build Coastguard Worker#else 50*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 51*ba8755cbSAndroid Build Coastguard Worker#end 52*ba8755cbSAndroid Build Coastguard Workero ${action}## 53*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "") 54*ba8755cbSAndroid Build Coastguard Worker 55*ba8755cbSAndroid Build Coastguard Worker Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end 56*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end 57*ba8755cbSAndroid Build Coastguard Worker#end 58*ba8755cbSAndroid Build Coastguard Worker 59*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 60*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 61*ba8755cbSAndroid Build Coastguard Worker#end 62*ba8755cbSAndroid Build Coastguard Worker#end 63*ba8755cbSAndroid Build Coastguard Worker 64*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('fix').size() !=0) 65*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 66*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('fix')) 67*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows. 68*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n"," 69*ba8755cbSAndroid Build Coastguard Worker")) 70*ba8755cbSAndroid Build Coastguard Worker#indent() 71*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue()) 72*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue()) 73*ba8755cbSAndroid Build Coastguard Worker#else 74*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 75*ba8755cbSAndroid Build Coastguard Worker#end 76*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo()) 77*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo()) 78*ba8755cbSAndroid Build Coastguard Worker#else 79*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 80*ba8755cbSAndroid Build Coastguard Worker#end 81*ba8755cbSAndroid Build Coastguard Workero ${action}## 82*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "") 83*ba8755cbSAndroid Build Coastguard Worker 84*ba8755cbSAndroid Build Coastguard Worker Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end 85*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end 86*ba8755cbSAndroid Build Coastguard Worker#end 87*ba8755cbSAndroid Build Coastguard Worker 88*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 89*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 90*ba8755cbSAndroid Build Coastguard Worker#end 91*ba8755cbSAndroid Build Coastguard Worker#end 92*ba8755cbSAndroid Build Coastguard Worker 93*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('update').size() !=0) 94*ba8755cbSAndroid Build Coastguard WorkerChanges: 95*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('update')) 96*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows. 97*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n"," 98*ba8755cbSAndroid Build Coastguard Worker")) 99*ba8755cbSAndroid Build Coastguard Worker#indent() 100*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue()) 101*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue()) 102*ba8755cbSAndroid Build Coastguard Worker#else 103*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 104*ba8755cbSAndroid Build Coastguard Worker#end 105*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo()) 106*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo()) 107*ba8755cbSAndroid Build Coastguard Worker#else 108*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 109*ba8755cbSAndroid Build Coastguard Worker#end 110*ba8755cbSAndroid Build Coastguard Workero ${action}## 111*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "") 112*ba8755cbSAndroid Build Coastguard Worker 113*ba8755cbSAndroid Build Coastguard Worker Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end 114*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end 115*ba8755cbSAndroid Build Coastguard Worker#end 116*ba8755cbSAndroid Build Coastguard Worker 117*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 118*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 119*ba8755cbSAndroid Build Coastguard Worker#end 120*ba8755cbSAndroid Build Coastguard Worker#end 121*ba8755cbSAndroid Build Coastguard Worker 122*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('remove').size() !=0) 123*ba8755cbSAndroid Build Coastguard WorkerRemoved: 124*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('remove')) 125*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows. 126*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n"," 127*ba8755cbSAndroid Build Coastguard Worker")) 128*ba8755cbSAndroid Build Coastguard Worker#indent() 129*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue()) 130*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue()) 131*ba8755cbSAndroid Build Coastguard Worker#else 132*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 133*ba8755cbSAndroid Build Coastguard Worker#end 134*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo()) 135*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo()) 136*ba8755cbSAndroid Build Coastguard Worker#else 137*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 138*ba8755cbSAndroid Build Coastguard Worker#end 139*ba8755cbSAndroid Build Coastguard Workero ${action}## 140*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "") 141*ba8755cbSAndroid Build Coastguard Worker 142*ba8755cbSAndroid Build Coastguard Worker Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end 143*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end 144*ba8755cbSAndroid Build Coastguard Worker#end 145*ba8755cbSAndroid Build Coastguard Worker 146*ba8755cbSAndroid Build Coastguard Worker#set($issue="") 147*ba8755cbSAndroid Build Coastguard Worker#set($dueto="") 148*ba8755cbSAndroid Build Coastguard Worker#end 149*ba8755cbSAndroid Build Coastguard Worker#end 150*ba8755cbSAndroid Build Coastguard Worker## End of main loop 151*ba8755cbSAndroid Build Coastguard Worker#end 152*ba8755cbSAndroid Build Coastguard Worker#macro ( fixurl $url ) 153*ba8755cbSAndroid Build Coastguard Worker$url.replaceAll("proper/commons-","") 154*ba8755cbSAndroid Build Coastguard Worker#end 155*ba8755cbSAndroid Build Coastguard WorkerFor complete information on ${project.name}, including instructions 156*ba8755cbSAndroid Build Coastguard Workeron how to submit bug reports, patches, or suggestions for improvement, 157*ba8755cbSAndroid Build Coastguard Workersee the ${project.name} website: 158*ba8755cbSAndroid Build Coastguard Worker 159*ba8755cbSAndroid Build Coastguard Worker#fixurl ( ${project.url} ) 160*ba8755cbSAndroid Build Coastguard Worker 161*ba8755cbSAndroid Build Coastguard WorkerOld Release Notes 162*ba8755cbSAndroid Build Coastguard Worker================= 163*ba8755cbSAndroid Build Coastguard Worker 164*ba8755cbSAndroid Build Coastguard WorkerRelease 1.9 165*ba8755cbSAndroid Build Coastguard Worker----------- 166*ba8755cbSAndroid Build Coastguard Worker 167*ba8755cbSAndroid Build Coastguard WorkerNew features: 168*ba8755cbSAndroid Build Coastguard Workero Added support for DEFLATE streams without any gzip framing. 169*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-263. 170*ba8755cbSAndroid Build Coastguard Worker Thanks to Matthias Stevens. 171*ba8755cbSAndroid Build Coastguard Worker 172*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 173*ba8755cbSAndroid Build Coastguard Workero When reading 7z files unknown file properties and properties of type 174*ba8755cbSAndroid Build Coastguard Worker kDummy are now ignored. 175*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-287. 176*ba8755cbSAndroid Build Coastguard Workero Expanding 7z archives using LZMA compression could cause an 177*ba8755cbSAndroid Build Coastguard Worker EOFException. 178*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-286. 179*ba8755cbSAndroid Build Coastguard Workero Long-Name and -link or PAX-header entries in TAR archives always had 180*ba8755cbSAndroid Build Coastguard Worker the current time as last modfication time, creating archives that 181*ba8755cbSAndroid Build Coastguard Worker are different at the byte level each time an archive was built. 182*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-289. 183*ba8755cbSAndroid Build Coastguard Worker Thanks to Bob Robertson. 184*ba8755cbSAndroid Build Coastguard Worker 185*ba8755cbSAndroid Build Coastguard WorkerChanges: 186*ba8755cbSAndroid Build Coastguard Workero Checking for XZ for Java may be expensive. The result will now be 187*ba8755cbSAndroid Build Coastguard Worker cached outside of an OSGi environment. You can use the new 188*ba8755cbSAndroid Build Coastguard Worker XZUtils#setCacheXZAvailability to overrride this default behavior. 189*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-285. 190*ba8755cbSAndroid Build Coastguard Worker 191*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8.1 192*ba8755cbSAndroid Build Coastguard Worker------------- 193*ba8755cbSAndroid Build Coastguard Worker 194*ba8755cbSAndroid Build Coastguard WorkerNew features: 195*ba8755cbSAndroid Build Coastguard Workero COMPRESS-272: CompressorStreamFactory can now auto-detect Unix compress 196*ba8755cbSAndroid Build Coastguard Worker (".Z") streams. 197*ba8755cbSAndroid Build Coastguard Worker 198*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 199*ba8755cbSAndroid Build Coastguard Workero COMPRESS-270: The snappy, ar and tar inputstreams might fail to read from a 200*ba8755cbSAndroid Build Coastguard Worker non-buffered stream in certain cases. 201*ba8755cbSAndroid Build Coastguard Workero COMPRESS-277: IOUtils#skip might skip fewer bytes than requested even though 202*ba8755cbSAndroid Build Coastguard Worker more could be read from the stream. 203*ba8755cbSAndroid Build Coastguard Workero COMPRESS-276: ArchiveStreams now validate there is a current entry before 204*ba8755cbSAndroid Build Coastguard Worker reading or writing entry data. 205*ba8755cbSAndroid Build Coastguard Workero ArjArchiveInputStream#canReadEntryData tested the current 206*ba8755cbSAndroid Build Coastguard Worker entry of the stream rather than its argument. 207*ba8755cbSAndroid Build Coastguard Workero COMPRESS-274: ChangeSet#delete and deleteDir now properly deal with unnamed 208*ba8755cbSAndroid Build Coastguard Worker entries. 209*ba8755cbSAndroid Build Coastguard Workero COMPRESS-273: Added a few null checks to improve robustness. 210*ba8755cbSAndroid Build Coastguard Workero COMPRESS-278: TarArchiveInputStream failed to read archives with empty 211*ba8755cbSAndroid Build Coastguard Worker gid/uid fields. 212*ba8755cbSAndroid Build Coastguard Workero COMPRESS-279: TarArchiveInputStream now again throws an exception when it 213*ba8755cbSAndroid Build Coastguard Worker encounters a truncated archive while reading from the last 214*ba8755cbSAndroid Build Coastguard Worker entry. 215*ba8755cbSAndroid Build Coastguard Workero COMPRESS-280: Adapted TarArchiveInputStream#skip to the modified 216*ba8755cbSAndroid Build Coastguard Worker IOUtils#skip method. Thanks to BELUGA BEHR. 217*ba8755cbSAndroid Build Coastguard Worker 218*ba8755cbSAndroid Build Coastguard WorkerChanges: 219*ba8755cbSAndroid Build Coastguard Workero The dependency on org.tukaani:xz is now marked as optional. 220*ba8755cbSAndroid Build Coastguard Worker 221*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8 222*ba8755cbSAndroid Build Coastguard Worker----------- 223*ba8755cbSAndroid Build Coastguard Worker 224*ba8755cbSAndroid Build Coastguard WorkerNew features: 225*ba8755cbSAndroid Build Coastguard Workero GzipCompressorInputStream now provides access to the same 226*ba8755cbSAndroid Build Coastguard Worker metadata that can be provided via GzipParameters when writing 227*ba8755cbSAndroid Build Coastguard Worker a gzip stream. 228*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-260. 229*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile now supports chaining multiple 230*ba8755cbSAndroid Build Coastguard Worker compression/encryption/filter methods and passing options to 231*ba8755cbSAndroid Build Coastguard Worker the methods. 232*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-266. 233*ba8755cbSAndroid Build Coastguard Workero The (compression) method(s) can now be specified per entry in 234*ba8755cbSAndroid Build Coastguard Worker SevenZOutputFile. 235*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-261. 236*ba8755cbSAndroid Build Coastguard Workero SevenZArchiveEntry "knows" which method(s) have been used to 237*ba8755cbSAndroid Build Coastguard Worker write it to the archive. 238*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-258. 239*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports the delta filter as method. 240*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports BCJ filters for several platforms. 241*ba8755cbSAndroid Build Coastguard Worker You will need a version >= 1.5 of XZ for Java to read archives 242*ba8755cbSAndroid Build Coastguard Worker using BCJ, though. 243*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-257. 244*ba8755cbSAndroid Build Coastguard Worker 245*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 246*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream read fewer bytes than possible from 247*ba8755cbSAndroid Build Coastguard Worker a truncated stream. 248*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-253. 249*ba8755cbSAndroid Build Coastguard Workero SevenZFile failed claiming the dictionary was too large when 250*ba8755cbSAndroid Build Coastguard Worker archives used LZMA compression for headers and content and 251*ba8755cbSAndroid Build Coastguard Worker certain non-default dictionary sizes. 252*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-253. 253*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory.createCompressorInputStream with 254*ba8755cbSAndroid Build Coastguard Worker explicit compression did not honor decompressConcatenated 255*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-259. 256*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream will now read archives created by tar 257*ba8755cbSAndroid Build Coastguard Worker implementations that encode big numbers by not adding a 258*ba8755cbSAndroid Build Coastguard Worker trailing NUL. 259*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-262. 260*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream would return NUL bytes for the first 512 261*ba8755cbSAndroid Build Coastguard Worker bytes of a STORED entry if it was the very first entry of the 262*ba8755cbSAndroid Build Coastguard Worker archive. 263*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-264. 264*ba8755cbSAndroid Build Coastguard Workero When writing PAX/POSIX headers for TAR entries with 265*ba8755cbSAndroid Build Coastguard Worker backslashes or certain non-ASCII characters in their name 266*ba8755cbSAndroid Build Coastguard Worker TarArchiveOutputStream could fail. 267*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-265. 268*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory now throws a StreamingNotSupported - a 269*ba8755cbSAndroid Build Coastguard Worker new subclass of ArchiveException - if it is asked to read from 270*ba8755cbSAndroid Build Coastguard Worker or write to a stream and Commons Compress doesn't support 271*ba8755cbSAndroid Build Coastguard Worker streaming for the format. This currently only applies to the 272*ba8755cbSAndroid Build Coastguard Worker 7z format. 273*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-267. 274*ba8755cbSAndroid Build Coastguard Worker 275*ba8755cbSAndroid Build Coastguard WorkerRelease 1.7 276*ba8755cbSAndroid Build Coastguard Worker----------- 277*ba8755cbSAndroid Build Coastguard Worker 278*ba8755cbSAndroid Build Coastguard WorkerNew features: 279*ba8755cbSAndroid Build Coastguard Workero Read-Only support for Snappy compression. 280*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-147. Thanks to BELUGA BEHR. 281*ba8755cbSAndroid Build Coastguard Workero Read-Only support for .Z compressed files. 282*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-243. Thanks to Damjan Jovanovic. 283*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries 284*ba8755cbSAndroid Build Coastguard Worker compressed using the SHRINKING method. Thanks to Damjan Jovanovic. 285*ba8755cbSAndroid Build Coastguard Workero GzipCompressorOutputStream now supports setting the compression 286*ba8755cbSAndroid Build Coastguard Worker level and the header metadata (filename, comment, modification time, 287*ba8755cbSAndroid Build Coastguard Worker operating system and extra flags) 288*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-250. Thanks to Emmanuel Bourg. 289*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries 290*ba8755cbSAndroid Build Coastguard Worker compressed using the IMPLODE method. 291*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-115. Thanks to Emmanuel Bourg. 292*ba8755cbSAndroid Build Coastguard Workero ZipFile and the 7z file classes now implement Closeable and can be 293*ba8755cbSAndroid Build Coastguard Worker used in try-with-resources constructs. 294*ba8755cbSAndroid Build Coastguard Worker 295*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 296*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile#closeArchiveEntry throws an exception when using 297*ba8755cbSAndroid Build Coastguard Worker LZMA2 compression on Java8. Issue: COMPRESS-241. 298*ba8755cbSAndroid Build Coastguard Workero 7z reading of big 64bit values could be wrong. 299*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-244. Thanks to Nico Kruber. 300*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could fail to read an archive completely. 301*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-245. 302*ba8755cbSAndroid Build Coastguard Workero The time-setters in X5455_ExtendedTimestamp now set the 303*ba8755cbSAndroid Build Coastguard Worker corresponding flags explicitly - i.e. they set the bit if the valus 304*ba8755cbSAndroid Build Coastguard Worker is not-null and reset it otherwise. This may cause 305*ba8755cbSAndroid Build Coastguard Worker incompatibilities if you use setFlags to unset a bit and later set 306*ba8755cbSAndroid Build Coastguard Worker the time to a non-null value - the flag will now be set. 307*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-242. 308*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile would create invalid archives if more than six 309*ba8755cbSAndroid Build Coastguard Worker empty files or directories were included. Issue: COMPRESS-252. 310*ba8755cbSAndroid Build Coastguard Worker 311*ba8755cbSAndroid Build Coastguard WorkerRelease 1.6 312*ba8755cbSAndroid Build Coastguard Worker----------- 313*ba8755cbSAndroid Build Coastguard Worker 314*ba8755cbSAndroid Build Coastguard WorkerVersion 1.6 introduces changes to the internal API of the tar package that 315*ba8755cbSAndroid Build Coastguard Workerbreak backwards compatibility in the following rare cases. This version 316*ba8755cbSAndroid Build Coastguard Workerremoves the package private TarBuffer class along with the protected "buffer" 317*ba8755cbSAndroid Build Coastguard Workermembers in TarArchiveInputStream and TarArchiveOutputStream. This change will 318*ba8755cbSAndroid Build Coastguard Workeronly affect you if you have created a subclass of one of the stream classes 319*ba8755cbSAndroid Build Coastguard Workerand accessed the buffer member or directly used the TarBuffer class. 320*ba8755cbSAndroid Build Coastguard Worker 321*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include: 322*ba8755cbSAndroid Build Coastguard Worker 323*ba8755cbSAndroid Build Coastguard WorkerNew features: 324*ba8755cbSAndroid Build Coastguard Workero Added support for 7z archives. Most compression algorithms 325*ba8755cbSAndroid Build Coastguard Worker can be read and written, LZMA and encryption are only 326*ba8755cbSAndroid Build Coastguard Worker supported when reading. Issue: COMPRESS-54. Thanks to Damjan Jovanovic. 327*ba8755cbSAndroid Build Coastguard Workero Added read-only support for ARJ archives that don't use 328*ba8755cbSAndroid Build Coastguard Worker compression. Issue: COMPRESS-226. Thanks to Damjan Jovanovic. 329*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream now supports an encoding parameter that 330*ba8755cbSAndroid Build Coastguard Worker can be used to specify the encoding of file names. 331*ba8755cbSAndroid Build Coastguard Workero The CPIO streams now support an encoding parameter that can be 332*ba8755cbSAndroid Build Coastguard Worker used to specify the encoding of file names. 333*ba8755cbSAndroid Build Coastguard Workero Read-only support for LZMA standalone compression has been added. 334*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-111. 335*ba8755cbSAndroid Build Coastguard Worker 336*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 337*ba8755cbSAndroid Build Coastguard Workero TarBuffer.tryToConsumeSecondEOFRecord could throw a 338*ba8755cbSAndroid Build Coastguard Worker NullPointerException Issue: COMPRESS-223. Thanks to Jeremy Gustie. 339*ba8755cbSAndroid Build Coastguard Workero Parsing of zip64 extra fields has become more lenient in order 340*ba8755cbSAndroid Build Coastguard Worker to be able to read archives created by DotNetZip and maybe 341*ba8755cbSAndroid Build Coastguard Worker other archivers as well. Issue: COMPRESS-228. 342*ba8755cbSAndroid Build Coastguard Workero TAR will now properly read the names of symbolic links with 343*ba8755cbSAndroid Build Coastguard Worker long names that use the GNU variant to specify the long file 344*ba8755cbSAndroid Build Coastguard Worker name. Issue: COMPRESS-229. Thanks to Christoph Gysin. 345*ba8755cbSAndroid Build Coastguard Workero ZipFile#getInputStream could return null if the archive 346*ba8755cbSAndroid Build Coastguard Worker contained duplicate entries. 347*ba8755cbSAndroid Build Coastguard Worker The class now also provides two new methods to obtain all 348*ba8755cbSAndroid Build Coastguard Worker entries of a given name rather than just the first one. 349*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-227. 350*ba8755cbSAndroid Build Coastguard Workero CpioArchiveInputStream failed to read archives created by 351*ba8755cbSAndroid Build Coastguard Worker Redline RPM. Issue: COMPRESS-236. Thanks to Andrew Duffy. 352*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream now properly handles link names that 353*ba8755cbSAndroid Build Coastguard Worker are too long to fit into a traditional TAR header. Issue: 354*ba8755cbSAndroid Build Coastguard Worker COMPRESS-237. Thanks to Emmanuel Bourg. 355*ba8755cbSAndroid Build Coastguard Workero The auto-detecting create*InputStream methods of Archive and 356*ba8755cbSAndroid Build Coastguard Worker CompressorStreamFactory could fail to detect the format of 357*ba8755cbSAndroid Build Coastguard Worker blocking input streams. Issue: COMPRESS-239. 358*ba8755cbSAndroid Build Coastguard Worker 359*ba8755cbSAndroid Build Coastguard WorkerChanges: 360*ba8755cbSAndroid Build Coastguard Workero Readabilty patch to TarArchiveInputStream. Issue: 361*ba8755cbSAndroid Build Coastguard Worker COMPRESS-232. Thanks to BELUGA BEHR. 362*ba8755cbSAndroid Build Coastguard Workero Performance improvements to TarArchiveInputStream, in 363*ba8755cbSAndroid Build Coastguard Worker particular to the skip method. Issue: COMPRESS-234. Thanks to 364*ba8755cbSAndroid Build Coastguard Worker BELUGA BEHR. 365*ba8755cbSAndroid Build Coastguard Worker 366*ba8755cbSAndroid Build Coastguard WorkerRelease 1.5 367*ba8755cbSAndroid Build Coastguard Worker----------- 368*ba8755cbSAndroid Build Coastguard Worker 369*ba8755cbSAndroid Build Coastguard WorkerNew features: 370*ba8755cbSAndroid Build Coastguard Worker 371*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory has an option to create decompressing 372*ba8755cbSAndroid Build Coastguard Worker streams that decompress the full input for formats that support 373*ba8755cbSAndroid Build Coastguard Worker multiple concatenated streams. 374*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-220. 375*ba8755cbSAndroid Build Coastguard Worker 376*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 377*ba8755cbSAndroid Build Coastguard Worker 378*ba8755cbSAndroid Build Coastguard Workero Typo in CompressorStreamFactory Javadoc 379*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-218. 380*ba8755cbSAndroid Build Coastguard Worker Thanks to Gili. 381*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory's tar stream detection created false positives 382*ba8755cbSAndroid Build Coastguard Worker for AIFF files. 383*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-191. 384*ba8755cbSAndroid Build Coastguard Worker Thanks to Jukka Zitting. 385*ba8755cbSAndroid Build Coastguard Workero XZ for Java didn't provide an OSGi bundle. Compress' dependency on 386*ba8755cbSAndroid Build Coastguard Worker it has now been marked optional so Compress itself can still be used 387*ba8755cbSAndroid Build Coastguard Worker in an OSGi context. 388*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-199. 389*ba8755cbSAndroid Build Coastguard Worker Thanks to Jukka Zitting. 390*ba8755cbSAndroid Build Coastguard Workero When specifying the encoding explicitly TarArchiveOutputStream would 391*ba8755cbSAndroid Build Coastguard Worker write unreadable names in GNU mode or even cause errors in POSIX 392*ba8755cbSAndroid Build Coastguard Worker mode for file names longer than 66 characters. 393*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-200. 394*ba8755cbSAndroid Build Coastguard Worker Thanks to Christian Schlichtherle. 395*ba8755cbSAndroid Build Coastguard Workero Writing TAR PAX headers failed if the generated entry name ended 396*ba8755cbSAndroid Build Coastguard Worker with a "/". 397*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-203. 398*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream sometimes failed to provide input to the 399*ba8755cbSAndroid Build Coastguard Worker Inflater when it needed it, leading to reads returning 0. 400*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-189. 401*ba8755cbSAndroid Build Coastguard Worker Thanks to Daniel Lowe. 402*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream ignored the encoding for GNU long name 403*ba8755cbSAndroid Build Coastguard Worker entries. 404*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-212. 405*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could leave the second EOF record inside the 406*ba8755cbSAndroid Build Coastguard Worker stream it had just finished reading. 407*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-206. 408*ba8755cbSAndroid Build Coastguard Worker Thanks to Peter De Maeyer. 409*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream no longer implicitly closes the original 410*ba8755cbSAndroid Build Coastguard Worker input stream when it reaches the end of the archive. 411*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now consumes the remainder of the archive when 412*ba8755cbSAndroid Build Coastguard Worker getNextZipEntry returns null. 413*ba8755cbSAndroid Build Coastguard Workero Unit tests could fail if the source tree was checked out to a 414*ba8755cbSAndroid Build Coastguard Worker directory tree containign spaces. 415*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-205. 416*ba8755cbSAndroid Build Coastguard Worker Thanks to Daniel Lowe. 417*ba8755cbSAndroid Build Coastguard Workero Fixed a potential ArrayIndexOutOfBoundsException when reading STORED 418*ba8755cbSAndroid Build Coastguard Worker entries from ZipArchiveInputStream. 419*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-219. 420*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory can now be used without XZ for Java being 421*ba8755cbSAndroid Build Coastguard Worker available. 422*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-221. 423*ba8755cbSAndroid Build Coastguard Worker 424*ba8755cbSAndroid Build Coastguard WorkerChanges: 425*ba8755cbSAndroid Build Coastguard Worker 426*ba8755cbSAndroid Build Coastguard Workero Improved exception message if a zip archive cannot be read because 427*ba8755cbSAndroid Build Coastguard Worker of an unsupported compression method. 428*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-188. 429*ba8755cbSAndroid Build Coastguard Worker Thanks to Harald Kuhn. 430*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory has a setting for file name encoding that sets 431*ba8755cbSAndroid Build Coastguard Worker up encoding for ZIP and TAR streams. 432*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-192. 433*ba8755cbSAndroid Build Coastguard Worker Thanks to Jukka Zitting. 434*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry now has a method to verify its checksum. 435*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-191. 436*ba8755cbSAndroid Build Coastguard Worker Thanks to Jukka Zitting. 437*ba8755cbSAndroid Build Coastguard Workero Split/spanned ZIP archives are now properly detected by 438*ba8755cbSAndroid Build Coastguard Worker ArchiveStreamFactory but will cause an 439*ba8755cbSAndroid Build Coastguard Worker UnsupportedZipFeatureException when read. 440*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now reads archives that start with a "PK00" 441*ba8755cbSAndroid Build Coastguard Worker signature. Archives with this signatures are created when the 442*ba8755cbSAndroid Build Coastguard Worker archiver was willing to split the archive but in the end only needed 443*ba8755cbSAndroid Build Coastguard Worker a single segment - so didn't split anything. 444*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-208. 445*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry has a new constructor that allows setting linkFlag 446*ba8755cbSAndroid Build Coastguard Worker and preserveLeadingSlashes at the same time. 447*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-201. 448*ba8755cbSAndroid Build Coastguard Workero ChangeSetPerformer has a new perform overload that uses a ZipFile 449*ba8755cbSAndroid Build Coastguard Worker instance as input. 450*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-159. 451*ba8755cbSAndroid Build Coastguard Workero Garbage collection pressure has been reduced by reusing temporary 452*ba8755cbSAndroid Build Coastguard Worker byte arrays in classes. 453*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-172. 454*ba8755cbSAndroid Build Coastguard Worker Thanks to Thomas Mair. 455*ba8755cbSAndroid Build Coastguard Workero Can now handle zip extra field 0x5455 - Extended Timestamp. 456*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-210. 457*ba8755cbSAndroid Build Coastguard Worker Thanks to Julius Davies. 458*ba8755cbSAndroid Build Coastguard Workero handle zip extra field 0x7875 - Info Zip New Unix Extra Field. 459*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-211. 460*ba8755cbSAndroid Build Coastguard Worker Thanks to Julius Davies. 461*ba8755cbSAndroid Build Coastguard Workero ZipShort, ZipLong, ZipEightByteInteger should implement Serializable 462*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-213. 463*ba8755cbSAndroid Build Coastguard Worker Thanks to Julius Davies. 464*ba8755cbSAndroid Build Coastguard Workero better support for unix symlinks in ZipFile entries. 465*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-214. 466*ba8755cbSAndroid Build Coastguard Worker Thanks to Julius Davies. 467*ba8755cbSAndroid Build Coastguard Workero ZipFile's initialization has been improved for non-Zip64 archives. 468*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-215. 469*ba8755cbSAndroid Build Coastguard Worker Thanks to Robin Power. 470*ba8755cbSAndroid Build Coastguard Workero Updated XZ for Java dependency to 1.2 as this version provides 471*ba8755cbSAndroid Build Coastguard Worker proper OSGi manifest attributes. 472*ba8755cbSAndroid Build Coastguard Worker 473*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4.1 474*ba8755cbSAndroid Build Coastguard Worker------------- 475*ba8755cbSAndroid Build Coastguard Worker 476*ba8755cbSAndroid Build Coastguard WorkerThis is a security bugfix release, see 477*ba8755cbSAndroid Build Coastguard Workerhttps://commons.apache.org/proper/commons-compress/security.html#Fixed_in_Apache_Commons_Compress_1.4.1 478*ba8755cbSAndroid Build Coastguard Worker 479*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 480*ba8755cbSAndroid Build Coastguard Worker 481*ba8755cbSAndroid Build Coastguard Workero Ported libbzip2's fallback sort algorithm to 482*ba8755cbSAndroid Build Coastguard Worker BZip2CompressorOutputStream to speed up compression in certain 483*ba8755cbSAndroid Build Coastguard Worker edge cases. 484*ba8755cbSAndroid Build Coastguard Worker 485*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4 486*ba8755cbSAndroid Build Coastguard Worker----------- 487*ba8755cbSAndroid Build Coastguard Worker 488*ba8755cbSAndroid Build Coastguard WorkerNew features: 489*ba8755cbSAndroid Build Coastguard Workero COMPRESS-156: Support for the XZ format has been added. 490*ba8755cbSAndroid Build Coastguard Worker 491*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 492*ba8755cbSAndroid Build Coastguard Workero COMPRESS-183: The tar package now allows the encoding of file names to be 493*ba8755cbSAndroid Build Coastguard Worker specified and can optionally use PAX extension headers to 494*ba8755cbSAndroid Build Coastguard Worker write non-ASCII file names. 495*ba8755cbSAndroid Build Coastguard Worker The stream classes now write (or expect to read) archives that 496*ba8755cbSAndroid Build Coastguard Worker use the platform's native encoding for file names. Apache 497*ba8755cbSAndroid Build Coastguard Worker Commons Compress 1.3 used to strip everything but the lower 498*ba8755cbSAndroid Build Coastguard Worker eight bits of each character which effectively only worked for 499*ba8755cbSAndroid Build Coastguard Worker ASCII and ISO-8859-1 file names. 500*ba8755cbSAndroid Build Coastguard Worker This new default behavior is a breaking change. 501*ba8755cbSAndroid Build Coastguard Workero COMPRESS-184: TarArchiveInputStream failed to parse PAX headers that 502*ba8755cbSAndroid Build Coastguard Worker contained non-ASCII characters. 503*ba8755cbSAndroid Build Coastguard Workero COMPRESS-178: TarArchiveInputStream throws IllegalArgumentException instead of IOException 504*ba8755cbSAndroid Build Coastguard Workero COMPRESS-179: TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long 505*ba8755cbSAndroid Build Coastguard Workero COMPRESS-175: GNU Tar sometimes uses binary encoding for UID and GID 506*ba8755cbSAndroid Build Coastguard Workero COMPRESS-171: ArchiveStreamFactory.createArchiveInputStream would claim 507*ba8755cbSAndroid Build Coastguard Worker short text files were TAR archives. 508*ba8755cbSAndroid Build Coastguard Workero COMPRESS-164: ZipFile didn't work properly for archives using unicode extra 509*ba8755cbSAndroid Build Coastguard Worker fields rather than UTF-8 filenames and the EFS-Flag. 510*ba8755cbSAndroid Build Coastguard Workero COMPRESS-169: For corrupt archives ZipFile would throw a RuntimeException in 511*ba8755cbSAndroid Build Coastguard Worker some cases and an IOException in others. It will now 512*ba8755cbSAndroid Build Coastguard Worker consistently throw an IOException. 513*ba8755cbSAndroid Build Coastguard Worker 514*ba8755cbSAndroid Build Coastguard WorkerChanges: 515*ba8755cbSAndroid Build Coastguard Workero COMPRESS-182: The tar package can now write archives that use star/GNU/BSD 516*ba8755cbSAndroid Build Coastguard Worker extensions or use the POSIX/PAX variant to store numeric 517*ba8755cbSAndroid Build Coastguard Worker values that don't fit into the traditional header fields. 518*ba8755cbSAndroid Build Coastguard Workero COMPRESS-181: Added a workaround for a Bug some tar implementations that add 519*ba8755cbSAndroid Build Coastguard Worker a NUL byte as first byte in numeric header fields. 520*ba8755cbSAndroid Build Coastguard Workero COMPRESS-176: Added a workaround for a Bug in WinZIP which uses backslashes 521*ba8755cbSAndroid Build Coastguard Worker as path separators in Unicode Extra Fields. 522*ba8755cbSAndroid Build Coastguard Workero COMPRESS-131: ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed. 523*ba8755cbSAndroid Build Coastguard Workero COMPRESS-146: BZip2CompressorInputStream now optionally supports reading of 524*ba8755cbSAndroid Build Coastguard Worker concatenated .bz2 files. 525*ba8755cbSAndroid Build Coastguard Workero COMPRESS-154: GZipCompressorInputStream now optionally supports reading of 526*ba8755cbSAndroid Build Coastguard Worker concatenated .gz files. 527*ba8755cbSAndroid Build Coastguard Workero COMPRESS-16: The tar package can now read archives that use star/GNU/BSD 528*ba8755cbSAndroid Build Coastguard Worker extensions for files that are longer than 8 GByte as well as 529*ba8755cbSAndroid Build Coastguard Worker archives that use the POSIX/PAX variant. 530*ba8755cbSAndroid Build Coastguard Workero COMPRESS-165: The tar package can now write archives that use star/GNU/BSD 531*ba8755cbSAndroid Build Coastguard Worker extensions for files that are longer than 8 GByte as well as 532*ba8755cbSAndroid Build Coastguard Worker archives that use the POSIX/PAX variant. 533*ba8755cbSAndroid Build Coastguard Workero COMPRESS-166: The tar package can now use the POSIX/PAX variant for writing 534*ba8755cbSAndroid Build Coastguard Worker entries with names longer than 100 characters. 535*ba8755cbSAndroid Build Coastguard Worker 536*ba8755cbSAndroid Build Coastguard WorkerRelease 1.3 537*ba8755cbSAndroid Build Coastguard Worker----------- 538*ba8755cbSAndroid Build Coastguard Worker 539*ba8755cbSAndroid Build Coastguard WorkerCommons Compress 1.3 is the first version to require Java5 at runtime. 540*ba8755cbSAndroid Build Coastguard Worker 541*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include: 542*ba8755cbSAndroid Build Coastguard Worker 543*ba8755cbSAndroid Build Coastguard WorkerNew features: 544*ba8755cbSAndroid Build Coastguard Workero Support for the Pack200 format has been added. Issue: COMPRESS-142. 545*ba8755cbSAndroid Build Coastguard Workero Read-only support for the format used by the Unix dump(8) tool 546*ba8755cbSAndroid Build Coastguard Worker has been added. Issue: COMPRESS-132. 547*ba8755cbSAndroid Build Coastguard Worker 548*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 549*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream's getBytesRead method always 550*ba8755cbSAndroid Build Coastguard Worker returned 0. 551*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream and ZipArchiveOutputStream could leak 552*ba8755cbSAndroid Build Coastguard Worker resources on some JDKs. Issue: COMPRESS-152. 553*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream's getBytesWritten method didn't count 554*ba8755cbSAndroid Build Coastguard Worker correctly. Issue: COMPRESS-160. 555*ba8755cbSAndroid Build Coastguard Worker 556*ba8755cbSAndroid Build Coastguard WorkerChanges: 557*ba8755cbSAndroid Build Coastguard Workero The ZIP package now supports Zip64 extensions. Issue: COMPRESS-36. 558*ba8755cbSAndroid Build Coastguard Workero The AR package now supports the BSD dialect of storing file 559*ba8755cbSAndroid Build Coastguard Worker names longer than 16 chars (both reading and writing). 560*ba8755cbSAndroid Build Coastguard Worker Issue: COMPRESS-144. 561*ba8755cbSAndroid Build Coastguard Worker 562*ba8755cbSAndroid Build Coastguard WorkerRelease 1.2 563*ba8755cbSAndroid Build Coastguard Worker----------- 564*ba8755cbSAndroid Build Coastguard Worker 565*ba8755cbSAndroid Build Coastguard WorkerNew features: 566*ba8755cbSAndroid Build Coastguard Workero COMPRESS-123: ZipArchiveEntry has a new method getRawName that provides the 567*ba8755cbSAndroid Build Coastguard Worker original bytes that made up the name. This may allow user 568*ba8755cbSAndroid Build Coastguard Worker code to detect the encoding. 569*ba8755cbSAndroid Build Coastguard Workero COMPRESS-122: TarArchiveEntry provides access to the flags that determine 570*ba8755cbSAndroid Build Coastguard Worker whether it is an archived symbolic link, pipe or other 571*ba8755cbSAndroid Build Coastguard Worker "uncommon" file system object. 572*ba8755cbSAndroid Build Coastguard Worker 573*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 574*ba8755cbSAndroid Build Coastguard Workero COMPRESS-129: ZipArchiveInputStream could fail with a "Truncated ZIP" error 575*ba8755cbSAndroid Build Coastguard Worker message for entries between 2 GByte and 4 GByte in size. 576*ba8755cbSAndroid Build Coastguard Workero COMPRESS-145: TarArchiveInputStream now detects sparse entries using the 577*ba8755cbSAndroid Build Coastguard Worker oldgnu format and properly reports it cannot extract their 578*ba8755cbSAndroid Build Coastguard Worker contents. 579*ba8755cbSAndroid Build Coastguard Workero COMPRESS-130: The Javadoc for ZipArchiveInputStream#skip now matches the 580*ba8755cbSAndroid Build Coastguard Worker implementation, the code has been made more defensive. 581*ba8755cbSAndroid Build Coastguard Workero COMPRESS-140: ArArchiveInputStream fails if entries contain only blanks for 582*ba8755cbSAndroid Build Coastguard Worker userId or groupId. Thanks to Trejkaz. 583*ba8755cbSAndroid Build Coastguard Workero COMPRESS-139: ZipFile may leak resources on some JDKs. 584*ba8755cbSAndroid Build Coastguard Workero COMPRESS-125: BZip2CompressorInputStream throws IOException if 585*ba8755cbSAndroid Build Coastguard Worker underlying stream returns available() == 0. 586*ba8755cbSAndroid Build Coastguard Worker Removed the check. 587*ba8755cbSAndroid Build Coastguard Workero COMPRESS-127: Calling close() on inputStream returned by 588*ba8755cbSAndroid Build Coastguard Worker CompressorStreamFactory.createCompressorInputStream() 589*ba8755cbSAndroid Build Coastguard Worker does not close the underlying input stream. 590*ba8755cbSAndroid Build Coastguard Workero COMPRESS-119: TarArchiveOutputStream#finish now writes all buffered 591*ba8755cbSAndroid Build Coastguard Worker data to the stream 592*ba8755cbSAndroid Build Coastguard Worker 593*ba8755cbSAndroid Build Coastguard WorkerChanges: 594*ba8755cbSAndroid Build Coastguard Workero ZipFile now implements finalize which closes the underlying 595*ba8755cbSAndroid Build Coastguard Worker file. 596*ba8755cbSAndroid Build Coastguard Workero COMPRESS-117: Certain tar files not recognised by 597*ba8755cbSAndroid Build Coastguard Worker ArchiveStreamFactory. 598*ba8755cbSAndroid Build Coastguard Worker 599*ba8755cbSAndroid Build Coastguard WorkerRelease 1.1 600*ba8755cbSAndroid Build Coastguard Worker----------- 601*ba8755cbSAndroid Build Coastguard Worker 602*ba8755cbSAndroid Build Coastguard WorkerNew features: 603*ba8755cbSAndroid Build Coastguard Workero COMPRESS-108: Command-line interface to list archive contents. 604*ba8755cbSAndroid Build Coastguard Worker Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc] 605*ba8755cbSAndroid Build Coastguard Workero COMPRESS-109: Tar implementation does not support Pax headers 606*ba8755cbSAndroid Build Coastguard Worker Added support for reading pax headers. 607*ba8755cbSAndroid Build Coastguard Worker Note: does not support global pax headers 608*ba8755cbSAndroid Build Coastguard Workero COMPRESS-103: ZipArchiveInputStream can optionally extract data that used 609*ba8755cbSAndroid Build Coastguard Worker the STORED compression method and a data descriptor. 610*ba8755cbSAndroid Build Coastguard Worker Doing so in a stream is not safe in general, so you have to 611*ba8755cbSAndroid Build Coastguard Worker explicitly enable the feature. By default the stream will 612*ba8755cbSAndroid Build Coastguard Worker throw an exception if it encounters such an entry. 613*ba8755cbSAndroid Build Coastguard Workero COMPRESS-98: The ZIP classes will throw specialized exceptions if any 614*ba8755cbSAndroid Build Coastguard Worker attempt is made to read or write data that uses zip features 615*ba8755cbSAndroid Build Coastguard Worker not supported (yet). 616*ba8755cbSAndroid Build Coastguard Workero COMPRESS-99: ZipFile#getEntries returns entries in a predictable order - 617*ba8755cbSAndroid Build Coastguard Worker the order they appear inside the central directory. 618*ba8755cbSAndroid Build Coastguard Worker A new method getEntriesInPhysicalOrder returns entries in 619*ba8755cbSAndroid Build Coastguard Worker order of the entry data, i.e. the order ZipArchiveInputStream 620*ba8755cbSAndroid Build Coastguard Worker would see. 621*ba8755cbSAndroid Build Coastguard Workero The Archive*Stream and ZipFile classes now have 622*ba8755cbSAndroid Build Coastguard Worker can(Read|Write)EntryData methods that can be used to check 623*ba8755cbSAndroid Build Coastguard Worker whether a given entry's data can be read/written. 624*ba8755cbSAndroid Build Coastguard Worker The method currently returns false for ZIP archives if an 625*ba8755cbSAndroid Build Coastguard Worker entry uses an unsupported compression method or encryption. 626*ba8755cbSAndroid Build Coastguard Workero COMPRESS-89: The ZIP classes now detect encrypted entries. 627*ba8755cbSAndroid Build Coastguard Workero COMPRESS-97: Added autodetection of compression format to 628*ba8755cbSAndroid Build Coastguard Worker CompressorStreamFactory. 629*ba8755cbSAndroid Build Coastguard Workero COMPRESS-95: Improve ExceptionMessages in ArchiveStreamFactory Thanks to Joerg Bellmann. 630*ba8755cbSAndroid Build Coastguard Workero A new constructor of TarArchiveEntry can create entries with 631*ba8755cbSAndroid Build Coastguard Worker names that start with slashes - the default is to strip 632*ba8755cbSAndroid Build Coastguard Worker leading slashes in order to create relative path names. 633*ba8755cbSAndroid Build Coastguard Workero ArchiveEntry now has a getLastModifiedDate method. 634*ba8755cbSAndroid Build Coastguard Workero COMPRESS-78: Add a BZip2Utils class modelled after GZipUtils Thanks to Jukka Zitting. 635*ba8755cbSAndroid Build Coastguard Worker 636*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs: 637*ba8755cbSAndroid Build Coastguard Workero COMPRESS-72: Move acknowledgements from NOTICE to README 638*ba8755cbSAndroid Build Coastguard Workero COMPRESS-113: TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size 639*ba8755cbSAndroid Build Coastguard Workero COMPRESS-118: TarUtils.parseName does not properly handle characters outside the range 0-127 640*ba8755cbSAndroid Build Coastguard Workero COMPRESS-107: ArchiveStreamFactory does not recognise tar files created by Ant 641*ba8755cbSAndroid Build Coastguard Workero COMPRESS-110: Support "ustar" prefix field, which is used when file paths are longer 642*ba8755cbSAndroid Build Coastguard Worker than 100 characters. 643*ba8755cbSAndroid Build Coastguard Workero COMPRESS-100: ZipArchiveInputStream will throw an exception if it detects an 644*ba8755cbSAndroid Build Coastguard Worker entry that uses a data descriptor for a STORED entry since it 645*ba8755cbSAndroid Build Coastguard Worker cannot reliably find the end of data for this "compression" 646*ba8755cbSAndroid Build Coastguard Worker method. 647*ba8755cbSAndroid Build Coastguard Workero COMPRESS-101: ZipArchiveInputStream should now properly read archives that 648*ba8755cbSAndroid Build Coastguard Worker use data descriptors but without the "unofficial" signature. 649*ba8755cbSAndroid Build Coastguard Workero COMPRESS-74: ZipArchiveInputStream failed to update the number of bytes 650*ba8755cbSAndroid Build Coastguard Worker read properly. 651*ba8755cbSAndroid Build Coastguard Workero ArchiveInputStream has a new method getBytesRead that should 652*ba8755cbSAndroid Build Coastguard Worker be preferred over getCount since the later may truncate the 653*ba8755cbSAndroid Build Coastguard Worker number of bytes read for big archives. 654*ba8755cbSAndroid Build Coastguard Workero COMPRESS-85: The cpio archives created by CpioArchiveOutputStream couldn't 655*ba8755cbSAndroid Build Coastguard Worker be read by many existing native implementations because the 656*ba8755cbSAndroid Build Coastguard Worker archives contained multiple entries with the same inode/device 657*ba8755cbSAndroid Build Coastguard Worker combinations and weren't padded to a blocksize of 512 bytes. 658*ba8755cbSAndroid Build Coastguard Workero COMPRESS-73: ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now 659*ba8755cbSAndroid Build Coastguard Worker more lenient when parsing extra fields. 660*ba8755cbSAndroid Build Coastguard Workero COMPRESS-82: cpio is terribly slow. 661*ba8755cbSAndroid Build Coastguard Worker Documented that buffered streams are needed for performance 662*ba8755cbSAndroid Build Coastguard Workero Improved exception message if the extra field data in ZIP 663*ba8755cbSAndroid Build Coastguard Worker archives cannot be parsed. 664*ba8755cbSAndroid Build Coastguard Workero COMPRESS-17: Tar format unspecified - current support documented. 665*ba8755cbSAndroid Build Coastguard Workero COMPRESS-94: ZipArchiveEntry's equals method was broken for entries created 666*ba8755cbSAndroid Build Coastguard Worker with the String-arg constructor. This lead to broken ZIP 667*ba8755cbSAndroid Build Coastguard Worker archives if two different entries had the same hash code. Thanks to Anon Devs. 668*ba8755cbSAndroid Build Coastguard Workero COMPRESS-87: ZipArchiveInputStream could repeatedly return 0 on read() when 669*ba8755cbSAndroid Build Coastguard Worker the archive was truncated. Thanks to Antoni Mylka. 670*ba8755cbSAndroid Build Coastguard Workero COMPRESS-86: Tar archive entries holding the file name for names longer 671*ba8755cbSAndroid Build Coastguard Worker than 100 characters in GNU longfile mode didn't properly 672*ba8755cbSAndroid Build Coastguard Worker specify they'd be using the "oldgnu" extension. 673*ba8755cbSAndroid Build Coastguard Workero COMPRESS-83: Delegate all read and write methods in GZip stream in order to 674*ba8755cbSAndroid Build Coastguard Worker speed up operations. 675*ba8755cbSAndroid Build Coastguard Workero The ar and cpio streams now properly read and write last 676*ba8755cbSAndroid Build Coastguard Worker modified times. 677*ba8755cbSAndroid Build Coastguard Workero COMPRESS-81: TarOutputStream can leave garbage at the end of the archive 678*ba8755cbSAndroid Build Coastguard Worker 679*ba8755cbSAndroid Build Coastguard WorkerChanges: 680*ba8755cbSAndroid Build Coastguard Workero COMPRESS-112: ArArchiveInputStream does not handle GNU extended filename records (//) 681*ba8755cbSAndroid Build Coastguard Workero COMPRESS-105: Document that the name of an ZipArchiveEntry determines whether 682*ba8755cbSAndroid Build Coastguard Worker an entry is considered a directory or not. 683*ba8755cbSAndroid Build Coastguard Worker If you don't use the constructor with the File argument the entry's 684*ba8755cbSAndroid Build Coastguard Worker name must end in a "/" in order for the entry to be known as a directory. 685*ba8755cbSAndroid Build Coastguard Workero COMPRESS-79: Move DOS/Java time conversions into Zip utility class. 686*ba8755cbSAndroid Build Coastguard Workero COMPRESS-75: ZipArchiveInputStream does not show location in file 687*ba8755cbSAndroid Build Coastguard Worker where a problem occurred. 688*ba8755cbSAndroid Build Coastguard Worker 689