Releases: ls1intum/Ares
Releases · ls1intum/Ares
1.9.0
User-Side Changes
- Add Gradle Support (credits to @ole-ve)
Allows Gradle projects to use Ares just like in Maven projects. Some recommendations from the README need to be adjusted in a Gradle environment. Gradle support changed the set of enforcer rules required, two were added for Gradle whitelisted packages. A few permissions got adjusted as well, but everything should remain compatible to 1.8.0 apart from the enforcer configuration. For more details, see #191. - Update from Jqwik version
1.6.3
to version1.6.5
. See their release notes for details. - Update Logback from
1.2.10
to1.2.11
. See their release notes for details.
Developer-Side Changes
- The tests were restructured, and the integration tests are now run with Java 17 using Gradle in addition to the Maven executions.
- Multiple small dependency updates:
spotless-maven-plugin
maven-javadoc-plugin
maven-compiler-plugin
nexus-staging-maven-plugin
actions/checkout
1.8.0
Security
- See GHSA-227w-wv4j-67h4 (CVSS Score 8.2 High) for details (credits to @juliuskreutz)
There is also more information regarding migration and mitigation in the README. This also resolved #15.
User-Side Changes
- Completed more parts of the
README
: - Update from Jqwik version
1.6.0
to version1.6.3
. See their release notes for details. - Update to AssertJ version
3.22.0
. See their3.22.0
release notes for details. - All major Ares annotations are now inherited. See #124 and 792afcb for details.
In short, this means that Ares annotations can be applied to superclasses of the test classes. - Promoted large parts of the API to be stable/maintained. See 5dce034 for details.
- Removed the experimental (and useless) method display name obfuscation feature (
@ObfuscateMethodNamesBeforeDeadline
).
Developer-Side Changes
README.md
is nowREADME.adoc
, as AsciiDoc allows for a more expressive documentation. (JUnit 5 User Guide is for example AsciiDoc)- A few more tests, e.g. for the new security feature and reflection usage.
- Multiple minor dependency updates:
spotless-maven-plugin
maven-jar-plugin
maven-compiler-plugin
maven-deploy-plugin
1.7.6
Security Hotfix
- See GHSA-883x-6fch-6wjx (CVSS Score 8.2 High) for details (credits to @Haspamelodica)
1.7.5
User-Side Changes
- Update to JUnit 5 Jupiter version
5.8.2
and JUnit 5 Platform1.8.2
. See their release notes for details. - The common pool (used e.g. for parallel streams and async futures) is now always initialized such that all worker threads reside in the root thread group. This means that Ares will not try to stop the common pool forcefully, which caused the pool to die in the past. The criteria determining which worker threads get interrupted were improved as well. For more details, see 72877c6 and 7a5569d.
- Minor dependency updates:
org.json:json
from20210307
to20211205
Developer-Side Changes
- The test tests now test common pool quiescence better (d190bc5)
- Multiple minor dependency updates:
spotless-maven-plugin
actions/cache
Note that version 1.7.4 was not published due to a mistake in the publishing process. Version 1.7.5 is equivalent to 1.7.4.
1.7.3
User-Side Changes
- Updated jqwik from version 1.3.4 to 1.6.0.
This should have no impact on non-jqwik tests. If you use jqwik or want to switch to jqwik 1.6.0 and use Ares,
please read #157 carefully. We also introduced the annotation@TrustedThreads
to specify laxer thread whitelisting policies,
as the internals in newer jqwik versions changed significantly and now run in the common pool.
Developer-Side Changes
- Four new security tests added
1.7.2
User-Side Changes
- Added an optional
strictOrder
boolean flag for structural tests that forces the student implementation to match the expected order of parameters exactly.
Currently, the order of parameters is irrelevant for checking methods and constructors. This grants the students more freedom, but complicates invoking the students' methods. While this will stay the default checking behavior, the newstrictOrder
option allows checking the expected parameter order as well. For more details and a usage example, see #156 (credits to @JohannesStoehr). - Minor dependency updates:
logback-classic
from1.2.6
to1.2.7
Developer-Side Changes
- Minor dependency updates:
spotless-maven-plugin
1.7.1
User-Side Changes
- Fixed that the structural tests (from
de.tum.in.test.api.structural
) failed for classes in the default package or classes with equal names located in different packages.
The tests could not read the classes correctly and threw an unexpected exception;IndexOutOfBoundsException
in case of classes in the default package, andUnsupportedOperationException
if multiple classes with the same name are found. The class scanning now handles both cases correctly. See #152 (credits to @JohannesStoehr).
Developer-Side Changes
- Minor dependency updates:
spotless-maven-plugin
1.7.0
User-Side Changes
- Update to JUnit 5 Jupiter version
5.8.1
and JUnit 5 Platform1.8.1
. See their release notes for details.
Due to a bug fix inassertLinesMatch
in junit-team/junit5#2724, the failure message for a special case when using fast-forwards changed. - Update to AssertJ version
3.21.0
. See their3.21.0
release notes for details. - Ares is ready for JDK-17.
If 17 is used, Ares will cause a warning in the error output that the security manager mechanism will be deactivated in a future version. For that reason, we added a statement from Ares below the JDK one that the issue is known, linking to #113. - Removed the
LOGBACK: No context given for ...
warning. It will no longer appear in the build and test output.
Developer-Side Changes
- Add test run using JDK-17
- Multiple minor dependency updates:
spotless-maven-plugin
1.6.0
User-Side Changes
- Update to JUnit 5 Jupiter version
5.8.0
and JUnit 5 Platform1.8.0
. See their release notes for details. - Update to AssertJ version
3.20.2
. See their3.20.0
release notes for details.
Please also have a look at the post on the future of Ares with upcoming JDK versions #113.
Developer-Side Changes
- Multiple minor dependency updates:
logback-classic
spotless-maven-plugin
maven-javadoc-plugin
maven-enforcer-plugin
1.5.5
User-Side Changes
- Fixed issue #83 and similar issues, whitelisted code now has more permissions. This can also help with
ByteBuddy
and theByteBuddyAgent
. - Update to JUnit 5 Jupiter version
5.7.2
and JUnit 5 Platform1.7.2
. See their release notes for details. - The renaming from AJTS to Ares now also applies to the published artifacts (e.g. the POM). The Maven coordinates (e.g. the artifact id) have not changed.
Please also have a look at the post on the future of Ares with upcoming JDK versions #113.
Developer-Side Changes
- Test and CI dependency updates