Releases: ls1intum/Artemis
7.0.2
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Allow instructors to edit programming exercises in the new code editor by @pzdr7 in #8389Programming exercises
: Cache dependencies in the Java blackbox template by @BaumiCoder in #8351Programming exercises
: Upgrade Java Blackbox template to java 22 by @BaumiCoder in #8388Programming exercises
: Allow tutors to assess submissions in the new code editor by @pzdr7 in #8437Programming exercises
: Display hidden files when editing as instructor and viewing the repository by @pzdr7 in #8488Integrated code lifecycle
: Improve build logs feature by @laurenzfb in #8383Integrated code lifecycle
: Improve container setup by @Hialus in #8489Integrated code lifecycle
: Automatically cleanup repositories and build plans on deletion of programming exercises by @coolchock in #8476Quiz exercises
: Improve apollon diagram import by @milljoniaer in #8466Adaptive learning
: Add import of standardized competencies from .json files by @rstief in #8377Adaptive learning
: Improve layout of competency relation graph by @rstief in #8443Adaptive learning
: Improve generation of missing learning path by @MaximilianAnzinger in #8385Exam mode
: Allow students to see if their attendance was checked by @coolchock in #8074General
: Add buttons to the avatar in the course edit view and move image cropper into a modal by @eceeeren in #8143General
: Improve breadcrumb divider design by @simon-hng in #8423General
: Hide group name customization by default by @pzdr7 in #8432
Bugfixes
Programming exercises
: Fix superfluous whitespace in code editor for student's submission by @JohannesStoehr in #8393Programming exercises
: Reject results without commit hash by @Strohgelaender in #8370Quiz exercises
: Fix adding file attachments on the edit view by @sarpsahinalp in #8445Exam mode
: Update problem statement content only if there is a new change by @kaancayli in #8356Assessment
: Fix export button in scores page by @az108 in #8478General
: Fix style of exercise footer for dark mode by @rabeatwork in #8442General
: Fix selected exercise and lecture when switching courses by @rabeatwork in #8441General
: Fix an issue when selecting a category tag in the exercises by @edkaya in #8408
Development
- Ignore blank lines in Aeolus scripts by @reschandreas in #8454
- Fix flaky postgres test by @Strohgelaender in #8403
- Regenerate Aeolus LocalCI build scripts by @b-fein in #8390
- Improve authorization test coverage by @julian-christl in #8456
- Add production setup documentation for integrated code lifecycle by @laurenzfb in #8414
- Fix issue where the VCS token is not present for some users after logging in by @chrisknedl in #8247
- Add gitHub action outputting the changed files by @Jan-Thurner in #8407
- Fix Docker container cleanup issue by @laurenzfb in #8464
- Fix server style in BuildJobContainerService by @Hialus in #8474
- Enable ExamParticipationIntegrationTest > testGetExamScore by @FelixTJDietrich in #8479
- Enable exam tests by @FelixTJDietrich in #8480
- Refer to course enrollment instead of course registration when editing courses by @pzdr7 in #8435
- Improve complaint component server API design by @beyzaaltuntas in #8181
- Update the postgresql setup in the contributor guide by @BaumiCoder in #8434
- Update exercise documentation by @milljoniaer in #8349
- Update Orion documentation by @Kroko-fant in #8328
- Disable redundant cypress tests by @muradium in #8431
- Inline endpoint constants by @Strohgelaender in #8438
- Update client dependencies by @krusche in 0e85a0d and ad66a4b
- Update server dependencies by @krusche in 9f33594 and c7faa8b
- Update jacoco version for server tests by @krusche in 343bb58
- Fix client tests by @krusche in 73636d9
- Update jacoco version for server tests by @krusche in 343bb58
- Retry docker inspect and pull in case of bad request exception and improve logs by @krusche in c0b18d3
- Improve documentation and tooltips related to build scripts and docker image customization by @krusche in 9f08ce6
New Contributors
- @edkaya made their first contribution in #8408
- @az108 made their first contribution in #8478
- @sarpsahinalp made their first contribution in #8445
Full Changelog: 7.0.1...7.0.2
7.0.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Remove Java 16 specific Spotbugs Rule by @JohannesStoehr in #8397Programming exercises
: Include mode selection in validation status by @milljoniaer in #8381Programming exercises
: Allow viewing the repository using the new code editor by @pzdr7 in #8433Adaptive learning
: Add knowledge area management by @rstief in #8309Tutorial groups
: Improve tutor usability by @JohannesStoehr in #8426Exam mode
: Show result for programming exercises on the exam overview page by @undernagruzez in #8354
Bugfixes
Programming exercises
: Fix setting language without project type by @milljoniaer in #8399General
: Fix spelling mistake in german "teilname" by @BaumiCoder in #8396Lectures
: Fix display of end date in header by @JohannesStoehr in #8392Exam mode
: Fix rendering of the tests status in the exam summary by @coolchock in #8418General
: Do not show unenrollment button to tutors by @JohannesStoehr in #8416
Development
- Add documentation for build agent view by @mateusmm01 in #8417
- Delete process polyfill and adjust paste-related e2e tests by @pzdr7 in #8391
- Update dependencies for the documentation build by @b-fein in #8323
- Improve authentication manager definition by @julian-christl in #8398
- Remove unused methods of ArtemisAuthenticationProvider by @julian-christl in #8387
- Unify behavior of checkbox options on the course update page by @b-fein in #8382
- Allow overriding any template resource file by @b-fein in #8380
- Add e2e tests for exporting quiz exercise questions by @muradium in #8374
- Refactor deprecated usage of throwError by @MaximilianAnzinger in #8386
- Fix flaky e2e tests by @muradium in #8420
- Bump gradle/wrapper-validation-action from 2 to 3 by @dependabot in #8406
- Fix CI documentation build step by @b-fein in #8404
- Re-enable HTTP basis authentication method and extend security documentation by @julian-christl in #8411
- Add documentation for build job cancellation by @mateusmm01 in #8410
- Fix several server code issues by @julian-christl in #8405
- Support the redeployed test servers by @Hialus in #8415
- Disable HTTP basic auth to fix an issue with LocalCI buildagents by @Hialus in #8444
- Fix server starts check script by @tobias-lippert in #8452
- Update setup documentation to JDK 21 by @florian-glombik in #8450
New Contributors
- @BaumiCoder made their first contribution in #8396
Full Changelog: 7.0.0...7.0.1
7.0.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Important information for administrators
- Migration path: Version 7.0.0 is designed for fresh installations of Artemis or upgrades from version 6.9.6 only, due to significant database migration cleanups.
- Pre-deployment testing: We strongly recommend thoroughly testing this release in a test environment before deployment on production systems, as it includes extensive updates.
Breaking changes
- Discontinued support for Bitbucket, Bamboo, and JIRA: We are moving towards an integrated code lifecycle model. If you are still using these services, please reach out for guidance on transitioning to more robust integrated solutions.
- Artemis now requires Java 21, so make sure that you install it before upgrading to the new version
Release highlights
- Revamped user interface: We're excited to unveil a completely redesigned interface, initially available for students in the exercises and lectures view, with plans to expand to other sections and for instructors soon.
- New online code editor: Enjoy a state-of-the-art coding experience with our new online code editor inspired by Monaco/Visual Studio Code, currently available for students and soon for instructors with additional improvements in the pipeline.
- Integrated code lifecycle: The new LocalVC and LocalCI are now production-ready and scalable. We're committed to further enhancing these features in upcoming releases.
- Upgraded technical infrastructure: Artemis is now powered by Java 21, Spring Boot 3, and Hibernate 6, alongside numerous other dependency upgrades to ensure our platform remains cutting-edge.
- Standardized competency management: We've simplified the process of creating and managing competencies, making it easier than ever to define and relate them within Artemis to facilitate a more extensive use of learning paths.
- Enhanced navigation and validation: Instructors experience improved navigation and validation in the exercise creation and editing process, designed to enhance user efficiency and satisfaction.
Improvements
Programming exercises
: Add platform independent dejagnu template by @reschandreas in #8029Programming exercises
: Upgrade deprecated PMD rules by @Strohgelaender in #8293Integrated code lifecycle
: Make result processing more robust against invalid static code analysis file formats by @Strohgelaender in #8307Modeling exercises
: Improve synchronization of team-based exercises by @loreanvictor in #8078Modeling exercises
: Improve modeling editor readonly view by @milljoniaer in #8275Adaptive learning
: Improve user interface for competency generation by @rstief in #8285Adaptive learning
: Add standardized competency management by @rstief in #8238Exam mode
: Improve date time picker by @beyzaaltuntas in #8147Iris
: Add disclaimer text by @kaancayli in #8302General
: Unify exercise section separation by @milljoniaer in #8216General
: Replace tab bar with a side navigation bar in the students view by @rabeatwork in #8083General
: Allow admins to import multiple users by @krusche in #8189General
: Add sidebar for exercise and lecture view by @rabeatwork in #8246General
: Add dynamic tab titles by @mallgaier in #8145General
: Adapt exercise footer for small screens and general footer for environments by @rabeatwork in #8359General
: Simplify footer by @krusche in #8378
Bugfixes
Programming exercises
: Fix template upgrade for maven exercises by @Strohgelaender in #8241Programming exercises
: Fix overflowing content for exercises with UML diagrams by @rabeatwork in #8350Programming exercises
: Fix locking and error handling of new code editor for students by @pzdr7 in #8365Programming exercises
: Fix result processing for ocaml exercises by @Strohgelaender in #8311Programming exercises
: Remove support for JIRA, Bitbucket and Bamboo by @MaximilianAnzinger in #8201Integrated code lifecycle
: Fix missing build plan configuration when importing programming exercises by @krusche in #8315Modeling exercises
: Fix assessment page title by @loreanvictor in #8357Quiz exercises
: Fix an issue with drag and drop positioning by @matthiaslehnertum in #8265Quiz exercises
: Fix footer in participation view by @milljoniaer in #8335Quiz exercises
: Correct drop location computation by @matthiaslehnertum in #8283Quiz exercises
: Fix an issue in the export by @muradium in #8362Communication
: Fix code of conduct to only appear if it has not been accepted by @rstief in #8339Messages
: Fix creation and display of direct messages by @julian-christl in #8260Exam mode
: Fix sticky navigation bar header by @rabeatwork in #8337Exam mode
: Fix spacing in quiz navigation by @JohannesWt in #8341Exam mode
: Fix missing spacing at the end of exercise in exams by @mateusmm01 in #8345Exam mode
: Fix and issues when printing to PDF by @coolchock in #8364Exam mode
: Round working time when creating or updating exam by @pzdr7 in #8352Exam mode
: Prevent problem statement from closing when viewing changes by @pzdr7 in #8355General
: Fix sticky navigation bar during exercise creation by @milljoniaer in #8316General
: Fix date time picker issues for modeling, text, and file upload exercises by @laurenzfb in #8340General
: Adjust validation bar styles by @milljoniaer in #8347General
: Fix position of category select dropdown by @milljoniaer in #8342General
: Make the global footer shorter by @krusche in #8361General
: Fix programmatic scrolling to the top of the page by @pzdr7 in #8353
Development
- Fix service issue during startup by @laurenzfb in #8231
- Fix client tests by @milljoniaer in #8233
- Fix migration check that caused application to crash on repeated starts by @rstief in #8234
- Change client builder from browser esbuild to application by @pzdr7 in #8204
- Fix client layout for e2e tests by @julian-christl in #8245
- Refactor RepositoryAccessService and plagiarism access check by @mateusmm01 in #8209
- Remove trailing slashes in URLs by @julian-christl in #8242
- Remove redundant database columns from online course configuration by @basak-akan in #8148
- Upgrade to Spring Boot 3, Spring 6, Hibernate 6 by @julian-christl in #7719
- Bump actions/setup-node from 3 to 4 by @dependabot in #8255
- Add config variable for build log path by @laurenzfb in #8259
- Replace ant pattern matching and improve code base by @julian-christl in #8266
- Remove unused repository methods by @julian-christl in #8264
- Fix management dashboard queries for PostgreSQL applications by @julian-christl in #8270
- Fix team students eager loading for several occasions by @julian-christl in #7993
- Remove legacy resource by @krusche in #8274
- Restructure CompetencyIntegrationTest by @MaximilianAnzinger in #8192
- Update server dependencies by @krusche in #8276
- Improve server code by @krusche in #8212
- Prefer non empty json include annotation by @krusche in #8224
- Add domain objects for standardized competencies by @rstief in #8129
- Fix GitLab CI Setup by @bensofficial in #8023
- Add documentation for modeling exercises in Artemis iOS by @AlexanderG2207 in #8149
- Update LTI user d...
6.9.6
⭐️ If you like Artemis, please give this Github project a star ⭐️
Improvements
Integrated code lifecycle
: Export metrics for monitoring by @Hialus in #8292Integrated code lifecycle
: Show build logs for successful recent build jobs by @laurenzfb in #8304Integrated code lifecycle
: Reduce build agent payload size by @krusche in #8281Integrated code lifecycle
: Regularly clean up stranded build job containers by @laurenzfb in #8312
Bugfixes
Programming exercises
: Fix ssh local storage issue by @milljoniaer in #8317Integrated code lifecycle
: Fix missing build plan configuration when importing programming exercises by @krusche in 6629025
Development
- Rename database columns with keywords to be able to update liquibase by @krusche in #8280
- Add database changes for standardized competencies by @rstief in #8284
- Update client dependencies by @krusche in d7f291a
Full Changelog: 6.9.5...6.9.6
6.9.5
⭐️ If you like Artemis, please give this Github project a star ⭐️
Improvements
Integrated code lifecycle
: Improve Docker exception handling and fix race conditions by @laurenzfb in #8232
Bugfixes
Communication
: Fix display name of group chats by @rstief in #8261Messages
: Fix creation and display of direct messages by @julian-christl in #8260Quiz exercises
: Fix an issue with drag and drop positioning by @matthiaslehnertum in #8265
Development
- Add config variable for build log path by @laurenzfb in #8259
Full Changelog: 6.9.4...6.9.5
6.9.4
⭐️ If you like Artemis, please give this Github project a star ⭐️
Improvements
Programming exercises
: Add platform independent dejagnu template by @reschandreas in #8029Integrated code lifecycle
: Show build logs for submission results by @laurenzfb in #8170Integrated code lifecycle
: Allow force pushes to template, solution and tests repositories for editors by @laurenzfb in #8226Integrated code lifecycle
: Add commit history for solution, template and test repositories by @mateusmm01 in #8104Integrated code lifecycle
: Improve build queue und build agent view by @mateusmm01 in #8202General
: Unify exercise section separation by @milljoniaer in #8216
Bugfixes
Programming exercises
: Fix template upgrade for maven exercises by @Strohgelaender in #8241Integrated code lifecycle
: Fix access issues by @mateusmm01 in #8209Lectures
: Fix embedding of TUM-Live videos in lecture units by @JohannesWt in #8183
Development
- Fix service issue during startup by @laurenzfb in #8231
- Remove trailing slashes in URLs by @julian-christl in #8242
- Remove redundant database columns from online course configuration by @basak-akan in #8148
- Update client dependencies by @krusche in 1a91f57
Full Changelog: 6.9.3...6.9.4
New Contributors
- @JohannesWt made their first contribution in #8183
6.9.3
⭐️ If you like Artemis, please give this Github project a star ⭐️
Improvements
Programming exercises
: Automatically renew personal access token for GitLab by @R3dError in #8175Integrated code lifecycle
: Enhance handling of build scripts in the client by @reschandreas in #8165Integrated code lifecycle
: Show difference between commits by @mateusmm01 in #8081Tutorial groups
: Improve free days management by @Jan-Thurner in #7953Assessment
: Improve scrollbar behavior during manual assessments by @MaximilianJG in #8167
Bugfixes
Programming exercises
: Fix missing grading criteria when starting assessment via scores page by @b-fein in #7928Programming exercises
: Fix repository and participation unlock for due date change in programming exercise by @mateusmm01 in #8182Quiz exercises
: Make edit footer sticky by @milljoniaer in #8151
Development
- Add aspect to check user role authorization in course or for exercise by @MaximilianAnzinger in #8063
- Update documentation for integrated code lifecycle by @laurenzfb in #8187
- Update documentation for server tests by @MaximilianAnzinger in #8193
- Clean up build script templates by @reschandreas in #8166
- Add documentation for Aeolus service by @reschandreas in #8133
- Prevent race condition when accessing build agent map by @laurenzfb in #8190
- Fix and improve URLs used in Cypress tests by @julian-christl in #8161
- Reduce code duplication and nesting depth by @MaximilianAnzinger in #8169
- Fix exam participation e2e tests by @julian-christl in #8208
- Improve handling of exercise in reset build plan logic by @reschandreas in #8205
- Bump follow-redirects from 1.15.4 to 1.15.6 in /src/test/cypress by @dependabot in #8210
- Set up Playwright and convert e2e tests by @muradium in #8066
- Update client dependencies by @krusche in #8214
- Fix potential null pointer exception during server tests by @Strohgelaender in #8218
- Fix broken links in documentation by @b-fein in #8156
- Improve EnforceRoleInResourceAspects by @MaximilianAnzinger in #8184
- Add architecture test for transactional annotations by @Strohgelaender in #8173
- Replace ngx-slider with angular material slider by @egekurt123 in #8150
- Refactor the conversation-sidebar-section component by @MaximilianJG in #8197
- Bump actions/checkout from 3 to 4 by @dependabot in #8220
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #8221
- Fix flaky ExerciseLifecycleServiceTest by @Strohgelaender in #8225
- Add repository access matrix for programming exercises in the documentation by @mateusmm01 in #8206
- Use a record for TutorialGroupFreePeriodDTO by @Jan-Thurner in #8223
- Add tests for version control access token renewal service by @b-fein in #8229
- Fix wrong service annotations by @krusche in #8228
New Contributors
- @Jan-Thurner made their first contribution in #7953
- @R3dError made their first contribution in #8175
- @MaximilianJG made their first contribution in #8197
Full Changelog: 6.9.2...6.9.3
6.9.2
⭐️ If you like Artemis, please give this Github project a star ⭐️
Bugfixes
- Fix access denied exception for plagiarsm check in RepositoryAccessService by @mateusmm01 in #8177
- Fix null pointer exception when fetching student participation by @mateusmm01 in #8178
Development
- Improve angular control flow by @milljoniaer in #8117
- Add string localization guidelines to documentation by @rstief in #8132
- Change translations to follow new guidelines by @rstief in #8139
- Remove actions relating to the old Artemis Development project by @Hialus in #8185
Full Changelog: 6.9.1...6.9.2
6.9.1
⭐️ If you like Artemis, please give this Github project a star ⭐️
Improvements
Integrated code lifecycle
: Add repository buttons for exams by @mateusmm01 in #8155Adaptive learning
: Improve usability, performance and code structure of competency management by @rstief in #8100Exam mode
: Show only exam relevant notifications in the exam mode by @coolchock in #8084Athena
: Allow feedback suggestion module selection on exercise level by @maximiliansoelch in #7809
Bugfixes
Programming exercises
: Fix an issue with the close button in the result view by @egekurt123 in #8152Integrated code lifecycle
: Fix open edge in clone repo component by @mallgaier in #8140Tutorial groups
: Fix an issue when deleting a course with tutorial groups with active messaging by @krusche in #8113Team exercises
: Fix missing character in manual assignment by @egekurt123 in #8121Team exercises
: Fix missing student information on the participation page by @mallgaier in #8131
Development
- Fix failing communication server test by @TimOrtel in #8141
- Deprecate external services for Bitbucket, Bamboo and JIRA by @krusche in #8137
- Improve ProgrammingExerciseUtilService by @MaximilianAnzinger in #8154
- Improve repository functions for Spring Boot 3 by @julian-christl in #8052
- Handle lecture files persistency directly by @julian-christl in #7921
- Fix modeling exercise assessment e2e tests by @muradium in #8164
- Fix e2e test by @julian-christl in #8163
- Add client tests for ExerciseDetailsStudentActionsComponent by @reschandreas in #8126
- Skip not working quiz exercise drop locations e2e test by @muradium in #8168
- Fix column type for project type by @julian-christl in #8160
- Fix a NullPointerException in RepositoryAccessService by @krusche in 5dacbe2
- Update client dependencies by @krusche in c5a9a0c
Full Changelog: 6.9.0...6.9.1
6.9.0
⭐️ If you like Artemis, please give this Github project a star ⭐️
Breaking changes
- Artemis now requires a
core
profile. Make sure to adapt your service configuration.
Release highlight
The newly developed Integrated Code Lifecycle
is now ready for production use. You can deploy a single node instance by using core
and buildagent
profiles combined (preferred for testing and development environments). You can also separate Artemis servers (core
profile) and Artemis build agents (buildagent
profile) and synchronize the build queue using Hazelcast (preferred for production environments and for scaling). You can find some initial documentation on https://docs.artemis.cit.tum.de/dev/system-design.html#integrated-code-lifecycle. We will further expand the documentation in the next weeks.
Improvements
Programming exercises
: Speed up build log statistics by @krusche in #8091Programming exercises
: Improve form validation bar by @milljoniaer in #8045Programming exercises
: Open repository view in a new tab by @coolchock in #8085Programming exercises
: Improve button labels for Orion integration by @Kroko-fant in #7771Integrated code lifecycle
: Clone repositories for build job execution by @laurenzfb in #8086Adaptive learning
: Add bulk import, relations import and search improvements to competency import by @rstief in #7997Adaptive learning
: Add success and warning alerts to competency generation by @rstief in #8075General
: Use consistent footer for exercise edit views by @milljoniaer in #8067
Bugfixes
Programming exercises
: Conditionally show build plans in edit view by @milljoniaer in #8108Programming exercises
: Don't show participation buttons if repository is not available by @reschandreas in #8116Programming exercises
: Fix an issue when editing build scripts by @reschandreas in #8109Programming exercises
: Improve detail page loading by @milljoniaer in #8095Integrated code lifecycle
: Remove /git from local VC repository folder names by @laurenzfb in #8092Integrated code lifecycle
: Use individual due date in exams for afterDueDate check by @bassner in #8049Quiz exercises
: Save Apollon diagram when generating drag and drop question by @milljoniaer in #8072Quiz exercises
: Fix short answer quiz template is invalid by @beyzaaltuntas in #8080Notifications
: Fix broken push notifications for mobile apps by @TimOrtel in #8016Plagiarism checks
: Disable plagiarism status update for team exercises by @Strohgelaender in #8101Adaptive learning
: Make exercise competencies management consistent by @milljoniaer in #8064Grading
: Fix an issue in the course score calculation by @krusche in #8093Iris
: Temporarily disable Pyris health check by @Hialus in #8094General
: Fix the position of the create and edit form footer by @milljoniaer in #8115General
: Disable readonly input elements by @milljoniaer in #8114
Development
- Add core profile to allow starting Artemis servers with non core services by @laurenzfb in #7958
- Remove LTI 1.0 services by @basak-akan in #7918
- Fix issues with LTI 1.3 for open edx by @basak-akan in #7931
- Remove unnecessary database call by @laurenzfb in #8082
- Update communication documentation by @lennart-keller in #7936
- Fix GitServiceTest on Windows by @Strohgelaender in #8068
- Rename class FileUtils to improve clarity by @Strohgelaender in #8069
- Show docker image for existing programming exercises by @reschandreas in #8099
- Move PageableSearchDTOs to the same package by @rstief in #8088
- Fix expected error message in test by @laurenzfb in #8111
- Update client dependencies by @krusche in #8106
- Update error page and nginx configuration for test servers by @bensofficial in #8057
- Improve commands in test workflow by @reschandreas in #8055
- Add documentation for benchmarking tool by @valentin-boehm in #8047
- Add optional PostHog analytics client by @matthiaslehnertum in #8020
- Improve client test coverage by @milljoniaer in #8119
- Fix client tests by @krusche in d9949e3
- Remove basiclti-util dependency by @krusche in 65923ac
New Contributors
- @Kroko-fant made their first contribution in #7771
Full Changelog: 6.8.3...6.9.0