• Home
  • Raw
  • Download

Lines Matching +full:japicmp +full:- +full:old

9 ##  http://www.apache.org/licenses/LICENSE-2.0
36 ## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-templa…
38 ## Hack to improve layout: replace all pairs of spaces with a single new-line
55 ## Use replaceAll to fix up LF-only line ends on Windows.
78 ## Use replaceAll to fix up LF-only line ends on Windows.
101 ## Use replaceAll to fix up LF-only line ends on Windows.
124 ## Use replaceAll to fix up LF-only line ends on Windows.
161 Historical list of changes: ${project.url}changes-report.html
171 -Apache Commons Team
199 o Null-guard IOUtils.close(Closeable, IOConsumer). Thanks to Gary Gregory.
202 o IO-684: Add PathUtils.delete(Path, DeleteOption...).
209 o IO-681: IOUtils.close(Closeable) should allow a list of closeables.
211 o IO-676: Add isFileNewer() and isFileOlder() methods that support the Java 8 Date/Time API. #124.…
218 o IO-669: Fix code smells; fix typos #115. Thanks to XenoAmess, Gary Gregory.
220 o IO-673: Make some simplifications #121. Thanks to Jerome Wolff.
221 o IO-674: InfiniteCircularInputStream is not infinite if its input buffer contains -1. Thanks to G…
222 o IO-675: InfiniteCircularInputStream throws a divide-by-zero exception when reading if its input …
223 o IO-677: FileSystem.getCurrent() does not return the correct enum. Thanks to Gary Gregory.
224 o IO-679: input.AbstractCharacterFilterReader passes count of chars read #132. Thanks to proneel.
225 o IO-683: CircularBufferInputStream.read() fails to convert byte to unsigned int
227 o IO-672: Copying a File sets last modified date to 01 January 1970.
228 o IO-676: Prevent NullPointerException in ReversedLinesFileReader constructors #117. Thanks to Mic…
232 o maven-checkstyle-plugin 3.1.0 -> 3.1.1. Thanks to Gary Gregory.
233 o Update tests from org.apache.commons:commons-lang3 3.10 to 3.11. Thanks to Gary Gregory.
234 o Update commons-parent from 50 to 51 #129. Thanks to Gary Gregory.
236 o Update junit-pioneer from 0.6.0 to 0.8.0, #127, #135. Thanks to Gary Gregory.
237 o Update mockito-core from 3.3.3 to 3.5.9 #128, #133, #145, #149, #151. Thanks to Gary Gregory.
239 o Update junit-pioneer from 0.8.0 to 0.9.0 #138. Thanks to Dependabot.
241 o Update actions/setup-java from v1.4.0 to v1.4.2 #141, #148. Thanks to Dependabot.
256 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
261 https://commons.apache.org/proper/commons-io/
263 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
266 -Apache Commons Team
292 o IO-553: Add org.apache.commons.io.FilenameUtils.isIllegalWindowsFileName(char).
293 o IO-577: Add readers to filter out given characters: CharacterSetFilterReader and CharacterFilter…
294 o IO-594: Add IOUtils copy methods with java.lang.Appendable as the target. Thanks to Gary Gregory…
295 o IO-605: Add class CanExecuteFileFilter. Thanks to Gary Gregory.
296 o IO-578: Support java.nio.Path and non-default file systems for ReversedLinesFileReader (#62). Th…
297 o IO-608: Add a convenience NullPrintStream. Thanks to Gary Gregory.
298 o IO-612: Add class TeeReader. Thanks to Rob Spoor, Gary Gregory.
299 o IO-613: Add classes ClosedReader and CloseShieldReader. #84. Thanks to Rob Spoor, Gary Gregory.
300 o IO-614: Add classes TaggedWriter, ClosedWriter and BrokenWriter. #86. Thanks to Rob Spoor.
301 o IO-615: Add classes TeeWriter, FilterCollectionWriter, ProxyCollectionWriter, IOExceptionList, I…
302 o IO-616: Add class AppendableWriter. #87. Thanks to Rob Spoor.
303 o IO-617: Add class CloseShieldWriter. #83. Thanks to Rob Spoor, Gary Gregory.
304 o IO-618: Add classes Added TaggedReader, ClosedReader and BrokenReader. #85. Thanks to Rob Spoor.
305 o IO-619: Support sub sequences in CharSequenceReader. #91. Thanks to Rob Spoor.
306 o IO-631: Add a CountingFileVisitor (as the basis for a forthcoming DeletingFileVisitor). Thanks t…
307 o IO-632: Add PathUtils for operations on NIO Path. Thanks to Gary Gregory.
308 o IO-633: Add DeletingFileVisitor. Thanks to Gary Gregory.
309 o IO-635: Add org.apache.commons.io.IOUtils.close(Closeable). Thanks to Gary Gregory.
310 o IO-636: Add and reuse org.apache.commons.io.IOUtils.closeQuitely(Closeable, Consumer<IOException…
312 o IO-645: Add org.apache.commons.io.file.PathUtils.fileContentEquals(Path, Path, OpenOption...). T…
313 o IO-458: Add a SequenceReader similar to java.io.SequenceInputStream. Thanks to Gary Gregory, Jos…
314 o IO-648: Implement directory content equality. 100#. Thanks to Gary Gregory.
315 o IO-648: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thank…
316 o IO-662: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thank…
319 o IO-589: Some tests fail if the base path contains a space.
320 o IO-582: Make methods in ObservableInputStream.Obsever public. Thanks to Bruno Palos.
321 o IO-535: Thread bug in FileAlterationMonitor.stop(int). Thanks to Svetlin Zarev, Anthony Raymond.
322 o IO-557: Perform locale independent upper case conversions. Thanks to luccioman.
323 o IO-570: Missing Javadoc in FilenameUtils causing Travis-CI build to fail. Thanks to Pranet Verma…
324 o IO-571: Remove redundant isDirectory() check in org.apache.commons.io.FileUtils.listFilesAndDirs…
325 o IO-559: FilenameUtils.normalize now verifies hostname syntax in UNC path.
326 o IO-554: FileUtils.copyToFile(InputStream source, File destination) should not close input stream…
327 o IO-604: FileUtils.doCopyFile(File, File, boolean) can throw ClosedByInterruptException. Thanks t…
328 o IO-625: Corrected misleading exception message for FileUtils.copyDirectoryToDirectory. Thanks to…
329 o IO-626: A mistake in the FilenameUtils.concat()'s Javadoc about an absolute path. Thanks to Yuji…
330 o IO-640: NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream, InputStream) when only o…
331 o IO-641: NPE in org.apache.commons.io.IOUtils.contentEquals(Reader, Reader) when only one input i…
332 o IO-643: NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only on…
333 o IO-644: NPE in org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when only one …
334 o IO-664: org.apache.commons.io.FileUtils.copyURLToFile(*) open but do not close streams. Thanks t…
337 o IO-572: Refactor duplicate code in org.apache.commons.io.FileUtils. Thanks to Pranet Verma.
338 o IO-580: Update org.apache.commons.io.FilenameUtils.isExtension(String, String[]) to use var args…
339 o IO-701: Make array declaration in ThresholdingOutputStream consistent with other array declarati…
340 o IO-607: Update from Java 7 to Java 8. Thanks to Gary Gregory.
341 o IO-610: Remove throws IOException in method isSymlink() #80. Thanks to Sebastian.
342 o IO-628: Migration to JUnit Jupiter #97. Thanks to Allon Mureinik.
343 o IO-630: Deprecate org.apache.commons.io.output.NullOutputStream.NullOutputStream() in favor of o…
344 o IO-629: FileUtils#forceDelete should use Files#delete rather than File#delete so exception messa…
345 o IO-634: Make getCause synchronized and use a Deque instead of a Stack #64. Thanks to V�clav Hais…
347 o Update tests org.junit-pioneer:junit-pioneer 0.3.0 -> 0.6.0. Thanks to Gary Gregory.
348 o Update tests org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.2. Thanks to Gary Gregory.
349 o Update tests org.mockito:mockito-core 3.0.0 -> 3.3.3. Thanks to Gary Gregory.
350 o IO-666: Normalize internal buffers to 8192 bytes. Thanks to Gary Gregory.
351 o IO-665: Ensure that passing a null InputStream results in NPE with tests #112. Thanks to Otto Fo…
352 o commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
353 o com.github.siom79.japicmp:japicmp-maven-plugin 0.14.1 -> 0.14.3. Thanks to Gary Gregor…
354 o IO-667: Add functional interfaces IOFunction and IOSupplier #110. Thanks to Adam Retter, Gary Gr…
371 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
376 https://commons.apache.org/proper/commons-io/
378 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
381 -Apache Commons Team
403 deprecated. Use the try-with-resources statement or handle suppressed
417 Automatic-Module-Name: org.apache.commons.io
422 https://issues.apache.org/jira/browse/IO-551
433 o IO-551: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
434 o IO-367: Add convenience methods for copyToDirectory. Thanks to James Sawle.
435 o IO-493: Add infinite circular input stream. Thanks to Piotr Turski.
436 o IO-507: Add a ByteOrderUtils class.
437 o IO-518: Add ObservableInputStream.
438 o IO-519: Add MessageDigestCalculatingInputStream.
439 o IO-513: Add convenience methods for reading class path resources.
445 o IO-546: ClosedOutputStream#flush should throw. Thanks to Tomas Celaya.
446 o IO-550: Documentation issue, fix 404 Javadoc issues in the description page.
448 o IO-442: Javadoc contradictory for FileFilterUtils.ageFileFilter(cutoff) and
451 o IO-534: FileUtilTestCase.testForceDeleteDir() should not delete testDirectory
453 o IO-528: Fix Tailer.run race condition runaway logging. Thanks to Dave Moten.
454 o IO-483: getPrefixLength return -1 if Unix file contains colon.
456 o IO-520: FileUtilsTestCase#testContentEqualsIgnoreEOL fails on Windows.
457 o IO-516: .gitattributes not correctly applied. Thanks to Jason Pyeron.
458 o IO-515: Allow Specifying Initial Buffer Size of DeferredFileOutputStream.
460 o IO-512: ThresholdingOutputStream.thresholdReached() results in
462 o IO-511: After a few unit tests, a few newly created directories not cleaned
464 o IO-502: Exceptions are suppressed incorrectly when copying files.
466 o IO-503: Update platform requirement to Java 7.
467 o IO-537: BOMInputStream shouldn't sort array of BOMs in-place.
473 o IO-553: Make code style of hasBOM() consistent with getBOMCharsetName().
475 o IO-542: FileUtils#readFileToByteArray: optimize reading of files with known
477 o IO-547: Throw a IllegalArgumentException instead of NullPointerException in
480 o IO-506: Deprecate methods FileSystemUtils.freeSpaceKb().
482 o IO-505: Make LineIterator implement Closeable to support try-with-resources
484 o IO-504: Deprecated of all IOUtils.closeQuietly() methods and use
485 try-with-resources internally. Thanks to Christian Schulte.
490 o IO-514: Remove org.apache.commons.io.Java7Support.
503 https://issues.apache.org/jira/browse/IO-318.
505 https://issues.apache.org/jira/browse/IO-318.
522 o IO-487: Add ValidatingObjectInputStream for controlled deserialization
523 o IO-471: Support for additional encodings in ReversedLinesFileReader Thanks to Leandro Reis.
524 o IO-425: Setter method for threshold on ThresholdingOutputStream Thanks to Craig Swank.
525 o IO-406: Introduce new class AppendableOutputStream Thanks to Niall Pemberton.
526 o IO-459: Add WindowsLineEndingInputStream and UnixLineEndingInputStream. Thanks to Kristian Rosen…
527 o IO-457: Add a BoundedReader, a wrapper that can be used to constrain access
528 to an underlying stream when used with mark/reset -
530 o IO-426: Add API IOUtils.closeQuietly(Closeable...)
531 o IO-410: Readfully() That Returns A Byte Array Thanks to Beluga Behr.
532 o IO-395: Overload IOUtils buffer methods to accept buffer size Thanks to Beluga Behr.
533 o IO-382: Chunked IO for large arrays.
536 o IO-233: Add Methods for Buffering Streams/Writers To IOUtils
537 Added overloaded buffer() methods - see also IO-330
538 o IO-330: IOUtils#toBufferedOutputStream/toBufferedWriter to conditionally wrap the output
539 Added overloaded buffer() methods - see also IO-233
540 o IO-381: Add FileUtils.copyInputStreamToFile API with option to leave the source open.
542 o IO-379: CharSequenceInputStream - add tests for available()
544 o IO-346: Add ByteArrayOutputStream.toInputStream()
545 o IO-341: A constant for holding the BOM character (U+FEFF)
546 o IO-361: Add API FileUtils.forceMkdirsParent().
547 o IO-360: Add API Charsets.requiredCharsets().
548 o IO-359: Add IOUtils.skip and skipFully(ReadableByteChannel, long). Thanks to yukoba.
549 o IO-358: Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer buffer). Thanks to yukoba…
550 o IO-353: Add API IOUtils.copy(InputStream, OutputStream, int) Thanks to ggregory.
551 o IO-349: Add API with array offset and length argument to FileUtils.writeByteArrayToFile. Thanks …
552 o IO-348: Missing information in IllegalArgumentException thrown by org.apache.commons.io.FileUtil…
553 o IO-345: Supply a hook method allowing Tailer actively determining stop condition. Thanks to mkre…
554 o IO-437: Make IOUtils.EOF public and reuse it in various classes.
557 o IO-446: adds an endOfFileReached method to the TailerListener Thanks to Jeffrey Barrus.
558 o IO-484: FilenameUtils should handle embedded null bytes Thanks to Philippe Arteau.
559 o IO-481: Changed/Corrected algorithm for waitFor
560 o IO-428: BOMInputStream.skip returns wrong count if stream contains no BOM Thanks to Stefan Gmein…
561 o IO-488: FileUtils.waitFor(...) swallows thread interrupted status Thanks to Bj�rn Buchner.
562 o IO-452: Support for symlinks with missing target. Added support for JDK7 symlink features when p…
563 o IO-453: Regression in FileUtils.readFileToString from 2.0.1 Thanks to Steven Christou.
564 o IO-451: ant test fails - resources missing from test classpath Thanks to David Standish.
565 o IO-435: Document that FileUtils.deleteDirectory, directoryContains and cleanDirectory
568 o IO-424: Javadoc fixes, mostly to appease 1.8.0 Thanks to Ville Skytt�.
569 o IO-389: FileUtils.sizeOfDirectory can throw IllegalArgumentException Thanks to Austin Doupnik.
570 o IO-390: FileUtils.sizeOfDirectoryAsBigInteger can overflow.
572 o IO-385: FileUtils.doCopyFile can potentially loop for ever
574 o IO-383: FileUtils.doCopyFile caches the file size; needs to be documented
576 o IO-380: FileUtils.copyInputStreamToFile should document it closes the input source Thanks to cla…
577 o IO-279: Tailer erroneously considers file as new.
579 o IO-356: CharSequenceInputStream#reset() behaves incorrectly in case when buffer size is not divi…
580 …Fix code so skip relates to the encoded bytes; reset now re-encodes the data up to the point of th…
581 o IO-368: ClassLoaderObjectInputStream does not handle primitive typed members
582 o IO-314: Deprecate all methods that use the default encoding
583 o IO-338: When a file is rotated, finish reading previous file prior to starting new one
584 o IO-354: Commons IO Tailer does not respect UTF-8 Charset.
585 o IO-323: What should happen in FileUtils.sizeOf[Directory] when an overflow takes place?
587 o IO-372: FileUtils.moveDirectory can produce misleading error message on failiure
588 o IO-362: IOUtils.contentEquals* methods returns false if input1 == input2, should return true. Th…
589 o IO-357: [Tailer] InterruptedException while the thread is sleeping is silently ignored Thanks to…
590 o IO-352: Spelling fixes. Thanks to scop.
591 o IO-436: Improper Javadoc comment for FilenameUtils.indexOfExtension. Thanks to christoph.schneeg…
594 o IO-433: Converted all testcases to JUnit 4
595 o IO-466: Added testcase to show this was fixed with IO-423
596 o IO-479: Correct exception message in FileUtils.getFile(File, String...) Thanks to Zhouce Chen.
597 o IO-465: Update to JUnit 4.12 Thanks to based2.
598 o IO-462: IOExceptionWithCause no longer needed
599 o IO-422: Deprecate Charsets Charset constants in favor of Java 7's java.nio.charset.StandardChars…
600 o IO-239: Convert IOCase to a Java 1.5+ Enumeration
602 o IO-328: getPrefixLength returns null if filename has leading slashes
604 o IO-299: FileUtils.listFilesAndDirs includes original dir in results even when it doesn't match f…
606 o IO-375: FilenameUtils.splitOnTokens(String text) check for '**' could be simplified
607 o IO-374: WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE when delegating to…
616 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
617 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
632 o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to
634 o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks
636 o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory.
637 o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as
638 UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
639 o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
640 o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger.
642 o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks
644 o IO-324: Add missing Charset sister APIs to method that take a String
648 o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to
650 o IO-279: Tailer erroneously considers file as new. Thanks to Sergio
652 o IO-335: Tailer#readLines - incorrect CR handling.
653 o IO-334: FileUtils.toURLs throws NPE for null parameter; document the
655 o IO-332: Improve tailer's reading performance. Thanks to liangly.
656 o IO-279: Improve Tailer performance with buffered reads (see IO-332).
657 o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
658 o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to
669 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
670 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
684 o IO-322: Add and use class Charsets. Thanks to ggregory.
685 o IO-321: ByteOrderMark UTF_32LE is incorrect. Thanks to ggregory.
686 o IO-318: Add Charset sister APIs to method that take a String charset name. Thanks to ggregory.
690 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
691 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
704 o Add IOUTils.toBufferedReader(Reader) Issue: IO-313. Thanks to ggregory.
705 o Allow applications to provide buffer (or size) for copyLarge methods. Issue: IO-308. Thanks to M…
706 o New copyLarge() method in IOUtils that takes additional offset, length arguments Issue: IO-305. …
707 …) and exabyte (EB) in FileUtils.byteCountToDisplaySize(long size) Issue: IO-287. Thanks to Ron Ku…
708 o FileUtils.listFiles() doesn't return directories Issue: IO-173. Thanks to Marcos Vin�cius da Sil…
709 o CharSequenceInputStream to efficiently stream content of a CharSequence Issue: IO-297. Thanks to…
710 o The second constructor of Tailer class does not pass 'delay' to the third one Issue: IO-304. Tha…
711 o TeeOutputStream does not call branch.close() when main.close() throws an exception Issue: IO-303…
712 … in BOMInputStream when reading a file without BOM multiple times Issue: IO-302. Thanks to jsteue…
713 o Add IOUtils.closeQuietly(Selector) necessary Issue: IO-301. Thanks to kaykay.unique.
714 o IOUtils.closeQuietly() should take a ServerSocket as a parameter Issue: IO-292. Thanks to sebb.
715 o Add read/readFully methods to IOUtils Issue: IO-290. Thanks to sebb.
716 o Supply a ReversedLinesFileReader Issue: IO-288. Thanks to Georg Henzler.
717 o Add new function FileUtils.directoryContains. Issue: IO-291. Thanks to ggregory.
718 o FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings"
719 … Added contentEqualsIgnoreEOL methods to both classes Issue: IO-275. Thanks to CJ Aspromgos.
722 o IOUtils.read(InputStream/Reader) ignores the offset parameter Issue: IO-311. Thanks to Robert Mu…
723 …nceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize Issue: IO-312.
724 …moveDirectoryToDirectory removes source directory if destination is a subdirectory Issue: IO-300.
725 o ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters Issue: IO-3…
726 …nputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 Issue: IO-306.
727 o "FileUtils#deleteDirectoryOnExit(File)" does not work Issue: IO-276. Thanks to nkami.
728 …d() treats max differently from BoundedInputStream.read(byte[]...) Issue: IO-273. Thanks to sebb.
729 ….commons.io.FileUtils' incorrectly suppress 'java.io.IOException' Issue: IO-298. Thanks to Christ…
732 o ReaderInputStream optimization: more efficient reading of small chunks of data Issue: IO-296. Th…
748 o Use standard Maven directory layout Issue: IO-285. Thanks to ggregory.
749 o Add IOUtils API toString for URL and URI to get contents Issue: IO-284. Thanks to ggregory.
750 o Add API FileUtils.copyFile(File input, OutputStream output) Issue: IO-282. Thanks to ggregory.
751 o FileAlterationObserver has no getter for FileFilter Issue: IO-262.
752 o Add FileUtils.getFile API with varargs parameter Issue: IO-261.
753 o Add new APPEND parameter for writing string into files Issue: IO-182.
754 o Add new read method "toByteArray" to handle InputStream with known size. Issue: IO-251. Thanks t…
757 o Dubious use of mkdirs() return code Issue: IO-280. Thanks to sebb.
758 o ReaderInputStream enters infinite loop when it encounters an unmappable character Issue: IO-277.
759 o FileUtils.moveFile() Javadoc should specify FileExistsException thrown Issue: IO-264.
760 o ClassLoaderObjectInputStream does not handle Proxy classes Issue: IO-260.
761 o Tailer returning partial lines when reaching EOF before EOL Issue: IO-274. Thanks to Frank Grime…
762 …ption when copying large files to a shared directory (on Windows) Issue: IO-266. Thanks to Igor S…
764 Improve coverage by also looking for hidden files. Issue: IO-263. Thanks to Gil Adam.
767 o FileAlterationMonitor.stop(boolean allowIntervalToFinish) Issue: IO-259.
774 ------------------------------
775 Binary compatible - Yes
777 Source compatible - Yes
779 Semantic compatible - Yes
786 ---------------------
788 * [IO-256] - Provide thread factory for FileAlternationMonitor
791 ------------------
793 * [IO-257] - BOMInputStream.read(byte[]) can return 0 which it should not
794 * [IO-258] - XmlStreamReader consumes the stream during encoding detection
801 ----------------------
802 Binary compatible - Yes
804 Source compatible - Yes
806 Semantic compatible - Yes
813 ---------------------
815 - IOUtils
816 - write(StringBuffer, Writer) in favour of write(CharSequence, Writer)
817 - write(StringBuffer, OutputStream) in favour of write(CharSequence, OutputStream)
818 - write(StringBuffer, OutputStream, String) in favour of write(CharSequence, OutputStream, String)
820 - FileFilterUtils
821 - andFileFilter(IOFileFilter, IOFileFilter) in favour of and(IOFileFilter...)
822 - orFileFilter(IOFileFilter, IOFileFilter) in favour of or(IOFileFilter...)
825 ---------------------
827 * [IO-140] Move minimum Java requirement from Java 1.3 to Java 5
828 - use Generics
829 - add new CharSequence write() flavour methods to IOUtils and FileUtils
830 - replace StringBuffer with StringBuilder, where appropriate
831 - add new Reader/Writer methods to ProxyReader and ProxyWriter
832 - Annotate with @Override and @Deprecated
834 …* [IO-178] New BOMInputStream and ByteOrderMark implementations - to detect and optionally exclude…
835 * [IO-197] New BoundedInputStream (copied from Apache JackRabbit)
836 * [IO-193] New Broken Input and Output streams
837 * [IO-132] New File Listener/Monitor facility
838 * [IO-158] New ReaderInputStream and WriterOutputStream implementations
839 * [IO-139] New StringBuilder Writer implementation
840 * [IO-192] New Tagged Input and Output streams
841 * [IO-177] New Tailer class - simple implementation of the Unix "tail -f" functionality
842 * [IO-162] New XML Stream Reader/Writer implementations (from ROME via plexus-utils)
844 * [IO-142] Comparators - add facility to sort file lists/arrays
845 * [IO-186] Comparators - new Composite and Directory File Comparator implementations
846 …* [IO-176] DirectoryWalker - add filterDirectoryContents() callback method for filtering directory…
847 * [IO-210] FileFilter - new Magic Number FileFilter
848 * [IO-221] FileFilterUtils - add methods for suffix and prefix filters which take an IOCase object
849 * [IO-232] FileFilterUtils - add method for name filters which take an IOCase object
850 * [IO-229] FileFilterUtils - add varargs and() and or() methods
851 * [IO-198] FileFilterUtils - add ability to apply file filters to collections and arrays
852 …* [IO-156] FilenameUtils - add normalize() and normalizeNoEndSeparator() methods which allow the s…
853 * [IO-194] FileSystemUtils - add freeSpaceKb() method with no input arguments
854 …* [IO-185] FileSystemUtils - add freeSpaceKb() methods that take a timeout parameter - fixes freeS…
855 * [IO-155] FileUtils - use NIO to copy files
856 * [IO-168] FileUtils - add new isSymlink() method
857 …* [IO-219] FileUtils - throw FileExistsException when moving a file or directory if the destinatio…
858 * [IO-234] FileUtils - add Methods for retrieving System User/Temp directories/paths
859 * [IO-208] FileUtils - add timeout (connection and read) support for copyURLToFile() method
860 * [IO-238] FileUtils - add sizeOf(File) method
861 * [IO-181] LineIterator now implements Iterable
862 * [IO-224] IOUtils - add closeQuietly(Closeable) and closeQuietly(Socket) methods
863 * [IO-203] IOUtils - add skipFully() method for InputStreams
864 …* [IO-137] IOUtils and ByteArrayOutputStream - add toBufferedInputStream() method to avoid unneces…
865 * [IO-195] Proxy streams/Reader/Writer - provide exception handling methods
866 * [IO-211] Proxy Input/Output streams - add pre/post processing support
867 * [IO-242] Proxy Reader/Writer - add pre/post processing support
870 ------------------
871 * [IO-214] ByteArrayOutputStream - fix inconsistent synchronization of fields
872 * [IO-201] Counting Input/Output streams - fix inconsistent synchronization
873 * [IO-159] FileCleaningTracker - fix remove() never returns null
874 * [IO-220] FileCleaningTracker - fix Vector performs badly under load
875 …* [IO-167] FilenameUtils - fix case-insensitive string handling in FilenameUtils and FilesystemUti…
876 * [IO-179] FilenameUtils - fix StringIndexOutOfBounds exception in getPathNoEndSeparator()
877 …* [IO-248] FilenameUtils - fix getFullPathNoEndSeparator() returns empty while path is a one level…
878 * [IO-246] FilenameUtils - fix wildcardMatch gives incorrect results
879 * [IO-187] FileSystemUtils - fix freeSpaceKb() doesn't work with relative paths on Linux
880 * [IO-160] FileSystemUtils - fix freeSpace() fails on solaris
881 …* [IO-209] FileSystemUtils - fix freeSpaceKb() fails to return correct size for a windows mount po…
882 * [IO-163] FileUtils - fix toURLs() using deprecated method of conversion to URL
883 * [IO-168] FileUtils - fix Symbolic links followed when deleting directory
884 * [IO-231] FileUtils - fix wrong exception message generated in isFileNewer() method
885 * [IO-207] FileUtils - fix race condition in forceMkdir() method
886 * [IO-217] FileUtils - fix copyDirectoryToDirectory() makes infinite loops
887 * [IO-166] FileUtils - fix URL decoding in toFile(URL)
888 * [IO-190] FileUtils - fix copyDirectory not preserving lastmodified date on sub-directories
889 * [IO-240] FileFilterUtils - ensure cvsFilter and svnFilter are only created once.
890 * [IO-175] IOUtils - fix copyFile() issues with very large files
891 * [IO-191] Improvements from static analysis
892 …* [IO-216] LockableFileWriter - delete files quietly when an exception is thrown during initializa…
893 * [IO-243] SwappedDataInputStream - fix readBoolean is inverted
894 * [IO-235] Tests - remove unused YellOnFlushAndCloseOutputStream from CopyUtilsTest
895 * [IO-161] Tests - fix FileCleaningTrackerTestCase hanging
898 ------------------------------
899 * [IO-183 FilenameUtils.getExtension() method documentation improvements
900 * [IO-226 FileUtils.byteCountToDisplaySize() documentation corrections
901 * [IO-205 FileUtils.forceMkdir() documentation improvements
902 …* [IO-215 FileUtils copy file/directory improve documentation regarding preserving the last modifi…
903 * [IO-189 HexDump.dump() method documentation improvements
904 * [IO-171 IOCase document that it assumes there are only two OSes: Windows and Unix
905 * [IO-223 IOUtils.copy() documentation corrections
906 * [IO-247 IOUtils.closeQuietly() improve documentation with examples
907 * [IO-202 NotFileFilter documentation corrections
908 * [IO-206 ProxyInputStream - fix misleading parameter names
909 * [IO-212 ProxyInputStream.skip() documentation corrections
916 ------------------------
917 Binary compatible - Yes
919 Source compatible - Yes
921 Semantic compatible - Yes
927 those implementations, can be used with Java 1.3 (see IO-127).
930 -----------------------
931 - FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
934 --------------------
935 - FileUtils
936 - forceDelete of orphaned Softlinks does not work [IO-147]
937 - Infinite loop on FileUtils.copyDirectory when the destination directory is within
938 the source directory [IO-141]
939 - Add a copyDirectory() method that makes use of FileFilter [IO-105]
940 - Add moveDirectory() and moveFile() methods [IO-77]
942 - HexDump
943 - HexDump's use of static StringBuffers isn't thread-safe [IO-136]
946 -----------------------
947 - FileUtils
948 - Add a deleteQuietly method [IO-135]
950 - FilenameUtils
951 - Add file name extension separator constants[IO-149]
953 - IOExceptionWithCause [IO-148]
954 - Add a new IOException implementation with constructors which take a cause
956 - TeeInputStream [IO-129]
957 - Add new Tee input stream implementation
959 - FileWriterWithEncoding [IO-153]
960 - Add new File Writer implementation that accepts an encoding
962 - CharSequenceReader [IO-138]
963 - Add new Reader implementation that handles any CharSequence (String,
966 - ThesholdingOuputStream [IO-121]
967 - Add a reset() method which sets the count of the bytes written back to zero.
969 - DeferredFileOutputStream [IO-130]
970 - Add support for temporary files
972 - ByteArrayOutputStream
973 - Add a new write(InputStream) method [IO-152]
975 - New Closed Input/Output stream implementations [IO-122]
976 - AutoCloseInputStream - automatically closes and discards the underlying input stream
977 - ClosedInputStream - returns -1 for any read attempts
978 - ClosedOutputStream - throws an IOException for any write attempts
979 - CloseShieldInputStream - prevents the underlying input stream from being closed.
980 - CloseShieldOutputStream - prevents the underlying output stream from being closed.
982 - Add Singleton Constants to several stream classes [IO-143]
984 - PrefixFileFilter [IO-126]
985 - Add faciltiy to specify case sensitivity on prefix matching
987 - SuffixFileFilter [IO-126]
988 - Add faciltiy to specify case sensitivity on suffix matching
990 - RegexFileFilter [IO-74]
991 - Add new regular expression file filter implementation
993 - Make IOFileFilter implementations Serializable [IO-131]
995 - Improve IOFileFilter toString() methods [IO-120]
997 - Make fields final so classes are immutable/threadsafe [IO-133]
998 - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard IOFileFilter
1001 - IOCase
1002 - Add a compare method to IOCase [IO-144]
1004 - Add a package of java.util.Comparator implementations for files [IO-145]
1005 - DefaultFileComparator - compare files using the default File.compareTo(File) method.
1006 - ExtensionFileComparator - compares files using file name extensions.
1007 - LastModifiedFileComparator - compares files using the last modified date/time.
1008 - NameFileComparator - compares files using file names.
1009 - PathFileComparator - compares files using file paths.
1010 - SizeFileComparator - compares files using file sizes.
1017 ----------------------
1018 Binary compatible - Yes
1020 Source compatible - Yes
1022 Semantic compatible - Yes
1025 ----------------------
1026 Binary compatible - No
1027 See [IO-113]
1029 Source compatible - No
1030 See [IO-113]
1032 Semantic compatible - Yes
1035 ------------------------
1037 - Created the FileCleaningTracker, basically a non-static version of the
1038 FileCleaner, which can be controlled by the user. [IO-116]
1039 - The FileCleaner is deprecated.
1042 --------------------
1044 - Some tests, which are implicitly assuming a Unix-like file system, are
1045 now skipped on Windows. [IO-115]
1046 - EndianUtils
1047 - Both readSwappedUnsignedInteger(...) methods could return negative
1048 numbers due to int/long casting. [IO-117]
1051 ------------------
1053 - FileUtils
1054 - NPE in openOutputStream(File) when file has no parent in path [IO-112]
1055 - readFileToString(File) is not static [IO-113]
1062 ----------------------
1063 Binary compatible - No
1064 See [IO-113]
1066 Source compatible - No
1067 See [IO-113]
1069 Semantic compatible - Yes
1072 ------------------
1074 - FileUtils
1075 - NPE in openOutputStream(File) when file has no parent in path [IO-112]
1076 - readFileToString(File) is not static [IO-113]
1083 ----------------------
1084 Binary compatible - Yes
1086 Source compatible - Yes
1088 Semantic compatible - Yes
1092 ---------------------
1093 - WildcardFilter deprecated, replaced by WildcardFileFilter
1094 - old class only accepted files, thus had a confusing dual purpose
1096 - FileSystemUtils.freeSpace deprecated, replaced by freeSpaceKb
1097 - freeSpace returns a result that varies by operating system and
1099 - freeSpaceKb returns much better and more consistent results
1100 - freeSpaceKb existed in v1.2, so this is a gentle cutover
1103 ------------------
1104 - LineIterator now implements Iterator
1105 - It was always supposed to...
1107 - FileSystemUtils.freeSpace/freeSpaceKb [IO-83]
1108 - These should now work on AIX and HP-UX
1110 - FileSystemUtils.freeSpace/freeSpaceKb [IO-90]
1111 - Avoid infinite looping in Windows
1112 - Catch more errors with nice messages
1114 - FileSystemUtils.freeSpace [IO-91]
1115 - This is now documented not to work on SunOS 5
1117 - FileSystemUtils [IO-93]
1118 - Fixed resource leak leading to 'Too many open files' error
1119 - Previously did not destroy Process instances (as JDK Javadoc is so poor)
1120 - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4801027
1122 - FileUtils.touch [IO-100]
1123 - The touch method previously gave no indication when the file could not
1124 be touched successfully (such as due to access restrictions) - it now
1127 - FileCleaner
1128 - This now handles the situation where an error occurs when deleting the file
1130 - IOUtils.copy [IO-84]
1131 - Copy methods could return inaccurate byte/char count for large streams
1132 - The copy(InputStream, OutputStream) method now returns -1 if the count is greater than an int
1133 - The copy(Reader, Writer) method now throws now returns -1 if the count is greater than an int
1134 - Added a new copyLarge(InputStream, OutputStream) method that returns a long
1135 - Added a new copyLarge(Reader, Writer) method that returns a long
1137 - CountingInputStream/CountingOutputStream [IO-84]
1138 - Methods were declared as int thus the count was innacurate for large streams
1139 - new long based methods getByteCount()/resetByteCount() added
1140 - existing methods changed to throw an exception if the count is greater than an int
1142 - FileBasedTestCase
1143 - Fixed bug in compare content methods identified by GNU classpath
1145 - EndianUtils.writeSwappedLong(byte[], int) [IO-101]
1146 - An int overrun in the bit shifting when it should have been a long
1148 - EndianUtils.writeSwappedLong(InputStream) [IO-102]
1149 - The return of input.read(byte[]) was not being checked to ensure all 8 bytes were read
1152 ---------------------
1153 - DirectoryWalker [IO-86]
1154 - New class designed for subclassing to walk through a set of files.
1159 - IOCase
1160 - New class/enumeration for case-sensitivity control
1162 - FilenameUtils
1163 - New methods to handle case-sensitivity
1164 - wildcardMatch - new method that has IOCase as a parameter
1165 - equals - new method that has IOCase as a parameter
1167 - FileUtils [IO-108] - new default encoding methods for:
1168 - readFileToString(File)
1169 - readLines(File)
1170 - lineIterator(File)
1171 - writeStringToFile(File, String)
1172 - writeLines(File, Collection)
1173 - writeLines(File, Collection, String)
1175 - FileUtils.openOutputStream [IO-107]
1176 - new method to open a FileOutputStream, creating parent directories if required
1177 - FileUtils.touch
1178 - FileUtils.copyURLToFile
1179 - FileUtils.writeStringToFile
1180 - FileUtils.writeByteArrayToFile
1181 - FileUtils.writeLines
1182 - enhanced to create parent directories if required
1183 - FileUtils.openInputStream [IO-107]
1184 - new method to open a FileInputStream, providing better error messages than the JDK
1186 - FileUtils.isFileOlder
1187 - new methods to check if a file is older (i.e. isFileOlder()) - counterparts
1190 - FileUtils.checksum, FileUtils.checksumCRC32
1191 - new methods to create a checksum of a file
1193 - FileUtils.copyFileToDirectory [IO-104]
1194 - new variant that optionally retains the file date
1196 - FileDeleteStrategy
1197 - FileCleaner [IO-56,IO-70]
1198 - FileDeleteStrategy is a strategy for handling file deletion
1199 - This can be used as a calback in FileCleaner
1200 - Together these allow FileCleaner to do a forceDelete to kill directories
1202 - FileCleaner.exitWhenFinished [IO-99]
1203 - A new method that allows the internal cleaner thread to be cleanly terminated
1205 - WildcardFileFilter
1206 - Replacement for WildcardFilter
1207 - Accepts both files and directories
1208 - Ability to control case-sensitivity
1210 - NameFileFilter
1211 - Ability to control case-sensitivity
1213 - FileFileFilter
1214 - New IOFileFilter implementation
1215 - Accepts files where File.isFile() is true
1216 - In other words it filters out directories
1217 - Singleton instance provided (FILE)
1219 - CanReadFileFilter
1220 - New IOFileFilter implementation
1221 - Accepts files where File.canRead() is true
1222 - Singleton instances provided (CAN_READ/CANNOT_READ/READ_ONLY)
1224 - CanWriteFileFilter
1225 - New IOFileFilter implementation
1226 - Accepts files where File.canWrite() is true
1227 - Singleton instances provided (CAN_WRITE/CANNOT_WRITE)
1229 - HiddenFileFilter
1230 - New IOFileFilter implementation
1231 - Accepts files where File.isHidden() is true
1232 - Singleton instances provided (HIDDEN/VISIBLE)
1234 - EmptyFileFilter
1235 - New IOFileFilter implementation
1236 - Accepts files or directories that are empty
1237 - Singleton instances provided (EMPTY/NOT_EMPTY)
1239 - TrueFileFilter/FalseFileFilter/DirectoryFileFilter
1240 - New singleton instance constants (TRUE/FALSE/DIRECTORY)
1241 - The new constants are more Java 5 friendly with regards to static imports
1243 - The old INSTANCE constants are still present and have not been deprecated
1245 - FileFilterUtils.sizeRangeFileFilter
1246 - new sizeRangeFileFilter(long minimumSize, long maximumSize) method which
1249 - FileFilterUtils.makeDirectoryOnly/makeFileOnly
1250 - two new methods that decorate a file filter to make it apply to
1253 - NullWriter
1254 - New writer that acts as a sink for all data, as per /dev/null
1256 - NullInputStream
1257 - New input stream that emulates a stream of a specified size
1259 - NullReader
1260 - New reader that emulates a reader of a specified size
1262 - ByteArrayOutputStream [IO-97]
1263 - Performance enhancements
1270 ----------------------
1271 Binary compatible - Yes
1273 Source compatible - Yes
1275 Semantic compatible - Yes
1278 ---------------------
1281 ------------------
1282 - FileSystemUtils.freeSpace(drive)
1285 - FileUtils.read*
1288 - LockableFileWriter
1293 ---------------------
1294 - AgeFileFilter/SizeFileFilter
1297 - FileSystemUtils.freeSpaceKb(drive)
1300 - FileUtils.contentEquals(File,File)
1303 - FileUtils.iterateFiles
1306 - FileUtils.lineIterator
1310 - FileUtils.copyDirectoryToDirectory
1318 -----------------------------
1319 Binary compatible - Yes
1321 Source compatible - Yes
1323 Semantic compatible - Yes, except:
1324 - FileUtils.writeStringToFile()
1325 A null encoding previously used 'ISO-8859-1', now it uses the platform default
1328 - LockableFileWriter
1332 - FileUtils.touch() (Bug fix 29821)
1335 - FileUtils.toFile(URL) (Bug fix 32575)
1338 - FileUtils.sizeOfDirectory() (Bug fix 36801)
1342 ---------------------
1343 - CopyUtils has been deprecated.
1347 - IOUtils.toByteArray(String) - Use {@link String#getBytes()}
1348 - IOUtils.toString(byte[]) - Use {@link String#String(byte[])}
1349 - IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)}
1352 ------------------
1353 - FileUtils - touch() [29821]
1356 - FileUtils - toFile(URL) [32575]
1359 - FileFilterUtils - makeCVSAware(IOFileFilter) [33023]
1362 - CountingInputStream [33336]
1365 - CountingInputStream - skip(long) [34311]
1368 - NullOutputStream [33481]
1371 - AbstractFileFilter - accept(File, String) [30992]
1374 - FileUtils [36801]
1378 - FileUtils - writeStringToFile()
1382 ---------------------
1383 - FilenameUtils - new class [33303,29351]
1387 - FileSystemUtils - new class [32982,36325]
1391 - IOUtils - new public constants
1394 - IOUtils - toByteArray(Reader,encoding)
1397 - IOUtils - toCharArray(InputStream) [28979]
1398 - toCharArray(InputStream,encoding)
1399 - toCharArray(Reader)
1402 - IOUtils - readLines(InputStream) [36214]
1403 - readLines(InputStream,encoding)
1404 - readLines(Reader)
1407 - IOUtils - toInputStream(String) [32958]
1408 - toInputStream(String,encoding)
1411 - IOUtils - writeLines(Collection,lineEnding,OutputStream) [36214]
1412 - writeLines(Collection,lineEnding,OutputStream,encoding)
1413 - writeLines(Collection,lineEnding,Writer)
1416 - IOUtils - write(...)
1419 - IOUtils - copy(...)
1422 - IOUtils - contentEquals(Reader,Reader)
1425 - FileUtils - toFiles(URL[])
1428 - FileUtils - copyDirectory() [32944]
1431 - FileUtils - readFileToByteArray(File)
1434 - FileUtils - writeByteArrayToFile(File,byte[])
1437 - FileUtils - readLines(File,encoding) [36214]
1440 - FileUtils - writeLines(File,encoding,List)
1444 - FileUtils - EMPTY_FILE_ARRAY
1447 - ConditionalFileFilter - new interface [30705]
1450 - AndFileFilter, OrFileFilter [30705]
1453 - WildcardFilter [31115]
1456 - FileFilterUtils - makeSVNAware(IOFileFilter)
1459 - ClassLoaderObjectInputStream
1462 - CountingInputStream,CountingOutputStream - resetCount() [28976]
1465 - DeferredFileOutputStream - writeTo(OutputStream) [34173]
1468 - DeferredFileOutputStream [34142]
1471 - LockableFileWriter - encoding support [36825]
1476 - IOUtils and EndianUtils are no longer final [28978]
1489 Or subscribe to the commons-user mailing list (prefix emails by [io])
1490 https://commons.apache.org/mail-lists.html
1492 The Commons-IO Team