Skip to content

Releases: ls1intum/thesis-management

4.10.2

13 Mar 19:48

Choose a tag to compare

✨ 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

4.10.1

09 Mar 22:55
2674d2d

Choose a tag to compare

✨ Improvements

  • Pagination on the Research Groups page
    The list of research groups now supports pagination at the bottom of the page, making it easier to navigate large numbers of groups.

  • Improved performance for dropdowns
    Dropdown components now avoid unnecessary data requests when they are disabled, resulting in slightly faster and more efficient page behavior.

  • Fixed an issue on the thesis page for students
    Unnecessary error messages are not shown anymore to students on the thesis page.

  • Clearer privacy statement
    The privacy statement has been updated to improve clarity and transparency.

  • Better test coverage
    Additional end-to-end tests were added to cover previously untested features, improving overall reliability.

  • Optimized Docker builds
    Build performance was improved through better layer caching and streamlined image configuration.

🔧 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:

  • Code formatting and linting tools (Spotless, ESLint)
  • Build and bundling tools (PostCSS, Terser, CSS Minimizer Webpack Plugin)
  • Database image update (PostgreSQL Docker image)
  • Additional internal build and development tooling improvements

Full Changelog
v4.10.0...v4.10.1

4.10.0

04 Mar 00:25

Choose a tag to compare

💥 Breaking Changes

Role Terminology Updated

The role names have been updated across the entire application to better reflect their actual responsibilities:

  • "Supervisor" is now called "Examiner" (the professor who grades the thesis)
  • "Advisor" is now called "Supervisor" (the person who guides the student day-to-day)

All existing data (theses, topics, email templates) has been automatically migrated. If you have custom email templates, please verify that the role labels and variable names are correct.


✨ New Features

User Data Export (GDPR Right of Access)

Users can now export all their personal data from the settings page. The export includes profile information, thesis data, applications, and uploaded files as a downloadable archive.

Account Deletion (GDPR Right to Erasure)

Users can request deletion of their account from the settings page. A preview shows what data will be affected before confirming. Admins can also manage user deletion requests.

Automatic Thesis Anonymization

Theses are now automatically anonymized after a 5-year retention period. Student names and personal data are removed to comply with data privacy requirements. Admins can also trigger anonymization manually and manage retention settings from the admin page. Email notifications are sent before anonymization occurs.

Automatic Cleanup of Rejected Applications

Rejected thesis applications are automatically cleaned up after a configurable retention period (default: 1 year), reducing stored personal data.

Updated Data Privacy Statement

The privacy statement has been updated to reflect the new data processing practices, including data export, account deletion, and retention policies.

Application Disclaimer for Students

Students now see a disclaimer when submitting thesis applications, informing them about data processing and the application workflow.

Dark Mode / System Theme Support

The application now respects your operating system's color scheme preference (light or dark mode).

Per-Group Settings

Research groups can now individually configure:

  • Data privacy settings
  • Scientific writing guide links
  • Application email content

🧰 Improvements

  • Faster Page Loading
    List views (theses, topics, applications) now load significantly faster thanks to optimized API responses with lightweight overview.

  • Reduced Deployment Downtime
    Deployments now pre-pull Docker images before restarting, reducing downtime to a few seconds.

  • Improved Email Notifications
    Application notification emails now contain less personal data to improve privacy by default. Research groups can still decide to send the full details.

  • Security Hardening
    Added response headers to prevent clickjacking, improved input validation, file upload type restrictions, email template content validation, and strengthened authorization checks.

  • Improved Error Handling
    Better error messages and validation across forms and API endpoints.

  • Vulnerability Reporting Policy
    Added SECURITY.md with instructions for responsible disclosure.


🐛 Bug Fixes

  • Fixed an issue where selecting students in a thesis configuration did not work correctly
  • Fixed application email content settings not saving properly for research groups
  • Fixed research group settings page errors
  • Fixed logout issues
  • Fixed data retention handling for theses in incorrect states

🔧 Infrastructure & Dependencies

  • Upgraded to Spring Boot 4.0, Hibernate 7, Liquibase 5, and Jackson 3
  • Upgraded PostgreSQL from 17 to 18
  • Updated React, Mantine UI, Tiptap editor, and keycloak-js to latest versions
  • Updated client Docker image to Node 24
  • Added comprehensive Playwright E2E test suite with CI integration
  • Added Mailpit for email verification in E2E tests
  • Various dependency updates (see full changelog for details)

Full Changelog: v4.9.0...v4.10.0

4.9.0

20 Feb 09:55

Choose a tag to compare

💥 Breaking Changes

Email Template Variables Reworked

The available template variables for emails have been revised.

  • Existing system templates were automatically migrated.
  • Variables that still exist were renamed accordingly during migration.
  • ⚠️ If you used custom email templates with deprecated variables, those variables may no longer be available.

Action Required:
Please review your custom email templates and verify that all variables are still valid.


✨ New Features

Custom Email Templates per Research Group

Each research group can now customize email templates for Accept, Reject, and Presentations.

  • Edit email templates individually per group
  • Adapt communication to specific processes and requirements

🧰 Improvements & Maintainance

  • Topic Overview Links Usability
    Topic links can now be opened in new browser tabs.

  • Interview Process Test Coverage
    Added InterviewProcessTests to improve the reliability of the interview workflow.

  • Documentation Updates

    • Added Interview Process video links
    • Updated access tables in Readme
  • Dependency & CI Updates

    • Updated GitHub Actions (checkout@v6, appleboy/ssh-action@v1.2.5)
    • Updated client build dependencies (webpack plugins, css-loader, eslint-plugin-prettier, etc.)

