Skip to content

Commit 998708d

Browse files
committed
Release notes
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/io/trunk@1714114 13f79535-47bb-0310-9956-ffa450edef68
1 parent 5baa926 commit 998708d

1 file changed

Lines changed: 137 additions & 19 deletions

File tree

RELEASE-NOTES.txt

Lines changed: 137 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Apache Commons IO
3-
Version 2.4
3+
Version 2.5
44
Release Notes
55

66
INTRODUCTION:
@@ -9,35 +9,153 @@ Commons IO is a package of Java utility classes like java.io.
99
Classes in this package are considered to be so standard and of such high
1010
reuse as to justify existence in java.io.
1111

12-
The Commons IO library contains utility classes, stream implementations, file filters,
12+
The Apache Commons IO library contains utility classes, stream implementations, file filters,
1313
file comparators, endian transformation classes, and much more.
1414

1515
==============================================================================
16-
Apache Commons IO Version 2.4
16+
Apache Commons IO Version 2.5
1717
==============================================================================
1818
New features and bug fixes.
1919

2020
Changes in this version include:
2121

2222
New features:
23-
o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to sebb.
24-
o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks to fmeschbe.
25-
o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory.
26-
o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
27-
o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
28-
o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. Thanks to ggregory, kinow.
29-
o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks to raviprak.
30-
o IO-324: Add missing Charset sister APIs to method that take a String charset name. Thanks to raviprak.
23+
o IO-471: Support for additional encodings in ReversedLinesFileReader Thanks to Leandro Reis.
24+
o IO-425: Setter method for threshold on ThresholdingOutputStream Thanks to Craig Swank.
25+
o IO-406: Introduce new class AppendableOutputStream Thanks to Niall Pemberton.
26+
o IO-459: Add WindowsLineEndingInputStream and UnixLineEndingInputStream. Thanks to Kristian Rosenvold.
27+
o IO-457: Add a BoundedReader, a wrapper that can be used to constrain access
28+
to an underlying stream when used with mark/reset -
29+
to avoid overflowing the mark limit of the underlying buffer. Thanks to Kristian Rosenvold.
30+
o IO-426: Add API IOUtils.closeQuietly(Closeable...)
31+
o IO-410: Readfully() That Returns A Byte Array Thanks to BELUGA BEHR.
32+
o IO-395: Overload IOUtils buffer methods to accept buffer size Thanks to BELUGA BEHR.
33+
o IO-382: Chunked IO for large arrays.
34+
Added writeChunked(byte[], OutputStream) and writeChunked(char[] Writer)
35+
Added ChunkedOutputStream, ChunkedWriter
36+
o IO-233: Add Methods for Buffering Streams/Writers To IOUtils
37+
Added overloaded buffer() methods - see also IO-330
38+
o IO-330: IOUtils#toBufferedOutputStream/toBufferedWriter to conditionally wrap the output
39+
Added overloaded buffer() methods - see also IO-233
40+
o IO-381: Add FileUtils.copyInputStreamToFile API with option to leave the source open.
41+
See copyInputStreamToFile(final InputStream source, final File destination, boolean closeSource)
42+
o IO-379: CharSequenceInputStream - add tests for available()
43+
Fix code so it really does reflect a minimum available.
44+
o IO-346: Add ByteArrayOutputStream.toInputStream()
45+
o IO-341: A constant for holding the BOM character (U+FEFF)
46+
o IO-361: Add API FileUtils.forceMkdirsParent().
47+
o IO-360: Add API Charsets.requiredCharsets().
48+
o IO-359: Add IOUtils.skip and skipFully(ReadableByteChannel, long). Thanks to yukoba.
49+
o IO-358: Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer buffer). Thanks to yukoba.
50+
o IO-353: Add API IOUtils.copy(InputStream, OutputStream, int) Thanks to ggregory.
51+
o IO-349: Add API with array offset and length argument to FileUtils.writeByteArrayToFile. Thanks to scop.
52+
o IO-348: Missing information in IllegalArgumentException thrown by org.apache.commons.io.FileUtils#validateListFilesParameters. Thanks to plcstpierre.
53+
o IO-345: Supply a hook method allowing Tailer actively determining stop condition. Thanks to mkresse.
54+
o IO-437: Make IOUtils.EOF public and reuse it in various classes.
55+
56+
Fixed Bugs:
57+
o IO-446: adds an endOfFileReached method to the TailerListener Thanks to Jeffrey Barrus.
58+
o IO-484: FilenameUtils should handle embedded null bytes Thanks to Philippe Arteau.
59+
o IO-481: Changed/Corrected algorithm for waitFor
60+
o IO-428: BOMInputStream.skip returns wrong count if stream contains no BOM Thanks to Stefan Gmeiner.
61+
o IO-488: FileUtils.waitFor(...) swallows thread interrupted status Thanks to Bj�rn Buchner.
62+
o IO-452: Support for symlinks with missing target. Added support for JDK7 symlink features when present Thanks to David Standish.
63+
o IO-453: Regression in FileUtils.readFileToString from 2.0.1 Thanks to Steven Christou.
64+
o IO-451: ant test fails - resources missing from test classpath Thanks to David Standish.
65+
o IO-435: Document that FileUtils.deleteDirectory, directoryContains and cleanDirectory
66+
may throw an IllegalArgumentException in case the passed directory does not
67+
exist or is not a directory. Thanks to Dominik Stadler.
68+
o IO-424: Javadoc fixes, mostly to appease 1.8.0 Thanks to Ville Skytt�.
69+
o IO-389: FileUtils.sizeOfDirectory can throw IllegalArgumentException Thanks to Austin Doupnik.
70+
o IO-390: FileUtils.sizeOfDirectoryAsBigInteger can overflow.
71+
Ensure that recursive calls all use BigInteger
72+
o IO-385: FileUtils.doCopyFile can potentially loop for ever
73+
Exit loop if no data to copy
74+
o IO-383: FileUtils.doCopyFile caches the file size; needs to be documented
75+
Added Javadoc; show file lengths in exception message
76+
o IO-380: FileUtils.copyInputStreamToFile should document it closes the input source Thanks to claudio_ch.
77+
o IO-279: Tailer erroneously considers file as new.
78+
Fix to use file.lastModified() rather than System.currentTimeMillis()
79+
o IO-356: CharSequenceInputStream#reset() behaves incorrectly in case when buffer size is not dividable by data size.
80+
Fix code so skip relates to the encoded bytes; reset now re-encodes the data up to the point of the mark
81+
o IO-368: ClassLoaderObjectInputStream does not handle primitive typed members
82+
o IO-314: Deprecate all methods that use the default encoding
83+
o IO-338: When a file is rotated, finish reading previous file prior to starting new one
84+
o IO-354: Commons IO Tailer does not respect UTF-8 Charset.
85+
o IO-323: What should happen in FileUtils.sizeOf[Directory] when an overflow takes place?
86+
Added Javadoc.
87+
o IO-372: FileUtils.moveDirectory can produce misleading error message on failiure
88+
o IO-362: IOUtils.contentEquals* methods returns false if input1 == input2, should return true. Thanks to mmadson, ggregory.
89+
o IO-357: [Tailer] InterruptedException while the thread is sleeping is silently ignored Thanks to mortenh.
90+
o IO-352: Spelling fixes. Thanks to scop.
91+
o IO-436: Improper JavaDoc comment for FilenameUtils.indexOfExtension. Thanks to christoph.schneegans.
92+
93+
Changes:
94+
o IO-466: Added testcase to show this was fixed with IO-423
95+
o IO-479: Correct exception message in FileUtils.getFile(File, String...) Thanks to Zhouce Chen.
96+
o IO-465: Update to JUnit 4.12 Thanks to based2.
97+
o IO-462: IOExceptionWithCause no longer needed
98+
o IO-422: Deprecate Charsets Charset constants in favor of Java 7's java.nio.charset.StandardCharsets
99+
o IO-239: Convert IOCase to a Java 1.5+ Enumeration
100+
[N.B. this is binary compatible]
101+
o IO-328: getPrefixLength returns null if filename has leading slashes
102+
Javadoc: add examples to show correct behaviour; add unit tests
103+
o IO-299: FileUtils.listFilesAndDirs includes original dir in results even when it doesn't match filter
104+
Javadoc: clarify that original dir is included in the results
105+
o IO-375: FilenameUtils.splitOnTokens(String text) check for '**' could be simplified
106+
o IO-374: WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE when delegating to other ctors
107+
108+
Compatibility with 2.4:
109+
Binary compatible: Yes.
110+
Source compatible: Yes.
111+
Semantic compatible: Yes.
112+
113+
Compatibility with 2.2 and 1.4:
114+
Binary compatible: Yes.
115+
Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
116+
Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
117+
118+
Commons IO 2.5 requires JDK 1.6 or later.
119+
Commons IO 2.4 requires JDK 1.6 or later.
120+
Commons IO 2.3 requires JDK 1.6 or later.
121+
Commons IO 2.2 requires JDK 1.5 or later.
122+
Commons IO 1.4 requires JDK 1.3 or later.
123+
124+
==============================================================================
125+
Apache Commons IO Version 2.4
126+
==============================================================================
127+
128+
Changes in this version include:
129+
130+
New features:
131+
o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to
132+
sebb.
133+
o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks
134+
to fmeschbe.
135+
o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory.
136+
o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as
137+
UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
138+
o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
139+
o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger.
140+
Thanks to ggregory.
141+
o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks
142+
to raviprak.
143+
o IO-324: Add missing Charset sister APIs to method that take a String
144+
charset name. Thanks to raviprak.
31145

32146
Fixed Bugs:
33-
o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to rleavelle.
34-
o IO-279: Tailer erroneously considers file as new. Thanks to Sergio Bossa, Chris Baron.
35-
o IO-335: Tailer#readLines - incorrect CR handling.
36-
o IO-334: FileUtils.toURLs throws NPE for null parameter; document the behavior.
37-
o IO-332: Improve tailer's reading performance. Thanks to liangly.
38-
o IO-279: Improve Tailer performance with buffered reads (see IO-332).
39-
o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
40-
o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to raviprak.
147+
o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to
148+
rleavelle.
149+
o IO-279: Tailer erroneously considers file as new. Thanks to Sergio
150+
Bossa, Chris Baron.
151+
o IO-335: Tailer#readLines - incorrect CR handling.
152+
o IO-334: FileUtils.toURLs throws NPE for null parameter; document the
153+
behavior.
154+
o IO-332: Improve tailer's reading performance. Thanks to liangly.
155+
o IO-279: Improve Tailer performance with buffered reads (see IO-332).
156+
o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
157+
o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to
158+
raviprak.
41159

42160

43161
Compatibility with 2.3:

0 commit comments

Comments
 (0)