##### Commons FileUpload

- Overview
- User guide
- Streaming API
- FAQ
- Javadoc
- Mailing lists
- Team
- Tasks
- SVN repository

##### Project Documentation

- Project Information
- Project Reports
  - Changes Report
  - Checkstyle
  - Clirr
  - CPD Report
  - JavaDocs
  - JDepend
  - Jira Report
  - Maven Surefire Report
  - PMD Report
  - RAT Report
  - Source Xref
  - Test JavaDocs
  - Test Source Xref

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### ASF

- Sponsorship
- Thanks

## Changes Report

### Release History

Version | Date | Description
--- | --- | ---
1.2.1 | 2008-01-18 |
1.2 | 2007-02-13 |
1.1.1 | 2006-06-08 | Bugfix release
1.1 | 2005-12-24 | Portlet support, substantial refactoring and numerous bug fixes
1.0 | 2003-06-26 | Initial release

### Release 1.2.1 - 2008-01-18

Type | Changes | By
--- | --- | ---
| Upgrade to commons-io-1.4-SNAPSHOT, in order to use the new FileCleaningTracker and fix issues with FileCleaner. | jochen
| Made the MockHttpServletRequest comply to the servlet 2.4 specification by applying http://www.sourcelabs.com/dashboards/sash-1.2/patches/commons-fileupload-1.1-1/SUP-520.diff Fixes FILEUPLOAD-129 . | jochen
| Added support for accessing the file item headers. Fixes FILEUPLOAD-130 . Thanks to Michael Macaluso . | jochen
| A MalformedStreamException is now thrown, if the size of an items headers exceeds HEADER_PART_SIZE_MAX; Fixes FILEUPLOAD-116 . Thanks to Amichai Rothman . | jochen
| DiskFileItem.toString() could throw an NPE. Fixes FILEUPLOAD-134 . Thanks to Thomas Vandahl . | jochen
| Short files could cause an unexpected end of the item stream. Fixes FILEUPLOAD-135 . Thanks to Alexander Sova . | jochen
| A FileSizeLimitExceededException was deferred until the complete file has been uploaded. Additionally, the FileSizeLimitException is now thrown immediately, if the attachments headers contain a content-length value, which exceeds the configured limit. Fixes FILEUPLOAD-145 . | jochen
| Fixed a classpath problem when building with Sun JDK 1.3.1 and Ant. Fixes FILEUPLOAD-153 . Thanks to Gary Gregory . | jochen

### Release 1.2 - 2007-02-13

