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 2024/06/15 15:05:48 UTC

svn commit: r69769 - in /dev/commons/email/2.0.0-M1-RC1: ./ binaries/ site/ source/

Author: ggregory
Date: Sat Jun 15 15:05:48 2024
New Revision: 69769

Log:
Staging release: commons-email2-parent, version: 2.0.0-M1

Added:
    dev/commons/email/2.0.0-M1-RC1/
    dev/commons/email/2.0.0-M1-RC1/HEADER.html
    dev/commons/email/2.0.0-M1-RC1/README.html
    dev/commons/email/2.0.0-M1-RC1/RELEASE-NOTES.txt
    dev/commons/email/2.0.0-M1-RC1/binaries/
    dev/commons/email/2.0.0-M1-RC1/binaries/HEADER.html
    dev/commons/email/2.0.0-M1-RC1/binaries/README.html
    dev/commons/email/2.0.0-M1-RC1/signature-validator.sh
    dev/commons/email/2.0.0-M1-RC1/site/
    dev/commons/email/2.0.0-M1-RC1/site/org.apache.commons_commons-email2-parent-2.0.0-M1.spdx.json
    dev/commons/email/2.0.0-M1-RC1/source/
    dev/commons/email/2.0.0-M1-RC1/source/HEADER.html
    dev/commons/email/2.0.0-M1-RC1/source/README.html

Added: dev/commons/email/2.0.0-M1-RC1/HEADER.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/HEADER.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/HEADER.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,31 @@
+<!--
+ 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.
+-->
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project are available from this
+    directory listing. For older releases, please use the
+    <a href="https://archive.apache.org/dist/commons/">archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

Added: dev/commons/email/2.0.0-M1-RC1/README.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/README.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/README.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,66 @@
+<!--
+ 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.
+-->
+<h1>Commons-EMAIL v2.0.0-M1.</h1>
+
+<p>This is the 2.0.0-M1 version of commons-email2-parent. It is available in both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a href="https://commons.apache.org/proper/commons-email/">EMAIL</a>.</p>
+
+<p>From the Apache Commons Project<br><a href="https://commons.apache.org/">https://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">nearest mirror site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            HREF="http://downloads.apache.org/commons/KEYS"><samp>http://downloads.apache.org/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file