🐛 Bug Fixes

  • Booking Confirmation Scroll
    Fixed an issue where the booking confirmation dialog was not scrollable.

  • About Page – Git Information
    Fixed incorrect display of git branch and commit information.


4.8.0

10 Feb 11:24

Choose a tag to compare

✨ New Features

  • Interview Management
    A new Interview Management feature has been introduced, enabling structured handling of interview processes directly within the system.

    • Add and manage interviewees
    • Invite candidates to interviews
    • Create interview slots and schedule interviews
    • Take notes during interviews for better documentation and evaluation
  • Matriculation Number Sync from Keycloak
    The matriculation number is now automatically synchronized from the Keycloak JWT, ensuring consistent and up-to-date student data without manual intervention.


🧰 Improvements

  • Updated Role Labels (CIT Terminology)
    Role labels in the UI have been aligned with official CIT terminology for improved clarity and consistency.

🐛 Bug Fixes

  • Immutable List Error in Scheduled Rejections
    Fixed an issue where using toList() resulted in an immutable list, causing a recurring error during scheduled execution.

🔧 Maintenance

  • Dependency & Tooling Updates
    Multiple dependencies and tools were updated, including TypeScript, Webpack, ESLint, npm, OpenJDK, Lombok, and CI-related actions.
    These updates improve stability, security, and long-term maintainability of the project.

4.7.0

22 Jan 09:00

Choose a tag to compare

✨ New Features

  • Draft Theses for Supervisors
    Supervisors can now create theses in a draft state before making them visible to students. This allows better preparation and review before publication.

🐛 Bug Fixes

  • Presentation Duration not accessible publicly
    Improved the handling of the duration setting to ensure it always exists and is reliably accessible across the system, even without explicit access checks.

  • Calendar Link Subscription
    Fixed an issue where the duration setting could be missing, potentially causing errors in the calendar subscription.

4.6.0

11 Dec 13:03

Choose a tag to compare

✨ New Features

  • Custom Presentation Slot Duration
    Research groups can now configure the duration of presentation slots, enabling more flexible scheduling.

  • Optional Proposal Phase
    Research groups can now disable the proposal phase if it is not needed in their workflow.

  • Application Notification Email
    Introduced a new additional notification email that receives emails when students submit applications.


🧰 Improvements

  • Updated Research Group Settings
    The Research Group Settings section has been restructured by phase for better usability.

  • Read-Only Profile Fields Synced from LDAP
    Fields in the profile that are automatically synchronized from LDAP are now read-only to prevent incorrect changes.

  • Clickable Research Group Cards
    Research group cards are now clickable links, making it easier to open them in new tabs.


🐛 Bug Fixes

  • Presentation Page “Today” Not Included
    Fixed an issue where the Presentation page did not correctly show the current day.

    • Minimum Value for Semester Field
      Added a minimum allowed value for the semester field to ensure consistent data.

4.5.0

02 Nov 23:52
b50632d

Choose a tag to compare

✨ New Features

  • Filter and Search for Submit Applications
    Added new filtering and search functionality to the Submit Application page, allowing users to quickly locate applications based on relevant criteria. Reworked Page Design.

🐛 Bug Fixes

  • Published Theses Accessibility
    Fixed an issue where published theses were only accessible to logged-in users. Published theses are now correctly available to all visitors as intended.

🧰 Improvements & Maintenance

  • Support Email on About Page
    Introduced an email alert banner on the About page to improve communication.

  • Dependency Updates

    • Updated PostgreSQL Docker image to v17.6
    • Updated Traefik to v3.5
    • Updated Radicale to v3.5.7.0
    • Updated appleboy/scp-action to v1
    • Updated appleboy/ssh-action to v1.2.2
    • Updated actions/checkout to v5

4.4.2

17 Oct 15:31

Choose a tag to compare

🐛 Bug Fixes

  • Automatic Application Reject
    Fixed an issue where not assessed applications were incorrectly included in the automatic rejects. The reference date was set incorrectly when no deadline or planned start was set. The logic sets the reference date to the creation date of each application now.

🧰 Improvements & Maintenance

  • Research Group Selection in Presentation Overview
    Replaced the previous tab-based navigation with a dropdown selector for research groups if there are more than 5 that the user has access to, making it easier to manage and browse multiple presentations.

  • Java 25 Upgrade
    Updated the project to Java 25, ensuring compatibility with the latest language features, improved performance, and long-term maintainability.

4.4.1

06 Oct 16:34
d1c4617

Choose a tag to compare

🐛 Bug Fixes

  • Dark Mode Card Background to light
    Updated the CardBackground color of components in TopicPage and PresentationOverview for a consistent dark mode appearance.

🧰 Improvements & Maintenance

  • Comment Section UI Update
    Improved the comment section design with clear visual indicators for file uploads, enhancing clarity for users when attaching files.

  • Presentation Overview Enhancements
    The presentation overview now includes:

    • Display of the thesis type for better context.
    • New accept and edit options directly from the overview page, improving supervisor workflow and usability
  • Presentation Navigation
    Users can now navigate to a presentation’s detail page.
    The “View Thesis” button only appears to users who have access to view the thesis.

  • Proposal Feedback Dismiss Card
    Added a confirmation dialog asking users if they’re sure before discarding unsaved changes for proposal feedback — helping prevent accidental data loss.

  • Docker Configuration Update
    Added a Docker restart policy in docker-compose.prod.yml to ensure improved reliability and uptime for production deployments.