| Version | Date | Description |
|---|---|---|
| 2.5 | 2013-??-?? | New features and bug fixes. |
| 2.4 | 2012-06-12 | New features and bug fixes. |
| 2.3 | 2012-April-10 | New features and bug fixes. |
| 2.2 | 2012-March-26 | New features and bug fixes. |
| 2.1 | 2011-Sep-28 | New features and bug fixes. |
| 2.0.1 | 2010-Dec-26 | |
| 2.0 | 2010-Oct-18 | |
| 1.4 | 2008-Jan-21 | |
| 1.3.2 | 2007-Jul-02 | Bug fixes. |
| Type | Changes | By |
|---|---|---|
| Add FileUtils.copyInputStreamToFile API with option to leave the source open. See copyInputStreamToFile(final InputStream source, final File destination, boolean closeSource) Fixes IO-381. | ggregory |
| FileUtils.copyInputStreamToFile should document it closes the input source Fixes IO-380. Thanks to claudio_ch. | sebb |
| Tailer erroneously considers file as new. Fix to use file.lastModified() rather than System.currentTimeMillis() Fixes IO-279. | sebb |
| 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 Fixes IO-356. | sebb |
| CharSequenceInputStream - add tests for available() Fix code so it really does reflect a minimum available. Fixes IO-379. | sebb |
| getPrefixLength returns null if filename has leading slashes Javadoc: add examples to show correct behaviour; add unit tests Fixes IO-328. | sebb |
| FileUtils.listFilesAndDirs includes original dir in results even when it doesn't match filter Javadoc: clarify that original dir is included in the results Fixes IO-299. | sebb |
| IOUtils#toBufferedOutputStream/toBufferedWriter to conditionally wrap the output Added asBufferedInputStream, asBufferedOutputStream, asBufferedReader, asBufferedWriter Fixes IO-330. | sebb |
| Add ByteArrayOutputStream.toInputStream() Fixes IO-346. | sebb |
| ClassLoaderObjectInputStream does not handle primitive typed members Fixes IO-368. | sebb |
| A constant for holding the BOM character (U+FEFF) Fixes IO-341. | sebb |
| Deprecate all methods that use the default encoding Fixes IO-314. | sebb |
| When a file is rotated, finish reading previous file prior to starting new one Fixes IO-338. | sebb |
| Commons IO Tailer does not respect UTF-8 Charset. Fixes IO-354. | sebb |
| What should happen in FileUtils.sizeOf[Directory] when an overflow takes place? Added Javadoc. Fixes IO-323. | sebb |
| FileUtils.moveDirectory can produce misleading error message on failiure Fixes IO-372. | sebb |
| FilenameUtils.splitOnTokens(String text) check for '**' could be simplified Fixes IO-375. | sebb |
| WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE when delegating to other ctors Fixes IO-374. | sebb |
| IOUtils.contentEquals* methods returns false if input1 == input2, should return true. Fixes IO-362. Thanks to mmadson, ggregory. | ggregory |
| Add API FileUtils.forceMkdirsParent(). Fixes IO-361. | ggregory |
| Add API Charsets.requiredCharsets(). Fixes IO-360. | ggregory |
| Add IOUtils.skip and skipFully(ReadableByteChannel, long). Fixes IO-359. Thanks to yukoba. | ggregory |
| Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer buffer). Fixes IO-358. Thanks to yukoba. | ggregory |
| [Tailer] InterruptedException while the thread is sleeping is silently ignored Fixes IO-357. Thanks to mortenh. | ggregory |
| Add API IOUtils.copy(InputStream, OutputStream, int) Fixes IO-353. Thanks to ggregory. | ggregory |
| Add API with array offset and length argument to FileUtils.writeByteArrayToFile. Fixes IO-349. Thanks to scop. | ggregory |
| Spelling fixes. Fixes IO-352. Thanks to scop. | ggregory |
| Missing information in IllegalArgumentException thrown by org.apache.commons.io.FileUtils#validateListFilesParameters. Fixes IO-348. Thanks to plcstpierre. | ggregory |
| Supply a hook method allowing Tailer actively determining stop condition. Fixes IO-345. Thanks to mkresse. | ggregory |
| Type | Changes | By |
|---|---|---|
| org.apache.commons.io.comparator Javadoc is inconsistent with real code. Fixes IO-343. Thanks to igorlash. | ggregory |
| Yottabyte (YB) incorrectly defined in FileUtils. Fixes IO-336. Thanks to rleavelle. | ggregory |
| Tailer locks file from deletion/rename on Windows. Fixes IO-269. Thanks to sebb. | ggregory |
| Tailer erroneously considers file as new. Fixes IO-279. Thanks to Sergio Bossa, Chris Baron. | sebb |
| Tailer#readLines - incorrect CR handling. Fixes IO-335. | sebb |
| FileUtils.toURLs throws NPE for null parameter; document the behavior. Fixes IO-334. | sebb |
| Export OSGi packages at version 1.x in addition to 2.x. Fixes IO-333. Thanks to fmeschbe. | ggregory |
| Add XmlStreamReader support for UTF-32. Fixes IO-320. Thanks to ggregory. | ggregory |
| BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). Fixes IO-331. Thanks to ggregory. | ggregory |
| Improve tailer's reading performance. Fixes IO-332. Thanks to liangly. | ggregory |
| Improve Tailer performance with buffered reads (see IO-332). Fixes IO-279. | ggregory |
| FileUtils.writeLines uses unbuffered IO. Fixes IO-329. Thanks to tivv. | ggregory |
| Add byteCountToDisplaySize(BigInteger). Fixes IO-327. Thanks to ggregory. | ggregory |
| Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. Fixes IO-326. Thanks to ggregory, kinow. | ggregory |
| Add IOUtils.toByteArray methods to work with URL and URI. Fixes IO-325. Thanks to raviprak. | ggregory |
| Add missing Charset sister APIs to method that take a String charset name. Fixes IO-324. Thanks to raviprak. | ggregory |
| FileUtils.sizeOfDirectory follows symbolic links. Fixes IO-319. Thanks to raviprak. | ggregory |
| Type | Changes | By |
|---|---|---|
| Add and use class Charsets. Fixes IO-322. Thanks to ggregory. | ggregory |
| ByteOrderMark UTF_32LE is incorrect. Fixes IO-321. Thanks to ggregory. | ggregory |
| Add Charset sister APIs to method that take a String charset name. Fixes IO-318. Thanks to ggregory. | ggregory |
| Type | Changes | By |
|---|---|---|
| Add IOUTils.toBufferedReader(Reader) Fixes IO-313. Thanks to ggregory. | ggregory |
| Allow applications to provide buffer (or size) for copyLarge methods. Fixes IO-308. Thanks to Manoj Mokashi. | sebb |
| IOUtils.read(InputStream/Reader) ignores the offset parameter Fixes IO-311. Thanks to Robert Muir. | sebb |
| CharSequenceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize Fixes IO-312. | sebb |
| New copyLarge() method in IOUtils that takes additional offset, length arguments Fixes IO-305. Thanks to Manoj Mokashi. | sebb |
| FileUtils.moveDirectoryToDirectory removes source directory if destination is a sub-directory Fixes IO-300. | sebb |
| ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters Fixes IO-307. | sebb |
| Use terabyte (TB), petabyte (PB) and exabyte (EB) in FileUtils.byteCountToDisplaySize(long size) Fixes IO-287. Thanks to Ron Kuris, Gary Gregory. | bayard |
| ReaderInputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 Fixes IO-306. | sebb |
| FileUtils.listFiles() doesn't return directories Fixes IO-173. Thanks to Marcos Vinícius da Silva. | sebb |
| "FileUtils#deleteDirectoryOnExit(File)" does not work Fixes IO-276. Thanks to nkami. | sebb |
| BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...) Fixes IO-273. Thanks to sebb. | sebb |
| CharSequenceInputStream to efficiently stream content of a CharSequence Fixes IO-297. Thanks to Oleg Kalnichevski. | sebb |
| ReaderInputStream optimization: more efficient reading of small chunks of data Fixes IO-296. Thanks to Oleg Kalnichevski. | sebb |
| Various methods of class 'org.apache.commons.io.FileUtils' incorrectly suppress 'java.io.IOException' Fixes IO-298. Thanks to Christian Schulte. | sebb |
| The second constructor of Tailer class does not pass 'delay' to the third one Fixes IO-304. Thanks to liangly. | ggregory |
| TeeOutputStream does not call branch.close() when main.close() throws an exception Fixes IO-303. Thanks to fabian.barney. | ggregory |
| ArrayIndexOutOfBoundsException in BOMInputStream when reading a file without BOM multiple times Fixes IO-302. Thanks to jsteuerwald, detinho. | ggregory |
| Add IOUtils.closeQuietly(Selector) necessary Fixes IO-301. Thanks to kaykay.unique. | ggregory |
| IOUtils.closeQuietly() should take a ServerSocket as a parameter Fixes IO-292. Thanks to sebb. | sebb |
| Add read/readFully methods to IOUtils Fixes IO-290. Thanks to sebb. | sebb |
| Supply a ReversedLinesFileReader Fixes IO-288. Thanks to Georg Henzler. | sebb |
| Add new function FileUtils.directoryContains. Fixes IO-291. Thanks to ggregory. | ggregory |
| FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings" Added contentEqualsIgnoreEOL methods to both classes Fixes IO-275. Thanks to CJ Aspromgos. | sebb |
| Type | Changes | By |
|---|---|---|
| Use standard Maven directory layout Fixes IO-285. Thanks to ggregory. | ggregory |
| Add IOUtils API toString for URL and URI to get contents Fixes IO-284. Thanks to ggregory. | ggregory |
| Add API FileUtils.copyFile(File input, OutputStream output) Fixes IO-282. Thanks to ggregory. | ggregory |
| Dubious use of mkdirs() return code Fixes IO-280. Thanks to sebb. | sebb |
| ReaderInputStream enters infinite loop when it encounters an unmappable character Fixes IO-277. | |
| FileUtils.moveFile() JavaDoc should specify FileExistsException thrown Fixes IO-264. | |
| FileAlterationObserver has no getter for FileFilter Fixes IO-262. | |
| Add FileUtils.getFile API with varargs parameter Fixes IO-261. | |
| ClassLoaderObjectInputStream does not handle Proxy classes Fixes IO-260. | |
| FileAlterationMonitor.stop(boolean allowIntervalToFinish) Fixes IO-259. | |
| Add new APPEND parameter for writing string into files Fixes IO-182. | |
| Tailer returning partial lines when reaching EOF before EOL Fixes IO-274. Thanks to Frank Grimes. | sebb |
| FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows) Fixes IO-266. Thanks to Igor Smereka. | sebb |
| FileSystemUtils.freeSpaceKb throws exception for Windows volumes with no visible files. Improve coverage by also looking for hidden files. Fixes IO-263. Thanks to Gil Adam. | sebb |
| Add new read method "toByteArray" to handle InputStream with known size. Fixes IO-251. Thanks to Marco Albini. | sebb |
| Type | Changes | By |
|---|---|---|
| Some tests, which are implicitly assuming a Unix-like file system, are now skipped on Windows. Fixes IO-115. | jochen |
| Created the FileCleaningTracker, basically a non-static version of the FileCleaner, which can be controlled by the user. Fixes IO-116. | jochen |
| EndianUtils - both readSwappedUnsignedInteger(...) methods could return negative numbers due to int/long casting. Fixes IO-117. Thanks to Hiroshi Ikeda. | bayard |