Added: dev/commons/email/2.0.0-M1-RC1/RELEASE-NOTES.txt
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/RELEASE-NOTES.txt (added)
+++ dev/commons/email/2.0.0-M1-RC1/RELEASE-NOTES.txt Sat Jun 15 15:05:48 2024
@@ -0,0 +1,519 @@
+Apache Commons Email Parent POM 2.0.0-M1
+RELEASE NOTES
+
+The Apache Commons Email Parent POM team is pleased to announce the release of Apache Commons Email Parent POM 2.0.0-M1.
+
+Apache Commons Email provides an API for sending email, simplifying the JavaMail API.
+
+
+Feature release (Java 8 or above).
+
+For complete information on Apache Commons Email Parent POM, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Email Parent POM website:
+
+https://commons.apache.org/proper/commons-email/
+
+Download page: https://commons.apache.org/proper/commons-email/download_net.cgi
+
+Changes in this version
+-----------------------
+
+New features
+------------
+
+*             Split into a multi-module project for javax vs. jakarta. Thanks to Gary Gregory.
+*             Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+
+*             Fix Checkstyle configuration. Thanks to Gary Gregory.
+*             Fix PMD UnnecessaryFullyQualifiedName issues. Thanks to Gary Gregory.
+
+Changes
+-------
+
+*             Bump org.slf4j:slf4j-jdk14 from 2.0.9 to 2.0.13 #238. Thanks to Dependabot.
+*             Bump com.github.davidmoten:subethasmtp from 6.0.7 to 7.1.1 #252. Thanks to Dependabot.
+*             Bump org.mockito:mockito-core from 5.8.0 to 5.12.0 #222, #251. Thanks to Dependabot.
+*             Bump commons-parent from 65 to 71 #233. Thanks to Gary Gregory.
+*             Bump commons-io:commons-io from 2.15.1 to 2.16.1 #231, #236. Thanks to Dependabot.
+
+
+Historical list of changes: https://commons.apache.org/proper/commons-email/changes-report.html
+
+Enjoy!
+- The Apache Commons Team
+
+-----------------------------------------------------------------------------
+Apache Commons Email Parent POM 2.0.0-M1-SNAPSHOT
+RELEASE NOTES
+
+The Apache Commons Email Parent POM team is pleased to announce the release of Apache Commons Email Parent POM 2.0.0-M1-SNAPSHOT.
+
+Apache Commons Email provides an API for sending email, simplifying the JavaMail API.
+
+
+Feature release (Java 8 or above).
+
+For complete information on Apache Commons Email Parent POM, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Email Parent POM website:
+
+https://commons.apache.org/proper/commons-email/
+
+Download page: https://commons.apache.org/proper/commons-email/download_net.cgi
+
+Changes in this version
+----------------------
+
+New features
+------------
+
+*             Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+
+*             Fix Checkstyle configuration. Thanks to Gary Gregory.
+
+Changes
+-------
+
+*             Bump org.slf4j:slf4j-jdk14 from 2.0.9 to 2.0.12. Thanks to Dependabot.
+*             Bump com.github.davidmoten:subethasmtp from 6.0.7 to 7.0.1. Thanks to Dependabot.
+*             Bump org.mockito:mockito-core from 5.8.0 to 5.10.0. Thanks to Dependabot.
+*             Bump commons-parent from 65 to 66. Thanks to Gary Gregory.
+
+
+Historical list of changes: https://commons.apache.org/proper/commons-email/changes-report.html
+
+Enjoy!
+-Apache Commons Net team
+
+------------------------------------------------------------------------
+
+Apache Commons Email 1.6.0
+RELEASE NOTES
+
+The Apache Commons Email team is pleased to announce the release of Apache Commons Email 1.6.0.
+
+Apache Commons Email provides an API for sending email, simplifying the JavaMail API.
+
+
+Feature release (Java 8 or above).
+
+For complete information on Apache Commons Email, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Email website:
+
+https://commons.apache.org/proper/commons-email/
+
+Download page: https://commons.apache.org/proper/commons-email/download_net.cgi
+
+Changes in this version include:
+===============================
+
+New features
+------------
+
+* Add github/codeql-action #75. Thanks to Dependabot.
+* Add Maven plugin JapiCmp and remove Clirr. Thanks to Gary Gregory.
+o EMAIL-176:  Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
+o EMAIL-207:  Add InputStreamDataSource. Thanks to Lee Jaeheon, Gary Gregory.
+o EMAIL-207:  Don't waste memory in MimeMessageParser#createDataSource(). Thanks to Lee Jaeheon, Gary Gregory.
+* Add EmailConstants.SOCKET_TIMEOUT and deprecate SOCKET_TIMEOUT_MS. Thanks to Gary Gregory.
+* Add Email.setSocketConnectionTimeout(Duration) and deprecate setSocketConnectionTimeout(int). Thanks to Gary Gregory.
+* Add Email.setSocketTimeout(Duration) and deprecate setSocketTimeout(int). Thanks to Gary Gregory.
+* Add PathDataSource. Thanks to Gary Gregory.
+* Add DataSourcePathResolver. Thanks to Gary Gregory.
+* Add MimeMessageUtils.createMimeMessage(Session, Path, OpenOption...). Thanks to Gary Gregory.
+* Add MultiPartEmail.attach(Path, OpenOption...). Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+
+o EMAIL-190:  Fix broken JDK 9 build by updating "easymock" and other dependencies. Thanks to sgoeschl.
+* Use JUnit 5 APIs #106, #108, #109, #114. Thanks to John Patrick, Gary Gregory.
+* [StepSecurity] ci: Harden GitHub Actions #149. Thanks to step-security-bot, Gary Gregory.
+* Better use of JUnit APIs #158. Thanks to Lee Jaeheon, sebbASF.
+o EMAIL-205:  Update conversion code #153. Thanks to Dimitrios Efthymiou, Alex Herbert.
+* Email.setBounceAddress no longer accepts invalid email addresses. Thanks to Alexander Lehmann.
+* Throw more specific exceptions in MimeMessageParser #11. Thanks to Amir Behnam, Michael Osipov.
+* Email.setMailSession(Session) throws the more precise exception NullPointerException. Thanks to Gary Gregory.
+* Avoid possible NullPointerException in DataSourceClassPathResolver.resolve(String, boolean). Thanks to Gary Gregory.
+* Complete half-baked test DataSourceUrlResolverTest.testResolvingHttpNonLenient(). Thanks to Gary Gregory.
+o EMAIL-206:  Use SharedByteArrayInputStream for memory usage #157. Thanks to Lee Jaeheon, Gary Gregory.
+* Migrate to JUnit 5 #186. Thanks to Loki-Afro, Gary Gregory.
+o EMAIL-174:  Bump javax.mail dependency to 1.6.1, so that i18n is supported for email addresses. Thanks to Vegard Stuen.
+* Add missing getters and setters in EMail and subclasses; deprecate access to protected instance variables. Thanks to Loki-Afro, Gary Gregory.
+* DataSourceUrlResolver.resolve(String, boolean) leaks InputStreams. Thanks to Gary Gregory.
+* Use US-ASCII in MimeMessageUtils.createMimeMessage(Session, String). Thanks to Gary Gregory.
+
+Changes
+-------
+
+* Bump org.slf4j:slf4j-jdk14 from 1.7.7 to 2.0.9 #165. Thanks to Dependabot.
+* Bump mockito-core from 4.11.0 to 5.8.0 #187. Thanks to Dependabot.
+* Bump actions/cache from 2 to 3.0.11 #39, #48, #60, #70, #102. Thanks to Dependabot, Gary Gregory.
+* Bump actions/checkout from 1 to 3.2.0, #25 #33, #67, #99, #117. Thanks to Dependabot, Gary Gregory.
+* Bump actions/setup-java from 1.4.0 to v3.6.0 #30, #74, #103. Thanks to Dependabot, Gary Gregory.
+* Bump actions/upload-artifact from 3.1.0 to 3.1.1 #110. Thanks to Dependabot.
+o EMAIL-177:  Bump from Java 6 to 7. Thanks to Gary Gregory.
+* Bump from Java 7 to 8. Thanks to Gary Gregory.
+o EMAIL-183:  Bump javax.mail:1.6.1 to jakarta.mail:1.6.7. Thanks to Lukas Petrovicky, gitmotte, Dependabot, Gary Gregory.
+* Bump commons-parent from 50 to 65, #118, #128. Thanks to Gary Gregory, Dependabot.
+* Bump spotbugs-maven-plugin from 4.0.0 to 4.7.2 #18. Thanks to Dependabot, Gary Gregory.
+* Bump spotbugs from 4.0.6 to 4.7.2 #40. Thanks to Dependabot.
+* Bump junit from 4.13 to 4.13.2 #32. Thanks to Dependabot, Gary Gregory.
+* Bump commons-release-plugin from 1.0 to 1.7 #23. Thanks to Dependabot.
+* Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #34, #72, #79, #94. Thanks to Dependabot.
+* Bump tests commons-io:commons-io 2.6 to 2.15.1. Thanks to Gary Gregory.
+* Bump jacoco from 0.8.6 to 0.8.8; fixes jacoco on Java 17. Thanks to Gary Gregory.
+* Bump org.easymock:easymock from 4.2 to 5.2.0, #107, #164. Thanks to Gary Gregory.
+* Bump commons-release-plugin from 1.7 to 1.8.1 #73, #184. Thanks to Dependabot.
+* Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #87. Thanks to Dependabot.
+
+
+Historical list of changes: https://commons.apache.org/proper/commons-email/changes-report.html
+
+Enjoy!
+-Apache Commons Net team
+
+------------------------------------------------------------------------
+
+                         Commons Email Package
+                              Version 1.5
+                             Release Notes
+
+INTRODUCTION
+------------
+
+Commons Email aims to provide a API for sending email. It builds on the JavaMail
+API with the aim of presenting a simplified API which is easy for developers who
+are not mail experts to use. It is a compact component with a small number of
+classes.
+
+The Commons Email website is the source for the most recent information,
+downloads, reports, and bug status:
+
+http://commons.apache.org/email/
+
+This is a major release which adds some new features and fixes several bugs
+present in the 1.4.0 release. All current users are encouraged to upgrade.
+
+CHANGES FROM 1.4
+----------------
+
+Compatibility
+-------------
+
+* Java 6 or later is required.
+
+* JavaMail dependency has been upgraded to version 1.5.6,
+  as a consequence, the maven dependency has changed to:
+
+  <dependency>
+    <groupId>com.sun.mail</groupId>
+    <artifactId>javax.mail</artifactId>
+    <version>1.5.6</version>
+  </dependency>
+
+New Features
+------------
+
+* Add Support for International Domain Names. This change requires JDK 1.6+.
+Issue: EMAIL-160
+
+* Add Email#getHeader(String) and Email#getHeaders() methods.
+Issue: EMAIL-154. Thanks to Ken Geis, Balachandran Sivakumar
+
+Updates
+-------
+
+* Update Oracle JavaMail dependency from 1.5.2 to 1.5.6.
+  Issue: EMAIL-165.
+
+* Remove "javax.activation" dependency since it is included in JDK 1.6
+  Issue: EMAIL-161.
+
+Fixed Bugs
+----------
+
+* DataSourceClassPathResolver doesn't close InputStream when resolving resources
+Issue: EMAIL-167. Thanks to Lucian Burja.
+
+CHANGES FROM 1.3.3
+------------------
+
+Compatibility
+-------------
+
+* Java 5 or later is required (unchanged since 1.3).
+
+* JavaMail dependency has been upgraded to version 1.5.2,
+  as a consequence, the maven dependency has changed to:
+
+  <dependency>
+    <groupId>com.sun.mail</groupId>
+    <artifactId>javax.mail</artifactId>
+    <version>1.5.2</version>
+  </dependency>
+
+== New Features ==
+
+* Added getter for the bounce address of an email to class Email.
+  Issue: EMAIL-146. Thanks to Alexander Lehmann.
+
+* Added support for mapping of content-ids to DataSource in "MimeMessageParser".
+  Issue: EMAIL-141. Thanks to Stephen Kruger.
+
+== Updates ==
+
+* Update Oracle JavaMail dependency from 1.4.5 to 1.5.2.
+  Issue: EMAIL-144.
+
+Fixed Bugs
+----------
+
+
+* "Email" threw an "EmailException" when trying to send the email if neither a from
+  nor bounce address was specified, although a "mail.from" property was set in the mail session.
+  Issue: EMAIL-149. Thanks to Richard DiCroce.
+
+* "ImageHtmlEmail" failed to embed attachments if their data source name was null.
+  Issue: EMAIL-151. Thanks to Andreas Kohn.
+
+* Html emails did not have the correct content-type set when using the Apache Geronimo
+  JavaMail implementation v1.8.x.
+  Issue: EMAIL-147. Thanks to Can Eskikaya.
+
+* An "HtmlEmail" with both, an html and plain text content but no attachments or embedded
+  images will now be created with mimetype "multipart/alternative" instead of "multipart/mixed".
+  Issue: EMAIL-142. Thanks to Marcin Tomiak.
+
+
+CHANGES FROM 1.3.2
+------------------
+
+Compatibility
+-------------
+
+* Java 5 or later is required (unchanged since 1.3).
+
+Fixed Bugs
+----------
+
+
+* The filename of an attachment was not properly encoded in case it contained
+  non-ascii characters.
+  Issue: EMAIL-138. Thanks to qed.
+
+* MimeMessageParser did not correctly parse MimeMessage objects created by
+  calling HtmlEmail.buildMimeMessage() and HtmlEmail.getMimeMessage().
+  Issue: EMAIL-137. Thanks to Alex Kogan.  
+
+* Fix Javadoc 1.8 errors.
+  Issue: EMAIL-136. Thanks to Ville Skyttä.
+
+
+CHANGES FROM 1.3.1
+------------------
+
+Compatibility
+-------------
+
+* Java 5 or later is required (unchanged since 1.3).
+
+Fixed Bugs
+----------
+
+
+* Change visibility of DataSourceUrlResourceResolver.createUrl(String) to protected so
+  that sub-classes can override it.
+  Issue: EMAIL-135. Thanks to Andreas Kohn.
+
+* Support default mime charset property "mail.mime.charset" when adding text content
+  to instances of either SimpleEmail or HtmlEmail.
+  Issue: EMAIL-104. Thanks to Hiroshi Ikeda.
+
+* Added support for sending partial emails in case of invalid addresses.
+  Issue: EMAIL-132. Thanks to Allen Xudong Cheng.
+
+* The MimeMessageParser will now correctly parse MIME multi-parts of type "text/plain"
+  and "text/html" with a content disposition header of "attachment". The parts will
+  be added to the list of attachments even if there is no other text or html content.
+  Issue: EMAIL-131. Thanks to Raju Y.
+
+* Special characters in the body of an HTML email could lead to an exception when the
+  mime message was built.
+  Issue: EMAIL-127. Thanks to Dominik Stadler.
+
+
+CHANGES FROM 1.3
+----------------
+
+Compatibility
+-------------
+
+* Java 5 or later is required (unchanged since 1.3).
+
+Fixed Bugs
+----------
+
+
+* DataSourceClassPathResolver will now correctly set the DataSource name for resolved
+  resources. Additionally, it is now possible to set the name for a ByteArrayDataSource.
+  Issue: EMAIL-125. Thanks to Jean-Marc.
+
+* Header values are not folded twice anymore. The actual encoding and folding is
+  now only performed in Email.buildMimeMessage().
+  Issue: EMAIL-124. Thanks to Stefan Schueffler.
+
+
+CHANGES FROM 1.2
+----------------
+
+Compatibility
+-------------
+
+* Java 5 or later is now required.
+
+== New Features ==
+
+* Added new methods addTo(String[]), addCc(String[]) and addBcc(String[]) to Email.
+  Issue: EMAIL-114. Thanks to Gokul Nanthakumar C. 
+
+* HtmlmageEmail should support class path resources  
+  Issue: EMAIL-108. Thanks to Elisabeth Kasimir, Alexander Kasimir. 
+
+* Added a MultiPartEmail.attach(File) method since attaching a file is a simple and common. 
+
+* Added MimeMessageParser and MimeMessageUtils. 
+
+Fixed Bugs
+----------
+
+
+* Use the provided Content-ID in HtmlEmail#embed(File, String) instead of creating
+  a random one. The used and returned Content-ID will be URL encoded (see RFC 2392).
+  Issue: EMAIL-101. Thanks to Andrew Starodub.
+
+* Upgraded source and binary compatibility to JDK 1.5. Additionally the public/protected
+  methods and fields have been properly generified.
+  Issue: EMAIL-122. Thanks to sebb.
+
+* Do not set the personal name of an address to the email address unless it is
+  explicitly specified (affects TO, CC, BCC and FROM addresses).
+  Issue: EMAIL-103. Thanks to David Rees.
+
+* Removed emulation support for nested exceptions in EmailException.
+  Issue: EMAIL-117. Thanks to sebb.
+
+* Prevent external modification of internal array in DataSourceCompositeResolver.
+  Issue: EMAIL-116. Thanks to sebb.
+ 
+* Close temporary input stream in MultiPartEmail#attach(DataSource, String, String)
+  to prevent locking of file resources on windows systems.
+  Issue: EMAIL-120. Thanks to Mike Bell.
+
+* The patch actually broke sending emails over a secured connection - disabled the
+  "MAIL_SMTP_SSL_CHECKSERVERIDENTITY" and "MAIL_SMTP_SSL_ENABLE" activation. Tested
+  the functionality using GMail, GMX and Office365 so the code is at least working for
+  a couple of existing SMTP servers. Also added 'sslCheckServerIdentity' including
+  setter and getter. Also added a chapter regarding "Security" to the user manual.
+  Issue: EMAIL-105. Thanks to Siegfried Goeschl.
+
+* Maven Site fails with error in Checkstyle configuration.
+  Issue: EMAIL-113. Thanks to Peter Kofler.
+ 
+* DataSourceFileResolverTest fails under IBM JDK 1.4 and 1.6 running on Windows.
+  Issue: EMAIL-112. Thanks to Peter Kofler.
+ 
+* Update the current trunk to be binary compatible with the commons-email-1.2 release.
+  Issue: EMAIL-111. Thanks to Florian Pirchner.
+ 
+* Added unit test to ensure that parsing the broken mime message does not cause an OutOfMemoryException.
+  Issue: EMAIL-110. Thanks to Thomas Pummer. 
+
+* Added mime.types to META-INF - the definition is actually found in activation.jar
+  but did not work.  Issue: EMAIL-107. Thanks to Claus Polanka, Michael Jakl. 
+
+* STARTTLS can be used even without authenticator.
+  Issue: EMAIL-106. Thanks to Bruno Harbulot. 
+
+* Clarified the meaning of setTLS() which actually sends a "STARTTLS" command from the
+  client to the SMTP server. Please note that some "protected" variables were renamed
+  which could break existing code.
+  Issue: EMAIL-105. Thanks to Bruno Harbulot. 
+
+* Fixed HtmlEmail embed toLowerCase bug with Turkish locale.
+  Issue: EMAIL-102. Thanks to Okan Özeren. 
+
+* Specified Content-ID is now used when embedding a File object in an HtmlEmail.  
+  Issue: EMAIL-101. Thanks to Andrew Starodub. 
+
+* Throwing an IllegalStateException when setting mail session properties for an already
+  created mail session because the settings would be ignored. Please note that this
+  change could potentially break existing (but invalid) code.  Issue: EMAIL-96. 
+
+* Encoding and folding of headers is now done by commons-email.
+  Issue: EMAIL-98. Thanks to Mario Daepp. 
+
+* The default connection timeout is set to a reasonable default value of 60 seconds.
+  Issue: EMAIL-100. Thanks to David Parks. 
+
+* Moving the various constants from 'EMail' to 'EmailConstants' 
+
+* All setters are returning "this" to simplify building an email.
+  Issue: EMAIL-76. Thanks to Yu Kobayashi. 
+
+* Adding ImageHtmlEmail to create HTML emails with embedded images either
+  downloaded from HTTP or from the local file system.
+  Issue: EMAIL-92. Thanks to Dominik Stadler. 
+
+* Calling buildMimeMessage() before invoking send() caused
+  duplicated mime parts for HtmlEmail. The implementation now enforces
+  that an email can be only used once and throw an exception when
+  multiple invocations of buildMimeMessage() are detected.
+  Issue: EMAIL-95. 
+
+* Incorrect SMTP Port number shown in error message when an email fails
+  to send due to a blocked port and SSL is used.
+  Issue: EMAIL-91. Thanks to Kevin Lester. 
+
+
+REQUIREMENTS:
+
+J2SE environments
+-----------------
+
+Commons Email requires JavaMail 1.5.2 or later. The reference implementation
+is available at:
+
+https://java.net/projects/javamail/pages/Home
+
+However, the Apache Geronimo project (http://geronimo.apache.org)
+provides a J2EE-certified implementation of the JavaMail 1.4
+specification licensed under the Apache Software License.  
+
+Commons Email also requires the JavaBeans Activation Framework unless
+you are running on Java SE 6 or later. The Oracle implementation is available
+at:
+
+http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html
+
+Apache Geronimo likewise provides an implementation under the Apache
+Software License.
+
+Commons Email has been tested with JDK 1.6 and 1.7.
+
+J2EE environments
+-----------------
+
+Commons Email is compatible with all certified Java Enterprise Edition
+5 implementations; no further dependencies are required. 
+
+Java 2 Enterprise Edition 1.4 users must ensure that the versions of
+JavaMail and JAF indicated above are available to their applications;
+the J2EE 1.4 specification only requires earlier versions.
+
+Earlier versions of J2EE are not supported.

Added: dev/commons/email/2.0.0-M1-RC1/binaries/HEADER.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/binaries/HEADER.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/binaries/HEADER.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,31 @@
+<!--
+ 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.
+-->
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project are available from this
+    directory listing. For older releases, please use the
+    <a href="https://archive.apache.org/dist/commons/">archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

Added: dev/commons/email/2.0.0-M1-RC1/binaries/README.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/binaries/README.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/binaries/README.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,66 @@
+<!--
+ 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.
+-->
+<h1>Commons-EMAIL v2.0.0-M1.</h1>
+
+<p>This is the 2.0.0-M1 version of commons-email2-parent. It is available in both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a href="https://commons.apache.org/proper/commons-email/">EMAIL</a>.</p>
+
+<p>From the Apache Commons Project<br><a href="https://commons.apache.org/">https://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">nearest mirror site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            HREF="http://downloads.apache.org/commons/KEYS"><samp>http://downloads.apache.org/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file

Added: dev/commons/email/2.0.0-M1-RC1/signature-validator.sh
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/signature-validator.sh (added)
+++ dev/commons/email/2.0.0-M1-RC1/signature-validator.sh Sat Jun 15 15:05:48 2024
@@ -0,0 +1,161 @@
+#!/bin/bash -x
+###########
+#   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.
+###########
+# DOCUMENTATION.
+# This script is to be placed in the root of the svn dist checkout.
+# For example, my directory looks like:
+#
+#   drwxr-xr-x@  8 usr  staff   256 Oct  1 11:22 .svn
+#   -rw-r--r--@  1 usr  staff  1230 Oct  1 11:22 HEADER.html
+#   -rw-r--r--@  1 usr  staff  2649 Oct  1 11:22 README.html
+#   -rw-r--r--@  1 usr  staff  5093 Oct  1 11:22 RELEASE-NOTES.txt
+#   drwxr-xr-x@ 10 usr  staff   320 Oct  1 11:22 binaries
+#   -rw-r--r--@  1 usr  staff  3900 Oct  1 13:40 signature-validation.sh
+#   drwxr-xr-x@ 44 usr  staff  1408 Oct  1 11:22 site
+#   drwxr-xr-x@ 10 usr  staff   320 Oct  1 11:37 source
+#
+# From here you run ./signature-validation.sh and it will create a directory "artifacts-for-validation-deletable-post-validation
+# in which all of the binaries generated by a release are copied and then it checks to see that all of the signatures and hashes
+# are infact correct for the artifacts.
+#
+###########
+
+if test "$#" != "1"
+then
+  echo "ERROR:"
+  echo "We expect the a url like https://repository.apache.org/content/repositories/orgapachecommons-1531/commons-net/commons-net/3.7.1/"
+  echo "to be passed in as a parameter to the script."
+fi
+
+
+
+BASEDIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
+VALIDATION_DIR=${BASEDIR}/artifacts-for-validation-deletable-post-validation
+BINARIES_DIR=${BASEDIR}/binaries
+SOURCE_DIR=${BASEDIR}/source
+
+BASE_NEXUS_URL="$1"
+
+function clean_and_build_validation_dir() {
+	mkdir -p ${VALIDATION_DIR}
+}
+
+function copy_in_checked_out_artifacts() {
+	cp ${BASEDIR}/binaries/commons* ${VALIDATION_DIR}
+	cp ${BASEDIR}/source/commons* ${VALIDATION_DIR}
+}
+
+function download_nexus_artifacts_to_validation_directory() {
+	# Curls html page and does text modification to put artifacts in semicolon delimited list
+	# ...(ugly but works, debug by removing pipes one at a time)
+	echo "INFO: Downloading artifacts from nexus"
+
+  echo ${BASE_NEXUS_URL}
+	NEXUS_ARTIFACTS=$(curl ${BASE_NEXUS_URL} \
+	                       | grep "${BASE_NEXUS_URL}" \
+	                       | cut -d '>' -f3 \
+	                       | sed "s|</a|;|g" \
+                         | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' \
+                         | sed 's/ //g'
+	                )
+	IFS=';' read -r -a array <<< "${NEXUS_ARTIFACTS}"
+
+	for element in "${array[@]}"
+	do
+		ARTIFACT_NAME=$(echo $element | cut -d '/' -f7)
+		echo $ARTIFACT_NAME
+		URL="${BASE_NEXUS_URL}${element}"
+		curl $URL -o ${VALIDATION_DIR}/$ARTIFACT_NAME
+	done
+}
+
+function validate_signatures() {
+	echo "INFO: Validating Signatures in ${VALIDATION_DIR}"
+	ALL_ARTIFACTS=$(ls -Al ${VALIDATION_DIR} \
+	                                  | awk -F':[0-9]* ' '/:/{print $2}' \
+                                    | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/;/g' \
+	                         )
+
+  ARTIFACTS_FOR_VALIDATION=()
+
+  IFS=';' read -r -a array <<< "${ALL_ARTIFACTS}"
+
+  for element in "${array[@]}"
+  do
+    if [[ ! (${element} =~ ^.*asc$ || ${element} =~ ^.*sha512$ || ${element} =~ ^.*md5$ || ${element} =~ ^.*sha1$) ]];
+    then
+      ARTIFACTS_FOR_VALIDATION=("${ARTIFACTS_FOR_VALIDATION[@]}" $element)
+    fi
+  done
+
+	for element in "${ARTIFACTS_FOR_VALIDATION[@]}"
+  do
+    if [[ ${element} =~ ^.*tar.gz.*$ || ${element} =~ ^.*zip.*$ ]];
+    then
+      ARTIFACT_SHA512=$(openssl sha512 ${VALIDATION_DIR}/$element | cut -d '=' -f2 | cut -d ' ' -f2)
+      FILE_SHA512=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha512)
+      if test "${ARTIFACT_SHA512}" != "${FILE_SHA512}"
+      then
+        echo "$element failed sha512 check"
+        echo "==${ARTIFACT_SHA512}=="
+        echo "==${FILE_SHA512}=="
+        exit 1;
+      fi
+    else
+      ARTIFACT_MD5=$(openssl md5 ${VALIDATION_DIR}/$element | cut -d '=' -f2 | cut -d ' ' -f2)
+      FILE_MD5=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.md5)
+      ARTIFACT_SHA1=$(openssl sha1 ${VALIDATION_DIR}/$element | cut -d '=' -f2 | cut -d ' ' -f2)
+      FILE_SHA1=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha1)
+      if test "${ARTIFACT_MD5}" != "${FILE_MD5}"
+      then
+        echo "$element failed md5 check"
+        echo "==${ARTIFACT_MD5}=="
+        echo "==${FILE_MD5}=="
+        exit 1;
+      fi
+      if test "${ARTIFACT_SHA1}" != "${FILE_SHA1}"
+      then
+        echo "$element failed sha1 check"
+        echo "==${ARTIFACT_SHA1}=="
+        echo "==${FILE_SHA1}=="
+        exit 1;
+      fi
+
+
+      gpg --verify ${VALIDATION_DIR}/$element.asc ${VALIDATION_DIR}/$element > /dev/null 2>&1
+      if test "$?" != "0"
+      then
+        echo "$element failed gpg signature check"
+        exit 1;
+      fi
+    fi
+  done
+
+  echo "SUCCESSFUL VALIDATION"
+}
+
+function clean_up_afterwards() {
+  rm -rf ${VALIDATION_DIR}
+}
+
+
+echo $(clean_and_build_validation_dir)
+echo $(copy_in_checked_out_artifacts)
+echo $(download_nexus_artifacts_to_validation_directory)
+echo $(validate_signatures)
+#clean_up_afterwards
+

Added: dev/commons/email/2.0.0-M1-RC1/site/org.apache.commons_commons-email2-parent-2.0.0-M1.spdx.json
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/site/org.apache.commons_commons-email2-parent-2.0.0-M1.spdx.json (added)
+++ dev/commons/email/2.0.0-M1-RC1/site/org.apache.commons_commons-email2-parent-2.0.0-M1.spdx.json Sat Jun 15 15:05:48 2024
@@ -0,0 +1,85 @@
+{
+  "SPDXID" : "SPDXRef-DOCUMENT",
+  "spdxVersion" : "SPDX-2.3",
+  "creationInfo" : {
+    "created" : "2024-06-15T15:05:39Z",
+    "creators" : [ "Tool: spdx-maven-plugin" ],
+    "licenseListVersion" : "3.24.0"
+  },
+  "name" : "Apache Commons Email Parent POM",
+  "dataLicense" : "CC0-1.0",
+  "documentNamespace" : "http://spdx.org/spdxpackages/org.apache.commons_commons-email2-parent-2.0.0-M1",
+  "packages" : [ {
+    "SPDXID" : "SPDXRef-gnrtd0",
+    "copyrightText" : "NOASSERTION",
+    "description" : "Apache Commons Email provides an API for sending email, simplifying the JavaMail API.",
+    "downloadLocation" : "NOASSERTION",
+    "externalRefs" : [ {
+      "referenceCategory" : "PACKAGE-MANAGER",
+      "referenceLocator" : "pkg:maven/org.apache.commons/commons-email2-parent@2.0.0-M1",
+      "referenceType" : "purl"
+    } ],
+    "filesAnalyzed" : true,
+    "homepage" : "https://commons.apache.org/proper/commons-email/",
+    "licenseConcluded" : "Apache-2.0",
+    "licenseDeclared" : "Apache-2.0",
+    "licenseInfoFromFiles" : [ "NOASSERTION" ],
+    "name" : "Apache Commons Email Parent POM",
+    "originator" : "Organization:The Apache Software Foundation",
+    "packageFileName" : "NOASSERTION",
+    "packageVerificationCode" : {
+      "packageVerificationCodeValue" : "6a8ad02b85d3097cbae22ff9877af6781796ed5b"
+    },
+    "primaryPackagePurpose" : "INSTALL",
+    "summary" : "Apache Commons Email provides an API for sending email, simplifying the JavaMail API.",
+    "supplier" : "Organization: The Apache Software Foundation",
+    "versionInfo" : "2.0.0-M1"
+  } ],
+  "files" : [ {
+    "SPDXID" : "SPDXRef-gnrtd1",
+    "checksums" : [ {
+      "algorithm" : "SHA1",
+      "checksumValue" : "ac1888a9a91e8e57ed8037dd45a2c31e3d0d68e4"
+    } ],
+    "copyrightText" : "NOASSERTION",
+    "fileName" : "./NOTICE.txt",
+    "fileTypes" : [ "TEXT" ],
+    "licenseConcluded" : "NOASSERTION",
+    "licenseInfoInFiles" : [ "NOASSERTION" ]
+  }, {
+    "SPDXID" : "SPDXRef-gnrtd2",
+    "checksums" : [ {
+      "algorithm" : "SHA1",
+      "checksumValue" : "2b8b815229aa8a61e483fb4ba0588b8b6c491890"
+    } ],
+    "copyrightText" : "NOASSERTION",
+    "fileName" : "./LICENSE.txt",
+    "fileTypes" : [ "TEXT" ],
+    "licenseConcluded" : "NOASSERTION",
+    "licenseInfoInFiles" : [ "NOASSERTION" ]
+  } ],
+  "relationships" : [ {
+    "spdxElementId" : "SPDXRef-DOCUMENT",
+    "relationshipType" : "DESCRIBES",
+    "relatedSpdxElement" : "SPDXRef-gnrtd0",
+    "comment" : ""
+  }, {
+    "spdxElementId" : "SPDXRef-gnrtd0",
+    "relationshipType" : "CONTAINS",
+    "relatedSpdxElement" : "SPDXRef-gnrtd2"
+  }, {
+    "spdxElementId" : "SPDXRef-gnrtd0",
+    "relationshipType" : "CONTAINS",
+    "relatedSpdxElement" : "SPDXRef-gnrtd1"
+  }, {
+    "spdxElementId" : "SPDXRef-gnrtd1",
+    "relationshipType" : "GENERATES",
+    "relatedSpdxElement" : "SPDXRef-gnrtd0",
+    "comment" : ""
+  }, {
+    "spdxElementId" : "SPDXRef-gnrtd2",
+    "relationshipType" : "GENERATES",
+    "relatedSpdxElement" : "SPDXRef-gnrtd0",
+    "comment" : ""
+  } ]
+}
\ No newline at end of file

Added: dev/commons/email/2.0.0-M1-RC1/source/HEADER.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/source/HEADER.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/source/HEADER.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,31 @@
+<!--
+ 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.
+-->
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project are available from this
+    directory listing. For older releases, please use the
+    <a href="https://archive.apache.org/dist/commons/">archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

Added: dev/commons/email/2.0.0-M1-RC1/source/README.html
==============================================================================
--- dev/commons/email/2.0.0-M1-RC1/source/README.html (added)
+++ dev/commons/email/2.0.0-M1-RC1/source/README.html Sat Jun 15 15:05:48 2024
@@ -0,0 +1,66 @@
+<!--
+ 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.
+-->
+<h1>Commons-EMAIL v2.0.0-M1.</h1>
+
+<p>This is the 2.0.0-M1 version of commons-email2-parent. It is available in both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a href="https://commons.apache.org/proper/commons-email/">EMAIL</a>.</p>
+
+<p>From the Apache Commons Project<br><a href="https://commons.apache.org/">https://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">nearest mirror site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            HREF="http://downloads.apache.org/commons/KEYS"><samp>http://downloads.apache.org/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify commons-email2-parent-2.0.0-M1-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file