@@ -17,46 +17,123 @@ limitations under the License.
1717-->
1818<document >
1919 <properties >
20- <title >Upgrade from 1.3 to 1.4</title >
20+ <title >Upgrade from 1.3.2 to 1.4</title >
2121 <author email =" dev@commons.apache.org" >Commons Documentation Team</author >
2222 </properties >
2323<body >
2424
2525<section name =" Upgrade" >
2626<p >
2727These are the release notes and advice for upgrading Commons-IO from
28- version 1.3 to version 1.4.
28+ version 1.3.2 to version 1.4.
2929<source >
3030Commons IO is a package of Java utility classes for java.io's hierarchy.
3131Classes in this package are considered to be so standard and of such high
3232reuse as to justify existence in java.io.
3333
3434Commons IO contains utility classes, stream implementations, file filters,
35- and endian transformation classes.
35+ file comparators and endian transformation classes.
3636
3737
38- Compatibility with 1.3
39- ----------------------
38+ Compatibility with 1.3.2
39+ ------------------------
4040Binary compatible - Yes
4141
4242Source compatible - Yes
4343
4444Semantic compatible - Yes
4545 Check the bug fixes section for semantic bug fixes
4646
47+ Commons IO 1.4 introduces four new implementations which depend on JDK 1.4 features
48+ (CharSequenceReader, FileWriterWithEncoding, IOExceptionWithCause and RegexFileFilter).
49+ It has been built with the JDK source and target options set to JDK 1.3 and, except for
50+ those implementations, can be used with JDK 1.3 (see IO IO-127).
4751
48- Deprecations from 1.3
49- ---------------------
50- - FileCleaner deprecated, replaced by FileCleaningTracker
51- - the old class allowed static use only.
52- - instances of the new class may be put into arbitrary scope.
5352
53+ Deprecations from 1.3.2
54+ -----------------------
55+ - FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
5456
55- Bug fixes from 1.2
56- ------------------
5757
58- Enhancements from 1.2
59- ---------------------
58+ Bug fixes from 1.3.2
59+ --------------------
60+ - FileUtils
61+ - forceDelete of orphaned Softlinks does not work [IO-147]
62+ - Infinite loop on FileUtils.copyDirectory when the destination directory is within
63+ the source directory [IO-141]
64+ - Add a copyDirectory() method that makes use of FileFilter [IO-105]
65+ - Add moveDirectory() and moveFile() methods [IO-77]
66+
67+ - HexDump
68+ - HexDump's use of static StringBuffers isn't thread-safe [IO-136]
69+
70+
71+ Enhancements from 1.3.2
72+ -----------------------
73+ - FileUtils
74+ - Add a deleteQuietly method [IO-135]
75+
76+ - FilenameUtils
77+ - Add file name extension separator constants[IO-149]
78+
79+ - IOExceptionWithCause [IO-148]
80+ - Add a new IOException implementation with constructors which take a cause
81+
82+ - TeeInputStream [IO-129]
83+ - Add new Tee input stream implementation
84+
85+ - FileWriterWithEncoding [IO-153]
86+ - Add new File Writer implementation that accepts an encoding
87+
88+ - CharSequenceReader [IO-138]
89+ - Add new Reader implementation that handles any CharSequence (String,
90+ StringBuffer, StringBuilder or CharBuffer)
91+
92+ - ThesholdingOuputStream [IO-121]
93+ - Add a reset() method which sets the count of the bytes written back to zero.
94+
95+ - DeferredFileOutputStream [IO-130]
96+ - Add support for temporary files
97+
98+ - ByteArrayOutputStream
99+ - Add a new write(InputStream) method [IO-152]
100+
101+ - New Closed Input/Output stream implementations [IO-122]
102+ - AutoCloseInputStream - automatically closes and discards the underlying input stream
103+ - ClosedInputStream - returns -1 for any read attempts
104+ - ClosedOutputStream - throws an IOException for any write attempts
105+ - CloseShieldInputStream - prevents the underlying input stream from being closed.
106+ - CloseShieldOutputStream - prevents the underlying output stream from being closed.
107+
108+ - Add Singleton Constants to several stream classes [IO-143]
109+
110+ - PrefixFileFilter [IO-126]
111+ - Add faciltiy to specify case sensitivity on prefix matching
112+
113+ - SuffixFileFilter [IO-126]
114+ - Add faciltiy to specify case sensitivity on suffix matching
115+
116+ - RegexFileFilter [IO-74]
117+ - Add new regular expression file filter implementation
118+
119+ - Make IOFileFilter implementations Serializable [IO-131]
120+
121+ - Improve IOFileFilter toString() methods [IO-120]
122+
123+ - Make fields final so classes are immutable/threadsafe [IO-133]
124+ - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard IOFileFilter
125+ implementations.
126+
127+ - IOCase
128+ - Add a compare method to IOCase [IO-144]
129+
130+ - Add a package of java.util.Comparator implementations for files [IO-145]
131+ - DefaultFileComparator - compare files using the default File.compareTo(File) method.
132+ - ExtensionFileComparator - compares files using file name extensions.
133+ - LastModifiedFileComparator - compares files using the last modified date/time.
134+ - NameFileComparator - compares files using file names.
135+ - PathFileComparator - compares files using file paths.
136+ - SizeFileComparator - compares files using file sizes.
60137</source >
61138</p >
62139</section >
0 commit comments