I've staged a release candidate for the Aries 1.0.0 test support module. The
module is staged and tagged in
https://svn.apache.org/repos/asf/aries/tags/org.apache.aries.testsupport.unit-1.0.0/.

Instructions for verifying the release are at http://aries.apache.org/development/verifyingrelease.html. Alternately, cut and paste the following to run a full check:

wget --no-check-certificate https://svn.apache.org/repos/asf/aries/scripts/verify_staged_release.sh
chmod a+x verify_staged_release.sh
./verify_staged_release.sh 256 mytempdirectory 2>&1 | tee verifyresults.txt
grep FAIL verifyresults.txt
grep ERROR verifyresults.txt


Artifacts are in one staged repo,
https://repository.apache.org/content/repositories/orgapachearies-256/.
Links to the *.zip files for each module are provided below.

The only module staged is the parent module:

https://repository.apache.org/content/repositories/orgapachearies-256/org/apache/aries/testsupport/org.apache.aries.testsupport.unit/1.0.0/org.apache.aries.testsupport.unit-1.0.0-source-release.zip

The RAT and IANAL build checks passed. Note that, although RAT is configured to ignore *.MF and other files that do not require the ASF licence, theses files are still reported incorrectly as RAT failures.

The vote will be open for 72 hours.

[ ] +1
[ ]  0
[ ] -1

