[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    svn commit: r22054 - /dev/commons/io/commons-io-2.6-RC1/RELEASE-NOTES.txt
From:       britter () apache ! org
Date:       2017-09-30 15:53:57
Message-ID: 20170930155357.D3B393A02E8 () svn01-us-west ! apache ! org
[Download RAW message or body]

Author: britter
Date: Sat Sep 30 15:53:57 2017
New Revision: 22054

Log:
Add correct release notes for Apache Commons IO 2.6

Added:
    dev/commons/io/commons-io-2.6-RC1/RELEASE-NOTES.txt

Added: dev/commons/io/commons-io-2.6-RC1/RELEASE-NOTES.txt
==============================================================================
--- dev/commons/io/commons-io-2.6-RC1/RELEASE-NOTES.txt (added)
+++ dev/commons/io/commons-io-2.6-RC1/RELEASE-NOTES.txt Sat Sep 30 15:53:57 2017
@@ -0,0 +1,1107 @@
+                    Apache Commons IO
+                       Version 2.6
+                      Release Notes
+
+INTRODUCTION:
+
+Apache 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 Apache Commons IO library contains utility classes, stream implementations,
+file filters, file comparators, endian transformation classes, and much more.
+
+Apache Commons IO 2.6 requires at least Java 7 to build and run.
+
+
+DEPRECATIONS
+============
+
+All closeQuietly overloads in org.apache.commons.io.IOUtils have been
+deprecated. Use the try-with-resources statement or handle suppressed
+exceptions manually.
+
+The class org.apache.commons.io.FileSystemUtils has been deprecated.
+Use equivalent methods in java.nio.file.FileStore instead, e.g.
+Files.getFileStore(Paths.get("/home")).getUsableSpace() or iterate over
+FileSystems.getDefault().getFileStores().
+
+
+COMPATIBILITY WITH JAVA 9
+==================
+
+The MANIFEST.MF now contains an additional entry:
+
+  Automatic-Module-Name: org.apache.commons.io
+
+This should make it possible to use Commons IO 2.6 as a module in the Java 9
+module system. For more information see the corresponding issue:
+
+    https://issues.apache.org/jira/browse/IO-551
+
+Building Commons IO 2.6 should work out of the box with the latest Java 9
+release. Please report any Java 9 related issues at:
+
+    https://issues.apache.org/jira/browse/IO
+
+
+NEW FEATURES
+============
+
+o IO-551: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
+o IO-367: Add convenience methods for copyToDirectory. Thanks to James Sawle.
+o IO-493: Add infinite circular input stream. Thanks to Piotr Turski.
+o IO-507: Add a ByteOrderUtils class.
+o IO-518: Add ObservableInputStream.
+o IO-519: Add MessageDigestCalculatingInputStream.
+o IO-513: Add convenience methods for reading class path resources.
+          Thanks to Behrang Saeedzadeh.
+
+FIXED BUGS
+==========
+
+o IO-550: Documentation issue, fix 404 Javadoc issues in the description page.
+          Thanks to Jimi Adrian.
+o IO-442: Javadoc contradictory for FileFilterUtils.ageFileFilter(cutoff) and
+          the filter it constructs: AgeFileFilter(cutoff).
+          Thanks to Simon Robinson.
+o IO-534: FileUtilTestCase.testForceDeleteDir() should not delete testDirectory
+          parent.
+o IO-528: Fix Tailer.run race condition runaway logging. Thanks to Dave Moten.
+o IO-483: getPrefixLength return -1 if unix file contains colon.
+          Thanks to Marko Vasic.
+o IO-520: FileUtilsTestCase#testContentEqualsIgnoreEOL fails on Windows.
+o IO-516: .gitattributes not correctly applied. Thanks to Jason Pyeron.
+o IO-515: Allow Specifying Initial Buffer Size of DeferredFileOutputStream.
+          Thanks to Brett Lounsbury, Gary Gregory.
+o IO-512: ThresholdingOutputStream.thresholdReached() results in
+          FileNotFoundException. Thanks to Ralf Hauser.
+o IO-511: After a few unit tests, a few newly created directories not cleaned
+          completely. Thanks to Ahmet Celik.
+o IO-502: Exceptions are suppressed incorrectly when copying files.
+          Thanks to Christian Schulte.
+o IO-503: Update platform requirement to Java 7.
+o IO-537: BOMInputStream shouldn't sort array of BOMs in-place.
+          Thanks to Borys Zibrov.
+
+CHANGES
+=======
+
+o IO-542: FileUtils#readFileToByteArray: optimize reading of files with known
+          size. Thanks to Ilmars Poikans.
+o IO-547: Throw a IllegalArgumentException instead of NullPointerException in
+          FileSystemUtils.freeSpaceWindows(). Thanks to Nikhil Shinde,
+          Michael Ernst, Gary Greory.
+o IO-506: Deprecate methods FileSystemUtils.freeSpaceKb().
+          Thanks to Christian Schulte.
+o IO-505: Make LineIterator implement Closeable to support try-with-resources
+          statements. Thanks to Christian Schulte.
+o IO-504: Deprecated of all IOUtils.closeQuietly() methods and use
+          try-with-resources internally. Thanks to Christian Schulte.
+
+REMOVED
+=======
+
+o IO-514: Remove org.apache.commons.io.Java7Support.
+
+COMPATIBILITY WITH OLDER VERSIONS
+=================================
+
+Compatibility with 2.5:
+Binary compatible: Yes.
+Source compatible: Yes.
+Semantic compatible: Yes.
+
+Compatibility with 2.6 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.6 requires JDK 1.7 or later.
+Commons IO 2.5 requires JDK 1.6 or later.
+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.
+
+==============================================================================
+Apache Commons IO Version 2.5
+==============================================================================
+New features and bug fixes.
+
+Changes in this version include:
+
+New features:
+o IO-487:  Add ValidatingObjectInputStream for controlled deserialization 
+o IO-471:  Support for additional encodings in ReversedLinesFileReader Thanks to \
Leandro Reis.  +o IO-425:  Setter method for threshold on ThresholdingOutputStream \
Thanks to Craig Swank.  +o IO-406:  Introduce new class AppendableOutputStream Thanks \
to Niall Pemberton.  +o IO-459:  Add WindowsLineEndingInputStream and \
UnixLineEndingInputStream. Thanks to Kristian Rosenvold.  +o IO-457:  Add a \
BoundedReader, a wrapper that can be used to constrain access +        to an \
underlying stream when used with mark/reset - +        to avoid overflowing the mark \
limit of the underlying buffer. Thanks to Kristian Rosenvold.  +o IO-426:  Add API \
IOUtils.closeQuietly(Closeable...)  +o IO-410:  Readfully() That Returns A Byte Array \
Thanks to Beluga Behr.  +o IO-395:  Overload IOUtils buffer methods to accept buffer \
size Thanks to Beluga Behr.  +o IO-382:  Chunked IO for large arrays.
+         Added writeChunked(byte[], OutputStream) and writeChunked(char[] Writer)
+         Added ChunkedOutputStream, ChunkedWriter 
+o IO-233:  Add Methods for Buffering Streams/Writers To IOUtils
+         Added overloaded buffer() methods - see also IO-330 
+o IO-330:  IOUtils#toBufferedOutputStream/toBufferedWriter to conditionally wrap the \
output +         Added overloaded buffer() methods - see also IO-233 
+o IO-381:  Add FileUtils.copyInputStreamToFile API with option to leave the source \
open. +        See copyInputStreamToFile(final InputStream source, final File \
destination, boolean closeSource)  +o IO-379:  CharSequenceInputStream - add tests \
for available() +         Fix code so it really does reflect a minimum available. 
+o IO-346:  Add ByteArrayOutputStream.toInputStream() 
+o IO-341:  A constant for holding the BOM character (U+FEFF) 
+o IO-361:  Add API FileUtils.forceMkdirsParent(). 
+o IO-360:  Add API Charsets.requiredCharsets(). 
+o IO-359:  Add IOUtils.skip and skipFully(ReadableByteChannel, long). Thanks to \
yukoba.  +o IO-358:  Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer \
buffer). Thanks to yukoba.  +o IO-353:  Add API IOUtils.copy(InputStream, \
OutputStream, int) Thanks to ggregory.  +o IO-349:  Add API with array offset and \
length argument to FileUtils.writeByteArrayToFile. Thanks to scop.  +o IO-348:  \
Missing information in IllegalArgumentException thrown by \
org.apache.commons.io.FileUtils#validateListFilesParameters. Thanks to plcstpierre.  \
+o IO-345:  Supply a hook method allowing Tailer actively determining stop condition. \
Thanks to mkresse.  +o IO-437:  Make IOUtils.EOF public and reuse it in various \
classes.  +
+Fixed Bugs:
+o IO-446:  adds an endOfFileReached method to the TailerListener Thanks to Jeffrey \
Barrus.  +o IO-484:  FilenameUtils should handle embedded null bytes Thanks to \
Philippe Arteau.  +o IO-481:  Changed/Corrected algorithm for waitFor 
+o IO-428:  BOMInputStream.skip returns wrong count if stream contains no BOM Thanks \
to Stefan Gmeiner.  +o IO-488:  FileUtils.waitFor(...) swallows thread interrupted \
status Thanks to Björn Buchner.  +o IO-452:  Support for symlinks with missing \
target. Added support for JDK7 symlink features when present Thanks to David \
Standish.  +o IO-453:  Regression in FileUtils.readFileToString from 2.0.1 Thanks to \
Steven Christou.  +o IO-451:  ant test fails - resources missing from test classpath \
Thanks to David Standish.  +o IO-435:  Document that FileUtils.deleteDirectory, \
directoryContains and cleanDirectory +         may throw an IllegalArgumentException \
in case the passed directory does not +         exist or is not a directory. Thanks \
to Dominik Stadler.  +o IO-424:  Javadoc fixes, mostly to appease 1.8.0 Thanks to \
Ville Skyttä.  +o IO-389:  FileUtils.sizeOfDirectory can throw \
IllegalArgumentException Thanks to Austin Doupnik.  +o IO-390:  \
FileUtils.sizeOfDirectoryAsBigInteger can overflow. +         Ensure that recursive \
calls all use BigInteger  +o IO-385:  FileUtils.doCopyFile can potentially loop for \
ever +         Exit loop if no data to copy 
+o IO-383:  FileUtils.doCopyFile caches the file size; needs to be documented
+         Added Javadoc; show file lengths in exception message 
+o IO-380:  FileUtils.copyInputStreamToFile should document it closes the input \
source Thanks to claudio_ch.  +o IO-279:  Tailer erroneously considers file as new.
+        Fix to use file.lastModified() rather than System.currentTimeMillis() 
+o IO-356:  CharSequenceInputStream#reset() behaves incorrectly in case when buffer \
size is not dividable by data size. +         Fix code so skip relates to the encoded \
bytes; reset now re-encodes the data up to the point of the mark  +o IO-368:  \
ClassLoaderObjectInputStream does not handle primitive typed members  +o IO-314:  \
Deprecate all methods that use the default encoding  +o IO-338:  When a file is \
rotated, finish reading previous file prior to starting new one  +o IO-354:  Commons \
IO Tailer does not respect UTF-8 Charset.  +o IO-323:  What should happen in \
FileUtils.sizeOf[Directory] when an overflow takes place? +        Added Javadoc. 
+o IO-372:  FileUtils.moveDirectory can produce misleading error message on failiure 
+o IO-362:  IOUtils.contentEquals* methods returns false if input1 == input2, should \
return true. Thanks to mmadson, ggregory.  +o IO-357:  [Tailer] InterruptedException \
while the thread is sleeping is silently ignored Thanks to mortenh.  +o IO-352:  \
Spelling fixes. Thanks to scop.  +o IO-436:  Improper JavaDoc comment for \
FilenameUtils.indexOfExtension. Thanks to christoph.schneegans.  +
+Changes:
+o IO-433:  Converted all testcases to JUnit 4 
+o IO-466:  Added testcase to show this was fixed with IO-423 
+o IO-479:  Correct exception message in FileUtils.getFile(File, String...) Thanks to \
Zhouce Chen.  +o IO-465:  Update to JUnit 4.12 Thanks to based2. 
+o IO-462:  IOExceptionWithCause no longer needed 
+o IO-422:  Deprecate Charsets Charset constants in favor of Java 7's \
java.nio.charset.StandardCharsets  +o IO-239:  Convert IOCase to a Java 1.5+ \
Enumeration +         [N.B. this is binary compatible] 
+o IO-328:  getPrefixLength returns null if filename has leading slashes
+        Javadoc: add examples to show correct behaviour; add unit tests 
+o IO-299:  FileUtils.listFilesAndDirs includes original dir in results even when it \
doesn't match filter +        Javadoc: clarify that original dir is included in the \
results  +o IO-375:  FilenameUtils.splitOnTokens(String text) check for '**' could be \
simplified  +o IO-374:  WildcardFileFilter ctors should not use null to mean \
IOCase.SENSITIVE when delegating to other ctors  +
+Compatibility with 2.4:
+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.5 requires JDK 1.6 or later.
+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.
+
+==============================================================================
+Apache Commons IO Version 2.4
+==============================================================================
+
+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-336:  Yottabyte (YB) incorrectly defined in FileUtils. Thanks to
+rleavelle.
+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.
+
+==============================================================================
+Apache Commons IO Version 2.3
+==============================================================================
+
+Changes in this version include:
+
+New features:
+o IO-322:  Add and use class Charsets. Thanks to ggregory. 
+o IO-321:  ByteOrderMark UTF_32LE is incorrect. Thanks to ggregory. 
+o IO-318:  Add Charset sister APIs to method that take a String charset name. Thanks \
to ggregory.  +
+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.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.
+
+==============================================================================
+Apache Commons IO Version 2.2
+==============================================================================
+
+Changes in this version include:
+
+New features:
+o Add IOUTils.toBufferedReader(Reader)  Issue: IO-313. Thanks to ggregory. 
+o Allow applications to provide buffer (or size) for copyLarge methods.  Issue: \
IO-308. Thanks to Manoj Mokashi.  +o New copyLarge() method in IOUtils that takes \
additional offset, length arguments  Issue: IO-305. Thanks to Manoj Mokashi.  +o Use \
terabyte (TB), petabyte (PB) and exabyte (EB) in \
FileUtils.byteCountToDisplaySize(long size)  Issue: IO-287. Thanks to Ron Kuris, Gary \
Gregory.  +o FileUtils.listFiles() doesn't return directories  Issue: IO-173. Thanks \
to Marcos Vinícius da Silva.  +o CharSequenceInputStream to efficiently stream \
content of a CharSequence  Issue: IO-297. Thanks to Oleg Kalnichevski.  +o The second \
constructor of Tailer class does not pass 'delay' to the third one  Issue: IO-304. \
Thanks to liangly.  +o TeeOutputStream does not call branch.close() when main.close() \
throws an exception  Issue: IO-303. Thanks to fabian.barney.  +o \
ArrayIndexOutOfBoundsException in BOMInputStream when reading a file without BOM \
multiple times  Issue: IO-302. Thanks to jsteuerwald, detinho.  +o Add \
IOUtils.closeQuietly(Selector) necessary  Issue: IO-301. Thanks to kaykay.unique.  +o \
IOUtils.closeQuietly() should take a ServerSocket as a parameter  Issue: IO-292. \
Thanks to sebb.  +o Add read/readFully methods to IOUtils  Issue: IO-290. Thanks to \
sebb.  +o Supply a ReversedLinesFileReader  Issue: IO-288. Thanks to Georg Henzler. 
+o Add new function FileUtils.directoryContains.  Issue: IO-291. Thanks to ggregory. 
+o FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line \
endings" +        Added contentEqualsIgnoreEOL methods to both classes  Issue: \
IO-275. Thanks to CJ Aspromgos.  +
+Fixed Bugs:
+o IOUtils.read(InputStream/Reader) ignores the offset parameter  Issue: IO-311. \
Thanks to Robert Muir.  +o CharSequenceInputStream(CharSequence s, Charset charset, \
int bufferSize) ignores bufferSize  Issue: IO-312.  +o \
FileUtils.moveDirectoryToDirectory removes source directory if destination is a \
subdirectory  Issue: IO-300.  +o ReaderInputStream#read(byte[] b, int off, int len) \
should check for valid parameters  Issue: IO-307.  +o ReaderInputStream#read(byte[] \
b, int off, int len) should always return 0 for length == 0  Issue: IO-306.  +o \
"FileUtils#deleteDirectoryOnExit(File)" does not work  Issue: IO-276. Thanks to \
nkami.  +o BoundedInputStream.read() treats max differently from \
BoundedInputStream.read(byte[]...)  Issue: IO-273. Thanks to sebb.  +o Various \
methods of class 'org.apache.commons.io.FileUtils' incorrectly suppress \
'java.io.IOException'  Issue: IO-298. Thanks to Christian Schulte.  +
+Changes:
+o ReaderInputStream optimization: more efficient reading of small chunks of data  \
Issue: IO-296. Thanks to Oleg Kalnichevski.  +
+
+Compatibility with 2.1 and 1.4:
+Binary compatible: Yes
+Source compatible: Yes
+Semantic compatible: Yes. Check the bug fixes section for semantic bug fixes
+
+Commons IO 2.2 requires a minimum of JDK 1.5. 
+Commons IO 1.4 requires a minimum of JDK 1.3. 
+
+==============================================================================
+Apache Commons IO Version 2.1
+==============================================================================
+
+New features:
+o Use standard Maven directory layout  Issue: IO-285. Thanks to ggregory. 
+o Add IOUtils API toString for URL and URI to get contents  Issue: IO-284. Thanks to \
ggregory.  +o Add API FileUtils.copyFile(File input, OutputStream output)  Issue: \
IO-282. Thanks to ggregory.  +o FileAlterationObserver has no getter for FileFilter  \
Issue: IO-262.  +o Add FileUtils.getFile API with varargs parameter  Issue: IO-261. 
+o Add new APPEND parameter for writing string into files  Issue: IO-182. 
+o Add new read method "toByteArray" to handle InputStream with known size.  Issue: \
IO-251. Thanks to Marco Albini.  +
+Fixed Bugs:
+o Dubious use of mkdirs() return code  Issue: IO-280. Thanks to sebb. 
+o ReaderInputStream enters infinite loop when it encounters an unmappable character  \
Issue: IO-277.  +o FileUtils.moveFile() JavaDoc should specify FileExistsException \
thrown  Issue: IO-264.  +o ClassLoaderObjectInputStream does not handle Proxy classes \
Issue: IO-260.  +o Tailer returning partial lines when reaching EOF before EOL  \
Issue: IO-274. Thanks to Frank Grimes.  +o FileUtils.copyFile() throws IOException \
when copying large files to a shared directory (on Windows)  Issue: IO-266. Thanks to \
Igor Smereka.  +o FileSystemUtils.freeSpaceKb throws exception for Windows volumes \
with no visible files. +        Improve coverage by also looking for hidden files.  \
Issue: IO-263. Thanks to Gil Adam.  +
+Changes:
+o FileAlterationMonitor.stop(boolean allowIntervalToFinish)  Issue: IO-259. 
+
+==============================================================================
+Apache Commons IO Package 2.0.1
+==============================================================================
+
+Compatibility with 2.0 and 1.4
+------------------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+  Check the bug fixes section for semantic bug fixes
+
+Commons IO 2.0.1 requires a minimum of JDK 1.5
+ (Commons IO 1.4 had a minimum of JDK 1.3) 
+
+Enhancements from 2.0
+---------------------
+
+   * [IO-256] - Provide thread factory for FileAlternationMonitor
+
+Bug fixes from 2.0
+------------------
+
+   * [IO-257] - BOMInputStream.read(byte[]) can return 0 which it should not
+   * [IO-258] - XmlStreamReader consumes the stream during encoding detection
+
+==============================================================================
+Apache Commons IO Package 2.0
+==============================================================================
+
+Compatibility with 1.4
+----------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+  Check the bug fixes section for semantic bug fixes
+
+Commons IO 2.0 requires a minimum of JDK 1.5
+ (Commons IO 1.4 had a minimum of JDK 1.3) 
+
+Deprecations from 1.4
+---------------------
+
+- IOUtils
+  - write(StringBuffer, Writer) in favour of write(CharSequence, Writer)
+  - write(StringBuffer, OutputStream)  in favour of write(CharSequence, \
OutputStream) +  - write(StringBuffer, OutputStream, String) in favour of \
write(CharSequence, OutputStream, String) +
+- FileFilterUtils
+  - andFileFilter(IOFileFilter, IOFileFilter) in favour of and(IOFileFilter...) 
+  - orFileFilter(IOFileFilter, IOFileFilter)  in favour of or(IOFileFilter...)
+
+Enhancements from 1.4
+---------------------
+
+  * [IO-140] Move minimum Java requirement from JDK 1.3 to JDK 1.5
+             - use Generics
+             - add new CharSequence write() flavour methods to IOUtils and FileUtils
+             - replace StringBuffer with StringBuilder, where appropriate
+             - add new Reader/Writer methods to ProxyReader and ProxyWriter
+             - Annotate with @Override and @Deprecated
+
+  * [IO-178] New BOMInputStream and ByteOrderMark implementations - to detect and \
optionally exclude an initial Byte Order mark (BOM) +  * [IO-197] New \
BoundedInputStream (copied from from Apache JackRabbit) +  * [IO-193] New Broken \
Input and Output streams +  * [IO-132] New File Listener/Monitor facility
+  * [IO-158] New ReaderInputStream and WriterOutputStream implementations
+  * [IO-139] New StringBuilder Writer implementation
+  * [IO-192] New Tagged Input and Output streams
+  * [IO-177] New Tailer class - simple implementation of the Unix "tail -f" \
functionality +  * [IO-162] New XML Stream Reader/Writer implementations (from ROME \
via plexus-utils) +
+  * [IO-142] Comparators - add facility to sort file lists/arrays
+  * [IO-186] Comparators - new Composite and Directory File Comparator \
implementations +  * [IO-176] DirectoryWalker - add filterDirectoryContents() \
callback method for filtering directory contents +  * [IO-210] FileFilter - new Magic \
Number FileFilter +  * [IO-221] FileFilterUtils - add methods for suffix and prefix \
filters which take an IOCase object +  * [IO-232] FileFilterUtils - add method for \
name filters which take an IOCase object +  * [IO-229] FileFilterUtils - add varargs \
and() and or() methods +  * [IO-198] FileFilterUtils - add ability to apply file \
filters to collections and arrays +  * [IO-156] FilenameUtils - add normalize() and \
normalizeNoEndSeparator() methods which allow the separator character to be specified \
+  * [IO-194] FileSystemUtils - add freeSpaceKb() method with no input arguments +  * \
[IO-185] FileSystemUtils - add freeSpaceKb() methods that take a timeout parameter - \
fixes freeSpaceWindows() blocks +  * [IO-155] FileUtils - use NIO to copy files
+  * [IO-168] FileUtils - add new isSymlink() method
+  * [IO-219] FileUtils - throw FileExistsException when moving a file or directory \
if the destination already exists +  * [IO-234] FileUtils - add Methods for \
retrieving System User/Temp directories/paths +  * [IO-208] FileUtils - add timeout \
(connection and read) support for copyURLToFile() method  +  * [IO-238] FileUtils - \
add sizeOf(File) method +  * [IO-181] LineIterator now implements Iterable
+  * [IO-224] IOUtils - add closeQuietly(Closeable) and closeQuietly(Socket) methods
+  * [IO-203] IOUtils - add skipFully() method for InputStreams
+  * [IO-137] IOUtils and ByteArrayOutputStream - add toBufferedInputStream() method \
to avoid unnecessary array allocation/copy +  * [IO-195] Proxy streams/Reader/Writer \
- provide exception handling methods +  * [IO-211] Proxy Input/Output streams - add \
pre/post processing support +  * [IO-242] Proxy Reader/Writer - add pre/post \
processing support +
+Bug fixes from 1.4
+------------------
+  * [IO-214] ByteArrayOutputStream - fix inconsistent synchronization of fields
+  * [IO-201] Counting Input/Output streams - fix inconsistent synchronization
+  * [IO-159] FileCleaningTracker - fix remove() never returns null
+  * [IO-220] FileCleaningTracker - fix Vector performs badly under load
+  * [IO-167] FilenameUtils - fix case-insensitive string handling in FilenameUtils \
and FilesystemUtils +  * [IO-179] FilenameUtils - fix StringIndexOutOfBounds \
exception in getPathNoEndSeparator() +  * [IO-248] FilenameUtils - fix \
getFullPathNoEndSeparator() returns empty while path is a one level directory +  * \
[IO-246] FilenameUtils - fix wildcardMatch gives incorrect results  +  * [IO-187] \
FileSystemUtils - fix freeSpaceKb() doesn't work with relative paths on Linux +  * \
[IO-160] FileSystemUtils - fix freeSpace() fails on solaris +  * [IO-209] \
FileSystemUtils - fix freeSpaceKb() fails to return correct size for a windows mount \
point +  * [IO-163] FileUtils - fix toURLs() using deprecated method of conversion to \
URL +  * [IO-168] FileUtils - fix Symbolic links followed when deleting directory
+  * [IO-231] FileUtils - fix wrong exception message generated in isFileNewer() \
method +  * [IO-207] FileUtils - fix race condition in forceMkdir() method
+  * [IO-217] FileUtils - fix copyDirectoryToDirectory() makes infinite loops
+  * [IO-166] FileUtils - fix URL decoding in toFile(URL)
+  * [IO-190] FileUtils - fix copyDirectory not preserving lastmodified date on \
sub-directories +  * [IO-240] FileFilterUtils - ensure cvsFilter and svnFilter are \
only created once. +  * [IO-175] IOUtils - fix copyFile() issues with very large \
files +  * [IO-191] Improvements from static analysis
+  * [IO-216] LockableFileWriter - delete files quietly when an exception is thrown \
during initialization +  * [IO-243] SwappedDataInputStream - fix readBoolean is \
inverted +  * [IO-235] Tests - remove unused YellOnFlushAndCloseOutputStream from \
CopyUtilsTest +  * [IO-161] Tests - fix FileCleaningTrackerTestCase hanging
+
+Documentation changes from 1.4
+------------------------------
+  * [IO-183 FilenameUtils.getExtension() method documentation improvements
+  * [IO-226 FileUtils.byteCountToDisplaySize() documentation corrections
+  * [IO-205 FileUtils.forceMkdir() documentation improvements
+  * [IO-215 FileUtils copy file/directory improve documentation regarding preserving \
the last modified date +  * [IO-189 HexDump.dump() method documentation improvements
+  * [IO-171 IOCase document that it assumes there are only two OSes: Windows and \
Unix +  * [IO-223 IOUtils.copy() documentation corrections
+  * [IO-247 IOUtils.closeQuietly() improve documentation with examples
+  * [IO-202 NotFileFilter documentation corrections
+  * [IO-206 ProxyInputStream - fix misleading parameter names
+  * [IO-212 ProxyInputStream.skip() documentation corrections
+
+==============================================================================
+Apache Commons IO Version 1.4
+==============================================================================
+
+Compatibility with 1.3.2
+------------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+  Check the bug fixes section for semantic bug fixes
+
+Commons IO 1.4 introduces four new implementations which depend on JDK 1.4 features
+(CharSequenceReader, FileWriterWithEncoding, IOExceptionWithCause and \
RegexFileFilter). +It has been built with the JDK source and target options set to \
JDK 1.3 and, except for +those implementations, can be used with JDK 1.3 (see IO \
IO-127). +
+Deprecations from 1.3.2
+-----------------------
+- FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
+
+Bug fixes from 1.3.2
+--------------------
+- FileUtils
+  - forceDelete of orphaned Softlinks does not work [IO-147]
+  - Infinite loop on FileUtils.copyDirectory when the destination directory is \
within +    the source directory [IO-141]
+  - Add a copyDirectory() method that makes use of FileFilter [IO-105]
+  - Add moveDirectory() and moveFile() methods [IO-77]
+
+- HexDump
+  - HexDump's use of static StringBuffers isn't thread-safe [IO-136]
+
+Enhancements from 1.3.2
+-----------------------
+- FileUtils
+  - Add a deleteQuietly method [IO-135]
+
+- FilenameUtils
+  - Add file name extension separator constants[IO-149]
+
+- IOExceptionWithCause [IO-148]
+  - Add a new IOException implementation with constructors which take a cause
+
+- TeeInputStream [IO-129]
+  - Add new Tee input stream implementation
+
+- FileWriterWithEncoding [IO-153]
+  - Add new File Writer implementation that accepts an encoding
+
+- CharSequenceReader [IO-138]
+  - Add new Reader implementation that handles any CharSequence (String,
+    StringBuffer, StringBuilder or CharBuffer) 
+
+- ThesholdingOuputStream [IO-121]
+  - Add a reset() method which sets the count of the bytes written back to zero.
+
+- DeferredFileOutputStream [IO-130]
+  - Add support for temporary files
+
+- ByteArrayOutputStream
+  - Add a new write(InputStream) method [IO-152]
+
+- New Closed Input/Output stream implementations [IO-122]
+  - AutoCloseInputStream - automatically closes and discards the underlying input \
stream +  - ClosedInputStream - returns -1 for any read attempts
+  - ClosedOutputStream - throws an IOException for any write attempts
+  - CloseShieldInputStream - prevents the underlying input stream from being closed.
+  - CloseShieldOutputStream - prevents the underlying output stream from being \
closed. +
+- Add Singleton Constants to several stream classes [IO-143]
+
+- PrefixFileFilter [IO-126]
+  - Add faciltiy to specify case sensitivity on prefix matching
+
+- SuffixFileFilter [IO-126]
+  - Add faciltiy to specify case sensitivity on suffix matching
+
+- RegexFileFilter [IO-74]
+  - Add new regular expression file filter implementation
+
+- Make IOFileFilter implementations Serializable [IO-131]
+
+- Improve IOFileFilter toString() methods [IO-120]
+
+- Make fields final so classes are immutable/threadsafe [IO-133]
+  - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard \
IOFileFilter +    implementations.
+
+- IOCase
+  - Add a compare method to IOCase [IO-144]
+
+- Add a package of java.util.Comparator implementations for files [IO-145]
+  - DefaultFileComparator - compare files using the default File.compareTo(File) \
method. +  - ExtensionFileComparator - compares files using file name extensions.
+  - LastModifiedFileComparator - compares files using the last modified date/time.
+  - NameFileComparator - compares files using file names.
+  - PathFileComparator - compares files using file paths.
+  - SizeFileComparator - compares files using file sizes.
+  
+==============================================================================
+Apache Commons IO Version 1.3.2
+==============================================================================
+
+Compatibility with 1.3.1
+----------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+
+Compatibility with 1.3
+----------------------
+Binary compatible - No
+  See [IO-113]
+
+Source compatible - No
+  See [IO-113]
+
+Semantic compatible - Yes
+
+Enhancements since 1.3.1
+------------------------
+
+- Created the FileCleaningTracker, basically a non-static version of the
+  FileCleaner, which can be controlled by the user. [IO-116]
+- The FileCleaner is deprecated.
+
+Bug fixes from 1.3.1
+--------------------
+
+- Some tests, which are implicitly assuming a Unix-like file system, are
+  now skipped on Windows. [IO-115]
+- EndianUtils
+  - Both readSwappedUnsignedInteger(...) methods could return negative 
+    numbers due to int/long casting. [IO-117]
+
+Bug fixes from 1.3
+------------------
+
+- FileUtils
+  - NPE in openOutputStream(File) when file has no parent in path [IO-112]
+  - readFileToString(File) is not static [IO-113]
+
+==============================================================================
+Apache Commons IO Version 1.3.1
+==============================================================================
+
+Compatibility with 1.3
+----------------------
+Binary compatible - No
+  See [IO-113]
+
+Source compatible - No
+  See [IO-113]
+
+Semantic compatible - Yes
+
+Bug fixes from 1.3
+------------------
+
+- FileUtils
+  - NPE in openOutputStream(File) when file has no parent in path [IO-112]
+  - readFileToString(File) is not static [IO-113]
+  
+==============================================================================
+Apache Commons IO Version 1.3
+==============================================================================
+
+Compatibility with 1.2
+----------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+  Check the bug fixes section for semantic bug fixes
+
+Deprecations from 1.2
+---------------------
+- WildcardFilter deprecated, replaced by WildcardFileFilter
+  - old class only accepted files, thus had a confusing dual purpose
+
+- FileSystemUtils.freeSpace deprecated, replaced by freeSpaceKb
+  - freeSpace returns a result that varies by operating system and
+    thus isn't that useful
+  - freeSpaceKb returns much better and more consistent results
+  - freeSpaceKb existed in v1.2, so this is a gentle cutover
+
+Bug fixes from 1.2
+------------------
+- LineIterator now implements Iterator
+  - It was always supposed to...
+
+- FileSystemUtils.freeSpace/freeSpaceKb [IO-83]
+  - These should now work on AIX and HP-UX
+
+- FileSystemUtils.freeSpace/freeSpaceKb [IO-90]
+  - Avoid infinite looping in Windows
+  - Catch more errors with nice messages
+
+- FileSystemUtils.freeSpace [IO-91]
+  - This is now documented not to work on SunOS 5
+
+- FileSystemUtils [IO-93]
+  - Fixed resource leak leading to 'Too many open files' error
+  - Previously did not destroy Process instances (as JDK Javadoc is so poor)
+  - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4801027
+
+- FileUtils.touch [IO-100]
+  - The touch method previously gave no indication when the file could not
+    be touched successfully (such as due to access restrictions) - it now
+    throws an IOException if the last modified date cannot be changed
+
+- FileCleaner
+  - This now handles the situation where an error occurs when deleting the file
+
+- IOUtils.copy [IO-84]
+  - Copy methods could return inaccurate byte/char count for large streams
+  - The copy(InputStream, OutputStream) method now returns -1 if the count is \
greater than an int +  - The copy(Reader, Writer) method now throws now returns -1 if \
the count is greater than an int +  - Added a new copyLarge(InputStream, \
OutputStream) method that returns a long +  - Added a new copyLarge(Reader, Writer) \
method that returns a long +
+- CountingInputStream/CountingOutputStream [IO-84]
+  - Methods were declared as int thus the count was innacurate for large streams
+  - new long based methods getByteCount()/resetByteCount() added
+  - existing methods changed to throw an exception if the count is greater than an \
int +
+- FileBasedTestCase
+  - Fixed bug in compare content methods identified by GNU classpath
+
+- EndianUtils.writeSwappedLong(byte[], int) [IO-101]
+  - An int overrun in the bit shifting when it should have been a long
+
+- EndianUtils.writeSwappedLong(InputStream) [IO-102]
+  - The return of input.read(byte[]) was not being checked to ensure all 8 bytes \
were read +
+Enhancements from 1.2
+---------------------
+- DirectoryWalker [IO-86]
+  - New class designed for subclassing to walk through a set of files.
+    DirectoryWalker provides the walk of the directories, filtering of
+    directories and files, and cancellation support. The subclass must provide
+    the specific behaviour, such as text searching or image processing.
+
+- IOCase
+  - New class/enumeration for case-sensitivity control
+
+- FilenameUtils
+  - New methods to handle case-sensitivity
+  - wildcardMatch - new method that has IOCase as a parameter
+  - equals - new method that has IOCase as a parameter
+
+- FileUtils [IO-108] - new default encoding methods for:
+  - readFileToString(File)
+  - readLines(File)
+  - lineIterator(File)
+  - writeStringToFile(File, String)
+  - writeLines(File, Collection)
+  - writeLines(File, Collection, String)
+
+- FileUtils.openOutputStream  [IO-107]
+  - new method to open a FileOutputStream, creating parent directories if required
+- FileUtils.touch
+- FileUtils.copyURLToFile
+- FileUtils.writeStringToFile
+- FileUtils.writeByteArrayToFile
+- FileUtils.writeLines
+  - enhanced to create parent directories if required
+- FileUtils.openInputStream  [IO-107]
+  - new method to open a FileInputStream, providing better error messages than the \
JDK +
+- FileUtils.isFileOlder
+  - new methods to check if a file is older (i.e. isFileOlder()) - counterparts
+    to the existing isFileNewer() methods.
+
+- FileUtils.checksum, FileUtils.checksumCRC32
+  - new methods to create a checksum of a file
+
+- FileUtils.copyFileToDirectory  [IO-104]
+  - new variant that optionally retains the file date
+
+- FileDeleteStrategy
+- FileCleaner    [IO-56,IO-70]
+  - FileDeleteStrategy is a strategy for handling file deletion
+  - This can be used as a calback in FileCleaner
+  - Together these allow FileCleaner to do a forceDelete to kill directories
+
+- FileCleaner.exitWhenFinished [IO-99]
+  - A new method that allows the internal cleaner thread to be cleanly terminated
+
+- WildcardFileFilter
+  - Replacement for WildcardFilter
+  - Accepts both files and directories
+  - Ability to control case-sensitivity
+
+- NameFileFilter
+  - Ability to control case-sensitivity
+
+- FileFileFilter
+  - New IOFileFilter implementation
+  - Accepts files where File.isFile() is true
+  - In other words it filters out directories
+  - Singleton instance provided (FILE)
+
+- CanReadFileFilter
+  - New IOFileFilter implementation
+  - Accepts files where File.canRead() is true
+  - Singleton instances provided (CAN_READ/CANNOT_READ/READ_ONLY)
+
+- CanWriteFileFilter
+  - New IOFileFilter implementation
+  - Accepts files where File.canWrite() is true
+  - Singleton instances provided (CAN_WRITE/CANNOT_WRITE)
+
+- HiddenFileFilter
+  - New IOFileFilter implementation
+  - Accepts files where File.isHidden() is true
+  - Singleton instances provided (HIDDEN/VISIBLE)
+
+- EmptyFileFilter
+  - New IOFileFilter implementation
+  - Accepts files or directories that are empty
+  - Singleton instances provided (EMPTY/NOT_EMPTY)
+
+- TrueFileFilter/FalseFileFilter/DirectoryFileFilter
+  - New singleton instance constants (TRUE/FALSE/DIRECTORY)
+  - The new constants are more JDK 1.5 friendly with regards to static imports
+    (whereas if everything uses INSTANCE, then they just clash)
+  - The old INSTANCE constants are still present and have not been deprecated
+
+- FileFilterUtils.sizeRangeFileFilter
+  - new sizeRangeFileFilter(long minimumSize, long maximumSize) method which 
+    creates a filter that accepts files within the specified size range.
+
+- FileFilterUtils.makeDirectoryOnly/makeFileOnly
+  - two new methods that decorate a file filter to make it apply to
+    directories only or files only
+
+- NullWriter
+  - New writer that acts as a sink for all data, as per /dev/null
+
+- NullInputStream
+  - New input stream that emulates a stream of a specified size
+
+- NullReader
+  - New reader that emulates a reader of a specified size
+
+- ByteArrayOutputStream  [IO-97]
+  - Performance enhancements
+
+==============================================================================
+Apache Commons IO Version 1.2
+==============================================================================
+
+Compatibility with 1.1
+----------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes
+
+Deprecations from 1.1
+---------------------
+
+Bug fixes from 1.1
+------------------
+- FileSystemUtils.freeSpace(drive)
+  Fix to allow Windows based command to function in French locale
+
+- FileUtils.read*
+  Increase certainty that files are closed in case of error
+
+- LockableFileWriter
+  Locking mechanism was broken and only provided limited protection [38942]
+  File deletion and locking in case of constructor error was broken
+
+Enhancements from 1.1
+---------------------
+- AgeFileFilter/SizeFileFilter
+  New file filters that compares against the age and size of the file
+
+- FileSystemUtils.freeSpaceKb(drive)
+  New method that unifies result to be in kilobytes [38574]
+
+- FileUtils.contentEquals(File,File)
+  Performance improved by adding length and file location checking
+
+- FileUtils.iterateFiles
+  Two new method to provide direct access to iterators over files
+
+- FileUtils.lineIterator
+  IOUtils.lineIterator
+  New methods to provide an iterator over the lines in a file [38083]
+
+- FileUtils.copyDirectoryToDirectory
+  New method to copy a directory to within another directory [36315]
+  
+==============================================================================
+Apache Commons IO Version 1.1
+==============================================================================
+
+Incompatible changes from 1.0
+-----------------------------
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes, except:
+- FileUtils.writeStringToFile()
+    A null encoding previously used 'ISO-8859-1', now it uses the platform default
+    Generally this will make no difference
+
+- LockableFileWriter
+    Improved validation and now create directories if necesssary
+
+plus these bug fixes may affect you semantically:
+- FileUtils.touch()  (Bug fix 29821)
+    Now creates the file if it did not previously exist
+
+- FileUtils.toFile(URL) (Bug fix 32575)
+    Now handles escape syntax such as %20
+
+- FileUtils.sizeOfDirectory()  (Bug fix 36801)
+    May now return a size of 0 if the directory is security restricted
+
+Deprecations from 1.0
+---------------------
+- CopyUtils has been deprecated.
+    Its methods have been moved to IOUtils.
+    The new IOUtils methods handle nulls better, and have clearer names.
+
+- IOUtils.toByteArray(String) - Use {@link String#getBytes()}
+- IOUtils.toString(byte[]) - Use {@link String#String(byte[])}
+- IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)}
+
+Bug fixes from 1.0
+------------------
+- FileUtils - touch()  [29821]
+    Now creates the file if it did not previously exist
+
+- FileUtils - toFile(URL)  [32575]
+    Now handles escape syntax such as %20
+
+- FileFilterUtils - makeCVSAware(IOFileFilter)  [33023]
+    Fixed bug that caused method to be completely broken
+
+- CountingInputStream  [33336]
+    Fixed bug that caused the count to reduce by one at the end of the stream
+
+- CountingInputStream - skip(long)  [34311]
+    Bytes from calls to this method were not previously counted
+
+- NullOutputStream  [33481]
+    Remove unnecessary synchronization
+
+- AbstractFileFilter - accept(File, String)  [30992]
+    Fixed broken implementation
+
+- FileUtils  [36801]
+    Previously threw NPE when listing files in a security restricted directory
+    Now throw IOException with a better message
+
+- FileUtils - writeStringToFile()
+    Null encoding now correctly uses the platform default
+
+Enhancements from 1.0
+---------------------
+- FilenameUtils - new class  [33303,29351]
+    A static utility class for working with filenames
+    Seeks to ease the pain of developing on Windows and deploying on Unix
+
+- FileSystemUtils - new class  [32982,36325]
+    A static utility class for working with file systems
+    Provides one method at present, to get the free space on the filing system
+
+- IOUtils - new public constants
+    Constants for directory and line separators on Windows and Unix
+
+- IOUtils - toByteArray(Reader,encoding)
+    Handles encodings when reading to a byte array
+
+- IOUtils - toCharArray(InputStream)  [28979]
+          - toCharArray(InputStream,encoding)
+          - toCharArray(Reader)
+    Reads a stream/reader into a charatcter array
+
+- IOUtils - readLines(InputStream)  [36214]
+          - readLines(InputStream,encoding)
+          - readLines(Reader)
+    Reads a stream/reader line by line into a List of Strings
+
+- IOUtils - toInputStream(String)  [32958]
+          - toInputStream(String,encoding)
+    Creates an input stream that uses the string as a source of data
+
+- IOUtils - writeLines(Collection,lineEnding,OutputStream)  [36214]
+          - writeLines(Collection,lineEnding,OutputStream,encoding)
+          - writeLines(Collection,lineEnding,Writer)
+    Writes a collection to a stream/writer line by line
+
+- IOUtils - write(...)
+    Write data to a stream/writer (moved from CopyUtils with better null handling)
+
+- IOUtils - copy(...)
+    Copy data between streams (moved from CopyUtils with better null handling)
+
+- IOUtils - contentEquals(Reader,Reader)
+    Method to compare the contents of two readers
+
+- FileUtils - toFiles(URL[])
+    Converts an array of URLs to an array of Files
+
+- FileUtils - copyDirectory()  [32944]
+    New methods to copy a directory
+
+- FileUtils - readFileToByteArray(File)
+    Reads an entire file into a byte array
+
+- FileUtils - writeByteArrayToFile(File,byte[])
+    Writes a byte array to a file
+
+- FileUtils - readLines(File,encoding)  [36214]
+    Reads a file line by line into a List of Strings
+
+- FileUtils - writeLines(File,encoding,List)
+              writeLines(File,encoding,List,lineEnding)
+    Writes a collection to a file line by line
+
+- FileUtils - EMPTY_FILE_ARRAY
+    Constant for an empty array of File objects
+
+- ConditionalFileFilter - new interface  [30705]
+    Defines the behaviour of list based filters
+
+- AndFileFilter, OrFileFilter  [30705]
+    Now support a list of filters to and/or
+
+- WildcardFilter  [31115]
+    New filter that can match using wildcard file names
+
+- FileFilterUtils - makeSVNAware(IOFileFilter)
+    New method, like makeCVSAware, that ignores Subversion source control \
directories +
+- ClassLoaderObjectInputStream
+    An ObjectInputStream that supports a ClassLoader
+
+- CountingInputStream,CountingOutputStream - resetCount()  [28976]
+    Adds the ability to reset the count part way through reading/writing the stream
+
+- DeferredFileOutputStream - writeTo(OutputStream)  [34173]
+    New method to allow current contents to be written to a stream
+
+- DeferredFileOutputStream  [34142]
+    Performance optimizations avoiding double buffering
+
+- LockableFileWriter - encoding support [36825]
+    Add support for character encodings to LockableFileWriter
+    Improve the validation
+    Create directories if necesssary
+
+- IOUtils and EndianUtils are no longer final  [28978]
+    Allows developers to have subclasses if desired   
+
+==============================================================================
+Feedback
+==============================================================================
+
+Open source works best when you give feedback:
+http://commons.apache.org/io/
+
+Please direct all bug reports to JIRA
+http://issues.apache.org/jira/browse/IO
+
+Or subscribe to the commons-user mailing list (prefix emails by [io])
+http://commons.apache.org/mail-lists.html
+
+The Commons-IO Team


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic