Apache Commons logo Commons IO

Upgrade

These are the release notes and advice for upgrading Commons-IO from version 2.3 to version 2.4

Commons IO is a package of Java utility classes like java.io.  
Classes in this package are considered to be so standard and of such high 
reuse as to justify existence in java.io.

The Commons IO library contains utility classes, stream implementations, file filters, 
file comparators, endian transformation classes, and much more.

==============================================================================
Apache Commons IO Version 2.4-SNAPSHOT
==============================================================================

Changes in this version include:

New features:
o IO-269:  Tailer locks file from deletion/rename on Windows. Thanks to sebb. 
o IO-333:  Export OSGi packages at version 1.x in addition to 2.x. Thanks to fmeschbe. 
o IO-320:  Add XmlStreamReader support for UTF-32. Thanks to ggregory. 
o IO-331:  BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). Thanks to ggregory. 
o IO-327:  Add byteCountToDisplaySize(BigInteger). Thanks to ggregory. 
o IO-326:  Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. Thanks to ggregory. 
o IO-325:  Add IOUtils.toByteArray methods to work with URL and URI. Thanks to raviprak. 
o IO-324:  Add missing Charset sister APIs to method that take a String charset name. Thanks to raviprak. 

Fixed Bugs:
o IO-279:  Tailer erroneously considers file as new. Thanks to Sergio Bossa, Chris Baron. 
o IO-335:  Tailer#readLines - incorrect CR handling. 
o IO-334:  FileUtils.toURLs throws NPE for null parameter; document the behavior. 
o IO-332:  Improve tailer's reading performance. Thanks to liangly. 
o IO-279:  Improve Tailer performance with buffered reads (see IO-332). 
o IO-329:  FileUtils.writeLines uses unbuffered IO. Thanks to tivv. 
o IO-319:  FileUtils.sizeOfDirectory follows symbolic links. Thanks to raviprak. 

Compatibility with 2.3:
Binary compatible: Yes.
Source compatible: Yes.
Semantic compatible: Yes.

Compatibility with 2.2 and 1.4:
Binary compatible: Yes.
Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.

Commons IO 2.4 requires JDK 1.6 or later.
Commons IO 2.3 requires JDK 1.6 or later.
Commons IO 2.2 requires JDK 1.5 or later.
Commons IO 1.4 requires JDK 1.3 or later.