Type | Changes | By
--- | --- | ---
| Made Streams.asString static. Thanks to Aaron Freeman . | jochen
| Eliminated duplicate code. Fixes FILEUPLOAD-109 . | jochen
| Added a streaming API. Fixes FILEUPLOAD-112 . | jochen
| Eliminated the necessity of a content-length header. Fixes FILEUPLOAD-93 . | jochen
| Eliminated the limitation of a maximum size for a single header line. (The total size of all headers is already limited, so there's no need for another limit.) Fixes FILEUPLOAD-108 . Thanks to Amichai Rothman . | jochen
| Added the ProgressListener, which allows to implement a progress bar. Fixes FILEUPLOAD-87 . | jochen
| Added support for header continuation lines. Fixes FILEUPLOAD-111 . Thanks to Amichai Rothman . | jochen
| It is now possible to limit the actual file size and not the request size. Fixes FILEUPLOAD-88 . Thanks to Andrey Aristarkhov . | jochen
| Added the FileCleanerCleanup as an example for how to close down the FileCleaner's reaper thread nicely. Fixes FILEUPLOAD-120 . Thanks to Henry Yandell . | jochen
| A descriptive NPE is now thrown, if the FileItemFactory has not been set. Fixes FILEUPLOAD-123 . | jochen

### Release 1.1.1 - 2006-06-08

Type | Changes | By
--- | --- | ---
| Cache disk file item size when it is moved to a new location. Fixes FILEUPLOAD-20 . | martinc
| File names were being inadvertently converted to lower case. Fixes FILEUPLOAD-30 . | martinc

### Release 1.1 - 2005-12-24

Type | Changes | By
--- | --- | ---
| Updates for FileUpload 1.1-RC1. | martinc
| Added release notes for FileUpload 1.1. | martinc
| Update the User Guide to document the "right" way of using FileUpload 1.1, rather than the older, and thus deprecated, ways that are compatible with FileUpload 1.0. | martinc
| Add this change log, including all changes since the Commons FileUpload 1.0 release. | martinc
| Update Commons IO dependency to version 1.1. | martinc
| Add custom PMD configuration. | martinc
| Make inner exception classes static, which they should have been all along. | martinc
| Fix Checkstyle warnings. | martinc
| Remove Javadoc warnings. Fixes FILEUPLOAD-29 . Thanks to Rahul Akolkar. | martinc
|  | martinc
| Add custom Checkstyle configuration. | martinc
| Update dependencies in POM, and add comments and scope. | martinc
| Standardise on @throws instead of having a mixture of that and @exception. | martinc
| Make DiskFileItem serializable. Thanks to Niall Pemberton for the suggestion and patch. Fixes FILEUPLOAD-50 . Thanks to Niall Pemberton. | martinc
| Make the temporary file names unique across class loaders, not just within them, by including a UID in the file name. | martinc
| Include the actual and permitted sizes in both the exception message and the exception itself. Fixes FILEUPLOAD-77 . | martinc
| If an explicit header encoding is not specified, use the one from the appropriate context (i.e. ServletRequest or ActionRequest). Fixes FILEUPLOAD-13 . | martinc
| Add getCharacterEncoding to the request context. | martinc
| Null check and case insensitivity fixes. Fixes FILEUPLOAD-83 . | martinc
|  | martinc
| Fixes to POMs Fixes COMMONSSITE-2 . | dion
| Setting source and target for Java 1.3 | mrdon
| Fix typos in Javadoc code examples. Fixes FILEUPLOAD-37 . | martinc
| Fix typos in exception messages. | martinc
| Obtain request content type from container instead of headers. Fixes FILEUPLOAD-5 . | martinc
| New mock objects from Jetspeed-2, and new FileUpload test cases. | sullis
| added toString() methods | sullis
| Fix up the existing package.html file and add new ones for the newly introduced packages. Fairly minimal, but with a link to the user guide. | martinc
|  | martinc
| Specify the encoding (ISO-8859-1) when converting the boundary to a byte array. Fixes FILEUPLOAD-4 . | martinc
| Convert to Sun coding guidelines. | martinc
| DeferredFileOutputStream moved to Commons IO. | martinc
| Workaround for Mac IE5 bug. Thanks to Justin Sampson for the patch and tests for this vexing issue. Fixes FILEUPLOAD-16 . Thanks to Justin Sampson. | martinc
| Handle unquoted header parameters. Fixes FILEUPLOAD-104 . | martinc
| Some documentation on interaction with virus scanners. Fixes FILEUPLOAD-78 . | martinc
| More unit tests from Justin Sampson. Fixes FILEUPLOAD-31 . Thanks to Justin Sampson. | martinc
| Use FileCleaner from Commons IO to clean up temp files, rather than File.deleteOnExit(), which can cause serious problems in long-running processes. Fixes FILEUPLOAD-95 . | martinc
| Check that HTTP method is POST as part of multipart check. Fixes FILEUPLOAD-53 . | martinc
| Switch to Commons IO version of DeferredFileOutputStream. Adding IO as a dependency will allow us to take advantage of other classes in that component to fix additional FileUpload bugs. | martinc
| handle quoted boundary specification. Fixes FILEUPLOAD-40 . | martinc
| use case-independent comparisons for encoding types. Fixes FILEUPLOAD-18 . | martinc
| Fix comments to avoid break iterator complaints. | martinc
| Fix typos in comments. Thanks to Yuji Yamano. | martinc
| Add support for character sets specified for individual parts. Fixes FILEUPLOAD-101 . Thanks to Oleg Kalnichevski. | martinc
| Change to Apache License 2.0 | scolebourne
| Correct the comment for the no-args constructor to reflect the fact that a factory needs to be set before parsing uploads. Fixes FILEUPLOAD-22 . | martinc
| Collapse some all but duplicated code. | martinc
| Fix example showing FileItem.write to use a File object. Fixes FILEUPLOAD-72 . | jmcnally
| Check for null before attempting to close streams in write(). Fixes FILEUPLOAD-21 . Thanks to Peter Chase. | martinc
| Correction to sample code in the docs. Fixes FILEUPLOAD-67 . Thanks to Paul Dalton. | martinc

### Release 1.0 - 2003-06-26

Type | Changes | By
--- | --- | ---