| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- |
| This file is used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a Jira search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| CVS commits. Set the project.properties' maven.changelog.range |
| property to the number of days since the last release. |
| |
| |
| To generate the release notes from this file: |
| |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| then tweak the source formatting if necessary and regenerate, then commit |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <document> |
| <properties> |
| <title>Release Notes</title> |
| </properties> |
| |
| <body> |
| <!-- The release date is the date RC is cut --> |
| <release version="2.5" date="2013-??-??" description="New features and bug fixes."> |
| <action issue="IO-374" dev="sebb" type="fix"> |
| WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE when delegating to other ctors |
| </action> |
| <action issue="IO-362" dev="ggregory" type="fix" due-to="mmadson, ggregory"> |
| IOUtils.contentEquals* methods returns false if input1 == input2, should return true. |
| </action> |
| <action issue="IO-361" dev="ggregory" type="add"> |
| Add API FileUtils.forceMkdirsParent(). |
| </action> |
| <action issue="IO-360" dev="ggregory" type="add"> |
| Add API Charsets.requiredCharsets(). |
| </action> |
| <action issue="IO-359" dev="ggregory" type="add" due-to="yukoba"> |
| Add IOUtils.skip and skipFully(ReadableByteChannel, long). |
| </action> |
| <action issue="IO-358" dev="ggregory" type="add" due-to="yukoba"> |
| Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer buffer). |
| </action> |
| <action issue="IO-357" dev="ggregory" type="fix" due-to="mortenh"> |
| [Tailer] InterruptedException while the thread is sleeping is silently ignored |
| </action> |
| <action issue="IO-353" dev="ggregory" type="add" due-to="ggregory"> |
| Add API IOUtils.copy(InputStream, OutputStream, int) |
| </action> |
| <action issue="IO-349" dev="ggregory" type="add" due-to="scop"> |
| Add API with array offset and length argument to FileUtils.writeByteArrayToFile. |
| </action> |
| <action issue="IO-352" dev="ggregory" type="fix" due-to="scop"> |
| Spelling fixes. |
| </action> |
| <action issue="IO-348" dev="ggregory" type="add" due-to="plcstpierre"> |
| Missing information in IllegalArgumentException thrown by org.apache.commons.io.FileUtils#validateListFilesParameters. |
| </action> |
| <action issue="IO-345" dev="ggregory" type="add" due-to="mkresse"> |
| Supply a hook method allowing Tailer actively determining stop condition. |
| </action> |
| </release> |
| <!-- The release date is the date RC is cut --> |
| <release version="2.4" date="2012-06-12" description="New features and bug fixes."> |
| <action issue="IO-343" dev="ggregory" type="fix" due-to="igorlash"> |
| org.apache.commons.io.comparator Javadoc is inconsistent with real code. |
| </action> |
| <action issue="IO-336" dev="ggregory" type="fix" due-to="rleavelle"> |
| Yottabyte (YB) incorrectly defined in FileUtils. |
| </action> |
| <action issue="IO-269" dev="ggregory" type="add" due-to="sebb"> |
| Tailer locks file from deletion/rename on Windows. |
| </action> |
| <action issue="IO-279" dev="sebb" type="fix" due-to="Sergio Bossa, Chris Baron"> |
| Tailer erroneously considers file as new. |
| </action> |
| <action issue="IO-335" dev="sebb" type="fix"> |
| Tailer#readLines - incorrect CR handling. |
| </action> |
| <action issue="IO-334" dev="sebb" type="fix"> |
| FileUtils.toURLs throws NPE for null parameter; document the behavior. |
| </action> |
| <action issue="IO-333" dev="ggregory" type="add" due-to="fmeschbe"> |
| Export OSGi packages at version 1.x in addition to 2.x. |
| </action> |
| <action issue="IO-320" dev="ggregory" type="add" due-to="ggregory"> |
| Add XmlStreamReader support for UTF-32. |
| </action> |
| <action issue="IO-331" dev="ggregory" type="add" due-to="ggregory"> |
| BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). |
| </action> |
| <action issue="IO-332" dev="ggregory" type="fix" due-to="liangly"> |
| Improve tailer's reading performance. |
| </action> |
| <action issue="IO-279" dev="ggregory" type="fix"> |
| Improve Tailer performance with buffered reads (see IO-332). |
| </action> |
| <action issue="IO-329" dev="ggregory" type="fix" due-to="tivv"> |
| FileUtils.writeLines uses unbuffered IO. |
| </action> |
| <action issue="IO-327" dev="ggregory" type="add" due-to="ggregory"> |
| Add byteCountToDisplaySize(BigInteger). |
| </action> |
| <action issue="IO-326" dev="ggregory" type="add" due-to="ggregory, kinow"> |
| Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. |
| </action> |
| <action issue="IO-325" dev="ggregory" type="add" due-to="raviprak"> |
| Add IOUtils.toByteArray methods to work with URL and URI. |
| </action> |
| <action issue="IO-324" dev="ggregory" type="add" due-to="raviprak"> |
| Add missing Charset sister APIs to method that take a String charset name. |
| </action> |
| <action issue="IO-319" dev="ggregory" type="fix" due-to="raviprak"> |
| FileUtils.sizeOfDirectory follows symbolic links. |
| </action> |
| </release> |
| <!-- The release date is the date RC is cut --> |
| <release version="2.3" date="2012-April-10" description="New features and bug fixes."> |
| <action issue="IO-322" dev="ggregory" type="add" due-to="ggregory"> |
| Add and use class Charsets. |
| </action> |
| <action issue="IO-321" dev="ggregory" type="add" due-to="ggregory"> |
| ByteOrderMark UTF_32LE is incorrect. |
| </action> |
| <action issue="IO-318" dev="ggregory" type="add" due-to="ggregory"> |
| Add Charset sister APIs to method that take a String charset name. |
| </action> |
| </release> |
| <release version="2.2" date="2012-March-26" description="New features and bug fixes."> |
| <action issue="IO-313" dev="ggregory" type="add" due-to="ggregory"> |
| Add IOUTils.toBufferedReader(Reader) |
| </action> |
| <!-- Note: the issue was not raised by Manoj, but arose from IO-305 and tests he performed --> |
| <action issue="IO-308" dev="sebb" type="add" due-to="Manoj Mokashi"> |
| Allow applications to provide buffer (or size) for copyLarge methods. |
| </action> |
| <action issue="IO-311" dev="sebb" type="fix" due-to="Robert Muir"> |
| IOUtils.read(InputStream/Reader) ignores the offset parameter |
| </action> |
| <action issue="IO-312" dev="sebb" type="fix"> |
| CharSequenceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize |
| </action> |
| <action issue="IO-305" dev="sebb" type="add" due-to="Manoj Mokashi"> |
| New copyLarge() method in IOUtils that takes additional offset, length arguments |
| </action> |
| <action issue="IO-300" dev="sebb" type="fix"> |
| FileUtils.moveDirectoryToDirectory removes source directory if destination is a sub-directory |
| </action> |
| <action issue="IO-307" dev="sebb" type="fix"> |
| ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters |
| </action> |
| <action issue="IO-287" dev="bayard" type="add" due-to="Ron Kuris, Gary Gregory"> |
| Use terabyte (TB), petabyte (PB) and exabyte (EB) in FileUtils.byteCountToDisplaySize(long size) |
| </action> |
| <action issue="IO-306" dev="sebb" type="fix"> |
| ReaderInputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 |
| </action> |
| <action issue="IO-173" dev="sebb" type="add" due-to="Marcos VinÃcius da Silva"> |
| FileUtils.listFiles() doesn't return directories |
| </action> |
| <action issue="IO-276" dev="sebb" type="fix" due-to="nkami"> |
| "FileUtils#deleteDirectoryOnExit(File)" does not work |
| </action> |
| <action issue="IO-273" dev="sebb" type="fix" due-to="sebb"> |
| BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...) |
| </action> |
| <action issue="IO-297" dev="sebb" type="add" due-to="Oleg Kalnichevski"> |
| CharSequenceInputStream to efficiently stream content of a CharSequence |
| </action> |
| <action issue="IO-296" dev="sebb" type="update" due-to="Oleg Kalnichevski"> |
| ReaderInputStream optimization: more efficient reading of small chunks of data |
| </action> |
| <action issue="IO-298" dev="sebb" type="fix" due-to="Christian Schulte"> |
| Various methods of class 'org.apache.commons.io.FileUtils' incorrectly suppress 'java.io.IOException' |
| </action> |
| <action issue="IO-304" dev="ggregory" type="add" due-to="liangly"> |
| The second constructor of Tailer class does not pass 'delay' to the third one |
| </action> |
| <action issue="IO-303" dev="ggregory" type="add" due-to="fabian.barney"> |
| TeeOutputStream does not call branch.close() when main.close() throws an exception |
| </action> |
| <action issue="IO-302" dev="ggregory" type="add" due-to="jsteuerwald, detinho"> |
| ArrayIndexOutOfBoundsException in BOMInputStream when reading a file without BOM multiple times |
| </action> |
| <action issue="IO-301" dev="ggregory" type="add" due-to="kaykay.unique"> |
| Add IOUtils.closeQuietly(Selector) necessary |
| </action> |
| <action issue="IO-292" dev="sebb" type="add" due-to="sebb"> |
| IOUtils.closeQuietly() should take a ServerSocket as a parameter |
| </action> |
| <action issue="IO-290" dev="sebb" type="add" due-to="sebb"> |
| Add read/readFully methods to IOUtils |
| </action> |
| <action issue="IO-288" dev="sebb" type="add" due-to="Georg Henzler"> |
| Supply a ReversedLinesFileReader |
| </action> |
| <action issue="IO-291" dev="ggregory" type="add" due-to="ggregory"> |
| Add new function FileUtils.directoryContains. |
| </action> |
| <action issue="IO-275" dev="sebb" type="add" due-to="CJ Aspromgos"> |
| FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings" |
| Added contentEqualsIgnoreEOL methods to both classes |
| </action> |
| </release> |
| <release version="2.1" date="2011-Sep-28" description="New features and bug fixes."> |
| <action dev="ggregory" type="add" issue="IO-285" due-to="ggregory"> |
| Use standard Maven directory layout |
| </action> |
| <action dev="ggregory" type="add" issue="IO-284" due-to="ggregory"> |
| Add IOUtils API toString for URL and URI to get contents |
| </action> |
| <action dev="ggregory" type="add" issue="IO-282" due-to="ggregory"> |
| Add API FileUtils.copyFile(File input, OutputStream output) |
| </action> |
| <action dev="sebb" type="fix" issue="IO-280" due-to="sebb"> |
| Dubious use of mkdirs() return code |
| </action> |
| <action type="fix" issue="IO-277"> |
| ReaderInputStream enters infinite loop when it encounters an unmappable character |
| </action> |
| <action type="fix" issue="IO-264"> |
| FileUtils.moveFile() JavaDoc should specify FileExistsException thrown |
| </action> |
| <action type="add" issue="IO-262"> |
| FileAlterationObserver has no getter for FileFilter |
| </action> |
| <action type="add" issue="IO-261"> |
| Add FileUtils.getFile API with varargs parameter |
| </action> |
| <action type="fix" issue="IO-260"> |
| ClassLoaderObjectInputStream does not handle Proxy classes |
| </action> |
| <action type="update" issue="IO-259"> |
| FileAlterationMonitor.stop(boolean allowIntervalToFinish) |
| </action> |
| <action type="add" issue="IO-182"> |
| Add new APPEND parameter for writing string into files |
| </action> |
| <action dev="sebb" type="fix" issue="IO-274" due-to="Frank Grimes"> |
| Tailer returning partial lines when reaching EOF before EOL |
| </action> |
| <action dev="sebb" type="fix" issue="IO-266" due-to="Igor Smereka"> |
| FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows) |
| </action> |
| <action dev="sebb" type="fix" issue="IO-263" due-to="Gil Adam"> |
| FileSystemUtils.freeSpaceKb throws exception for Windows volumes with no visible files. |
| Improve coverage by also looking for hidden files. |
| </action> |
| <action dev="sebb" type="add" issue="IO-251" due-to="Marco Albini"> |
| Add new read method "toByteArray" to handle InputStream with known size. |
| </action> |
| |
| </release> |
| |
| <release version="2.0.1" date="2010-Dec-26"> |
| <action type="update"> |
| TODO: Convert RELEASE-NOTES.txt from 2.0.1? |
| </action> |
| </release> |
| |
| <release version="2.0" date="2010-Oct-18"> |
| <action type="update"> |
| TODO: Convert RELEASE-NOTES.txt from 2.0? |
| </action> |
| </release> |
| |
| <release version="1.4" date="2008-Jan-21"> |
| <action type="update"> |
| TODO: Convert RELEASE-NOTES.txt from 1.4? |
| </action> |
| </release> |
| |
| <release version="1.3.2" date="2007-Jul-02" description="Bug fixes."> |
| <action dev="jochen" type="fix" issue="IO-115"> |
| Some tests, which are implicitly assuming a Unix-like file |
| system, are now skipped on Windows. |
| </action> |
| <action dev="jochen" type="fix" issue="IO-116"> |
| Created the FileCleaningTracker, basically a non-static |
| version of the FileCleaner, which can be controlled by |
| the user. |
| </action> |
| <action dev="bayard" type="fix" issue="IO-117" due-to="Hiroshi Ikeda"> |
| EndianUtils - both readSwappedUnsignedInteger(...) methods could |
| return negative numbers due to int/long casting. |
| </action> |
| </release> |
| </body> |
| </document> |