6.0.0
Important information for administrators
- Migration path: This release can only be installed for completely new Artemis installations or if version 5.12.9 was used before. The main reason is that the release cleans up old database migrations.
- This release contains many changes and should be carefully tested on a test environment before being installed on a production system.
Release highlights
- Instructors can manage tutorial groups
- Instructors can split lectures slides automatically into units based on heuristics
- Users can communicate in channels and group conversations
- Artemis now supports LTI 1.3 for integration with external systems (experimental)
- Artemis now supports Gitlab CI as alternative to Jenkins (experimental)
- Students can see their learning progress based on the defined competencies by instructors
- Authentication tokens (JWT) are stored in the cookie to increase security and make it easier to view attachments (e.g. lecture PDFs)
- Administrators can now use Postgres as database in addition to MySQL
- Server tests verify correctness in test containers more reliably
- The client application uses the latest Angular 15.1.0 version
Improvements
Programming exercises
: Improve feedback view by @simon-hng in #5923Programming exercises
: Support GitLab CI (experimental) by @bensofficial in #6044Programming exercises
: Add possibility to configure docker run arguments on bamboo via spring properties by @Mtze in #5971Programming exercises
: Allow students to download tests after due date by @JohannesStoehr in #5762Programming exercises
: Allow students to reset repository by @JohannesStoehr in #5732Programming exercises
: Reduce the height of the clone dialog by @JohannesStoehr in #5956Programming exercises
: Add information to feedback view by @simon-hng in #6056Programming exercises
: Update Jenkins job permissions to new permission scheme by @b-fein in #5767Programming exercises
: Improve appearance of results and task bar by @JohannesStoehr in #6067Tutorial groups
: Allow management of tutorial group sessions by @stefanwaldhauser in #5666Communication
: Allow users to communicate in group chats and channels by @stefanwaldhauser in #5822Communication
: Show number of unread messages by @pellumbbaboci in #5858Assessment
: Improve user interface for bonus and grading keys by @akesfeden in #5911Assessment
: Add special grades for plagiarism and no-participation cases by @akesfeden in #5852Exam mode
: Allow instructors to publish example solutions for exam exercises by @akesfeden in #5831Lectures
: Add a wizard mode for creating lectures by @sebastiannikles in #5755Lectures
: Allow instructors to automatically split lecture file units by @pellumbbaboci in #5928General
: Redesign learning goals and store progress by @ge65cer in #6050General
: Improve authentication of users by storing JWT in the cookie instead of local storage by @manuelmanso in #5723General
: Check missing release date when creating or updating exercise by @JohannesStoehr in #5895General
: Improve consistency to spacings and margins in exercise view by @simon-hng in #5861General
: Add support for external learning platforms connecting over LTI 1.3 to Artemis by @daniels98it in #5693General
: Simplify LTI configuration for instructors by @manuelmanso in #5812General
: Improve formatting for long durations by @b-fein in #5942General
: Add tooltip to due date of exercise course card by @JohannesStoehr in #5938General
: Allow CSV user import by email by @daniels98it in #5722General
: Shrink course icon size in course header by @JohannesStoehr in #6066General
: Improve course dashboard performance and appearance by @krusche in #6073
Bugfixes
Programming exercises
: Fix repositories download dialog with multiple selected exercise by @daniels98it in #5731Programming exercises
: Fix auxiliary repositories not visible on exercise detail page by @Strohgelaender in #5980Programming exercises
: Fix missing grouping of feedback by @simon-hng in #6052Programming exercises
: Fix missing value in static code analysis issue location by @Strohgelaender in #6051Programming exercises
: Fix synchronization issue when opening feedback modal for the first time by @simon-hng in #6096Programming exercises
: Fix appearance of feedback view in Safari by @JohannesStoehr in #6068Programming exercises
: Fix feedback view issues with structured grading instructions by @simon-hng in #6116Programming exercises
: Always give students read permissions for their repository by @b-fein in #5901Programming exercises
: Fix an issue with build plan URLs by @simon-hng in #6127Quiz exercises
: Fix visual selection when multiple short answer question exists by @rriyaldhi in #6007Plagiarism checks
: Do not take practice participations into account by @JohannesStoehr in #5892Tutorial groups
: Fix an issue with the configuration by @stefanwaldhauser in #5939Tutorial groups
: Fix several issues with tutorial groups by @stefanwaldhauser in #6021Communication
: Fix several issues and add bookmarking of conversations by @stefanwaldhauser in #6088Assessment
: Fix grading key issues and example solution repo download button by @akesfeden in #6114Exam mode
: Fix exercise groups buttons overflow page borders by @evgeny1984 in #5996Lectures
: Fix inconsistent delete dialog for online unit by @tobias-lippert in #6031General
: Fix category tooltip inconsistency when creating an exercise by @laadvo in #6049General
: Fix two small issues on the admin pages by @Strohgelaender in #6107General
: Fix an issue when deleting users which are referenced in notifications by @sleiss in #6119General
: Update exercise header on new results by @Strohgelaender in #5880
Development
- Refactor instance message topics by @ge65cer in #5878
- Move LTI custom parameters to online course configuration by @manuelmanso in #5836
- Unify admin endpoints by @julian-christl in #5574
- Instantiate loggers with the correct classes by @b-fein in #5865
- Refactor footer styles by @simon-hng in #5869
- Refactor bad code smell in list to array conversion by @MartinWitt in #5885
- Fix modernizer warnings by @Strohgelaender in #5897
- Drop unused column
has_feedback
by @JohannesStoehr in #5913 - Add Artemis version to bug report issue template by @b-fein in #5918
- Move node memory leak workaround by @4ludwig4 in #5622
- Update client dependencies to Angular 15 and Jest 29 by @krusche in #5890
- Fix flaky exam quiz service integration test by @stefanwaldhauser in #5970
- Fix an issue with the usage of mat-chips with Angular 15 by @stefanwaldhauser in #5964
- Make sure to unsubscribe from all observables in the tutorial groups client code by @stefanwaldhauser in #5859
- Update documentation for communication by @canberkanar in #5954
- Fix console.error logs during client test execution by @krusche in #5948
- Remove dependency to spring repository by @stefanwaldhauser in #5979
- Update node version in GitHub CI by @b-fein in #5987
- Update Apollon to v2.12.7 by @minrows in #5965
- Add PostgreSQL and test container support and cleanup change logs with migration paths by @krusche in #5661
- Update client dependencies by @krusche in #5998
- Upgrade from tslint to eslint by @ge65cer in #5947
- Fix an issue after renaming examMaxPoints by @krusche in #6000
- Make tutorial groups compatible with Postgres and reduce number of new change logs by @stefanwaldhauser in #6001
- Enforce consistent order of modifiers by @Strohgelaender in #6003
- Update cypress dependencies for e2e tests by @krusche in #5934
- Update version for Github action
stale
from 6 to 7 by @dependabot in #6006 - Fix string concatenations in logger calls by @Strohgelaender in #6004
- Downgrade
ng-bootstrap
to fix an issue with modals by @stefanwaldhauser in #6010 - Update documentation for modeling exercises by @minrows in #5997
- Re-enable server tests and fix tests for PostgreSQL by @Strohgelaender in #6002
- Enforce absence of JUnit 4 by @Strohgelaender in #6016
- Update node version in setup documentation by @laadvo in #6015
- Update Gitlab setup documentation by @Strohgelaender in #5828
- Update URL for Haskell build image by @b-fein in #6033
- Remark in Readme that Artemis at Uni Passau is only accessible via university network/VPN by @b-fein in #6034
- Fix a flaky e2e test by @TheZoker in #6017
- Enable cypress reruns by @heddendorp in #6012
- Improve usage of nullability annotations by @Strohgelaender in #6019
- Refactor exercise import components by @Strohgelaender in #6026
- Adds basis for detecting flaky e2e tests with coverage by @heddendorp in #5950
- Improve logging for scheduled score updates by @b-fein in #6058
- Fix and improve server tests for PostgreSQL and MySQL by @Strohgelaender in #6024
- Update cypress to version 12.3.0 by @TheZoker in #6059
- Fix flaky client test for exam monitoring chart by @simon-hng in #6070
- Update server dependencies by @krusche in #6063
- Update flaky test dependencies for security by @heddendorp in #6074
- Update gradle wrapper and add wrapper validation action by @Strohgelaender in #6020
- Remove usage of Objects.isNull() by @Strohgelaender in #6032
- Fix an issue in the migration for conversations by @stefanwaldhauser in #6040
- Support storing milliseconds in MySQL databases by @maximiliansoelch in #6046
- Add exam edit e2e tests by @TheZoker in #6022
- Add exam exercise group edit/delete e2e test by @TheZoker in #6027
- Update to Angular 15.1.0 by @krusche in #6062
- Update client and server dependencies by @krusche in f04dd4b
- Fix a client version issue by @krusche in ece06fe
- Recreate package-lock.json to fix integrity issues by @krusche in 3da590c
- Update the roadmap by @krusche in b29a96a
- Update SECURITY.md with S/MIME contact. Add Link to Q&A in 'new issue' dialog by @jpbernius in 98e196e
- Update client dependencies by @krusche in 563ccd1, d9b81a0, 9042648, and 0a51df4
- Update server dependencies by @krusche in 91eae0b
- Update client dependencies and fix console log errors in client tests by @krusche in 89f1c5b
- Remove .txt file extensions from reStructuredText files by @jpbernius in 97d57e2
- Move documentation to new domain name docs.artemis.cit.tum.de by @jpbernius in aa343a2
- Use GitHub actions source for GitHub pages by @jpbernius in 36908b9
- Deploy 'dirhtml' documentation version, publish 'html' version as artifact by @jpbernius in 4e3ec3a
- Update README.md by @jpbernius in ab49f5f
- Remove unused server code by @krusche in 5ef473c
- Prefer the more general exercise in course exercise details by @krusche in 21501f5
- Remove deprecated and unused class by @krusche in 5e42411
- Fix issues with REST URLs by @krusche in f1abaca
- Fix client lint warning by @krusche in 180772c
- Remove table
jhi_date_time_wrapper
which is not part of Artemis by @krusche in e0f1770 - Fix and activate database query count test by @krusche in 02eeddd
- Fix an issue in the liquibase configuration by @krusche in 83a2488
- Remove result before complaint by @krusche in #6100
- Improve build plan relationship by @krusche in #6099
- Enforce consistent Jackson version by @Strohgelaender in #6098
- Update dependencies by @krusche in #6121
- Add server tests for starting participations in programming exercises by @JohannesStoehr in #6111
- Fix grading instruction values sent as strings to the server by @Strohgelaender in #6105
- Update documentation about competencies by @ge65cer in #6117
- Add server test for course user search by @stefanwaldhauser in #6108
- Remove participation status in client by @JohannesStoehr in #5896
- Improve code readability for custom course group names by @TheZoker in #6061
- Add test exam creation/deletion e2e tests by @TheZoker in #6060
- Remove 'tracker' from websocket path by @krusche in #6122
- Enhance exam creation e2e tests by @TheZoker in #6094
- Remove redundant result information from REST call by @simon-hng in #6064
- Reduce test execution time for server tests by @krusche in e72c3e4
New Contributors
- @sebastiannikles made their first contribution in #5755
- @MartinWitt made their first contribution in #5885
- @tobias-lippert made their first contribution in #6008
- @laadvo made their first contribution in #6015
Full Changelog: 5.12.9...6.0.0