Releases: ls1intum/Artemis
8.8.4
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises: Synchronize changes to exercise metadata automatically when another user saved their changes by @Elfari1028 in #12118Programming exercises: Indicate who reset repository by @JTNing in #12070Hyperion: Add targeted refinement for problem statement by @HawKhiem in #12104Iris: Allow users to resolve memory conflicts by @Hialus in #12039Iris: Update about us page link and description by @bassner in #12184Iris: Improve citation representation by @vivienxr in #12201
Bugfixes
Assessment: Hide note input when no more submissions are assessable by @Claudia-Anthropica in #12214Lectures: Fix video transcript auto-scroll affecting full page by @Claudia-Anthropica in #12221Iris: Fix an issue when creating session for exercise without repositories by @bassner in #12180
Development
- Bump action-junit-report to v6.3.0 by @MaximilianAnzinger in #12196
- Rewrite Pyris setup guide for self-contained admin experience by @bassner in #12204
- Consolidate E2E PR comments by @MarcosOlivaKaczmarek in #12157
- Fix flaky server tests and e2e tests failures by @krusche in #12209
- Centralize Docker image versions and add Postgres testcontainer CI by @krusche in #12122
- Change create plagiarism post endpoint to use DTOs by @LeZhen1105 in #11961
- Change tutorial configuration endpoints to use DTOs by @LeZhen1105 in #12063
- Update client dependencies by @krusche in 98de384
- Update server dependencies by @krusche in 64ebfa1
- Clean up code quality in ReactionIntegrationTest by @krusche in 325652f
New Contributors
- @Claudia-Anthropica made their first contribution in #12214
Full Changelog: 8.8.3...8.8.4
8.8.3
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Hyperion: Add problem statement refinement assistance by @HawKhiem in #11940Iris: Redesign citation representation by @vivienxr in #12042Iris: Move the "About Iris" page into a modal and redesign the content by @thynguyentumde in #12171Adaptive learning: Allow instructors to map competency to competency through companion interaction by @Yhmidi in #11972General: Format maintenance email dates in server timezone with locale awareness by @krusche in #12178
Bugfixes
Programming exercises: Fix preliminary result display and grading instruction change detection by @krusche in 9c99e36
Development
- Exclude repository template directories from eslint by @MaximilianAnzinger in #12193
- Update client dependencies by @krusche in 1eb4949
- Exclude more binary files for programming exercise diffs by @krusche in 90f3b02
- Add client test for manual result string display by @krusche in 46ceb36
- Fix memory issues in client test by @krusche in f28f4a0
Full Changelog: 8.8.2...8.8.3
8.8.2
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises: Enable live collaborative editing for the problem statement across editors by @Elfari1028 in #12062Programming exercises: Enable exercise review comments in problem statement and code editor by @Elfari1028 in #11969Quiz exercises: Allow joining quiz batch via enter key and align password input by @jerrycai0006 in #12116Communication: Simplify mentioning empty lectures by @anian03 in #12030Hyperion: Prevent parallel code generation for the same exercise by @sawys777 in #11915Hyperion: Allow auto-fixing of consistency issues in programming exercise generation by @sawys777 in #12071Hyperion: Add support for multiple programming languages in consistency check by @khinevich in #12131Iris: Improve chat user interface by @thynguyentumde in #12045Iris: Update about page text to reflect current user interface by @krusche in #12163Iris: Improve AI experience settings page with data management and better translations by @krusche in #12166General: Auto save science settings on toggle by @krusche in #12167General: Allow admins to send maintenance announcement emails to instructors by @krusche in #12168
Bugfixes
Programming exercises: Fix review comment not loading for editors by @IcanCUthere in #12160Integrated code lifecycle: Fix race condition in docker container setup commands by @krusche in #12151Integrated code lifecycle: Add docker availability check to reduce log noise by @krusche in #12119Quiz exercises: Fix notifications being hidden by the quiz bar by @Kiara65 in #12101Iris: Fix markdown rendering for tables and code blocks by @bassner in #12129Iris: Fix an issue where Iris was not available before the first submission in text exercises by @Senan04 in #12068General: Fix an issue with course date validations by @krusche in #12120General: Fix shifted view when clicking on the form status buttons in exercise edit screen by @JTNing in #12097General: Fix email not sent for course requests by @krusche in #12142General: Fix broken links for exam exercise notifications by @krusche in #12164
Development
- Add domain model, database schema, service and resource for exercise review by @Elfari1028 in #11967
- Add fast ping and time endpoint on Tomcat by @krusche in #12078
- Migrate atlas client tests to vitest by @MaximilianAnzinger in #11991
- Fix Phase 2 of E2E Pipeline by @MarcosOlivaKaczmarek in #12133
- Adjust coverage thresholds to reflect state on develop by @florian-glombik in #12141
- Fix docker build by regenerating package-lock.json by @HawKhiem in #12149
- Make monocart reporter failure non-fatal in E2E pipeline by @MarcosOlivaKaczmarek in #12150
- Fix failing server style java documentation test by @khinevich in #12153
- Ensure language guidelines adherence by @Hialus in #12159
- Enhance LLM selection UI and update translations for improved clarity by @wasnertobias in #12112
- Migrate Theia from Spring Profile to YAML configuration by @Mtze in #12017
- Fix failing client tests by @krusche in 10de2d5
- Update client dependencies by @krusche in 6629fdd and 8ea6027
- Implement a small improvement for build agent docker execution by @krusche in 6288b55
- Fix issues in the user data export by @krusche in 4343310
- Migrate @ViewChild to viewChild() signal and add ESLint rule to enforce signal-based APIs by @krusche in c953e6e
New Contributors
- @thynguyentumde made their first contribution in #12045
- @JTNing made their first contribution in #12097
Full Changelog: 8.8.1...8.8.2
8.8.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Exam mode: Show unassigned students in attendance checker app by @SamuelRoettgermann in #12046
Bugfixes
Programming exercises: Fix code editor crash when viewing test repository by @krusche in #12115Programming exercises: Fix PlantUML diagram rendering when multiple exercises are displayed by @krusche in #12128Modeling exercises: Fix displaying no graded result in header when it has result from Athena by @musaberkay in #12110Communication: Fix message cut in half while sending issue by @ayca-cevdet in #12036Iris: Fix missing translation keys for module feature admin page by @bassner in #12107
Development
- Regenerate package-lock.json to fix Docker builds by @bassner in #12109
- Migrate shared buttons components to Angular signals, vitest and zoneless by @AjayvirS in #12015
- Add weaviate client configuration by @florian-glombik in #12028
- Add script to run Hyperion consistency benchmarks with PECV-Bench by @khinevich in #12099
- Migrate shared client components to use Angular signals by @AjayvirS in #12124
- Update access rights matrix for exercises and lectures by @florian-glombik in #12075
- Update client dependencies by @krusche in 2fe22fa and 800ece5
- Pin node version when using nvm by @krusche in e9dced9
- Adapt coverage thresholds for server tests by @krusche in 6ea03df
New Contributors
- @khinevich made their first contribution in #12099
- @musaberkay made their first contribution in #12110
Full Changelog: 8.8.0...8.8.1
8.8.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Release Highlights
🚀 Improved Stability for Large Courses and Exams
We improved how Artemis handles many users and build agents at the same time, making the system more stable and reliable during exams and other high-load situations. Cluster stability in multi-node setups is improved by running build agents in Hazelcast client mode, leading to higher reliability and reduced communication overhead when individual build agents would crash.
🤖 More Control Over AI Usage (Cloud or On-Premise)
You can now decide whether AI-powered features such as formative feedback and Iris use cloud-based services or run completely on the university infrastructure giving you full control over privacy and compliance. Users can still choose to opt out from AI completely. This choice will be rolled out slowly in the next weeks.
Improvements
Hyperion: Add token usage tracking for consistency check and rewrite features by @sawys777 in #11802Hyperion: Consolidate buttons and improve consistency check navigation by @HawKhiem in #12087Lectures: Optimize lecture unit status loading by @bassner in #11947Exam mode: Export exam users by @SamuelRoettgermann in #12064Communication: Silence notifications for open conversations/threads by @anian03 in #11904General: Allow users to choose between Cloud AI, On-Premise AI, and No AI by @flbrgit in #11845
Bugfixes
Programming exercises: Fix ungraded feedback request score and highlight feedback in the code editor by @az108 in #12011Modeling exercises: Fix example solution cut off during preview by @FelixTJDietrich in #12085Quiz exercises: Prevent misleading post-quiz UI states after working time expiration by @jerrycai0006 in #12038File upload exercises: Remove wrong assessment text from file-upload-assessment by @Kiara65 in #12006Lectures: Remove redundant competencies popover from student view by @bassner in #11958Lectures: Fix alignment of Download Complete PDF button by @HawKhiem in #11906Tutorial groups: Fix alignment of reason button on tutorial group management page by @kevinfischer4 in #11997Integrated markdown editor: Fix upload footer layout overflow by @HawKhiem in #12024
Development
- Fix flaky exam archive test by @florian-glombik in #12032
- Fix flaky test for missing build job retry by @florian-glombik in #12031
- Add architecture tests to enforce DTO usage in REST controllers by @krusche in #12035
- Increase Iris test coverage of IrisSettingsService by @vivienxr in #11941
- Make database image selectable in docker compose deployment via env variable by @FleckiBunti in #12049
- Migrate Iris from Spring Profile to YAML configuration by @bassner in #12007
- Optimize e2e execution pipeline by @MarcosOlivaKaczmarek in #11977
- Convert active exams endpoint to use DTOs by @anian03 in #11903
- Make scores and participations code more consistent by @krusche in #12037
- Add more E2E Tests for atlas by @MarcosOlivaKaczmarek in #11975
- Add script for VSCode E2E setup by @MarcosOlivaKaczmarek in #11965
- Improve Hazelcast cluster stability with build agent client mode by @krusche in #12051
- Update links from old documentation to new documentation by @florian-glombik in #12041
- Update test server documentation by @SamuelRoettgermann in #12086
- Fix Hazelcast cluster connectivity in Docker deployments by @krusche in #12098
- Migrate FAQ rewrite functionality from Iris to Hyperion by @laadvo in #12043
- Fix e2e workspace pollution and missing checkout issues by @MarcosOlivaKaczmarek in #12080
- Fix rate limit feature flag by @bensofficial in #12082
- Fix issues with optional and circular service dependencies by @krusche in aac2602
- Fix server code style by @krusche in 7d4873c
- Remove deprecated client code by @krusche in ece4b90
- Use instanbul for vitest coverage by @krusche in c61ccb1
Full Changelog: 8.7.4...8.8.0
8.7.4
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises: Improve the display of long feedback by @theblobinthesky in #11946Exam mode: Improve room distribution user interface by @SamuelRoettgermann in #11825Exam mode: Require a confirmation when changing the working time in the update page by @Kiara65 in #11971Hyperion: Add exercise versioning to code generation by @sawys777 in #11886General: Improve visibility of markdown guide in editor by @Kiara65 in #11943General: Make picture icon more intuitive in markdown editor by @Kiara65 in #11970General: Only enable super administrators to manage administrators by @florian-glombik in #11980General: Add course and exam grades into course archive by @krusche in 1006205General: Round course and exam scores in the course archive by @krusche in 8f6067c
Bugfixes
Lectures: Fix scroll behavior when uncollapsing lecture units by @HawKhiem in #11907Exam mode: Fix inconsistencies regarding an exam room's uniqueness by @SamuelRoettgermann in #11827Exam mode: Fix complaint translation issue in exam overview by @julian-christl in #11895General: Prevent import of solution publication date in exercises by @julian-christl in #11891General: Fix an issue in data export for exam exercises by @krusche in #12002General: Allow to remove matriculation numbers in user management by @krusche in f5051c5
Development
- Migrate development process, reviewer guidelines, local user management and dependency management documentation by @florian-glombik in #11884
- Fix flaky server tests for slow CI environments by @florian-glombik in #11984
- Add Weaviate setup description by @florian-glombik in #11962
- Add rate limit by @bensofficial in #11953
- Update exercise score setting constraints by @LeZhen1105 in #11779
- Fix old code coverage generation script when test has been run multiple times by @SamuelRoettgermann in #11853
- Fix ready to merge validator to ignore HTML comments and other edge-cases by @FelixTJDietrich in #11985
- Add Staging 2 to github actions deployment workflow by @bensofficial in #12012
- Increase Iris test coverage of IrisCourseChatSessionResource by @Senan04 in #11973
- Migrate LTI from profile to yml configuration and fix admin edit screen by @krusche in #12003
- Migrate programming code-editor components to signals by @IcanCUthere in #11942
- Migrate publications, modeling suggestion and database to new documentation by @florian-glombik in #11986
- Fix an issue with plant uml server tests by @krusche in afb501e
- Update client dependencies by @krusche in 9101f9e
- Update dependencies by @krusche in dfd9b6a
- Update dependencies and fix docs build by @krusche in 035d160
- Update github actions by @krusche in a0ffeb1
- Fix flaky server tests by @krusche in 3a9be2d and 38fba43
- Reduce number of server starts during server tests by @krusche in 3edeb77
- Verify with a new architecture test that developers do not violate the guidelines and improve documentation on server tests by @krusche in 3edeb77
Full Changelog: 8.7.3...8.7.4
8.7.3
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Bugfixes
Programming exercises: Fix an issue when rendering plantuml by @krusche in 9499b6e
Development
- Add PR description validation workflow with Azure OpenAI by @bassner in #11989
- Fix documentation deployment by @florian-glombik in #11993
- Migrate coding and design guidelines to new documentation by @florian-glombik in #11882
- Use a more reasonable caching policy for plant uml renderings by @krusche in 19afb6e
Full Changelog: 8.7.2...8.7.3
8.7.2
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Release Highlights
🔍 Dependency overview + automatic weekly security reports
Artemis now provides an admin page that lists the system’s software dependencies and known security vulnerabilities with SBOM downloads. On top of that, admins receive automatic weekly security reports, so potential risks don't get missed and admins can keep the installation up to date with less manual effort.
🛡️ New Super Admin role
There's a new Super Admin role designed for high-trust, platform-wide administration tasks. Practically, it helps institutions separate everyday admin work from sensitive security actions—for example, super admins can approve passkeys and add/remove other administrators, giving you clearer responsibility boundaries and better control over critical account access.
Improvements
Programming exercises: Add navigation for consistency comments by @IcanCUthere in #11591Programming exercises: Upgrade Java Blackbox template to Java 25 by @theblobinthesky in #11835Programming exercises: Add a deletion summary for programming exercises by @matyasht in #11881Programming exercises: Improve problem statement rendering by @krusche in ed36d2dAdaptive learning: Allow instructors to improve competency creation through companion interaction by @Yhmidi in #11944Communication: Open a new direct chat immediately after forwarding a message to a new user by @Senan04 in #11623Communication: Enable forwarding messages to group chats by @ayca-cevdet in #11908Communication: Make bookmarks removable from saved messages view by @ayca-cevdet in #11916Plagiarism checks: Improve continuous plagiarism control component validation by @kevinfischer4 in #11644Exam mode: Add loading indicator to create and import exam actions by @jerrycai0006 in #11939Exam mode: Improve exam validation by @krusche in #11960Iris: Support sending of uncommitted changes by @Predixx in #11574General: Add super admin role and allow super admin to approve passkeys by @florian-glombik in #11859General: Show dependencies and vulnerabilities in an admin page by @krusche in #11982
Bugfixes
Programming exercises: Fix performance degradation when editing the problem statement with live preview by @HawKhiem in #11870Programming exercises: Hide course id column in build overview for instructors by @jerrycai0006 in #11875Programming exercises: Ensure enter key works in code editors by @theblobinthesky in #11948Programming exercises: Fix an issue where the main editor disappears when clicking on the problem statement during loading by @HawKhiem in #11933Programming exercises: Fix submission status not getting updated after evaluation is complete in exercise sidebar view by @AjayvirS in #11753Adaptive learning: Fix related competencies showing mastery value decimals by @MaximilianAnzinger in #11974Exam mode: Fix foreign key constraint violation when resetting exam by @krusche in #11959General: Fix exercise result timeline not updating after assessment by @nel0x in #11921General: Fix counting of participating students in exercise by @vivienxr in #11624General: Prevent login of deactivated users via passkey by @florian-glombik in #11963
Development
- Migrate Iris and Nebula components to Angular signal-based APIs by @bassner in #11922
- Migrate programming exercise documentation by @florian-glombik in #11851
- Migrate course management module to Angular signals and Vitest by @krusche in #11925
- Unify create and import quiz endpoints by @KonstiAnon in #11619
- Migrate more components in the core module to signals by @krusche in #11935
- Migrate Iris tests from Jest to Vitest by @bassner in #11927
- Migrate the client modeling module to signals and vitest by @AjayvirS in #11806
- Migrate communication documentation by @az108 in #11936
- Adjust Sentry trace sampling to reduce load on Sentry by @otoriphoenix in #11666
- Migrate programming exercise problem component by @IcanCUthere in #11876
- Upgrade nginx health check to http based probing by @nel0x in #11955
- Update development documentation by @spethso in #11821
- Migrate setup guide documentation by @florian-glombik in #11879
- Fix missing translation for prerequisite title by @LeZhen1105 in #11913
- Migrate E2E test and LTI setup documentation by @florian-glombik in #11890
- Migrate database, test server, system design, open source, and integrated code lifecycle docs by @florian-glombik in #11887
- Migrate perform action quiz endpoint to use DTOs by @KonstiAnon in #11792
- Fix flaky tests on slow CI pipelines by @florian-glombik in #11905
- Fix the docs build by @krusche in b19f180
- Update client dependencies by @krusche in 17880b2, 6e9919d, and b9faa4a
- Update server dependencies by @krusche in 49f1c20
- Fix remaining client lint warnings by @krusche in 8fd565a
- Fix e2e tests related to monaco editor issues by @krusche in daa95de
- Update copyright to 2026 by @krusche in 1dac266
- Update urllib3 dependency in course scripts by @krusche in 62e4921
- Validate ready to merge label in pull requests by @krusche in 8fae07d
- Automatically report test coverage in pull requests by @krusche in 20fc7c6
- Fix documentation build and rename staff to developer by @krusche in f286b9d
- Fix outdated documentation links by @krusche in 5a62948
- Update links to the documentation by @krusche in a3f5081
- Fix a flaky server test by @krusche in a895bcf
- Update test coverage thresholds by @krusche in 428cbe5 and 62cf410
New Contributors
- @nel0x made their first contribution in #11921
- @Senan04 made their first contribution in #11623
- @spethso made their first contribution in #11821
- @matyasht made their first contribution in #11881
Full Changelog: 8.7.1...8.7.2
8.7.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises: Allow arbitrary docker networks instead of network toggle by @theblobinthesky in #11604General: Add a simple course import possibility by @krusche in #11885General: Improve the course reset and course delete functionality by @krusche in #11885General: Improve the user data export functionality by @krusche in #11885General: Improve consistency of administration pages by @krusche in #11877General: Add a data export page for admins by @krusche in e76fc56General: Improve user search so that names with accents or special characters can also be found using simple spelling by @krusche in bf71481General: Mention all features in the new admin feature page by @krusche in 9817902
Bugfixes
Programming exercises: Fix an edge case issue with failing build jobs under high load by @krusche in #11873 and in e9e4663Programming exercises: Show the sharing feature in the user interface when enabled by @Michael-Breu-UIbk in #11833Modeling exercises: Fix markdown rendering for student example solutions by @m4rl0ne in #11740Adaptive learning: Fix an issue with the import dialog by @krusche in 97eace3Assessment: Fix feedback box accessibility in assessment view by @krusche in #11867General: Fix issues with categories in course management by @krusche in #11869General: Avoid showing password managers in user search by @krusche in 5af5e9d
Development
- Fix e2e tests failing due to monaco-editor update by @KonstiAnon in #11863
- Migrate account module to modern angular and vitest by @krusche in #11858
- Use data transfer objects when editing modeling exercises by @LeZhen1105 in #11613
- Fix ModelingAssessmentIntegrationTest for updating hibernate by @LeZhen1105 in #11733
- Migrate build agent client module to Angular 21 best practices and vitest by @krusche in #11871
- Migrate admin module to modern angular and vitest by @krusche in #11864
- Fix failing e2e tests by @krusche in #11880
- Migrate quiz client tests from Jest to Vitest by @krusche in #11888
- Improve server tests parallelization to speed up test execution by @krusche in #11894
- Use data transfer objects when editing FileUpload exercises by @LeZhen1105 in #11866
- Improve performance for slow database queries by @krusche in #11896
- Migrate the tutorial group client module to signals and vitest by @krusche in #11878
- Migrate large parts of the admin documentation by @az108 in #11883
- Completely migrate assessment client module to signals and vitest by @krusche in #11872
- Migrate client text module to signals and vitest by @krusche in #11892
- Add feature module toggles for modeling, file upload and lecture modules by @krusche in #11899
- Improve large classes check by @florian-glombik in #11650
- Migrate lecture client module to signals, PrimeNg dialog and vitest by @krusche in #11910
- Remove obsolete mixed-decls sass deprecation silencing by @krusche in 7716118
- Update file upload exercise vitest to use signals instead of decorators by @krusche in 2f9d8df
- Simplify the command to compile client code by @krusche in 4ad26e7
- Fix flaky server tests by @krusche in 93c6cc3, 0f685b1, 972223c, and b82a6e3
- Fix issues with client tests by @krusche in 6055767, 29c10b7, 12e593f, and 4e12c28
- Improve the external API of GitService by @krusche in 164a034
- Print active features during server startup by @krusche in 341b6ad
- Update client dependencies by @krusche in a0ce0ca
- Fix an issue with the documentation build by @krusche in 7c0e214
- Update security policy by @krusche in fd17584
- Update server dependencies by @krusche in ddc450e
- Unify the usage of temp directories and temp files by @krusche in 3bb87b2
- Fix a missing translation by @krusche in 5af5e9d
- Add unicode normalization and tests for data table component by @krusche in bf71481
- Migrate quiz client test to use signals by @krusche in
- Limit vitest ci workers to stabilize test execution in CI by @krusche in 1746d27
- Lower the long feedback max length to avoid polluting the database by @krusche in 567c8ae
- Increase default retention period for vcs access log by @krusche in e8c2ba6
- Automatically clean up old build job entries after 365 days by @krusche in 8cac144
- Migrate the lti client module from jest to vitest by @krusche in 8b0c071
- Fix an architecture test by @krusche in cd545d0
- Recommend lodash deep clone in client guidelines by @krusche in e307773
- Drop old iris settings tables by @krusche in dead6e5
- Fix an issue with client test execution by @krusche in be3cef9
- Allow to run e2e tests locally with postgres by @krusche in 2bc455b
- Fix issues with import dialogs by @krusche in 97eace3
- Allow admins to customize max feedback length by @krusche in a2dbd11
- Temporarily disable client test module coverage checks due to CI issues by @krusche in 49be4b0
New Contributors
Full Changelog: 8.7.0...8.7.1
8.7.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Release Highlights
🎬 Automatic Lecture Transcriptions
Artemis now automatically generates high-quality, searchable lecture transcriptions when connected to the EduTelligence service Nebula and using TUM-Live. The transcription process runs fully in the background, no manual triggering by instructors required.
🤖 AI-Powered Code Generation for Programming Exercises
When enabled, instructors can now leverage Generative AI to create programming exercises, including templates, solutions, and tests, significantly reducing preparation effort.
📂 Effortless Lecture Content Upload
Uploading lecture slides is now faster and more intuitive with drag-and-drop support. All required metadata is filled in automatically and can still be adjusted if needed.
⚙️ Simplified Iris Configuration
The Iris settings system has been streamlined, making it much easier to understand and configure while preserving flexibility.
🧠 Quiz Practice Enabled by Default
All quizzes are now automatically available for practice after their end date, including access via quiz training mode, improving reuse and exam preparation for students.
Improvements
Quiz exercises: Open all quizzes for practice after due date by @KonstiAnon in #11709Hyperion: Add AI code generation assistance for template, solution, and tests repositories by @luis-gasparschroeder in #11405Lectures: Allow to resize video player and transcript viewer by @bassner in #11814Lectures: Allow users to drop PDF files by @krusche in #11809Lectures: Process videos automatically with retry and status tracking by @bassner in #11824Iris: Simplify settings system by @bassner in #11830Exam mode: Add button to change an exam user's location by @SamuelRoettgermann in #11719Communication: Add possibility to add hyperlink to selected text by @HawKhiem in #11627Tutorial groups: Allow ':' in tutor group title by @Kiara65 in #11632General: Add a sidebar to the administration pages by @krusche in #11808
Bugfixes
Programming exercises: Add line breaks for long build job names by @flbrgit in #11828Quiz exercises: Fix code blocks not rendering in markdown editor by @HawKhiem in #11706Plagiarism checks: Fix plagiarism run creation date by @kevinfischer4 in #11593Plagiarism checks: Make styling of CPC component consistent by @kevinfischer4 in #11799General: Fix passkey registration modal being displayed too often by @florian-glombik in #11785
Development
- Improve programming exercise server tests by @ekayandan in #11392
- Migrate quiz exercises to use data transport objects by @KonstiAnon in #11576
- Improve programming server tests by @krusche in #11832
- Update to Angular 21, primeng 21 and ngx-translate 17 by @krusche in #11820
- Fix degraded Spring AI performance of shared chat client by @Yhmidi in #11813
- Migrate Angular animations to CSS animations by @krusche in #11816
- Store only non-default Iris settings by @bassner in #11843
- Migrate user experience documentation by @az108 in #11765
- Migrate large parts of the user documentation by @az108 in #11847
- Migrate quiz, modeling and team exercise section to new documentation by @florian-glombik in #11846
- Remove modal-based passkey authentication flow for admin by @florian-glombik in #11844
- Add client tests for IrisChatbotWidgetComponent by @Nayer-kotry in #11787
- Add client tests for IrisEnabledComponent by @Predixx in #11823
- Align Iris lecture chat data structures with other chat types by @vivienxr in #11783
- Introduce vitest and migrate fileupload module to zoneless Angular by @FelixTJDietrich in #11379
- Migrate lecture to new documentation by @florian-glombik in #11849
- Add competency lecture unit e2e tests by @MarcosOlivaKaczmarek in #11822
- Remove unused property in quiz DTO by @SamuelRoettgermann in #11854
- Remove outdated Kubernetes files by @b-fein in #11789
- Improve metrics performance by @krusche in #11815
- Improve authentication configuration by @krusche in #11855
- Fix a client lint warning by @krusche in 22e68cd
- Improve picture caching configuration by @krusche in cc38515
- Update server dependencies by @krusche in ad43aa3
- Fix a server test related to DTOs and try to fix some flaky server tests by @krusche in ea86786
- Increase selection area for lecture choice after file drop by @krusche in 549d261
- Update lecture transcription python dependencies by @krusche in d4c975f
- Update client dependencies by @krusche in 0629a17
- Update client dependency for monaco editor by @krusche in d439a98
- Remove trace field from console log output by @krusche in 73c176e
- Improve coverage:pr script robustness for vitest modules by @krusche in f583d17
- Update server test coverage by @krusche in 18b22e8
New Contributors
- @luis-gasparschroeder made their first contribution in #11405
- @kevinfischer4 made their first contribution in #11593
- @flbrgit made their first contribution in #11828
Full Changelog: 8.6.4...8.7.0