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:34:40 UTC

[commons-exec] 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-exec.git


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

commit 761816b878f1d8ffa6b8b5f97e221fce18206fbd
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue May 31 16:34:36 2022 -0400

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

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index e59f501..138a713 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,48 +1,48 @@
-# 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:
-        os: [ubuntu-latest, windows-latest, macos-latest]
-        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 -Ddoclint=all --file pom.xml --no-transfer-progress
+# 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:
+        os: [ubuntu-latest, windows-latest, macos-latest]
+        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 -Ddoclint=all --file pom.xml --no-transfer-progress
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ba2610c..a9421cf 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,299 +1,299 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<document>
-    <properties>
-        <title>Apache Commons Exec Release Notes</title>
-        <author email="sgoeschl@apache.org">Siegfried Goeschl</author>
-    </properties>
-    <body>
-        <release version="1.4.0" date="" description="Maintenance and feature Release (Java 8)">
-            <action issue="EXEC-100" dev="sgoeschl" type="update" date="2016-01-11">
-                Sync org.apache.commons.exec.OS with the newest Ant source file
-            </action>
-            <action issue="EXEC-64" dev="sebb" type="update" due-to="Michael Vorburger">
-                DefaultExecutor swallows IOException cause instead of propagating it
-                (work-round for Java 1.5)
-            </action>
-            <action dev="ggregory" type="update" due-to="nullptr">
-                Java-style Array declaration and remove empty finally block #26.
-            </action>
-            <action dev="ggregory" type="add" due-to="Gary Gregory">
-                Add ShutdownHookProcessDestroyer.isEmpty().
-            </action>
-            <!-- UPDATE -->
-            <action issue="EXEC-111" dev="ggregory" type="update" due-to="Gary Gregory">
-                Update from Java 5 to 6.
-            </action>
-            <action dev="ggregory" type="update" due-to="Gary Gregory">
-                Update from Java 7 to 8.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-                Bump actions/checkout from 2.3.2 to 3 #24, #46.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
-                Bump actions/setup-java from 1.4.0 to 3 #21, #50.
-            </action>
-            <action dev="ggregory" type="update" due-to="Gary Gregory">
-                Bump actions/cache from 2 to 3.0.2 #48, #51.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-                Bump junit from 4.13 to 4.13.2 #23, #33.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-                Bump maven-pmd-plugin from 2.7.1 to 3.16.0 #45.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-                Bump maven-checkstyle-plugin from 2.13 to 3.1.2 #29.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-                Bump commons-parent from 52 to 53 #49.
-            </action>
-        </release>
-        <release version="1.3" date="2014-11-02" description="Maintenance and feature Release">
-            <action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger">
-                DefaultExecutor async execute prevents shutdown hooks running.
-            </action>
-            <action issue="EXEC-81" dev="ggregory" type="fix" date="2014-02-04" due-to="Stephen Compall">
-                Remove remaining raw types, unchecked conversions
-            </action>
-            <action issue="EXEC-80" dev="ggregory" type="fix" date="2014-02-04">
-                NPE in EnvironmentUtils.toString(map)
-            </action>
-            <action issue="EXEC-78" dev="sebb" type="update" date="2014-01-11">
-                No need to use System.class.getMethod("getenv",...) any more
-            </action>
-            <action issue="EXEC-77" dev="britter" type="update" date="2014-01-10">
-                Update JUnit dependency to 4.11
-            </action>
-            <action issue="EXEC-76" dev="britter" type="update" date="2014-01-10">
-                Update to Java 5
-            </action>
-        </release>
-        <release version="1.2" date="2014-01-02" description="Maintenance and small feature Release">
-            <action issue="EXEC-68" dev="ggregory" type="fix" date="2012-10-22"  due-to="Joel McCance">
-                Watchdog kills process immediately if timeout is too large.
-            </action>
-            <action issue="EXEC-57" dev="sgoeschl" type="fix" date="2011-10-10"  due-to="Nickolay Martinov">
-                Applied the patch from Nickolay Martinov but the timeout disguises the fact
-                that the process might be still running. Therefore added a sanity check in
-                order to throw an exception if the the timeout for join() was exceeded.
-            </action>
-            <action issue="EXEC-60" dev="sgoeschl" type="fix" date="2011-10-09"  due-to="Peter Kofler">
-                Fixed deadlock by calling the timeout observers outside of the synchronized block thereby
-                removing a prerequisite of a deadlock. Also added a test case to demonstrate that this
-                problem is fixed (which of course can not guarantee the absence of a dead lock).
-            </action>
-            <action issue="EXEC-55" dev="sgoeschl" type="add" date="2011-02-21"  due-to="Dominik Stadler">
-                Set names for started threads.
-            </action>
-            <action issue="EXEC-52" dev="sebb" type="fix" date="2011-02-26"  due-to="Nickolay Martinov">
-                Tests fail on HP-UX, because it uses a different syntax for the ping command.
-            </action>
-            <action issue="EXEC-49" dev="sgoeschl" type="fix" date="2010-11-05" due-to="Kevin Telford">
-                "Write dead end" IOException when using Piped streams w/PumpStreamHandler.
-                When encountering a PipedOutputStream we will automatically close it to avoid
-                the exception.
-            </action>
-            <action issue="EXEC-34" dev="simonetripodi" type="fix" date="2011-11-30" due-to="Marco Ferrante">
-                Race condition prevent watchdog working using ExecuteStreamHandler.
-                Patch submittd by Kristian Rosenvold.
-            </action>
-        </release>
-        <release version="1.1" date="2010-10-08" description="Maintenance Release">
-            <action dev="sebb" type="fix" date="2010-10-05" >
-                OpenVMS now uses symbols instead of logicals for environment variables.
-            </action>
-            <action dev="sgoeschl" type="add" date="2010-09-21" >
-                Adding 'Argument' class and quote the arguments after expansion.                
-            </action>
-            <action dev="sgoeschl" type="add" date="2010-09-02" >
-                Reverting changes of [EXEC-41] because the patch does not fix the problem.
-                Also added test case for the broken patch.
-            </action>
-            <action dev="sgoeschl" type="add" date="2010-08-17" >
-                Added TutorialTest as a playground for new user and removed
-                similar code from DefaultExecutorTest.
-            </action>
-            <action dev="sgoeschl" type="fix" date="2010-08-16" >
-                String substitution handles now java.io.File instances in order
-                to create a cross-platform file name.            
-            </action>
-            <action dev="sgoeschl" type="fix" date="2010-08-16" >
-                The 'forever.bat' accidentally overwrite the 'forever.txt' instead of
-                appending.
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-08-16" >
-                DefaultExecutor() now sets the working directory with the current working
-                directory.
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-08-15">
-                Added 'DefaultExecutorTest#testStdInHandling' to show how
-                commons-exec can feed the 'stdin' of a child process.
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-42" due-to="Konrad Windzus">
-                Improved the documentation.
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-41" due-to="Ernest Mishkin">
-                Added a PumpStreamHandler.setAlwaysWaitForStreamThreads() which allows to skip
-                joining with the pumper threads. Having said that - using that flag is for the
-                desperate because it could leave up to three worker threads behind but there
-                might be situations where this is the only escape.
-            </action>
-            <action dev="sgoeschl" type="fix" date="2010-08-15" issue="EXEC-46" due-to="Zimmermann Nir">
-                Process.waitFor should clear interrupt status when throwing InterruptedException
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-06-01">
-                Added 'DefaultExecuteResultHandler'
-            </action>
-            <action dev="sgoeschl" type="update" date="2010-06-01" issue="EXEC-42" due-to="Pablo Hoertner">
-                Added a new section to the tutorial to show working with asynchronous
-                processes. Thanks to Pablo for providing this documentation update.
-            </action>
-            <action dev="sgoeschl" type="fix" date="2010-05-31" issue="EXEC-44">
-                Because the ExecuteWatchdog is the only way to destroy asynchronous processes,
-                it should be possible to set it to an infinite timeout, for processes which
-                should not timeout, but manually destroyed under some circumstances.
-            </action>
-        </release>
-        <release version="1.0.1" date="2009-09-28" description="Maintenance Release">
-            <action dev="henrib" type="fix" date="2009-09-25" issue="EXEC-33">
-                On a Mac, the unit tests never finish. Culprit is InputStreamPumper which
-                sets its stop member in the run method; however, run might really be executed
-                after the stopProcessing method is called if the process
-                thread completes before the InputStreamPumper starts.
-            </action>
-            <action dev="sgoeschl" type="fix" due-to="Peter Henderson" issue="EXEC-40">
-                Fixes NPE in DefaultExecutor.setExitValues().
-            </action>
-            <action dev="sgoeschl" type="fix" due-to="Milos Kleint" issue="EXEC-33">
-                Copies all data from an System.input stream to an output stream of
-                the executed process.
-            </action>
-        </release>
-        <release version="1.0" date="2009-03-15" description="First Public Release">
-            <action dev="sgoeschl" type="fix" due-to="Sebastien Bazley" issue="EXEC-37">
-                Removed useless synchronized statement in
-                OpenVmsProcessingEnvironment.createProcEnvironment
-            </action>
-            <action dev="sgoeschl" type="fix" issue="EXEC-33">
-                Using System.in for child process will actually hang your application -
-                see JIRA for more details. Since there is no easy fix an
-                IllegalRuntimeException is thrown when System.in is passed.
-            </action>
-            <action dev="sgoeschl" type="fix" due-to="Luc Maisonobe" issue="EXEC-35">
-                Fixing a few findbugs issues.
-            </action>
-            <action dev="sgoeschl" type="fix" due-to="Marco Ferrante" issue="EXEC-32">
-                Handle null streams consistently.
-            </action>
-            <action dev="sgoeschl" type="fix">
-                After a long discussion we decided to stick to following groupId
-                "org.apache.commons" instead of "commons-exec".
-            </action>
-            <action dev="sgoeschl" type="fix" due-to="Kevin Jackson">
-                The Ant build now works even when junit is not on the classpath
-            </action>
-            <action dev="sgoeschl" type="fix">
-                Fixed broken "groupId" from "org.apache.commons" to "commons-exec"
-            </action>
-            <action dev="sgoeschl" type="fix" issue="EXEC-27" due-to="Benjamin Bentmann">
-                Renamed EnvironmentUtil to EnvironmentUtils to align with other classes
-                in this project and commons in general. Please note that this change
-                could break existing clients (but would be rather unlikely).
-            </action>
-            <action dev="sgoeschl" type="fix" issue="EXEC-30" due-to="Benjamin Bentmann">
-                Make environment variables respect casing rules of platforms. Under Windows
-                "PATH", "Path" and "path" would access the same environment variable whereas
-                the real name is "Path".
-            </action>
-            <action dev="sgoeschl" type="fix" issue="EXEC-31" due-to="Benjamin Bentmann">
-                Invoking DefaultExecutor.execute(CommandLine command, Map environment) using
-                a 'null' Map results in inheriting all environment variables of the current
-                process while passing an empty map implies starting the new process with no
-                environment variables. In short 'null' is not the same as an empty map.
-            </action>
-            <action dev="sgoeschl" type="add" issue="EXEC-26" due-to="Benjamin Bentmann">
-                Added one additional test : DefaultExecutorTest.testExecuteWithFancyArg
-            </action>
-            <action dev="sgoeschl" issue="EXEC-25" type="fix">
-                Using variable substitution within CommandLine broke the regression tests
-                under Windows. Found also another bug when calling CommandLine.getExecutable()
-                the result was not substituted at all. As a general rule we do variable
-                substitution and file separator fixing on the command line executable and
-                variable substitution but NO file separator fixing for the command line
-                arguments.
-            </action>
-            <action dev="sgoeschl" type="add">
-                Added convinience method to add two parameters to the CommandLine
-                using one method invocation.
-            </action>
-            <action dev="sgoeschl" type="fix">
-                Implemented better regression test for OpenVMS affecting also
-                the Executor and CommandLauncher interface.
-            </action>
-            <action dev="sebb" type="add">
-                Added test scripts for OpenVMS - he seems to be the last human
-                having access to an OpenVMS box ... :-)
-            </action>
-            <action dev="sgoeschl" type="add" due-to="Simone Gianni,Bindul Bhowmik,Niall Pemberton,Sebastian Bazley">
-                With the help of the Apache Commons community I added the first results
-                of cross-OS testing.
-            </action>
-            <action dev="sgoeschl" type="add">
-                The regression tests now also works on Windows - so it should
-                work now on Linux, Windows and Mac OS X
-            </action>
-            <action dev="sgoeschl" type="add">
-                Added DebugUtils to improve cross-platform testing.
-            </action>
-            <action dev="sgoeschl" type="remove">
-                Removed commons-logging integration
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-62" due-to="Jeremy Lacoste">
-                Made DefaultExecutor.launch() protected to enable mocking.
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-107" due-to="Niklas Gustavsson">
-                Made ProcessDestroyer optional and pluggable when using Executor.
-            </action>
-            <action dev="sgoeschl" type="add">
-                CommandLine can now expand the given command line by a user-suppied
-                map. This allows to execute something like "${JAVA_HOME}/bin/java -jar ${myapp}"
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-192" due-to="Reinhold Fuereder">
-                Added methods to provide pre-quoted arguments.
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-193" due-to="Reinhold Fuereder">
-                Exposing a ExecuteWatchdog.destroy() to kill an asynchrounous process
-                manually. This formalizes a workaround described in the JIRA
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-203">
-                Extending exit value handling to support applications returning an error
-                code.
-            </action>
-            <action dev="sgoeschl" type="fix" issue="SANDBOX-204">
-                Cleaned up the source code to get rid of javadoc errors and
-                unused imports.
-            </action>
-            <action dev="sgoeschl" type="add" issue="SANDBOX-204">
-                Added a few regression tests for the watchdog since they were missing.
-            </action>
-        </release>
-    </body>
-</document>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<document>
+    <properties>
+        <title>Apache Commons Exec Release Notes</title>
+        <author email="sgoeschl@apache.org">Siegfried Goeschl</author>
+    </properties>
+    <body>
+        <release version="1.4.0" date="" description="Maintenance and feature Release (Java 8)">
+            <action issue="EXEC-100" dev="sgoeschl" type="update" date="2016-01-11">
+                Sync org.apache.commons.exec.OS with the newest Ant source file
+            </action>
+            <action issue="EXEC-64" dev="sebb" type="update" due-to="Michael Vorburger">
+                DefaultExecutor swallows IOException cause instead of propagating it
+                (work-round for Java 1.5)
+            </action>
+            <action dev="ggregory" type="update" due-to="nullptr">
+                Java-style Array declaration and remove empty finally block #26.
+            </action>
+            <action dev="ggregory" type="add" due-to="Gary Gregory">
+                Add ShutdownHookProcessDestroyer.isEmpty().
+            </action>
+            <!-- UPDATE -->
+            <action issue="EXEC-111" dev="ggregory" type="update" due-to="Gary Gregory">
+                Update from Java 5 to 6.
+            </action>
+            <action dev="ggregory" type="update" due-to="Gary Gregory">
+                Update from Java 7 to 8.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot">
+                Bump actions/checkout from 2.3.2 to 3 #24, #46.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
+                Bump actions/setup-java from 1.4.0 to 3 #21, #50.
+            </action>
+            <action dev="ggregory" type="update" due-to="Gary Gregory">
+                Bump actions/cache from 2 to 3.0.3 #48, #51.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot">
+                Bump junit from 4.13 to 4.13.2 #23, #33.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot">
+                Bump maven-pmd-plugin from 2.7.1 to 3.16.0 #45.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot">
+                Bump maven-checkstyle-plugin from 2.13 to 3.1.2 #29.
+            </action>
+            <action dev="ggregory" type="update" due-to="Dependabot">
+                Bump commons-parent from 52 to 53 #49.
+            </action>
+        </release>
+        <release version="1.3" date="2014-11-02" description="Maintenance and feature Release">
+            <action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger">
+                DefaultExecutor async execute prevents shutdown hooks running.
+            </action>
+            <action issue="EXEC-81" dev="ggregory" type="fix" date="2014-02-04" due-to="Stephen Compall">
+                Remove remaining raw types, unchecked conversions
+            </action>
+            <action issue="EXEC-80" dev="ggregory" type="fix" date="2014-02-04">
+                NPE in EnvironmentUtils.toString(map)
+            </action>
+            <action issue="EXEC-78" dev="sebb" type="update" date="2014-01-11">
+                No need to use System.class.getMethod("getenv",...) any more
+            </action>
+            <action issue="EXEC-77" dev="britter" type="update" date="2014-01-10">
+                Update JUnit dependency to 4.11
+            </action>
+            <action issue="EXEC-76" dev="britter" type="update" date="2014-01-10">
+                Update to Java 5
+            </action>
+        </release>
+        <release version="1.2" date="2014-01-02" description="Maintenance and small feature Release">
+            <action issue="EXEC-68" dev="ggregory" type="fix" date="2012-10-22"  due-to="Joel McCance">
+                Watchdog kills process immediately if timeout is too large.
+            </action>
+            <action issue="EXEC-57" dev="sgoeschl" type="fix" date="2011-10-10"  due-to="Nickolay Martinov">
+                Applied the patch from Nickolay Martinov but the timeout disguises the fact
+                that the process might be still running. Therefore added a sanity check in
+                order to throw an exception if the the timeout for join() was exceeded.
+            </action>
+            <action issue="EXEC-60" dev="sgoeschl" type="fix" date="2011-10-09"  due-to="Peter Kofler">
+                Fixed deadlock by calling the timeout observers outside of the synchronized block thereby
+                removing a prerequisite of a deadlock. Also added a test case to demonstrate that this
+                problem is fixed (which of course can not guarantee the absence of a dead lock).
+            </action>
+            <action issue="EXEC-55" dev="sgoeschl" type="add" date="2011-02-21"  due-to="Dominik Stadler">
+                Set names for started threads.
+            </action>
+            <action issue="EXEC-52" dev="sebb" type="fix" date="2011-02-26"  due-to="Nickolay Martinov">
+                Tests fail on HP-UX, because it uses a different syntax for the ping command.
+            </action>
+            <action issue="EXEC-49" dev="sgoeschl" type="fix" date="2010-11-05" due-to="Kevin Telford">
+                "Write dead end" IOException when using Piped streams w/PumpStreamHandler.
+                When encountering a PipedOutputStream we will automatically close it to avoid
+                the exception.
+            </action>
+            <action issue="EXEC-34" dev="simonetripodi" type="fix" date="2011-11-30" due-to="Marco Ferrante">
+                Race condition prevent watchdog working using ExecuteStreamHandler.
+                Patch submittd by Kristian Rosenvold.
+            </action>
+        </release>
+        <release version="1.1" date="2010-10-08" description="Maintenance Release">
+            <action dev="sebb" type="fix" date="2010-10-05" >
+                OpenVMS now uses symbols instead of logicals for environment variables.
+            </action>
+            <action dev="sgoeschl" type="add" date="2010-09-21" >
+                Adding 'Argument' class and quote the arguments after expansion.                
+            </action>
+            <action dev="sgoeschl" type="add" date="2010-09-02" >
+                Reverting changes of [EXEC-41] because the patch does not fix the problem.
+                Also added test case for the broken patch.
+            </action>
+            <action dev="sgoeschl" type="add" date="2010-08-17" >
+                Added TutorialTest as a playground for new user and removed
+                similar code from DefaultExecutorTest.
+            </action>
+            <action dev="sgoeschl" type="fix" date="2010-08-16" >
+                String substitution handles now java.io.File instances in order
+                to create a cross-platform file name.            
+            </action>
+            <action dev="sgoeschl" type="fix" date="2010-08-16" >
+                The 'forever.bat' accidentally overwrite the 'forever.txt' instead of
+                appending.
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-08-16" >
+                DefaultExecutor() now sets the working directory with the current working
+                directory.
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-08-15">
+                Added 'DefaultExecutorTest#testStdInHandling' to show how
+                commons-exec can feed the 'stdin' of a child process.
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-42" due-to="Konrad Windzus">
+                Improved the documentation.
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-41" due-to="Ernest Mishkin">
+                Added a PumpStreamHandler.setAlwaysWaitForStreamThreads() which allows to skip
+                joining with the pumper threads. Having said that - using that flag is for the
+                desperate because it could leave up to three worker threads behind but there
+                might be situations where this is the only escape.
+            </action>
+            <action dev="sgoeschl" type="fix" date="2010-08-15" issue="EXEC-46" due-to="Zimmermann Nir">
+                Process.waitFor should clear interrupt status when throwing InterruptedException
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-06-01">
+                Added 'DefaultExecuteResultHandler'
+            </action>
+            <action dev="sgoeschl" type="update" date="2010-06-01" issue="EXEC-42" due-to="Pablo Hoertner">
+                Added a new section to the tutorial to show working with asynchronous
+                processes. Thanks to Pablo for providing this documentation update.
+            </action>
+            <action dev="sgoeschl" type="fix" date="2010-05-31" issue="EXEC-44">
+                Because the ExecuteWatchdog is the only way to destroy asynchronous processes,
+                it should be possible to set it to an infinite timeout, for processes which
+                should not timeout, but manually destroyed under some circumstances.
+            </action>
+        </release>
+        <release version="1.0.1" date="2009-09-28" description="Maintenance Release">
+            <action dev="henrib" type="fix" date="2009-09-25" issue="EXEC-33">
+                On a Mac, the unit tests never finish. Culprit is InputStreamPumper which
+                sets its stop member in the run method; however, run might really be executed
+                after the stopProcessing method is called if the process
+                thread completes before the InputStreamPumper starts.
+            </action>
+            <action dev="sgoeschl" type="fix" due-to="Peter Henderson" issue="EXEC-40">
+                Fixes NPE in DefaultExecutor.setExitValues().
+            </action>
+            <action dev="sgoeschl" type="fix" due-to="Milos Kleint" issue="EXEC-33">
+                Copies all data from an System.input stream to an output stream of
+                the executed process.
+            </action>
+        </release>
+        <release version="1.0" date="2009-03-15" description="First Public Release">
+            <action dev="sgoeschl" type="fix" due-to="Sebastien Bazley" issue="EXEC-37">
+                Removed useless synchronized statement in
+                OpenVmsProcessingEnvironment.createProcEnvironment
+            </action>
+            <action dev="sgoeschl" type="fix" issue="EXEC-33">
+                Using System.in for child process will actually hang your application -
+                see JIRA for more details. Since there is no easy fix an
+                IllegalRuntimeException is thrown when System.in is passed.
+            </action>
+            <action dev="sgoeschl" type="fix" due-to="Luc Maisonobe" issue="EXEC-35">
+                Fixing a few findbugs issues.
+            </action>
+            <action dev="sgoeschl" type="fix" due-to="Marco Ferrante" issue="EXEC-32">
+                Handle null streams consistently.
+            </action>
+            <action dev="sgoeschl" type="fix">
+                After a long discussion we decided to stick to following groupId
+                "org.apache.commons" instead of "commons-exec".
+            </action>
+            <action dev="sgoeschl" type="fix" due-to="Kevin Jackson">
+                The Ant build now works even when junit is not on the classpath
+            </action>
+            <action dev="sgoeschl" type="fix">
+                Fixed broken "groupId" from "org.apache.commons" to "commons-exec"
+            </action>
+            <action dev="sgoeschl" type="fix" issue="EXEC-27" due-to="Benjamin Bentmann">
+                Renamed EnvironmentUtil to EnvironmentUtils to align with other classes
+                in this project and commons in general. Please note that this change
+                could break existing clients (but would be rather unlikely).
+            </action>
+            <action dev="sgoeschl" type="fix" issue="EXEC-30" due-to="Benjamin Bentmann">
+                Make environment variables respect casing rules of platforms. Under Windows
+                "PATH", "Path" and "path" would access the same environment variable whereas
+                the real name is "Path".
+            </action>
+            <action dev="sgoeschl" type="fix" issue="EXEC-31" due-to="Benjamin Bentmann">
+                Invoking DefaultExecutor.execute(CommandLine command, Map environment) using
+                a 'null' Map results in inheriting all environment variables of the current
+                process while passing an empty map implies starting the new process with no
+                environment variables. In short 'null' is not the same as an empty map.
+            </action>
+            <action dev="sgoeschl" type="add" issue="EXEC-26" due-to="Benjamin Bentmann">
+                Added one additional test : DefaultExecutorTest.testExecuteWithFancyArg
+            </action>
+            <action dev="sgoeschl" issue="EXEC-25" type="fix">
+                Using variable substitution within CommandLine broke the regression tests
+                under Windows. Found also another bug when calling CommandLine.getExecutable()
+                the result was not substituted at all. As a general rule we do variable
+                substitution and file separator fixing on the command line executable and
+                variable substitution but NO file separator fixing for the command line
+                arguments.
+            </action>
+            <action dev="sgoeschl" type="add">
+                Added convinience method to add two parameters to the CommandLine
+                using one method invocation.
+            </action>
+            <action dev="sgoeschl" type="fix">
+                Implemented better regression test for OpenVMS affecting also
+                the Executor and CommandLauncher interface.
+            </action>
+            <action dev="sebb" type="add">
+                Added test scripts for OpenVMS - he seems to be the last human
+                having access to an OpenVMS box ... :-)
+            </action>
+            <action dev="sgoeschl" type="add" due-to="Simone Gianni,Bindul Bhowmik,Niall Pemberton,Sebastian Bazley">
+                With the help of the Apache Commons community I added the first results
+                of cross-OS testing.
+            </action>
+            <action dev="sgoeschl" type="add">
+                The regression tests now also works on Windows - so it should
+                work now on Linux, Windows and Mac OS X
+            </action>
+            <action dev="sgoeschl" type="add">
+                Added DebugUtils to improve cross-platform testing.
+            </action>
+            <action dev="sgoeschl" type="remove">
+                Removed commons-logging integration
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-62" due-to="Jeremy Lacoste">
+                Made DefaultExecutor.launch() protected to enable mocking.
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-107" due-to="Niklas Gustavsson">
+                Made ProcessDestroyer optional and pluggable when using Executor.
+            </action>
+            <action dev="sgoeschl" type="add">
+                CommandLine can now expand the given command line by a user-suppied
+                map. This allows to execute something like "${JAVA_HOME}/bin/java -jar ${myapp}"
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-192" due-to="Reinhold Fuereder">
+                Added methods to provide pre-quoted arguments.
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-193" due-to="Reinhold Fuereder">
+                Exposing a ExecuteWatchdog.destroy() to kill an asynchrounous process
+                manually. This formalizes a workaround described in the JIRA
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-203">
+                Extending exit value handling to support applications returning an error
+                code.
+            </action>
+            <action dev="sgoeschl" type="fix" issue="SANDBOX-204">
+                Cleaned up the source code to get rid of javadoc errors and
+                unused imports.
+            </action>
+            <action dev="sgoeschl" type="add" issue="SANDBOX-204">
+                Added a few regression tests for the watchdog since they were missing.
+            </action>
+        </release>
+    </body>
+</document>