Releases: ls1intum/Ares
Releases · ls1intum/Ares
1.15.0
What's Changed
- Remove junit4 support by @krusche in #383
- Update actions/download-artifact action to v5 by @renovate[bot] in #384
- Update actions/checkout action to v5 - autoclosed by @renovate[bot] in #385
- Update actions/setup-java action to v5 by @renovate[bot] in #386
Full Changelog: 1.14.0...1.15.0
1.14.0
Features
- Add annotation to disable thread group check by @bensofficial in #378
⚙️ Dependency & Build System Updates
- Java 17 is now the minimum required version across all build, test, and analysis workflows.
- Dropped support for Java 11, 13, 15, and 16.
- Updated JDK versions in GitHub Actions:
- Gradle: Updated from 7.4 → 8.14.3 in GitHub Actions for testing with Gradle.
- Formatter Configuration - Eclipse formatter profile version increased: version="19" → version="27"
- Updated basically all dependencies to their latest versions, in particular Junit 5 and Qwik
📄 Configuration & Metadata Changes
- .github/workflows/maven.yml and codeql-analysis.yml: updated to reflect new JDK and Gradle versions.
- pom.xml, build.gradle, and README.adoc: adjusted for compatibility and documentation alignment.
- Minor corrections in LICENSE and code style formatting XML.
- Configure Mend Bolt for GitHub by @mend-bolt-for-github[bot] in #375
- Configure Renovate by @renovate[bot] in #381
New Contributors
- @mend-bolt-for-github[bot] made their first contribution in #375
- @bensofficial made their first contribution in #378
- @renovate[bot] made their first contribution in #381
Full Changelog: 1.13.0...1.14.0
1.13.0
User-Side Changes
- Update JUnit 5 Jupiter/Platform from
5.9.3/1.9.3to5.10.0/1.10.0. See their release notes for details.
This large minor version update is the reason for the minor version update of Ares itself. - Update from Jqwik version
1.7.3to version1.7.4. See their release notes for details. - Update Logback from
1.4.8to1.4.9. See their release notes for details. - Update from JavaParser version
3.25.3to version3.25.4. See their release notes for details.
Developer-Side Changes
- Dependabot should now open combined PRs for future JUnit 5 Jupiter/Platform version updates.
- Small dependency updates:
spotless-maven-plugin
1.12.0
User-Side Changes
- Provide assertions for syntactical features in Java sources based on the AST (see #248, credits to @MarkusPaulsen)
This allows testing student code for constructs such as loops, conditionals, local classes, exception handling and custom types. For example,assertThatProjectSources().withinPackage("com.example").withLanguageLevel(JAVA_17).hasNo(LoopType.ANY)asserts that all student code in thecom.examplepackage does not use any (imperative) loop constructs. In case of violations, we provide detailed failure messages which include the exact location in the source. - Fixed bad structural test failure messages for classes expected in the default package. (see #293 / 3ea704c, credits to @martinmo)
Instead of an empty string, the default package in now described as<default> (i.e., no package). - Update JUnit 5 Jupiter/Platform from
5.9.2/1.9.2to5.9.3/1.9.3. See their release notes for details. - Update from Jqwik version
1.7.2to version1.7.3. See their release notes for details. - Update Logback from
1.4.5to1.4.8. See their release notes for details. - Update from json version
20220924to version20230618. See their release notes for details.
Developer-Side Changes
- Enabled pull request merge queues (see the GitHub Docs for more details on merge queues)
- Small dependency updates:
spotless-maven-pluginjacoco-maven-pluginmaven-clean-pluginmaven-enforcer-pluginmaven-resources-pluginmaven-compiler-pluginmaven-surefire-pluginmaven-source-pluginmaven-javadoc-pluginmaven-gpg-pluginmaven-install-pluginmaven-deploy-pluginmaven-site-plugin
1.11.3
1.11.2
Security
- See GHSA-98hq-4wmw-98w9 (CVSS Score 8.2 High) for details (credits to @LDAP)
User-Side Changes
- Update JUnit 5 Jupiter/Platform from
5.9.1/1.9.1to5.9.2/1.9.2. See their release notes for details. - Update AssertJ from
3.23.1to3.24.2. See their release notes for details. - Update from Jqwik version
1.7.1to version1.7.2. See their release notes for details.
Developer-Side Changes
- Small dependency updates:
spotless-maven-pluginmaven-surefire-plugin
1.11.1
User-Side Changes
- Improve default case-sensitivity choice of
DynamicField. (see #258, credits to @JohannesStoehr)
The likely default that users want is that the field names are used as-is, so the case-insensitive default is counterintuitive and can lead to problems if constants and instance variables share the same name but in different capitalization. - Fixed bad feedback provided by
ReflectionTestUtilsif a member is inaccessible because of the visibility of its containing class and not the member's own modifiers. (see #254, credits to @Strohgelaender)
The failure message now distinguishes the different problem sources and will tell the students whether the problem is the class or the attribute/method/constructor. ReflectionTestUtilsnow offers the methodssetValueOfAttributeandsetValueOfNonPublicAttributeto set the value of attributes. The modification of final fields is prohibited. (see #256)ReflectionTestUtilsnow offers re-throwing methods for instance creation to allow testing of exceptions thrown in constructors. (see #257)DynamicFieldnow offers methods to set field values for static and instance fields. The modification of final fields is prohibited.- Update Logback from
1.4.4to1.4.5. See their release notes for details.
Developer-Side Changes
- More and better tests for
ReflectionTestUtilsand the Dynamics Framework - Small dependency updates:
spotless-maven-plugin
1.11.0
User-Side Changes
- Two new methods for accessing (package-)private and protected methods via
ReflectionTestUtils. (credits to @tobias-lippert)
The new..NonPublic..method variants lacked versions to just retrieve theMethodobjects. Two new utility methods were therefore added to retrieve aMethodfrom a givenClassor instance. - Update from Jqwik version
1.6.5to version1.7.1. See their release notes for details. - Update JUnit 5 Jupiter/Platform from
5.8.2/1.8.2to5.9.1/1.9.1. See their release notes for details. - Update Logback from
1.2.11to1.4.4. See their release notes for details. - Update from json version
20220320to version20220924. See their release notes for details.
Developer-Side Changes
- An additional check was added that checks if the
README.adoccan be built using Asciidoctor. - Environments and a branch for GitHub Pages, with continuous delivery and a deployment triggered by tags or manually and which requires the confirmation from one of the Ares admins.
- Small dependency updates:
spotless-maven-pluginmaven-jar-pluginmaven-javadoc-pluginmaven-deploy-pluginmaven-surefire-pluginmaven-enforcer-plugin
1.10.1
User-Side Changes
- Update AssertJ from version
3.22.0to version3.23.1.
See their3.23.0release notes for details. TheAssertJMultipleFailuresErrornow includes the topmost stack frame (after some filtering) in the message of each failure. Ares is currently not involved here.
1.10.0
User-Side Changes
- The Ares documentation is now available on GitHub Pages as website!
Visit https://ls1intum.github.io/Ares/ to read the README as properly rendered website. - New methods for accessing (package-)private and protected members via
ReflectionTestUtils. (credits to @b-fein)
The new method variants are named..NonPublic..and will work for all members that would be accessible in the class itself. All other methods only access the public/otherwise accessible methods now, like the regularget...methods injava.lang.Class. Note that this changed the behavior of the..Attributemethods, which previously operated with declared fields. - Links in the README and documentation now point correctly to the examples in the test classes. (credits to @Strohgelaender)
For more details, see #219.
Developer-Side Changes
- An additional check was added that checks if the
README.adoccan be built using Asciidoctor. - Environments and a branch for GitHub Pages, with continuous delivery and a deployment triggered by tags or manually and which requires the confirmation from one of the Ares admins.
- Small dependency updates:
jacoco-maven-pluginspotless-maven-pluginmaven-surefire-pluginmaven-javadoc-pluginnexus-staging-maven-plugin