You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/05/31 20:35:46 UTC

[commons-fileupload] branch master updated: Bump actions/cache from 3.0.2 to 3.0.3

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git


The following commit(s) were added to refs/heads/master by this push:
     new 0c03955  Bump actions/cache from 3.0.2 to 3.0.3
0c03955 is described below

commit 0c0395531189d67e6fb63d2ca0bc3d67c72b8bc4
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue May 31 16:35:41 2022 -0400

    Bump actions/cache from 3.0.2 to 3.0.3
---
 .github/workflows/maven.yml |   94 +--
 src/changes/changes.xml     | 1362 +++++++++++++++++++++----------------------
 2 files changed, 728 insertions(+), 728 deletions(-)

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index fdad191..63e530d 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,47 +1,47 @@
-# 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.
-
-name: Java CI
-
-on: [push, pull_request]
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-    continue-on-error: ${{ matrix.experimental }}
-    strategy:
-      matrix:
-        java: [ 8, 11, 17 ]
-        experimental: [false]
-#        include:
-#          - java: 18-ea
-#            experimental: true
-        
-    steps:
-    - uses: actions/checkout@v3
-    - uses: actions/cache@v3.0.2
-      with:
-        path: ~/.m2/repository
-        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-        restore-keys: |
-          ${{ runner.os }}-maven-
-    - name: Set up JDK ${{ matrix.java }}
-      uses: actions/setup-java@v3
-      with:
-        distribution: 'temurin'
-        java-version: ${{ matrix.java }}
-    - name: Build with Maven
-      run: mvn -V package --file pom.xml --no-transfer-progress spotbugs:check
+# 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.
+
+name: Java CI
+
+on: [push, pull_request]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    continue-on-error: ${{ matrix.experimental }}
+    strategy:
+      matrix:
+        java: [ 8, 11, 17 ]
+        experimental: [false]
+#        include:
+#          - java: 18-ea
+#            experimental: true
+        
+    steps:
+    - uses: actions/checkout@v3
+    - uses: actions/cache@v3.0.3
+      with:
+        path: ~/.m2/repository
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          ${{ runner.os }}-maven-
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@v3
+      with:
+        distribution: 'temurin'
+        java-version: ${{ matrix.java }}
+    - name: Build with Maven
+      run: mvn -V package --file pom.xml --no-transfer-progress spotbugs:check
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8db47d7..06d49d0 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,681 +1,681 @@
-<?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 bugzilla 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.
-
-
-The <action> type attribute can be add,update,fix,remove.
--->
-
-<document xmlns="http://maven.apache.org/changes/1.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
-
-  <properties>
-    <title>Apache Commons FileUpload Release Notes</title>
-    <author email="dev@commons.apache.org">Apache Commons Developers</author>
-  </properties>
-
-  <body>
-    <release version="2.0" date="TBD" description="2.0 Release">
-      <action                        dev="jochen" type="update">Changing Maven coordinates, and package name, due to binary incompatible changes.</action>
-      <action issue="FILEUPLOAD-293" dev="jochen" type="fix">DiskFileItem.write(File) had been changed to use FileUtils.moveFile internally, preventing an existing file as the target.</action>
-      <action issue="FILEUPLOAD-296" dev="jochen" type="fix" due-to="David Georg Reochelt">Performance gains by reusing an internal buffer.</action>
-      <action                        dev="jochen" type="add">Add the package org.apache.fileupload2.jaksrvlt, for compliance with Jakarta Servlet API 5.0.</action>
-      <action                        dev="jochen" type="add">Making FileUploadException a subclass of IOException. (Mibor API simplification.)</action>
-      <action issue="FILEUPLOAD-274" dev="jochen" due-to="Merbin J Anselm" due-to-email="merbinjanselm@gmail.com">RFC 5987 compliance</action>
-      <action                        dev="ggregory" type="update" due-to="Emmanuel Lécharny">Slight optim: resuse the index position instead of recomputing it #49.</action>
-      <action issue="FILEUPLOAD-340" dev="mgrigorov" type="update">Make commons-fileupload2 a JPMS module by adding module-info.class.</action>
-      <action issue="FILEUPLOAD-341" dev="jochen" type="update" due-to="Martin Grigorov">Move Exception classes out of the impl package.</action>
-      <!-- UPDATE -->
-      <action                        dev="jochen" type="update">Bump Java compiler level to 1.8.</action>
-      <action                        dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump tests from commons-io:commons-io 2.6 to 2.11.0, #104.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump junit-jupiter from 5.5.2 to 5.8.2 #31, #130.</action>
-      <action                        dev="jochen" type="update" due-to="Dependabot">Bump Spotbugs from 4.2.3 to 4.4.0, ignore EI_EXPOSE_REP, and EI_EXPOSE_REP2.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #48.</action>
-      <action                        dev="ggregory" type="update" due-to="Gary Gregory">Bump commons.japicmp.version 0.13.0 -> 0.15.3.</action>
-      <action                        dev="ggregory" type="update" due-to="Gary Gregory">Bump build actions/setup-java from 1.4.3 to v3 #142.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump spotbugs-maven-plugin from 4.2.3 to 4.6.0.0 #103, #133, #141.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump actions/checkout from 2.3.4 to 2.4.0 #125.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">Bump actions/cache from 2.1.6 to 3.0.2 #128, #140.</action>
-      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump biz.aQute.bndlib from 6.0.0 to 6.1.0 #129.</action>
-    </release>
-    <release version="1.4" date="2018-12-23" description="1.4 Release">
-      <action issue="FILEUPLOAD-292" dev="chtompki" type="update">Don't create un-needed resources in FileUploadBase.java</action>
-      <action issue="FILEUPLOAD-282" dev="chtompki" type="update">Upversion complier.source, compiler.target to 1.6</action>
-      <action issue="FILEUPLOAD-252" dev="tn" type="fix">DiskFileItem#write() could lose original IO exception</action>
-      <action issue="FILEUPLOAD-258" dev="tn" type="fix">DiskFileItem#getStoreLocation() wrongly returned a File object for items stored in memory</action>
-      <action issue="FILEUPLOAD-242" dev="tn" type="fix">FileUploadBase - should not silently catch and ignore all Throwables</action>
-      <action issue="FILEUPLOAD-257" dev="tn" type="fix">Fix Javadoc 1.8.0 errors</action>
-      <action issue="FILEUPLOAD-234" dev="tn" type="fix">Fix section "Resource cleanup" of the user guide</action>
-      <action issue="FILEUPLOAD-237" dev="tn" type="fix">Fix streaming example: use FileItem.getInputStream() instead of openStream()</action>
-      <action issue="FILEUPLOAD-248" dev="ecki" type="fix">DiskFileItem might suppress critical IOExceptions on rename - use FileUtil.move instead</action>
-      <action issue="FILEUPLOAD-251" dev="sebb" type="fix">DiskFileItem#getTempFile() is broken</action>
-      <action issue="FILEUPLOAD-250" dev="sebb" type="fix">FileUploadBase - potential resource leak - InputStream not closed on exception</action>
-      <action issue="FILEUPLOAD-244" dev="sebb" type="fix">DiskFileItem.readObject fails to close FileInputStream</action>
-      <action issue="FILEUPLOAD-246" dev="sebb" type="update">FileUpload should use IOUtils.closeQuietly where relevant</action>
-      <action issue="FILEUPLOAD-245" dev="sebb" type="fix">DiskFileItem.get() may not fully read the data</action>
-      <action issue="FILEUPLOAD-243" dev="sebb" type="update" due-to="Ville Skyttä">Make some MultipartStream private fields final</action>
-      <action                        dev="ecki" type="add">Site: added security report</action>
-      <action                        dev="markt" due-to="Felix Schumacher">Improve performance for large multi-part boundaries</action>
-      <action issue="FILEUPLOAD-286" dev="jochen" due-to="maxxedev" due-to-email="maxxedev@gmail.com">Added the default character set to the DiskFileItem.</action>
-      <action issue="FILEUPLOAD-288" dev="jochen" due-to="fangwentong" due-to-email="fangwentong2012@gmail.com">Avoid using File.exists() on temporary files, if we know that the file has been created.</action>
-      <action dev="jochen" due-to="Pascal Schumacher">Added .travis.yml, to fix build issues on Github.</action>
-    </release>
-
-    <release version="1.3.3" description="Bugfix release for 1.3.3" date="2017-06-13">
-      <action issue="FILEUPLOAD-279" dev="jochen" type="fix">
-        DiskDileItem can actually no longer be deserialized, unless a system property is set to true.
-      </action>
-    </release>
-
-    <release version="1.3.2" description="Bugfix release for 1.3.1" date="2016.05-26">
-      <action issue="FILEUPLOAD-272" dev="jochen" type="update">
-        SECURITY - CVE-2016-3092. Performance Improvement in MultipartStream.
-      </action>
-    </release>
-
-    <release version="1.3.2" description=
-"This is a security and maintenance release that includes an important security 
-fix as well. Compared to 1.3.1, no other changes have been made." date="2014-02-07">
-	  <action dev="jochen" type="fix">
-	    SECURITY - CVE-2016-3092. Specially crafted input can trigger a DoS, if the
-	    size of the MIME boundard is close to the size of the buffer in MultipartStream.
-	    (Similar to CVE-2014-0050.)
-	  </action>
-    </release>
-    <release version="1.3.1" description=
-"This is a security and maintenance release that includes an important security 
-fix as well as a small number of bugfixes." date="2014-02-07">
-      <action dev="markt" type="fix">
-        SECURITY - CVE-2014-0050. Specially crafted input can trigger a DoS if the
-        buffer used by the MultipartStream is not big enough. When constructing
-        MultipartStream enforce the requirements for buffer size by throwing an
-        IllegalArgumentException if the requested buffer size is too small. This
-        prevents the DoS. 
-      </action>
-      <action dev="markt" type="fix" due-to="Arun Babu Neelicattu" due-to-email="abn@redhat.com">
-        When deserializing DiskFileItems ensure that the repository location, if
-        any, is a valid one.
-      </action>
-      <action dev="markt" type="fix">
-        Correct example in usage documentation so it compiles.
-      </action>
-    </release>
-    
-    <release version="1.3" description="maintenance release, JDK1.5 update" date="2013-03-27">
-      <!-- important notes -->
-      <action dev="markt" type="fix">
-        SECURITY - CVE-2013-0248. Update the Javadoc and documentation to make
-        it clear that setting a repository is required for a secure
-        configuration if there are local, untrusted users.
-      </action>
-      <!-- Sub-task -->
-      <action issue="FILEUPLOAD-216" dev="simonetripodi" type="update">
-        Update the project tree dirs according to default Maven conventions
-      </action>
-      <action issue="FILEUPLOAD-217" dev="simonetripodi" type="update">
-        drop JDK1.3 support and update to Java5
-      </action>
-      <action issue="FILEUPLOAD-218" dev="simonetripodi" type="update">
-        Update version in POM
-      </action>
-      <action issue="FILEUPLOAD-219" dev="simonetripodi" type="update">
-        upgrade tests to JUnit 4
-      </action>
-      <action issue="FILEUPLOAD-220" dev="simonetripodi" type="update">
-        replace package.html with package-info.java
-      </action>
-      <action issue="FILEUPLOAD-221" dev="simonetripodi" type="update">
-        FileItemHeadersImpl can now use LinkedHashMap
-      </action>
-      <action issue="FILEUPLOAD-222" dev="simonetripodi" type="update">
-        Mark @deprecated classes/methods with @Deprecated annotation
-      </action>
-      <action issue="FILEUPLOAD-233" dev="sebb" type="fix" due-to="Simone Tripodi">
-        Base64Decoder doesn't correctly implement RFC 4648
-      </action>
-      <!-- Bug -->
-      <action issue="FILEUPLOAD-143" dev="jochen" type="fix" due-to="Luke Scott">
-        "Stream ended unexpectedly" when posting from a Flash client
-      </action>
-      <action issue="FILEUPLOAD-173" dev="simonetripodi" type="fix" due-to="Bjorn Harvold">
-        Manifest for OSGi has invalid syntax
-      </action>
-      <action issue="FILEUPLOAD-183" dev="simonetripodi" type="fix" due-to="Roman Arkadijovych Muntyanu">
-        commons-io dependency does not get loaded by maven if only dependency to commons-fileupload is specified
-      </action>
-      <action issue="FILEUPLOAD-185" dev="simonetripodi" type="fix" due-to="Sebb">
-        https://commons.apache.org/fileupload/index.html is out of date
-      </action>
-      <action issue="FILEUPLOAD-186" dev="simonetripodi" type="fix" due-to="Sebb">
-        https://commons.apache.org/fileupload/index.html should not mention nightly builds
-      </action>
-      <action issue="FILEUPLOAD-189" dev="simonetripodi" type="fix" due-to="Gregor K">
-        DiskFileItemFactory use of FileCleaningTracker is documented or coded wrong - proposal submitted by Jan Novotný
-      </action>
-      <action issue="FILEUPLOAD-195" dev="simonetripodi" type="fix" due-to="Juliano Alves">
-        Error reading the file size larger than 2 gb - pull request from Gergely
-      </action>
-      <action issue="FILEUPLOAD-197" dev="simonetripodi" type="fix" due-to="David Wolverton">
-        ServletFileUpload isMultipartContent method does not support HTTP PUT - thanks Roy T. Fielding and Jochen  Wiedmann
-      </action>
-      <action issue="FILEUPLOAD-199" dev="simonetripodi" type="fix" due-to="Mark Thomas">
-        Uploads have unexpected results for files with non-ASCII names - support RFC2047 - thanks Thomas Neidhart
-      </action>
-      <action issue="FILEUPLOAD-202" dev="tn" type="fix" due-to="tina">
-        Exceptions resulting from upload size limitations (fileSizeMax, sizeMax)
-        are now correctly propagated to the caller (these could be encountered
-        formerly as MalformedStreamException: "Stream ended unexpectedly"). 
-      </action>
-      <action issue="FILEUPLOAD-204" dev="jochen" type="fix" due-to="Hakju Oh">
-        FileItem.getHeaders() returns always null.
-      </action>
-      <action issue="FILEUPLOAD-212" dev="tn" type="fix" due-to="Damian Kolasa">
-        The sizeMax parameter within FileUpload is now correctly enforced if
-        no content length header is provided. 
-      </action>
-      <action issue="FILEUPLOAD-214" dev="simonetripodi" type="fix" due-to="Matthew Runo">
-        ServletFileUpload only accepts POST requests
-      </action>
-      <action issue="FILEUPLOAD-228" dev="simonetripodi" type="fix" due-to="Thomas Neidhart">
-        (Servlet|Portlet)RequestContext#contentLength() must return request.getContentLength() if Content-length header is not available
-      </action>
-      <action issue="FILEUPLOAD-229" dev="simonetripodi" type="fix" due-to="seb">
-        toLowerCase() is Locale-dependent; should use toLowerCase(Locale.ENGLISH) instead
-      </action>
-      <action issue="FILEUPLOAD-229" dev="sebb,simonetripodi" type="fix" due-to="seb">
-        There are no unit tests for the new utils.mime classes
-      </action>
-      <!-- Improvement -->
-      <action issue="FILEUPLOAD-182" dev="simonetripodi" type="add" due-to="Chris Lott">
-        Documentation: add simple HTML form example to fileupload user guide
-      </action>
-      <action issue="FILEUPLOAD-207" dev="simonetripodi" type="add" due-to="frank">
-        enhance file read/write performance - patch provided by frank
-      </action>
-      <action issue="FILEUPLOAD-209" dev="simonetripodi" type="add" due-to="Fernando Ribeiro">
-        Add Support for Generic Types
-      </action>
-      <action issue="FILEUPLOAD-210" dev="simonetripodi" type="add" due-to="Fernando Ribeiro">
-        Process HTTP Requests Into Maps
-      </action>
-      <action issue="FILEUPLOAD-223" dev="simonetripodi" type="update" due-to="">
-        Update commons-io dependency to latest version that supports JDK1.5
-      </action>
-      <action issue="FILEUPLOAD-224" dev="simonetripodi" type="update">
-        Avoid string concatenations while parsing headers, use buffers instead
-      </action>
-      <action issue="FILEUPLOAD-225" dev="simonetripodi" type="update">
-        Replace java.rmi.server.UID() with java.util.UUID
-      </action>
-      <action issue="FILEUPLOAD-226" dev="sebb" type="update">
-        DiskFileItem.counter could be converted to AtomicInteger (or AtomicLong?)
-      </action>
-      <action issue="FILEUPLOAD-227" dev="sebb" type="update">
-        Private immutable fields which could be final
-      </action>
-      <!-- Task -->
-      <action issue="FILEUPLOAD-201" dev="simonetripodi" type="update">
-        Update to JDK 1.5 and bump IO dependency to 2.0.1
-      </action>
-      <action issue="FILEUPLOAD-215" dev="simonetripodi" type="update">
-        version 1.3 improvement tasks
-      </action>
-    </release>
-
-    <release version="1.2.2" date="2010-07-29">
-      <action dev="jochen" type="fix"
-          due-to="Daniel Fabian" due-to-email="dfabian@google.com">
-        Added a check for file names containing a NULL characters. Such file
-        names are now triggering an InvalidFileNameException since the file name
-        cannot be used as provided to create the file since it will be truncated
-        at the NUL character on most (all?) operating systems. E.g. a file name
-        like "test.foo0.bar" would result in "test.foo" being created.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-160"
-          due-to="Stepan Koltsov" due-to-email="yozh@mx1.ru">
-        Temporary files have not been deleted, if an error
-        occurred in FileUploadBase.parseRequest();
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-158"
-          due-to="Stepan Koltsov" due-to-email="yozh@mx1.ru">
-        Fixed example in MultipartStream Javadocs.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-157"
-          due-to="Paul Spurr" due-to-email="pspurr@gmail.com">
-        Ensured, that the ProgressListener is called for all
-        items.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-156">
-        Made the ProgressNotifier public.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-155"
-          due-to="J&#246;rg Heinicke" due-to-email="joerg.heinicke@gmx.de">
-        Multiple documentation fixes.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-152"
-          due-to="Duzakropka" due-to-email="duzakropka.@gmail.com">
-        Fixed the error message for FileSizeLimitExceededException
-        from "too many characters" to "too many bytes".
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-154">
-        A FileSizeLimitExceededException does now contain the
-        file and field name of the item, which caused the problem.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-130"
-          due-to="Guillaume Cottenceau" due-to-email="cottenc@gmail.com">
-        The FileItemHeader stuff hasn't been actually working.
-      </action>
-    </release>
-
-    <release version="1.2.1" date="2008-01-18">
-      <action dev="jochen" type="fix">
-        Upgrade to commons-io-1.4-SNAPSHOT, in order to use the new
-        FileCleaningTracker and fix issues with FileCleaner.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-129">
-        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
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-130"
-          due-to="Michael Macaluso" due-to-email="michael.public@wavecorp.com">
-        Added support for accessing the file item headers.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-116"
-          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
-        A MalformedStreamException is now thrown, if the size of an items
-        headers exceeds HEADER_PART_SIZE_MAX;
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-134"
-          due-to="Thomas Vandahl" due-to-email="tv@apache.org">
-        DiskFileItem.toString() could throw an NPE.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-135"
-          due-to="Alexander Sova" due-to-email="bird@noir.crocodile.org">
-        Short files could cause an unexpected end of the item stream.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-145">
-        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.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-153"
-          due-to="Gary Gregory" due-to-email="ggregory@seagullsw.com">
-        Fixed a classpath problem when building with Sun JDK 1.3.1
-        and Ant.
-      </action>
-    </release>
-
-	<release version="1.2" date="2007-02-13">
-      <action dev="jochen" type="fix" due-to="Aaron Freeman"
-           due-to-email="aaron@sendthisfile.com">
-        Made Streams.asString static.
-      </action>
-	  <action dev="jochen" type="update" issue="FILEUPLOAD-109">
-	    Eliminated duplicate code.
-	  </action>
-	  <action dev="jochen" type="add" issue="FILEUPLOAD-112">
-	    Added a streaming API.
-	  </action>
-	  <action dev="jochen" type="fix" issue="FILEUPLOAD-93">
-	    Eliminated the necessity of a content-length header.
-	  </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-108"
-          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
-        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.)      
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-87">
-        Added the ProgressListener, which allows to implement a
-        progress bar.
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-111"
-          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
-        Added support for header continuation lines.
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-88"
-          due-to="Andrey Aristarkhov" due-to-email="aristarkhov@bitechnology.ru">
-        It is now possible to limit the actual file size and not
-        the request size.
-      </action>
-      <action dev="jochen" type="add" issue="FILEUPLOAD-120"
-          due-to="Henry Yandell" due-to-email="bayard@apache.org">
-        Added the FileCleanerCleanup as an example for how to close
-        down the FileCleaner's reaper thread nicely.
-      </action>
-      <action dev="jochen" type="fix" issue="FILEUPLOAD-123">
-        A descriptive NPE is now thrown, if the FileItemFactory
-        has not been set.
-      </action>
-	</release>
-
-    <release version="1.1.1" date="2006-06-08" description="Bugfix release">
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-20">
-        Cache disk file item size when it is moved to a new location.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-30">
-        File names were being inadvertently converted to lower case.
-      </action>
-
-    </release>
-
-    <release version="1.1" date="2005-12-24" description="Portlet support, substantial refactoring and numerous bug fixes">
-
-      <action dev="martinc" type="update">
-        Updates for FileUpload 1.1-RC1.
-      </action>
-
-      <action dev="martinc" type="add">
-        Added release notes for FileUpload 1.1.
-      </action>
-
-      <action dev="martinc" type="update">
-        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.
-      </action>
-
-      <action dev="martinc" type="add">
-        Add this change log, including all changes since the Commons FileUpload
-        1.0 release.
-      </action>
-
-      <action dev="martinc" type="update">
-        Update Commons IO dependency to version 1.1.
-      </action>
-
-      <action dev="martinc" type="add">
-        Add custom PMD configuration.
-      </action>
-
-      <action dev="martinc" type="update">
-        Make inner exception classes static, which they should have been all
-        along.
-      </action>
-
-      <action dev="martinc" type="fix">
-        Fix Checkstyle warnings.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-29" due-to="Rahul Akolkar">
-        Remove Javadoc warnings.
-      </action>
-
-      <action dev="martinc" type="update">
-        Build updates:
-        <ul>
-          <li>
-            Include NOTICE.txt in the jar file and distributions.
-          </li>
-          <li>
-            Include xdocs in source distribution.
-          </li>
-          <li>
-            Create MD5 checksums for distributions.
-          </li>
-        </ul>
-      </action>
-
-      <action dev="martinc" type="add">
-        Add custom Checkstyle configuration.
-      </action>
-
-      <action dev="martinc" type="update">
-        Update dependencies in POM, and add comments and scope.
-      </action>
-
-      <action dev="martinc" type="update">
-        Standardise on @throws instead of having a mixture of that and
-        @exception.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-50" due-to="Niall Pemberton">
-        Make DiskFileItem serializable. Thanks to Niall Pemberton for the
-        suggestion and patch.
-      </action>
-
-      <action dev="martinc" type="update">
-        Make the temporary file names unique across class loaders, not just
-        within them, by including a UID in the file name.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-77">
-        Include the actual and permitted sizes in both the exception message
-        and the exception itself.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-13">
-        If an explicit header encoding is not specified, use the one from the
-        appropriate context (i.e. ServletRequest or ActionRequest).
-      </action>
-
-      <action dev="martinc" type="add">
-        Add getCharacterEncoding to the request context.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-83">
-        Null check and case insensitivity fixes.
-      </action>
-
-      <action dev="martinc" type="update">
-        Web site updates:
-        <ul>
-          <li>
-            Add detail pages for Source Repository and Issue Tracking, based on
-            those for IO and Validator.
-          </li>
-          <li>
-            Improvements to FileUpload home page, based on similar recent
-            changes to IO and Validator home pages.
-          </li>
-          <li>
-            The Bugzilla component name has a space in it. Fix the URLs.
-          </li>
-          <li>
-            Add an FAQ page, using the Maven plugin to generate it.
-          </li>
-        </ul>
-      </action>
-
-      <action dev="dion" type="fix" issue="COMMONSSITE-2">
-        Fixes to POMs
-      </action>
-
-      <action dev="mrdon" type="update">
-        Setting source and target for Java 1.3
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-37">
-        Fix typos in Javadoc code examples.
-      </action>
-
-      <action dev="martinc" type="fix">
-        Fix typos in exception messages.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-5">
-        Obtain request content type from container instead of headers.
-      </action>
-
-      <action dev="sullis" type="update">
-        New mock objects from Jetspeed-2, and new FileUpload test cases.
-      </action>
-
-      <action dev="sullis" type="add">
-        added toString() methods
-      </action>
-
-      <action dev="martinc" type="add">
-        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.
-      </action>
-
-      <action dev="martinc" type="update">
-        Substantial refactoring and additions:
-        <ul>
-          <li>
-            The core package is now independent of servlet / portlet / other
-            distinctions, as well as persistence schemes, other than deprecated
-            classes and methods retained for backwards compatibility.
-          </li>
-          <li>
-            Servlet specific functionality has been moved to a new 'servlet'
-            package. Existing users should migrate to this as soon as possible,
-            since the servlet specific functionality in the generic package
-            will be removed in the release after FileUpload 1.1.
-          </li>
-          <li>
-            Support for portlets (JSR 168) has been added, in a new 'portlet'
-            package. This is not well tested at this point, and feedback would
-            be very much appreciated. (This also resolves bug #23620.)
-          </li>
-          <li>
-            The disk-based file item implementation has been moved into a 'disk'
-            package, and renamed from Default* to Disk* to reflect what it
-            really is. The Default* classes have been retained in the top level
-            package for backwards compatibility, but are now deprecated, and
-            will be removed in the release after FileUpload 1.1.
-          </li>
-          <li>
-            The isMultipartRequest method is an unfortunate casualty of this
-            refactoring. That method should really be moved to ServletFileUpload,
-            but since the method is static, it can only exist in either
-            FileUploadBase or ServletFileUpload. Backwards compatibility dictates
-            the former for now, but the latter is the desired state, which
-            implies some future breakage. Fair warning...
-          </li>
-        </ul>
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-4">
-        Specify the encoding (ISO-8859-1) when converting the boundary to a
-        byte array.
-      </action>
-
-      <action dev="martinc" type="update">
-        Convert to Sun coding guidelines.
-      </action>
-
-      <action dev="martinc" type="update">
-        DeferredFileOutputStream moved to Commons IO.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-16" due-to="Justin Sampson">
-        Workaround for Mac IE5 bug. Thanks to Justin Sampson for the patch and
-        tests for this vexing issue.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-104">
-        Handle unquoted header parameters.
-      </action>
-
-      <action dev="martinc" type="add" issue="FILEUPLOAD-78">
-        Some documentation on interaction with virus scanners.
-      </action>
-
-      <action dev="martinc" type="add" issue="FILEUPLOAD-31" due-to="Justin Sampson">
-        More unit tests from Justin Sampson.
-      </action>
-
-      <action dev="martinc" type="update" issue="FILEUPLOAD-95">
-        Use FileCleaner from Commons IO to clean up temp files, rather than
-        File.deleteOnExit(), which can cause serious problems in long-running
-        processes.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-53">
-        Check that HTTP method is POST as part of multipart check.
-      </action>
-
-      <action dev="martinc" type="add">
-        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.
-      </action>
-
-      <action dev="martinc" type="add" issue="FILEUPLOAD-40">
-        handle quoted boundary specification.
-      </action>
-
-      <action dev="martinc" type="add" issue="FILEUPLOAD-18">
-        use case-independent comparisons for encoding types.
-      </action>
-
-      <action dev="martinc" type="fix">
-        Fix comments to avoid break iterator complaints.
-      </action>
-
-      <action dev="martinc" type="fix" due-to="Yuji Yamano">
-        Fix typos in comments.
-      </action>
-
-      <action dev="martinc" type="add" issue="FILEUPLOAD-101" due-to="Oleg Kalnichevski">
-        Add support for character sets specified for individual parts.
-      </action>
-
-      <action dev="scolebourne" type="update">
-        Change to Apache License 2.0
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-22">
-        Correct the comment for the no-args constructor to reflect the fact
-        that a factory needs to be set before parsing uploads.
-      </action>
-
-      <action dev="martinc" type="update">
-        Collapse some all but duplicated code.
-      </action>
-
-      <action dev="jmcnally" type="fix" issue="FILEUPLOAD-72">
-        Fix example showing FileItem.write to use a File object.
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-21" due-to="Peter Chase">
-        Check for null before attempting to close streams in write().
-      </action>
-
-      <action dev="martinc" type="fix" issue="FILEUPLOAD-67" due-to="Paul Dalton">
-        Correction to sample code in the docs.
-      </action>
-
-    </release>
-
-    <release version="1.0" date="2003-06-26" description="Initial release">
-    </release>
-  
-    
-  </body>
-
-</document>
+<?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 bugzilla 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.
+
+
+The <action> type attribute can be add,update,fix,remove.
+-->
+
+<document xmlns="http://maven.apache.org/changes/1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
+
+  <properties>
+    <title>Apache Commons FileUpload Release Notes</title>
+    <author email="dev@commons.apache.org">Apache Commons Developers</author>
+  </properties>
+
+  <body>
+    <release version="2.0" date="TBD" description="2.0 Release">
+      <action                        dev="jochen" type="update">Changing Maven coordinates, and package name, due to binary incompatible changes.</action>
+      <action issue="FILEUPLOAD-293" dev="jochen" type="fix">DiskFileItem.write(File) had been changed to use FileUtils.moveFile internally, preventing an existing file as the target.</action>
+      <action issue="FILEUPLOAD-296" dev="jochen" type="fix" due-to="David Georg Reochelt">Performance gains by reusing an internal buffer.</action>
+      <action                        dev="jochen" type="add">Add the package org.apache.fileupload2.jaksrvlt, for compliance with Jakarta Servlet API 5.0.</action>
+      <action                        dev="jochen" type="add">Making FileUploadException a subclass of IOException. (Mibor API simplification.)</action>
+      <action issue="FILEUPLOAD-274" dev="jochen" due-to="Merbin J Anselm" due-to-email="merbinjanselm@gmail.com">RFC 5987 compliance</action>
+      <action                        dev="ggregory" type="update" due-to="Emmanuel Lécharny">Slight optim: resuse the index position instead of recomputing it #49.</action>
+      <action issue="FILEUPLOAD-340" dev="mgrigorov" type="update">Make commons-fileupload2 a JPMS module by adding module-info.class.</action>
+      <action issue="FILEUPLOAD-341" dev="jochen" type="update" due-to="Martin Grigorov">Move Exception classes out of the impl package.</action>
+      <!-- UPDATE -->
+      <action                        dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">Bump actions/cache from 2.1.6 to 3.0.3 #128, #140.</action>
+      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump actions/checkout from 2.3.4 to 2.4.0 #125.</action>
+      <action                        dev="ggregory" type="update" due-to="Gary Gregory">Bump build actions/setup-java from 1.4.3 to v3 #142.</action>
+      <action                        dev="jochen" type="update">Bump Java compiler level to 1.8.</action>
+      <action                        dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">Bump tests from commons-io:commons-io 2.6 to 2.11.0, #104.</action>
+      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump junit-jupiter from 5.5.2 to 5.8.2 #31, #130.</action>
+      <action                        dev="jochen" type="update" due-to="Dependabot">Bump Spotbugs from 4.2.3 to 4.4.0, ignore EI_EXPOSE_REP, and EI_EXPOSE_REP2.</action>
+      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #48.</action>
+      <action                        dev="ggregory" type="update" due-to="Gary Gregory">Bump commons.japicmp.version 0.13.0 -> 0.15.3.</action>
+      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump spotbugs-maven-plugin from 4.2.3 to 4.6.0.0 #103, #133, #141.</action>
+      <action                        dev="ggregory" type="update" due-to="Dependabot">Bump biz.aQute.bndlib from 6.0.0 to 6.1.0 #129.</action>
+    </release>
+    <release version="1.4" date="2018-12-23" description="1.4 Release">
+      <action issue="FILEUPLOAD-292" dev="chtompki" type="update">Don't create un-needed resources in FileUploadBase.java</action>
+      <action issue="FILEUPLOAD-282" dev="chtompki" type="update">Upversion complier.source, compiler.target to 1.6</action>
+      <action issue="FILEUPLOAD-252" dev="tn" type="fix">DiskFileItem#write() could lose original IO exception</action>
+      <action issue="FILEUPLOAD-258" dev="tn" type="fix">DiskFileItem#getStoreLocation() wrongly returned a File object for items stored in memory</action>
+      <action issue="FILEUPLOAD-242" dev="tn" type="fix">FileUploadBase - should not silently catch and ignore all Throwables</action>
+      <action issue="FILEUPLOAD-257" dev="tn" type="fix">Fix Javadoc 1.8.0 errors</action>
+      <action issue="FILEUPLOAD-234" dev="tn" type="fix">Fix section "Resource cleanup" of the user guide</action>
+      <action issue="FILEUPLOAD-237" dev="tn" type="fix">Fix streaming example: use FileItem.getInputStream() instead of openStream()</action>
+      <action issue="FILEUPLOAD-248" dev="ecki" type="fix">DiskFileItem might suppress critical IOExceptions on rename - use FileUtil.move instead</action>
+      <action issue="FILEUPLOAD-251" dev="sebb" type="fix">DiskFileItem#getTempFile() is broken</action>
+      <action issue="FILEUPLOAD-250" dev="sebb" type="fix">FileUploadBase - potential resource leak - InputStream not closed on exception</action>
+      <action issue="FILEUPLOAD-244" dev="sebb" type="fix">DiskFileItem.readObject fails to close FileInputStream</action>
+      <action issue="FILEUPLOAD-246" dev="sebb" type="update">FileUpload should use IOUtils.closeQuietly where relevant</action>
+      <action issue="FILEUPLOAD-245" dev="sebb" type="fix">DiskFileItem.get() may not fully read the data</action>
+      <action issue="FILEUPLOAD-243" dev="sebb" type="update" due-to="Ville Skyttä">Make some MultipartStream private fields final</action>
+      <action                        dev="ecki" type="add">Site: added security report</action>
+      <action                        dev="markt" due-to="Felix Schumacher">Improve performance for large multi-part boundaries</action>
+      <action issue="FILEUPLOAD-286" dev="jochen" due-to="maxxedev" due-to-email="maxxedev@gmail.com">Added the default character set to the DiskFileItem.</action>
+      <action issue="FILEUPLOAD-288" dev="jochen" due-to="fangwentong" due-to-email="fangwentong2012@gmail.com">Avoid using File.exists() on temporary files, if we know that the file has been created.</action>
+      <action dev="jochen" due-to="Pascal Schumacher">Added .travis.yml, to fix build issues on Github.</action>
+    </release>
+
+    <release version="1.3.3" description="Bugfix release for 1.3.3" date="2017-06-13">
+      <action issue="FILEUPLOAD-279" dev="jochen" type="fix">
+        DiskDileItem can actually no longer be deserialized, unless a system property is set to true.
+      </action>
+    </release>
+
+    <release version="1.3.2" description="Bugfix release for 1.3.1" date="2016.05-26">
+      <action issue="FILEUPLOAD-272" dev="jochen" type="update">
+        SECURITY - CVE-2016-3092. Performance Improvement in MultipartStream.
+      </action>
+    </release>
+
+    <release version="1.3.2" description=
+"This is a security and maintenance release that includes an important security 
+fix as well. Compared to 1.3.1, no other changes have been made." date="2014-02-07">
+	  <action dev="jochen" type="fix">
+	    SECURITY - CVE-2016-3092. Specially crafted input can trigger a DoS, if the
+	    size of the MIME boundard is close to the size of the buffer in MultipartStream.
+	    (Similar to CVE-2014-0050.)
+	  </action>
+    </release>
+    <release version="1.3.1" description=
+"This is a security and maintenance release that includes an important security 
+fix as well as a small number of bugfixes." date="2014-02-07">
+      <action dev="markt" type="fix">
+        SECURITY - CVE-2014-0050. Specially crafted input can trigger a DoS if the
+        buffer used by the MultipartStream is not big enough. When constructing
+        MultipartStream enforce the requirements for buffer size by throwing an
+        IllegalArgumentException if the requested buffer size is too small. This
+        prevents the DoS. 
+      </action>
+      <action dev="markt" type="fix" due-to="Arun Babu Neelicattu" due-to-email="abn@redhat.com">
+        When deserializing DiskFileItems ensure that the repository location, if
+        any, is a valid one.
+      </action>
+      <action dev="markt" type="fix">
+        Correct example in usage documentation so it compiles.
+      </action>
+    </release>
+    
+    <release version="1.3" description="maintenance release, JDK1.5 update" date="2013-03-27">
+      <!-- important notes -->
+      <action dev="markt" type="fix">
+        SECURITY - CVE-2013-0248. Update the Javadoc and documentation to make
+        it clear that setting a repository is required for a secure
+        configuration if there are local, untrusted users.
+      </action>
+      <!-- Sub-task -->
+      <action issue="FILEUPLOAD-216" dev="simonetripodi" type="update">
+        Update the project tree dirs according to default Maven conventions
+      </action>
+      <action issue="FILEUPLOAD-217" dev="simonetripodi" type="update">
+        drop JDK1.3 support and update to Java5
+      </action>
+      <action issue="FILEUPLOAD-218" dev="simonetripodi" type="update">
+        Update version in POM
+      </action>
+      <action issue="FILEUPLOAD-219" dev="simonetripodi" type="update">
+        upgrade tests to JUnit 4
+      </action>
+      <action issue="FILEUPLOAD-220" dev="simonetripodi" type="update">
+        replace package.html with package-info.java
+      </action>
+      <action issue="FILEUPLOAD-221" dev="simonetripodi" type="update">
+        FileItemHeadersImpl can now use LinkedHashMap
+      </action>
+      <action issue="FILEUPLOAD-222" dev="simonetripodi" type="update">
+        Mark @deprecated classes/methods with @Deprecated annotation
+      </action>
+      <action issue="FILEUPLOAD-233" dev="sebb" type="fix" due-to="Simone Tripodi">
+        Base64Decoder doesn't correctly implement RFC 4648
+      </action>
+      <!-- Bug -->
+      <action issue="FILEUPLOAD-143" dev="jochen" type="fix" due-to="Luke Scott">
+        "Stream ended unexpectedly" when posting from a Flash client
+      </action>
+      <action issue="FILEUPLOAD-173" dev="simonetripodi" type="fix" due-to="Bjorn Harvold">
+        Manifest for OSGi has invalid syntax
+      </action>
+      <action issue="FILEUPLOAD-183" dev="simonetripodi" type="fix" due-to="Roman Arkadijovych Muntyanu">
+        commons-io dependency does not get loaded by maven if only dependency to commons-fileupload is specified
+      </action>
+      <action issue="FILEUPLOAD-185" dev="simonetripodi" type="fix" due-to="Sebb">
+        https://commons.apache.org/fileupload/index.html is out of date
+      </action>
+      <action issue="FILEUPLOAD-186" dev="simonetripodi" type="fix" due-to="Sebb">
+        https://commons.apache.org/fileupload/index.html should not mention nightly builds
+      </action>
+      <action issue="FILEUPLOAD-189" dev="simonetripodi" type="fix" due-to="Gregor K">
+        DiskFileItemFactory use of FileCleaningTracker is documented or coded wrong - proposal submitted by Jan Novotný
+      </action>
+      <action issue="FILEUPLOAD-195" dev="simonetripodi" type="fix" due-to="Juliano Alves">
+        Error reading the file size larger than 2 gb - pull request from Gergely
+      </action>
+      <action issue="FILEUPLOAD-197" dev="simonetripodi" type="fix" due-to="David Wolverton">
+        ServletFileUpload isMultipartContent method does not support HTTP PUT - thanks Roy T. Fielding and Jochen  Wiedmann
+      </action>
+      <action issue="FILEUPLOAD-199" dev="simonetripodi" type="fix" due-to="Mark Thomas">
+        Uploads have unexpected results for files with non-ASCII names - support RFC2047 - thanks Thomas Neidhart
+      </action>
+      <action issue="FILEUPLOAD-202" dev="tn" type="fix" due-to="tina">
+        Exceptions resulting from upload size limitations (fileSizeMax, sizeMax)
+        are now correctly propagated to the caller (these could be encountered
+        formerly as MalformedStreamException: "Stream ended unexpectedly"). 
+      </action>
+      <action issue="FILEUPLOAD-204" dev="jochen" type="fix" due-to="Hakju Oh">
+        FileItem.getHeaders() returns always null.
+      </action>
+      <action issue="FILEUPLOAD-212" dev="tn" type="fix" due-to="Damian Kolasa">
+        The sizeMax parameter within FileUpload is now correctly enforced if
+        no content length header is provided. 
+      </action>
+      <action issue="FILEUPLOAD-214" dev="simonetripodi" type="fix" due-to="Matthew Runo">
+        ServletFileUpload only accepts POST requests
+      </action>
+      <action issue="FILEUPLOAD-228" dev="simonetripodi" type="fix" due-to="Thomas Neidhart">
+        (Servlet|Portlet)RequestContext#contentLength() must return request.getContentLength() if Content-length header is not available
+      </action>
+      <action issue="FILEUPLOAD-229" dev="simonetripodi" type="fix" due-to="seb">
+        toLowerCase() is Locale-dependent; should use toLowerCase(Locale.ENGLISH) instead
+      </action>
+      <action issue="FILEUPLOAD-229" dev="sebb,simonetripodi" type="fix" due-to="seb">
+        There are no unit tests for the new utils.mime classes
+      </action>
+      <!-- Improvement -->
+      <action issue="FILEUPLOAD-182" dev="simonetripodi" type="add" due-to="Chris Lott">
+        Documentation: add simple HTML form example to fileupload user guide
+      </action>
+      <action issue="FILEUPLOAD-207" dev="simonetripodi" type="add" due-to="frank">
+        enhance file read/write performance - patch provided by frank
+      </action>
+      <action issue="FILEUPLOAD-209" dev="simonetripodi" type="add" due-to="Fernando Ribeiro">
+        Add Support for Generic Types
+      </action>
+      <action issue="FILEUPLOAD-210" dev="simonetripodi" type="add" due-to="Fernando Ribeiro">
+        Process HTTP Requests Into Maps
+      </action>
+      <action issue="FILEUPLOAD-223" dev="simonetripodi" type="update" due-to="">
+        Update commons-io dependency to latest version that supports JDK1.5
+      </action>
+      <action issue="FILEUPLOAD-224" dev="simonetripodi" type="update">
+        Avoid string concatenations while parsing headers, use buffers instead
+      </action>
+      <action issue="FILEUPLOAD-225" dev="simonetripodi" type="update">
+        Replace java.rmi.server.UID() with java.util.UUID
+      </action>
+      <action issue="FILEUPLOAD-226" dev="sebb" type="update">
+        DiskFileItem.counter could be converted to AtomicInteger (or AtomicLong?)
+      </action>
+      <action issue="FILEUPLOAD-227" dev="sebb" type="update">
+        Private immutable fields which could be final
+      </action>
+      <!-- Task -->
+      <action issue="FILEUPLOAD-201" dev="simonetripodi" type="update">
+        Update to JDK 1.5 and bump IO dependency to 2.0.1
+      </action>
+      <action issue="FILEUPLOAD-215" dev="simonetripodi" type="update">
+        version 1.3 improvement tasks
+      </action>
+    </release>
+
+    <release version="1.2.2" date="2010-07-29">
+      <action dev="jochen" type="fix"
+          due-to="Daniel Fabian" due-to-email="dfabian@google.com">
+        Added a check for file names containing a NULL characters. Such file
+        names are now triggering an InvalidFileNameException since the file name
+        cannot be used as provided to create the file since it will be truncated
+        at the NUL character on most (all?) operating systems. E.g. a file name
+        like "test.foo0.bar" would result in "test.foo" being created.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-160"
+          due-to="Stepan Koltsov" due-to-email="yozh@mx1.ru">
+        Temporary files have not been deleted, if an error
+        occurred in FileUploadBase.parseRequest();
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-158"
+          due-to="Stepan Koltsov" due-to-email="yozh@mx1.ru">
+        Fixed example in MultipartStream Javadocs.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-157"
+          due-to="Paul Spurr" due-to-email="pspurr@gmail.com">
+        Ensured, that the ProgressListener is called for all
+        items.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-156">
+        Made the ProgressNotifier public.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-155"
+          due-to="J&#246;rg Heinicke" due-to-email="joerg.heinicke@gmx.de">
+        Multiple documentation fixes.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-152"
+          due-to="Duzakropka" due-to-email="duzakropka.@gmail.com">
+        Fixed the error message for FileSizeLimitExceededException
+        from "too many characters" to "too many bytes".
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-154">
+        A FileSizeLimitExceededException does now contain the
+        file and field name of the item, which caused the problem.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-130"
+          due-to="Guillaume Cottenceau" due-to-email="cottenc@gmail.com">
+        The FileItemHeader stuff hasn't been actually working.
+      </action>
+    </release>
+
+    <release version="1.2.1" date="2008-01-18">
+      <action dev="jochen" type="fix">
+        Upgrade to commons-io-1.4-SNAPSHOT, in order to use the new
+        FileCleaningTracker and fix issues with FileCleaner.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-129">
+        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
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-130"
+          due-to="Michael Macaluso" due-to-email="michael.public@wavecorp.com">
+        Added support for accessing the file item headers.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-116"
+          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
+        A MalformedStreamException is now thrown, if the size of an items
+        headers exceeds HEADER_PART_SIZE_MAX;
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-134"
+          due-to="Thomas Vandahl" due-to-email="tv@apache.org">
+        DiskFileItem.toString() could throw an NPE.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-135"
+          due-to="Alexander Sova" due-to-email="bird@noir.crocodile.org">
+        Short files could cause an unexpected end of the item stream.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-145">
+        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.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-153"
+          due-to="Gary Gregory" due-to-email="ggregory@seagullsw.com">
+        Fixed a classpath problem when building with Sun JDK 1.3.1
+        and Ant.
+      </action>
+    </release>
+
+	<release version="1.2" date="2007-02-13">
+      <action dev="jochen" type="fix" due-to="Aaron Freeman"
+           due-to-email="aaron@sendthisfile.com">
+        Made Streams.asString static.
+      </action>
+	  <action dev="jochen" type="update" issue="FILEUPLOAD-109">
+	    Eliminated duplicate code.
+	  </action>
+	  <action dev="jochen" type="add" issue="FILEUPLOAD-112">
+	    Added a streaming API.
+	  </action>
+	  <action dev="jochen" type="fix" issue="FILEUPLOAD-93">
+	    Eliminated the necessity of a content-length header.
+	  </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-108"
+          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
+        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.)      
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-87">
+        Added the ProgressListener, which allows to implement a
+        progress bar.
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-111"
+          due-to="Amichai Rothman" due-to-email="amichai2@amichais.net">
+        Added support for header continuation lines.
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-88"
+          due-to="Andrey Aristarkhov" due-to-email="aristarkhov@bitechnology.ru">
+        It is now possible to limit the actual file size and not
+        the request size.
+      </action>
+      <action dev="jochen" type="add" issue="FILEUPLOAD-120"
+          due-to="Henry Yandell" due-to-email="bayard@apache.org">
+        Added the FileCleanerCleanup as an example for how to close
+        down the FileCleaner's reaper thread nicely.
+      </action>
+      <action dev="jochen" type="fix" issue="FILEUPLOAD-123">
+        A descriptive NPE is now thrown, if the FileItemFactory
+        has not been set.
+      </action>
+	</release>
+
+    <release version="1.1.1" date="2006-06-08" description="Bugfix release">
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-20">
+        Cache disk file item size when it is moved to a new location.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-30">
+        File names were being inadvertently converted to lower case.
+      </action>
+
+    </release>
+
+    <release version="1.1" date="2005-12-24" description="Portlet support, substantial refactoring and numerous bug fixes">
+
+      <action dev="martinc" type="update">
+        Updates for FileUpload 1.1-RC1.
+      </action>
+
+      <action dev="martinc" type="add">
+        Added release notes for FileUpload 1.1.
+      </action>
+
+      <action dev="martinc" type="update">
+        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.
+      </action>
+
+      <action dev="martinc" type="add">
+        Add this change log, including all changes since the Commons FileUpload
+        1.0 release.
+      </action>
+
+      <action dev="martinc" type="update">
+        Update Commons IO dependency to version 1.1.
+      </action>
+
+      <action dev="martinc" type="add">
+        Add custom PMD configuration.
+      </action>
+
+      <action dev="martinc" type="update">
+        Make inner exception classes static, which they should have been all
+        along.
+      </action>
+
+      <action dev="martinc" type="fix">
+        Fix Checkstyle warnings.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-29" due-to="Rahul Akolkar">
+        Remove Javadoc warnings.
+      </action>
+
+      <action dev="martinc" type="update">
+        Build updates:
+        <ul>
+          <li>
+            Include NOTICE.txt in the jar file and distributions.
+          </li>
+          <li>
+            Include xdocs in source distribution.
+          </li>
+          <li>
+            Create MD5 checksums for distributions.
+          </li>
+        </ul>
+      </action>
+
+      <action dev="martinc" type="add">
+        Add custom Checkstyle configuration.
+      </action>
+
+      <action dev="martinc" type="update">
+        Update dependencies in POM, and add comments and scope.
+      </action>
+
+      <action dev="martinc" type="update">
+        Standardise on @throws instead of having a mixture of that and
+        @exception.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-50" due-to="Niall Pemberton">
+        Make DiskFileItem serializable. Thanks to Niall Pemberton for the
+        suggestion and patch.
+      </action>
+
+      <action dev="martinc" type="update">
+        Make the temporary file names unique across class loaders, not just
+        within them, by including a UID in the file name.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-77">
+        Include the actual and permitted sizes in both the exception message
+        and the exception itself.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-13">
+        If an explicit header encoding is not specified, use the one from the
+        appropriate context (i.e. ServletRequest or ActionRequest).
+      </action>
+
+      <action dev="martinc" type="add">
+        Add getCharacterEncoding to the request context.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-83">
+        Null check and case insensitivity fixes.
+      </action>
+
+      <action dev="martinc" type="update">
+        Web site updates:
+        <ul>
+          <li>
+            Add detail pages for Source Repository and Issue Tracking, based on
+            those for IO and Validator.
+          </li>
+          <li>
+            Improvements to FileUpload home page, based on similar recent
+            changes to IO and Validator home pages.
+          </li>
+          <li>
+            The Bugzilla component name has a space in it. Fix the URLs.
+          </li>
+          <li>
+            Add an FAQ page, using the Maven plugin to generate it.
+          </li>
+        </ul>
+      </action>
+
+      <action dev="dion" type="fix" issue="COMMONSSITE-2">
+        Fixes to POMs
+      </action>
+
+      <action dev="mrdon" type="update">
+        Setting source and target for Java 1.3
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-37">
+        Fix typos in Javadoc code examples.
+      </action>
+
+      <action dev="martinc" type="fix">
+        Fix typos in exception messages.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-5">
+        Obtain request content type from container instead of headers.
+      </action>
+
+      <action dev="sullis" type="update">
+        New mock objects from Jetspeed-2, and new FileUpload test cases.
+      </action>
+
+      <action dev="sullis" type="add">
+        added toString() methods
+      </action>
+
+      <action dev="martinc" type="add">
+        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.
+      </action>
+
+      <action dev="martinc" type="update">
+        Substantial refactoring and additions:
+        <ul>
+          <li>
+            The core package is now independent of servlet / portlet / other
+            distinctions, as well as persistence schemes, other than deprecated
+            classes and methods retained for backwards compatibility.
+          </li>
+          <li>
+            Servlet specific functionality has been moved to a new 'servlet'
+            package. Existing users should migrate to this as soon as possible,
+            since the servlet specific functionality in the generic package
+            will be removed in the release after FileUpload 1.1.
+          </li>
+          <li>
+            Support for portlets (JSR 168) has been added, in a new 'portlet'
+            package. This is not well tested at this point, and feedback would
+            be very much appreciated. (This also resolves bug #23620.)
+          </li>
+          <li>
+            The disk-based file item implementation has been moved into a 'disk'
+            package, and renamed from Default* to Disk* to reflect what it
+            really is. The Default* classes have been retained in the top level
+            package for backwards compatibility, but are now deprecated, and
+            will be removed in the release after FileUpload 1.1.
+          </li>
+          <li>
+            The isMultipartRequest method is an unfortunate casualty of this
+            refactoring. That method should really be moved to ServletFileUpload,
+            but since the method is static, it can only exist in either
+            FileUploadBase or ServletFileUpload. Backwards compatibility dictates
+            the former for now, but the latter is the desired state, which
+            implies some future breakage. Fair warning...
+          </li>
+        </ul>
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-4">
+        Specify the encoding (ISO-8859-1) when converting the boundary to a
+        byte array.
+      </action>
+
+      <action dev="martinc" type="update">
+        Convert to Sun coding guidelines.
+      </action>
+
+      <action dev="martinc" type="update">
+        DeferredFileOutputStream moved to Commons IO.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-16" due-to="Justin Sampson">
+        Workaround for Mac IE5 bug. Thanks to Justin Sampson for the patch and
+        tests for this vexing issue.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-104">
+        Handle unquoted header parameters.
+      </action>
+
+      <action dev="martinc" type="add" issue="FILEUPLOAD-78">
+        Some documentation on interaction with virus scanners.
+      </action>
+
+      <action dev="martinc" type="add" issue="FILEUPLOAD-31" due-to="Justin Sampson">
+        More unit tests from Justin Sampson.
+      </action>
+
+      <action dev="martinc" type="update" issue="FILEUPLOAD-95">
+        Use FileCleaner from Commons IO to clean up temp files, rather than
+        File.deleteOnExit(), which can cause serious problems in long-running
+        processes.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-53">
+        Check that HTTP method is POST as part of multipart check.
+      </action>
+
+      <action dev="martinc" type="add">
+        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.
+      </action>
+
+      <action dev="martinc" type="add" issue="FILEUPLOAD-40">
+        handle quoted boundary specification.
+      </action>
+
+      <action dev="martinc" type="add" issue="FILEUPLOAD-18">
+        use case-independent comparisons for encoding types.
+      </action>
+
+      <action dev="martinc" type="fix">
+        Fix comments to avoid break iterator complaints.
+      </action>
+
+      <action dev="martinc" type="fix" due-to="Yuji Yamano">
+        Fix typos in comments.
+      </action>
+
+      <action dev="martinc" type="add" issue="FILEUPLOAD-101" due-to="Oleg Kalnichevski">
+        Add support for character sets specified for individual parts.
+      </action>
+
+      <action dev="scolebourne" type="update">
+        Change to Apache License 2.0
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-22">
+        Correct the comment for the no-args constructor to reflect the fact
+        that a factory needs to be set before parsing uploads.
+      </action>
+
+      <action dev="martinc" type="update">
+        Collapse some all but duplicated code.
+      </action>
+
+      <action dev="jmcnally" type="fix" issue="FILEUPLOAD-72">
+        Fix example showing FileItem.write to use a File object.
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-21" due-to="Peter Chase">
+        Check for null before attempting to close streams in write().
+      </action>
+
+      <action dev="martinc" type="fix" issue="FILEUPLOAD-67" due-to="Paul Dalton">
+        Correction to sample code in the docs.
+      </action>
+
+    </release>
+
+    <release version="1.0" date="2003-06-26" description="Initial release">
+    </release>
+  
+    
+  </body>
+
+</document>