Releases: ls1intum/Artemis
7.10.2
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Enable static code analysis for Rust with LocalCI by @magaupp in #10328Programming exercises
: Enable static code analysis for Dart with LocalCI by @magaupp in #10354Integrated code lifecycle
: Improve result animation for building and testing by @BBesrour in #10342Assessment
: Scroll down to complaint form after clicking on a complain button by @badkeyy in #10352
Bugfixes
Integrated code lifecycle
: Fix issue in result processing by @BBesrour in #10363Integrated code lifecycle
: Fix stale container cleanup by @jfr2102 in #10353Tutorial groups
: Fix tutorial configuration form not appearing by @az108 in #10359Exam mode
: Fix issue with second correction round results by @coolchock in #10357Exam mode
: Fix student exam timeline page by @SimonEntholzer in #10350General
: Make sure the filter button renders when reloading the course statistics page by @badkeyy in #10231
Development
- Add Atlas Profile with optionally autowired Atlas Java API by @ole-ve in #9936
- Improve exercise import e2e tests by @muradium in #10305
- Fix LTI deep linking by @tobias-lippert in #10346
- Migrate exercise group client code to signals by @coolchock in #10332
- Update markdown editor cursor position on backspace by @cremertim in #10360
- Fix missing source files in Jacoco report by @ole-ve in #10343
- Migrate plagiarism check UML diagrams to Apollon format by @farisd16 in #10222
- Add mobile app version compatibility by @asliayk in #10339
- Migrate exam exercises client code to signals by @coolchock in #10329
- Speed up build statistics query by using an index column by @krusche in e3eaaa2 and 78649aa
New Contributors
Full Changelog: 7.10.1...7.10.2
7.10.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Add Dart programming exercise template by @magaupp in #10265Programming exercises
: Remove unnecessary binary files from template and solution repository comparison by @AjayvirS in #10091Programming exercises
: Improve usability in the feedback analysis table by @az108 in #10292Integrated code lifecycle
: Save and update build job to database at the start of the process by @BBesrour in #10001Communication
: Add pinned messages filter by @asliayk in #10173Communication
: Add option to toggle channel privacy by @asliayk in #10315Communication
: Add shortcut to direct chats via usernames in conversation detail dialog by @asliayk in #10277Adaptive learning
: Add grade or bonus goal in learner profile by @JohannesStoehr in #10159
Bugfixes
Programming exercises
: Calculate submission time difference with server time by @badkeyy in #10123Programming exercises
: Improve repository view routing by @SimonEntholzer in #10249Programming exercises
: Enable different base URLs for interacting with git repositories by @SimonEntholzer in #10319Programming exercises
: Fix background color and position of problem statement preview by @PaRangger in #10325Assessment
: Fix sporadically delayed score calculation by @magaupp in #10289Communication
: Do not send a notification for own answers in a thread by @PaRangger in #10308Communication
: Allow recreation of a channel with same name after deletion by @badkeyy in #10189Communication
: Fix missing translation strings in discussion section by @PaRangger in #10334Adaptive learning
: Fix translation issues for competency title and description errors by @laxerhd in #10213
Development
- Reduce number of flaky server tests by @ole-ve in #10302
- Remove course modules by @tobias-lippert in #10267
- Remove all remaining Angular client modules by @coolchock in #10278
- Modernize Java server code by @krusche in #10221
- Improve documentation for feedback analysis table by @az108 in #10301
- Run all server tests in GitHub job for non-draft PRs instead of only module-effected tests by @ole-ve in #10300
- Add documentation about automatic student feedback for modeling exercises by @LeonWehrhahn in #10272
- Improve view build logs code by @BBesrour in #10180
- Remove translate testing module by @tobias-lippert in #10304
- Add documentation for authentication mechanisms by @SimonEntholzer in #10264
- Fix mockito warning by @tobias-lippert in #10327
- Update endpoints used by Scorpio by @janthoXO in #10323
- Display more in-depth health information about the hermes service by @PaRangger in #10068
- Migrate staging deployment from Bamboo to GitHub Actions by @gbanu in #10217
- Make environment variables in npm commands platform-independent by @tobias-lippert in #10322
- Add documentation for tool tokens by @janthoXO in #10276
- Use jhiTranslate directive in create exercise unit component by @laxerhd in #10247
- Upload JUnit report as artifact by @StefanNemeth in #10335
- Fix compile issues in documentation by @krusche in 1662815
- Update server dependencies by @krusche in a123bf1 and 33fc740
- Update client dependencies by @krusche in 822bb5d
- Improve server logic in exercise resource by @krusche in 10df068
- Update dependencies by @krusche in 04f9242
New Contributors
- @gbanu made their first contribution in #10217
- @StefanNemeth made their first contribution in #10335
Full Changelog: 7.10.0...7.10.1
7.10.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Improve category display in exercise creation by @az108 in #10286Programming exercises
: Add static code analysis for Ruby with integrated code lifecycle by @magaupp in #10204Integrated code lifecycle
: Add Java blackbox exercise template by @chrisknedl in #10118Adaptive learning
: Change gif in instructor help in competencies view to video by @ardakaraman0 in #10030Iris
: Add chat in lectures by @isabellagessl in #9740
Bugfixes
Programming exercises
: Fix usability issues in the feedback analysis table by @az108 in #10237Communication
: Fix multiple channel icons appearing in conversation header issue by @asliayk in #10263Communication
: Fix improper deletion of combined emojis in Monaco editor by @asliayk in #10242General
: Warn users again before reloading certain pages with unsaved changes by @badkeyy in #10193
Development
- Remove label based deployment logic and transition to Helios by @egekocabas in #10260
- Remove course management and admin client angular modules by @tobias-lippert in #10184
- Migrate conversation components to use signals by @PaRangger in #10223
- Fix content-disposition header sanitization for file uploads by @asliayk in #10256
- Add linting rule for dayjs by @az108 in #10282
- Fix an issue with clearing text fields in an e2e test by @muradium in #10281
- Remove caching of long feedback by @az108 in #10269
- Remove angular mock test modules by @tobias-lippert in #10274
- Improve link preview validation by @krusche in #10250
- Speed up deletion of programming exercises by @b-fein in #10273
- Add async server test architecture test by @magaupp in #10255
- Add documentation for feedback analysis table by @az108 in #10259
- Exclude gradle source files from jacoco test report verification by @ole-ve in #10240
- Improve JaCoCo coverage report and validation tasks by @ole-ve in #10299
- Fix wrong dayjs import by @krusche in cc1e3cb
- Allow admins to retrieve websocket subscriptions by @krusche in 493dd4e
- Update client dependencies by @krusche in aee3cb0
- Update server dependencies by @krusche in 67a5a03
New Contributors
- @isabellagessl made their first contribution in #9740
Full Changelog: 7.9.1...7.10.0
7.9.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Noteworthy Changes
Programming exercises
: Admins can specify which repository authentication mechanisms are available by specifyingartemis.version-control.repository-authentication-mechanisms
inapplication-prod.yml
. Default ispassword,token,ssh
, however the default order might change in the future, because token and ssh based authentication are generally preferred in terms of security. Leaving out options will disable them in the code button in the user interface. When users choose a different available option in the browser, the browser will remember this locally. You can find more details in #10147.Artemis intelligence
: The first GenAI based features for instructor assistance are available. Editors can use Markdown actions to rewrite FAQs and the problem statement in programming exercises and to execute a first simple consistency check. At the moment, these actions are available through the latest version of Pyris for simplicity reasons in the deployment. In the future, a dedicated Artemis intelligence service might be introduced to decouple these features from Iris, which focuses on being a virtual tutor for students.
Improvements
Programming exercises
: Add MATLAB programming exercise template by @magaupp in #10039Programming exercises
: Add Ruby programming exercise template by @magaupp in #10202Programming exercises
: Add Artemis intelligence consistency check by @wasnertobias in #10209Programming exercises
: Add Artemis intelligence rewriting for problem statement by @FelixTJDietrich in #10156Programming exercises
: Improve flexibility of authentication methods in the code popup by @SimonEntholzer in #10147Integrated code lifecycle
: Allow admins to clear distributed data by @BBesrour in #10111Modeling exercises
: Enhance modeling feedback layout by @LeonWehrhahn in #10238Communication
: Add Artemis intelligence rewrite action for FAQs by @cremertim in #10157Assessment
: Remove duplicate message and center table by @laxerhd in #10051Lectures
: Leave unit form selection available in edit mode by @laxerhd in #10229Athena
: Add badge to display remaining AI feedback requests by @ahmetsenturk in #10234Iris
: Enable IRIS to answer with FAQs by @cremertim in #10093
Bugfixes
Programming exercises
: Fix an issue where the result export does not work with structured grading criteria by @chrisknedl in #10174Team exercises
: Fix synchronization for empty submissions by @coolchock in #10183Adaptive learning
: Fix an issue with translation not found in editing competency relations by @ardakaraman0 in #10201Communication
: Fix an issue with unread message count by @PaRangger in #10245General
: Fix hover background issue for certain buttons by @laxerhd in #10210
Development
- Fix TS3 deployments by removing docker-command override by @ole-ve in #10199
- Migrate test run module to signals, inject and standalone by @coolchock in #9914
- Fix failing LearningPathIntegrationTests by @N0W0RK in #10203
- Add unique constraint to build statistics by @coolchock in #10220
- Remove angular modules by @krusche in #10216
- Remove metis client module from the codebase by @cremertim in #10195
- Migrate client code for edit modals of posts by @cremertim in #10198
- Add Helios-based deployment workflow for test servers and reusable build logic by @egekocabas in #10109
- Remove Angular client modules in exam mode by @coolchock in #10169
- Run GitHub coverage summary step only on success in default test pipeline by @ole-ve in #10186
- Reduce coverage ratios to fix failing checks by @FelixTJDietrich in #10239
- Migrate client code for posting content by @asliayk in #10197
- Combine post and answer post reactions bars in communication mode client code by @asliayk in #10224
- Improve build stats performance by @BBesrour in #10108
- Update client dependencies by @krusche in 75b75fb and 6d861a9
- Update server dependencies by @krusche in 8a2758a
- Fix a client test lint issue by @krusche in c8c93d2
- Update default order for repository authentication mechanisms to password, token, ssh by @krusche in 000c5fb
New Contributors
- @egekocabas made their first contribution in #10109
- @ahmetsenturk made their first contribution in #10234
Full Changelog: 7.9.0...7.9.1
7.9.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Update java exercise docker image to java17-22 by @maximiliansoelch in #10172Adaptive learning
: Add learner profile by @N0W0RK in #9673Adaptive learning
: Improve individual learning path display by @krusche in 618f7d5Communication
: Add course-wide channel option by @asliayk in #10052Communication
: Keep file names when downloading attachments by @PaRangger in #9970Athena
: Improve AI feedback request validation by @maximiliansoelch in #10165General
: Add support for markdown callouts by @tobias-lippert in #10158
Bugfixes
Programming exercises
: Fix padding issue in task display by @PaRangger in #10151Text exercises
: Fix an edge case with discarded Athena feedback suggestions for tutors by @maximiliansoelch in #10140Text exercises
: Fix an issue where students cannot see automatic unreferenced feedback by @EneaGore in #10179Communication
: Prevent multiple group chats with same users by @asliayk in #10138Communication
: Fix broken link when referencing a lecture attachment in a post by @PaRangger in #10164Communication
: Fix cursor jump issue during list text editing by @asliayk in #10181Assessment
: Fix an issue where grading criteria are not applied correctly on drag and drop by @chrisknedl in #10127Assessment
: Fix an issue where instructors accidentally override presentation scores by @krusche in #10143
Development
- Update to Angular 19, standalone and
inject()
by @krusche in #10112 - Directly access Jenkins REST API for all interactions by @krusche in #10084
- Fix flaky communication module test cases by @PaRangger in #10166
- Add tool token support by @janthoXO in #9408
- Execute server tests only for changed modules in GitHub action for non-default branches by @ole-ve in #10036
- Add client tests for markdown callouts rendering by @tobias-lippert in #10168
- Compress specific websocket messages with gzip to reduce payload size by @krusche in #10087
- Set the isGraded flag to false for student athena requests by @EneaGore in #10155
- Define DTO architecture test per module with module-specific thresholds by @ole-ve in #9959
- Update client dependencies by @krusche in e0cda16, d4d178b, fec18d9, and a67e78b
- Update server dependencies by @krusche in 3370248 and 1543e3e
- Do not sent weekly emails for users without active courses by @krusche in 54422e7
- Convert control flow syntax by @krusche in 972072a
- Update eslint configuration and fix many client code warnings by @krusche in 99a0a25
- Remove angular modules in core folder by @krusche in deede10
- Remove angular modules in admin folder by @krusche in 1519d2b
- Update playwright dependencies by @krusche in 1fce5fd
- Update katex client library to avoid security issues by @krusche in 0539597
- Remove unused code by @krusche in fad4249
- Fix serialization error for learner profiles with JsonIgnoreProperties by @krusche in 8c26290
- Fix IRIS message rendering by @bassner in b9e968c
Full Changelog: 7.8.3...7.9.0
7.8.3
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Add Bash programming exercise template by @magaupp in #10089Adaptive learning
: Improve terminology of competency relations by @ardakaraman0 in #10031
Bugfixes
Programming exercises
: Fix programming language feature flags by @magaupp in #10110Programming exercises
: Update points automatically when the result changes by @Anishyou in #10113Modeling exercises
: Fix manual feedback results not being shown by @muradium in #10132Communication
: Resolve an issues when displaying replies to a post by @PaRangger in #10122Communication
: Improve visibility of pinned messages by @badkeyy in #10117Assessment
: Do not display automatic as additional feedback in the online code editor by @LeonWehrhahn in #10120
Development
- Add client test to check reactivity of post content by @PaRangger in #10126
- Improve git access operations performance by @SimonEntholzer in #9809
- Update thymeleaf email templates by @krusche in #10114
New Contributors
- @Anishyou made their first contribution in #10113
- @ardakaraman0 made their first contribution in #10031
Full Changelog: 7.8.2...7.8.3
7.8.2
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Improve task bar design by @PaRangger in #10095Programming exercises
: Remember scrolling position when switching between files in the online code editor by @chrisknedl in #10053Integrated code lifecycle
: View build logs in the browser by @BBesrour in #9990Lectures
: Replace guided mode with status bar edit and create view by @florian-glombik in #9655General
: Fix an issue with course deletion summary entries by @ole-ve in #9856
Bugfixes
Programming exercises
: Fix image export in combination with tooltip text by @badkeyy in #10070Assessment
: Keep long feedback after saving an assessment by @chrisknedl in #10090
Development
- Fix syntax error in query in IrisExerciseSettingsRepository by @SimonEntholzer in #10104
- Add different execution modes for local playwright setup by @SimonEntholzer in #10064
- Migrate exam scores module to signals, inject and standalone by @coolchock in #9921
- Migrate client code for the assessment dashboard by @maximiliansoelch in #10086
- Migrate client code for complaints by @maximiliansoelch in #10085
- Remove unused reference in posting models by @PaRangger in #10075
- Change posting deletion logic to not abort when deconstructing a post by @badkeyy in #10073
- Add playwright exam checklist e2e tests by @muradium in #10050
- Migrate client code for the grading system by @maximiliansoelch in #10055
- Update client dependencies by @krusche in 0d71dfd and 294adf7
- Update server dependencies by @krusche in 327857d
Full Changelog: 7.8.1...7.8.2
7.8.1
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Text exercises
: Highlight selected result in result history timeline by @EneaGore in #9845Communication
: Add recents section to sidebar by @asliayk in #10033Plagiarism checks
: Add direct link to case view by @AjayvirS in #9747
Bugfixes
Communication
: Add loading indicator when adding users to channel by @PaRangger in #10032Communication
: Fix performance issues in mark all read feature by @krusche in #10083Assessment
: Fix display of exercise title in assessment dashboard by @maximiliansoelch in #10103
Development
- Make compose for playwright tests more reliable by @muradium in #10065
- Migrate standard competencies admin import component by @ole-ve in #9911
- Enable gzip compression for nginx by @bensofficial in #10092
- Update liquibase property name in gradle build config by @AjayvirS in #10096
- Remove testwise coverage support by @krusche in #9993
- Prevent exception in Iris for inactive exercises by @krusche in #10099
- Update
@swimlane/ngx-graph
to 9.0.1 by @krusche in #9717 - Add a script to automatically increase the version number by @krusche in e8655fb
- Update docs python dependencies by @krusche in 84ff994
- Update node to 22 in workflows by @krusche in d8d2239
- Update spring security LTI library to 0.3.0 by @krusche in 116ed6a
- Unify docker image definitions by @krusche in 1474f61
- Reorganize build.gradle and improve spotless configuration by @krusche in f5c8ef0
- Remove deprecated HttpClientTestingModule in client tests by @krusche in 71dedae
- Add example of client test with vitest by @krusche in d6a1b81
- Improve build.gradle configuration by @krusche in f37cb53
- Improve client config by @krusche in b26821c
- Implement small server code and log improvements by @krusche in 4e56238
Full Changelog: 7.8.0...7.8.1
7.8.0
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Programming exercises
: Add group feedback feature to feedback analysis table by @az108 in #9884Programming exercises
: Add static code analysis for Python exercises with integrated code lifecycle by @magaupp in #9573Programming exercises
: Add Go programming language template by @magaupp in #9751Programming exercises
: Support more test result formats in LocalCI by @magaupp in #9691Integrated code lifecycle
: Improve build status updates for users by @BBesrour in #9818Integrated code lifecycle
: Show new result progress bar in exam overview and exercise details pages by @BBesrour in #10048Integrated code lifecycle
: Show ssh fingerprints by @SimonEntholzer in #9650Integrated code lifecycle
: Improve reinitialization when pausing build agents by @BBesrour in #9939Plagiarism checks
: Improve file selection in comparison by @AjayvirS in #9789Communication
: Add shortcut to private messages on usernames by @PaRangger in #10007Communication
: Add feature availability list to user documentation by @julian-wls in #10015Communication
: Allow users to mark all channels as read by @cremertim in #9994Lectures
: Add dismiss warning for unsaved changes to title or period section by @florian-glombik in #10023Iris
: Improve first time user consent message by @krusche in 50adb94General
: Improve cleanup service by @coolchock in #9851General
: Display total LLM cost in course detail view by @wasnertobias in #10019General
: Support opening instructor actions in new tab by @laxerhd in #9966General
: Add hover effect for all sidebar items by @laxerhd in #9663
Bugfixes
Programming exercises
: Fix inconsistencies between diff viewer and diff line stats by @magaupp in #9984Programming exercises
: Improve error handling when the diff report cannot be generated by @krusche in #10034Communication
: Fix scrolling error for long messages by @PaRangger in #9997Communication
: Fix encryption issue in push notifications by @PaRangger in #10060Lectures
: Remove guided mode exercise creation shortcut by @florian-glombik in #10022Exam mode
: Do not display working time differences for tests exams by @krusche in b21a9c4Iris
: Fix the about page by @bassner in #10016Iris
: Only load settings on non exam exercise to prevent bad request banners by @krusche in 1f0f75b
Development
- Migrate client code for conversation detail tabs by @asliayk in #9973
- Update LTI components to use Angular 18 practices by @raffifasaro in #9908
- Remove race condition in faky playwright test by @SimonEntholzer in #10013
- Add test server 7 to GitHub deployment by @bensofficial in #10042
- Remove redundant e2e test by @muradium in #10046
- Migrate client code for emoji components and conversation services by @asliayk in #10021
- Update read the docs config by @krusche in #10054
- Restrict course detail page access by @cremertim in #9834
- Add deployment info and best practices to playwright docs by @muradium in #9807
- Add e2e tests for git exercise participation using ssh and token by @muradium in #10006
- Migrate suspicious behavior module to new client coding guidelines by @coolchock in #9887
- Update sentry config by @magkue in #9824
- Update server dependencies by @krusche in #10061
- Improve wording in competency help window by @ufukygmr in #9933
- Migrate admin-standardized-competency service to use inject() by @ole-ve in #9910
- Migrate client code for posting header and footer components by @asliayk in #9932
- Fix null pointer exception in Metrics Bean for non scheduling core nodes by @krusche in 5c11585
- Improve error handling when generating student exams by @krusche in c4bc5a8
- Optimize exam query by @krusche in 1435bfe
- Update server dependencies by @krusche in a0bf56d, 3a6832e, 669422b, 1365538 and 4e1f491
- Update client dependencies by @krusche in 64a0d1e and f30ec88
- Fix an issue with multi node e2e tests by @krusche in e47db93
New Contributors
- @julian-wls made their first contribution in #10015
- @magkue made their first contribution in #9824
- @wasnertobias made their first contribution in #10019
- @ufukygmr made their first contribution in #9933
- @laxerhd made their first contribution in #9966
Full Changelog: 7.7.5...7.8.0
7.7.5
⭐️ If you find Artemis valuable, please consider giving our GitHub project a star! ⭐️
Improvements
Integrated code lifecycle
: Improve logging when build job times out by @BBesrour in #9955Modeling exercises
: Inline AI feedback view by @LeonWehrhahn in #9799Quiz exercises
: Improve user interface of quiz header and footer by @rabeatwork in #9744Communication
: Allow tutors to monitor channels as moderator by @cremertim in #9874Communication
: Improve design of hover area on messages by @asliayk in #9963Iris
: Add course chat settings by @Hialus in #9866Iris
: Allow team repository access for Iris by @bassner in #9975Iris
: Enhance student support with proactive assistance by @kaancayli in #9558Iris
: Add links to citations for lecture questions by @yassinsws in #9019
Bugfixes
Programming exercises
: Only replace existing files when populating build plan repositories by @SimonEntholzer in #9968Programming exercises
: Fix table overflow in rendered markdown by @rabeatwork in #9957Integrated code lifecycle
: Fix an issue with stale containers by @BBesrour in #10005Quiz exercises
: Fix an issue when automatically evaluating a live quiz by @Hialus in #9988Communication
: Fix visibility of create channel option for students by @asliayk in #9989General
: Fix header position in exercise and course summaries by @PaRangger in #9996
Development
- Fix LTI content selection table not loading by @raffifasaro in #9965
- Enable bearer authentication by @janthoXO in #9403
- Swap test names for bearer auth by @janthoXO in #9982
- Improve and simplify local playwright setup by @SimonEntholzer in #9796
- Migrate FAQ feature to new client guidelines by @cremertim in #9902
- Migrate build agents components by @BBesrour in #9923
- Migrate tutorial groups service folder to new angular guidelines by @az108 in #9941
- Add exam update audit event by @coolchock in #9956
- Ignore build directory in Jest's module path by @magaupp in #9995
- Enable deactivated LocalVC integration tests by @SimonEntholzer in #9942
- Update playwright dependencies by @krusche in 6439741
- Update server dependencies by @krusche in 74d48e6
- Update client dependencies by @krusche in eb3b2a3 and e687499
- Improve server test cleanup to reduce flakiness by @krusche in 8504af9
- Improve health services by @krusche in 0f07355
- Improve server test quality by @krusche in 0005603
Full Changelog: 7.7.4...7.7.5