You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2010/10/04 19:54:01 UTC

svn commit: r1004337 - /commons/proper/io/trunk/RELEASE-NOTES.txt

Author: niallp
Date: Mon Oct  4 17:54:00 2010
New Revision: 1004337

URL: http://svn.apache.org/viewvc?rev=1004337&view=rev
Log:
Update the release notes for 2.0

Modified:
    commons/proper/io/trunk/RELEASE-NOTES.txt

Modified: commons/proper/io/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/RELEASE-NOTES.txt?rev=1004337&r1=1004336&r2=1004337&view=diff
==============================================================================
--- commons/proper/io/trunk/RELEASE-NOTES.txt (original)
+++ commons/proper/io/trunk/RELEASE-NOTES.txt Mon Oct  4 17:54:00 2010
@@ -15,8 +15,8 @@ Commons IO contains utility classes, str
 file comparators and endian transformation classes.
 
 
-Compatibility with 1.3.2
-------------------------
+Compatibility with 1.4
+----------------------
 Binary compatible - Yes
 
 Source compatible - Yes
@@ -24,96 +24,111 @@ 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).
+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.3.2
------------------------
-- FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
+Deprecations from 1.4
+---------------------
 
-
-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.
+- 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 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
 
 
 Feedback