✨ New Features
Configurable Grading Scheme for Thesis Assessments
Research groups can now define a default grading scheme with weighted components (e.g., "Thesis Content" 40%, "Methodology" 30%, "Presentation" 30%). When submitting an assessment, examiners see the pre-configured grade components and can assign individual grades per component. The overall grade is automatically calculated as the weighted average. Components can be marked as bonus items (excluded from weight validation). The final grade modal also pre-fills with the weighted average across all assessments, while still allowing manual override. Research groups without a grading scheme continue to work as before.
🐛 Bug Fixes
-
Fixed avatar display for examiners and supervisors
Avatars for examiners and supervisors on internal theses were not loading correctly, showing a 404 error. This has been resolved. -
Fixed an issue where users could lose their assigned roles
In rare cases, users could lose their assigned role (e.g., "student") when the identity provider was temporarily unavailable. Role assignments are now stored directly in the application database, making them independent of the identity provider's availability. -
Fixed edge cases in research group membership management
Improved error handling when changing the head of a research group or removing members. The system now shows accurate error messages instead of generic "access denied" responses when something goes wrong.
🔧 Maintenance & Dependency Updates
Several internal dependencies were updated to keep the system secure and up to date. These changes do not affect user-facing functionality but improve maintainability and stability.
Updated components include:
- Build tools (Gradle, Docker build actions)
- Client libraries (DOMPurify, Terser Webpack Plugin, CSS Extract Plugin, ESLint)
- Server libraries (Lombok)
Full Changelog
v4.10.1...v4.10.2