Release Notes
New release Study Guide 2.70
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Usability: the load time of the landing page should be reduced - SG-698
Based on the logging we noted the initial opening of the study guide could take up to 2 seconds. We deep-dived into the cause and a fix is applied that builds up the page in a different way, optimising the display with an end-result the load time is drastically reduced (0.5 second).
Usability: the filter should stay active using the back icon - SG-682
Accessibility: improve mobile menu usage - SG-670
Description management should be less magical - SG-693
The display of descriptions in the structure page had some 'hidden magic'. To reduce the magic a change is applied.
To understand the change applied, first let's look at the 'old' behaviour:
The description with the lowest sequence is displayed in the structure.
This is currently determined per group. The order and presence of descriptions on the group determine the result. If a group has no descriptions, nothing is displayed for that group. If a group has one or more descriptions, the first description is shown in the structure.
If a group has more than one description, the "Show more" button is displayed.
The popup opened on ‘Show more’ displays all descriptions belonging to that group.
The new behaviour will be:
The sequence configured under Admin > References > Module Group Description will determine the display order. This sequence is imported from Curriculum > Elements > Module Group Description, but may be overridden in Study Catalogue.
Descriptions with sequence 0 or with no sequence (empty) are never shown in either the structure or the popup.
A description with sequence 1, if present on the group, is displayed in the structure.
Descriptions with sequence 2 or higher, if present on the group, are displayed in the popup.
The "Show more" button is displayed if the group contains one or more descriptions with sequence 2 or higher, regardless of whether a sequence 1 description is present.
The "Show more" button is not displayed if there are no descriptions with sequence 2 or higher, or if the widget configuration is set to "Hide Show More".
The popup does not display descriptions with sequence 1, 0, or no sequence (empty).
The year dropdown should show the years in the correct order - SG-625 (Hotfix)
When having multiple years in the study guide, the year selector showed the years in a random order. This has been fixed, and the years are shown in the correct order again.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security vulnerabilities were reported, requiring mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.40
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Labels should not show the code, but the text - EV-429, EV-430 (hotfix)
An error was found causing the labels to be shown as codes. This was caused by a library update, that didn't handle the correct display of labels if no language was defined. The issue is hotfixed and the labels are shown correctly again.
Labels should not show the code, but the text - EV-428 (hotfix)
The histogram used in reports was showing an incorrect order. This was caused by changing the order of the Likert scale values in the evaluation, and the changed order was not respected in the report. A change is applied that will respect the order both in the evaluation and the report.
As an administrator I must be able to create a condensed report template - EV-433
After selecting the option to create a new condensed report template nothing happened. At least nothing visible for the administrator, but in our logging we got some exceptions. This helped finding the root cause and the issue has been fixed. The administrator can now create new condensed report templates.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security vulnerabilities were reported, requiring mitigation.
Refer to the Evaluation manual for configuration guidance.
New release Workload Management 12.18
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The year switcher should only show configured years - CUR-3901 (Hotfix)
The year switcher showed not only the configured years, but also years created using simulation. This has been hotfixed, to show only the configured years.
The search (typeahead) only shows the first 10 hits - CUR-3905 (Hotfix)
The typeahead (search) in selection fields, e.g. relation, element, reference matches the values in the list based on the typed characters. A fault was introduced that limited the search to only show the first 10 results. This has been hotfixed, and the typeahead (search) is showing also the matches that exceed the first 10.
When clicking on a person I should be redirected to the person details - CUR-3868
The general page shows the roles and related persons. The option to click on the person and jump to the person details was broken. This has been fixed and the person details are again available by clicking the person on the general tab.
As an administrator I want to use conditions that restrict using the users' role - CUR-3808
A requirement was raised to improve the filtering in processes by limiting it to role. Currently the limiting is supported on authorisation, but that is limited in flexibility.
An option is added to define a filter hasRole() to limit access to specific roles. This will allow to filter the page in the workflow on a role, and will extend the usage of the parallel processing of workflows by defining one page and filter the different pages on the role.
Use case:
Define a process to wait for different persons
- Add a workflow with 3 different teams (representing 3 parallel executors)
- Configure the workflow with the hasRole() filter to limit page view to the different teams (roles)
- Users can run their workflow in parallel, the process waits for the last to finish.
- Users will only see the pages relevant for their role.
Configuration:
- hasRole(<code of role>, <object type>) - :hasRole(modCoor, module) or :hasRole(modCoor)
- The code of role is the code as configured for the role, e.g. Module coordinator = modCoor
- The object type is optional, and can be used to specify the type in case the code is not unique, e.g. faculty, study, module
Numeric fields should support pattern validation - CUR-3773
The configuration of fields offers the option to specify patterns to limit / standardise the input options. It was found the implementation for numeric fields was incorrect. This has been fixed and patters can be used.
Configuration advise:
If possible use the standard configuration options to specify number of decimals, minimum and maximum value to restrict input. Only in the rare cases these are not sufficient, use a pattern.
As a manager I want to force upload of prove for a competence - CUR-889
Certain competences require the upload of a document providing evidence/proof. To support this requirement the option has been defined to enable both setting a field condition and the required checkbox. Once both are met, the document upload is shown and an upload is required. Otherwise, the download will not be shown.
A new custom field type is added 'DOCUMENT', that allows the definition and configuration of the document upload. It also supports the upload of multiple document fields. As shown in the image below there is a required document upload (set by the competence required evidence setting) and an optional upload.

Configuration:
The screen above is configured using the setting shown below. The first three fields define the screen part shown above:
- type: defines the field to select the competence the user wants to add to its competence list
- evidence: a document upload that is configured to be required:
- Condition used: :competenceType.requiresEvidence = 'true'
- optionalEvidence: a document upload to optionally add evidence
The optional evidence condition can be configured as the opposite of the requiresEvidence to support only showing one upload option. The required is the required evidence is set, otherwise the optional.
In reporting both can be shown in the same document list.

As an administrator I want to manage the active experimental features - CUR-3764
Not all new features built are immediately ready for production on a large scale. In those situation we aim for developing the new feature as a 'experimental feature' first. This feature can be activated by the administrator, to allow additional testing and providing feedback. This release a change was made to the experimental feature that provides an overview of all available features and allows for more detailed configuring what feature(s) should be activated.

Experimental feature: Lexical rich text editor
A new feature is made available called the 'lexical rich text editor'. This will be the replacement of the current used HTML and Markdown text editor, offering a more stable, configurable options. In this release it is release as a feature complete substitution of the current editor. It is a feature flag option, to allow administrators to test drive. In the near future the lexical editor will be activated as the standard editor.
Experimental feature: React forms
As part of staying technically up to date and a new, crisp, WCAG compliant interface we're constant working on migration parts of the system to the TimeEdit UX components using a new front end development framework. For specific changes that will eventually affect users, we decided to first implement them as feature flags that can be switched an tested. Forms shown to users are pretty complex, think about input validation, display types, labels, required or not, conditions, etc. The new 'forms' are feature complete with the current forms, and when toggling the feature flag two forms are shown in the new UI with the new logic:
- Study -> General page
- Module -> General page
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Implemented security fixes and checking mechanism - CUR-3918
We realised the number of security fixes had been pretty low. We did some manual checks in the central registry and found out we had missed quit some vulnerability updates in the last 6-8 weeks. There is a fully automated process reporting the vulnerabilities, but the process didn't report any. We found out the reachability of the central repository had been sub-optimal the last period, causing our automatic checks to fail.
Next to adding additional validation on execution of the automatic checking mechanism, we fixed all the vulnerabilities reported by the checker after fixing the failure situation. The reported vulnerabilities were investigated and fixed.
High
- CVE-2026-29062 (High)
- CVE-2026-22731 (High)
- CVE-2026-54512 (High)
- CVE-2026-54513 (High)
- CVE-2026-24880 (High)
- CVE-2026-34487 (High)
- CVE-2026-40988 (High)
- CVE-2026-41842 (High)
- CVE-2026-41850 (High)
- CVE-2026-54399 (High)
- CVE-2026-54428 (High)
- CVE-2026-54428 (High)
Medium
- CVE-2026-32990 (Medium)
- CVE-2026-54518 (Medium)
- CVE-2026-41706 (Medium)
- CVE-2026-41841 (Medium)
- CVE-2026-41843 (Medium)
- CVE-2026-22745 (Medium)
- CVE-2026-22748 (Medium)
- CVE-2026-41851 (Medium)
- CVE-2026-41853 (Medium)
- CVE-2026-54514 (Medium)
- CVE-2026-54515 (Medium)
- CVE-2026-54516 (Medium)
- CVE-2026-54517 (Medium)
- CVE-2026-40975 (Medium)
- CVE-2026-41854 (Medium)
Low
- CVE-2026-22746 (Low)
- CVE-2026-41694 (Low)
- CVE-2026-41848 (Low)
- CVE-2026-41852 (Low)
- CVE-2026-22741 (Low)
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.18
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Versioning update
In the previous releases we made some steps towards full support of versioning. This was even-though we analysed and detailed it till great detail a challenge. Since the Curriculum foundation is using an academic-year based versioning. A new versioning mechanism that would allow for instance to have 6 parallel versions of the same module, plan 3 years ahead with module being limited only by the end-date, have multiple versions of programs, etc. was pretty challenging and touches the basic foundation.
Next to the improvements listed in the release notes, we're working on the new versioning system. As said it is challenging, but we're making great progress. If the pace will stay as it is now, we plan for a specific release for interested institutions that want to be part of the beta test team in 2-4 weeks. We hope in 2, but it might be extended a little. A detailed description of the use cases, supported features, configuration, etc. will follow in a next phase. For now this is just a short heads-up we're making good progress.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The year switcher should only show configured years - CUR-3901 (Hotfix)
The year switcher showed not only the configured years, but also years created using simulation. This has been hotfixed, to show only the configured years.
The search (typeahead) only shows the first 10 hits - CUR-3905 (Hotfix)
The typeahead (search) in selection fields, e.g. relation, element, reference matches the values in the list based on the typed characters. A fault was introduced that limited the search to only show the first 10 results. This has been hotfixed, and the typeahead (search) is showing also the matches that exceed the first 10.
When clicking on a person I should be redirected to the person details - CUR-3868
The general page shows the roles and related persons. The option to click on the person and jump to the person details was broken. This has been fixed and the person details are again available by clicking the person on the general tab.
Button to add a new module directly from the dashboard should be shown - CUR-3850
The 'add module' button was not shown on the dashboard. The root cause is identified and fixed, so users can again create new modules directly from the dashboard.
As an administrator I want to use conditions that restrict on the users role - CUR-3808
A requirement was raised to improve the filtering in processes by limiting it to role. Currently the limiting is supported on authorisation, but that is limited in flexibility.
An option is added to define a filter hasRole() to limit access to specific roles. This will allow to filter the page in the workflow on a role, and will extend the usage of the parallel processing of workflows by defining one page and filter the different pages on the role.
Use case:
Define a process to wait for different persons
- Add a workflow with 3 different teams (representing 3 parallel executors)
- Configure the workflow with the hasRole() filter to limit page view to the different teams (roles)
- Users can run their workflow in parallel, the process waits for the last to finish.
- Users will only see the pages relevant for their role.
Configuration:
- hasRole(<code of role>, <object type>) - :hasRole(modCoor, module) or :hasRole(modCoor)
- The code of role is the code as configured for the role, e.g. Module coordinator = modCoor
- The object type is optional, and can be used to specify the type in case the code is not unique, e.g. faculty, study, module
As I user I'd like to have an option to change module objective using the subject matrix screen - CUR-889
Currently it’s not possible to make a change to a module objective directly from the subject matrix screen. From a generic management perspective direct access to the module objectives using an ‘edit’ option is desired. The subject-matrix and assessment-matrix screens have been extended with two configuration options:
- Edit Module: Toggle to enable the display of an Edit button for each module
- Module workflow: The workflow that should be opened when clicking the Edit button
The configuration will show the Edit button for each module, as shown below.

As part of this change a fix is to respect the objective sequence in the subject matrix .
Numeric fields should support pattern validation - CUR-3773
The configuration of fields offers the option to specify patterns to limit / standardise the input options. It was found the implementation for numeric fields was incorrect. This has been fixed and patters can be used.
Configuration advise:
If possible use the standard configuration options to specify number of decimals, minimum and maximum value to restrict input. Only in the rare cases these are not sufficient, use a pattern.
As a manager I want to force upload of prove for a competence - CUR-889
Certain competences require the upload of a document providing evidence/proof. To support this requirement the option has been defined to enable both setting a field condition and the required checkbox. Once both are met, the document upload is shown and an upload is required. Otherwise, the download will not be shown.
A new custom field type is added 'DOCUMENT', that allows the definition and configuration of the document upload. It also supports the upload of multiple document fields. As shown in the image below there is a required document upload (set by the competence required evidence setting) and an optional upload.

Configuration:
The screen above is configured using the setting shown below. The first three fields define the screen part shown above:
- type: defines the field to select the competence the user wants to add to its competence list
- evidence: a document upload that is configured to be required:
- Condition used: :competenceType.requiresEvidence = 'true'
- optionalEvidence: a document upload to optionally add evidence
The optional evidence condition can be configured as the opposite of the requiresEvidence to support only showing one upload option. The required is the required evidence is set, otherwise the optional.
In reporting both can be shown in the same document list.

As an administrator I want to manage the active experimental features - CUR-3764
Not all new features built are immediately ready for production on a large scale. In those situation we aim for developing the new feature as a 'experimental feature' first. This feature can be activated by the administrator, to allow additional testing and providing feedback. This release a change was made to the experimental feature that provides an overview of all available features and allows for more detailed configuring what feature(s) should be activated.

Experimental feature: Lexical rich text editor
A new feature is made available called the 'lexical rich text editor'. This will be the replacement of the current used HTML and Markdown text editor, offering a more stable, configurable options. In this release it is release as a feature complete substitution of the current editor. It is a feature flag option, to allow administrators to test drive. In the near future the lexical editor will be activated as the standard editor.
Experimental feature: React forms
As part of staying technically up to date and a new, crisp, WCAG compliant interface we're constant working on migration parts of the system to the TimeEdit UX components using a new front end development framework. For specific changes that will eventually affect users, we decided to first implement them as feature flags that can be switched an tested. Forms shown to users are pretty complex, think about input validation, display types, labels, required or not, conditions, etc. The new 'forms' are feature complete with the current forms, and when toggling the feature flag two forms are shown in the new UI with the new logic:
- Study -> General page
- Module -> General page
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
OEAPI expand and eduXchange alliance filter should work - CUR-3885
In the previous release the OEAPI has been extended with filtering support on alliances. It was found it was working correctly for courses, but not for programs. This has been fixed and the filter is working on both objects.
During the resolution of this issue it was noted the expand option defined in the OEAPI standard was not correctly implemented. This has been adjusted too, supporting multiple expands that are comma separated.
The broker hook should be more informatieve - CUR-3864
In case an error occurred when sending multiple objects to the Broker and one of or more objects were not processed due to an error, they were not reported. The question arised in an actual situation where a module was causing an error, but it was not reported. The rout cause for this situation was identified and fixed, since in theory there should be no errors when sending to broker, and additional logging information was added.
Extend the integration information with information on integration messages, as shown below.

When performing an ad-hoc execution using script the execution result is shown.


Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Implemented security fixes and checking mechanism - CUR-3918
We realised the number of security fixes had been pretty low. We did some manual checks in the central registry and found out we had missed quit some vulnerability updates in the last 6-8 weeks. There is a fully automated process reporting the vulnerabilities, but the process didn't report any. We found out the reachability of the central repository had been sub-optimal the last period, causing our automatic checks to fail.
Next to adding additional validation on execution of the automatic checking mechanism, we fixed all the vulnerabilities reported by the checker after fixing the failure situation. The reported vulnerabilities were investigated and fixed.
High
- CVE-2026-29062 (High)
- CVE-2026-22731 (High)
- CVE-2026-54512 (High)
- CVE-2026-54513 (High)
- CVE-2026-24880 (High)
- CVE-2026-34487 (High)
- CVE-2026-40988 (High)
- CVE-2026-41842 (High)
- CVE-2026-41850 (High)
- CVE-2026-54399 (High)
- CVE-2026-54428 (High)
- CVE-2026-54428 (High)
Medium
- CVE-2026-32990 (Medium)
- CVE-2026-54518 (Medium)
- CVE-2026-41706 (Medium)
- CVE-2026-41841 (Medium)
- CVE-2026-41843 (Medium)
- CVE-2026-22745 (Medium)
- CVE-2026-22748 (Medium)
- CVE-2026-41851 (Medium)
- CVE-2026-41853 (Medium)
- CVE-2026-54514 (Medium)
- CVE-2026-54515 (Medium)
- CVE-2026-54516 (Medium)
- CVE-2026-54517 (Medium)
- CVE-2026-40975 (Medium)
- CVE-2026-41854 (Medium)
Low
- CVE-2026-22746 (Low)
- CVE-2026-41694 (Low)
- CVE-2026-41848 (Low)
- CVE-2026-41852 (Low)
- CVE-2026-22741 (Low)
Refer to the Curriculum manual for configuration guidance.
New release Study Guide 2.69
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
The release has been delayed on Acceptance due to an issue we loved to take along in this release. The release time was around 16:10 CET.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Accessibility analysis and improvements - SG-681, SG-507, SG-673, SG-506
An in-depth accessible analysis has been performed focusing on the WCAG-2.2. A short list of non-compliant issues has been defined to be picked up during the next 2 sprints. During this release the next two issues have been addressed:
- The drawer (menu) on mobile applies to the WCAG standards
- Various layout and visualisation changes to detail pages
- All elements should be accessible using the Tab
- The tab order when using the Tab key should be correct
- Various layout and visualisation changes to search result/overview pages
The filter on subjects should filter and show the label instead of the values - SG-659, SG-694
When filtering on a skill/competence (subject), there were no results reported and the selected filter showed the value (code) instead of the label. Both have been fixed, and results matching the selected filter are shown and the selected filter will show the value as displayed in the image below.

A filter option is added to restrict the filter not only on the subject type, but also on the subject category, e.g. category=Comms or categoryType=Skill or the combination category=Comms&categoryType=Skill. Similar to other widgets already using the type of the overarching group. This filter will first work after the next release of Curriculum, so 1 week after the release of this version.
The inward link should not be shown as outward link - SG-695 (Hotfix)
The display of the link information was incorrect. The inward link was shown as outward link, and linked modules could also appear on the same line, instead of clearly separated at multiple lines. This has been fixed and the link information is shown correctly again.
The Curriculum import should not fail - SG-585
Incidentally the nightly import of data from Curriculum / Broker fails with an Exception. The logging and failures of the last Month have been analysed and the synchronisation is made more robust to cover for the found issues.
Multiple tabs using qualification should work - SG-697
When using multiple tabs in a Qualification, only the first tab showed content. Any other tab didn't show content, but redirected to the first tab. This was caused by a typo (a missing 's') in the standard URL detection, and is fixed. Multiple tabs in qualifications will work as they should do.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security vulnerabilities were reported, requiring mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release of Data Manager - Sequence constraints
The following was released on July 2 and will be available in Production later this summer.
Sequence constraints can be applied to any Activity Series or Tracks within the same Module or across Modules. The specific sequences can contain a Min or Max padding, or a combination of the two, to allow for fine grained control of how the activities should be scheduled in relation to each other.
In addition to these specific sequence constraints, all Activity Series within the same Module always has a built in sequence. This built in sequence can now be changed within Data Manager and can also have the Min/Max padding. It is also possible to exclude one or more Activity Series from the built in sequence.
The UI in DM has been updated to provide a more unified and coherent view of all constraints.
Activity Manager will also show all Constraints and provide the ability to view them
For more information on Sequence constraints, please see this Academy article
Please note that Sequence constraints are not used outside of Automatic scheduling. There is currently no indication in Core when Activities are scheduled outside its sequence.
New release for Activity Manager and Autopilot
The following was released on June 30 and will be available in Production next week
General improvements:
Automatically include scheduled Activities in any job where it is relevant. In order for Sequence and Time constraints, as well as Deviation constraints to be considered, previously any relevant already scheduled Activity would have had to be manually added to any scheduling job. From now on, any previously scheduled Activity that is relevant for the Activities included in the job will be automatically added so that constraints can be considered.
New release of Data Manager
The following was released to Test environments on June 26 and will be available in Production this week
General improvements:
Max concurrent tracks limit is now shown in the Activity Series table, in the Number of Tracks column. The limit is added after the number of tracks as "max X":
Additional object field value filters are now available when clocking "more filters". Previously, some fields from parent types were not included, but should now be available
New release of Outlook integration
The following was released to the Test environments on 26th of June and will reach production one week later.
Improvements
- Sync setting periods are now determined using the organisation's configured timezone, preventing incorrect time windows from being applied.
- Reference fields are now included when evaluating sync setting filters, resolving an issue where certain customers experienced very long sync times due to description fields changing back and forth.
- Administrators can now control whether automatic Outlook reminders are applied to outbound reservations at go-live.
Bug fixes
- Resolved an issue where reservations were synced to unintended objects due to membership edges being followed in both directions. Expansion now only follows edges downward.
- Resolved an issue where organisation ownership on incoming reservations could not be set. To prevent users from modifying or deleting incoming Outlook reservations they do not own, configuration by a TimeEdit consultant is required.
- Resolved an issue where dangling calendar events were incorrectly removed during sync.
New release Workload Management 12.17
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Permission not properly determined and respected - CUR-3834 (Hotfix)
It was noted that in some cases a users permission set was not correctly determined in case the user has roles both on faculty and study. It took some detailed analysis, but luckily the cause was found and solved.
The option to select assessment on the assessment-report should not require an additional permission - CUR-3734
On report pages the 'download' option is offered and also the option to select all or a limited number of items to be downloaded. It was noted that the behaviour of the select options shown was not the same on the different pages. Some pages required a specific permission to enable the select option, causing the dilemma of assigning too high permissions to enable selection, or less functionality by lacking the permission.
This has been fixed and report pages having the option to select one or more items will standard show the select option if the user of course has the right to view the report.
Dropdown menu's should show the correct label in all languages - CUR-3471
The dropdown menu's used for selection of reference values by a user was not showing the defined label for all languages. In some languages (Danish, French) the label was not shown, but only the code. This has been fixed and independent of the configured language the correct label will be shown, instead of the code.
Changing year should only change the year and not introduce a period - CUR-3471
In the structure tree, when changing year, a periodId was introduced in the URL. This caused the validation of the modules in the structure tree to use this 'non-existing' year/periodId combination and thus showing all modules strike through. This has been fixed and the 'free' periodId is no longer added.
The availability report should work - CUR-3856
The availability report was broken. When opening the report, it was loading forever, and no results were shown. This has been fixed and the availability report works again. This means that the manager can report on the 'ad-hoc' defined unavailabilities as part of the generic weekly availability pattern.
The language switcher should not show the ISO code - CUR-3554
The language switcher shows the available language options in the system, allowing the users to switch languages. Not all ISO-codes used in this language picker are intuitive, e.g. ZH or ZH_HK, where others are EN, NL. In this release a change is made for the non-intuitive codes to show them in the appropriate language set, in this case the ZH and ZH_HK are shown as 繁體 and 简体.
UI components seem to be a little off - CUR-3853
Due to an update of the TimeEdit share UI component library some visualisation were not 100% perfect. Buttons were slightly off, tooltip (information) having lots of white and strange colouring, dropdown icons not correctly aligned. Just a few smaller issues that affected the user experience. These have been fixed in this release.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Activities sent to Data Manager should exchange their type - CUR-3845 (Hotfix)
An error was introduced that caused activities to be sent to Data Manager without their activity type. This caused error while sending, and the activities were not processes. This has been hotfixed and the data exchange with Data Manager is working again like it should do.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Implemented security fixes - CUR-3863
It has been a while, but our automated security validation process reported a vulnerability. The reported vulnerabilities were investigated and fixed:
- CVE-2026-53633 (9.8): False positive, not vulnerable
- CVE-2025-66516 (XXE): Image service fix
Improve security based on extensive code analysis - CUR-3860
As stated in the previous release notes: on a regular base an extensive security audit is performed using black box testing. During this sprint an in-depth white box testing is done. White box testing is testing with access to the actual code, allowing not only to find vulnerabilities via API or other 'external' touch points, but in-depth analysis of the code for possible vulnerabilities.
Some minor issues have been identified, that are fixed in this release, by updating a package used for logging that fixes the following CVE's:
- CVE-2022-23302 (CVSS 8.8),
- CVE-2022-23303 (CVSS 8.1)
- CVE-2022-23305 (CVSS 9.8)
- CVE-2019-17571 (CVSS 9.8)
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.17
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Versioning update
In the previous releases we made some steps towards full support of versioning. This was even-though we analysed and detailed it till great detail a challenge. Since the Curriculum foundation is using an academic-year based versioning. A new versioning mechanism that would allow for instance to have 6 parallel versions of the same module, plan 3 years ahead with module being limited only by the end-date, have multiple versions of programs, etc. was pretty challenging and touches the basic foundation.
Next to the improvements listed in the release notes, we're working on the new versioning system. As said it is challenging, but we're making great progress. If the pace will stay as it is now, we plan for a specific release for interested institutions that want to be part of the beta test team in 2-4 weeks. We hope in 2, but it might be extended a little. A detailed description of the use cases, supported features, configuration, etc. will follow in a next phase. For now this is just a short heads-up we're making good progress.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Fields configured as HTML-field should show the HTML editor - CUR-3838 (Hotfix on Acceptance)
It was noted that in some cases when a field was configured as string that should be displayed using the HTML-editor there was either a plain textbox or even no box shown. Two cases were reported on Acceptance that helped us finding the cause, and release a hotfix to solve this issue prior to a Production release
Permission not properly determined and respected - CUR-3834 (Hotfix)
It was noted that in some cases a users permission set was not correctly determined in case the user has roles both on faculty and study. It took some detailed analysis, but luckily the cause was found and solved.
The option to select assessment on the assessment-report should not require an additional permission - CUR-3734
On report pages the 'download' option is offered and also the option to select all or a limited number of items to be downloaded. It was noted that the behaviour of the select options shown was not the same on the different pages. Some pages required a specific permission to enable the select option, causing the dilemma of assigning too high permissions to enable selection, or less functionality by lacking the permission.
This has been fixed and report pages having the option to select one or more items will standard show the select option if the user of course has the right to view the report.
When saving a workflow description it should not add extra blank lines - CUR-3804
When changing the workflow description, shown at the top of the workflow to the users, blank lines were duplicated and thus causing the text to have double blank lines. This has been fixed, and saving will no longer introduce 'free' blank lines.
Dropdown menu's should show the correct label in all languages - CUR-3471
The dropdown menu's used for selection of reference values by a user was not showing the defined label for all languages. In some languages (Danish, French) the label was not shown, but only the code. This has been fixed and independent of the configured language the correct label will be shown, instead of the code.
Changing year should only change the year and not introduce a period - CUR-3471
In the structure tree, when changing year, a periodId was introduced in the URL. This caused the validation of the modules in the structure tree to use this 'non-existing' year/periodId combination and thus showing all modules strike through. This has been fixed and the 'free' periodId is no longer added.
The availability report should work - CUR-3856
The availability report was broken. When opening the report, it was loading forever, and no results were shown. This has been fixed and the availability report works again.
This means that the manager can report on the 'ad-hoc' defined unavailabilities as part of the generic weekly availability pattern.
The language switcher should not show the ISO code - CUR-3554
The language switcher shows the available language options in the system, allowing the users to switch languages. Not all ISO-codes used in this language picker are intuitive, e.g. ZH or ZH_HK, where others are EN, NL. In this release a change is made for the non-intuitive codes to show them in the appropriate language set, in this case the ZH and ZH_HK are shown as 繁體 and 简体.
The dashboard performance feels slow - CUR-3841
A report on a felt slowness of the dashboard loading lead to the identification of the Export widget to be the cause of the problem. Users having an export list (to be approved and exported pending changes) for the active year of over 5000 changes were affected.
The database guru found it a challenge, since 'this should not cause delays'. And he delivered with a change to the retrieval of the data the measured response was 300x faster.
The inward and outward links should be shown different - CUR-3493
Links between educational objects are shown on the link page. It was noted that the visualisation wether the link was inbound or outbound was not always the same. This has been fixed an the title for outbound links (e.g., Requires) is shown in bold and the title for inward links (e.g. is required by) are shown in bold-italic.
UI components seem to be a little off - CUR-3853
Due to an update of the TimeEdit share UI component library some visualisation were not 100% perfect. Buttons were slightly off, tooltip (information) having lots of white and strange colouring, dropdown icons not correctly aligned. Just a few smaller issues that affected the user experience. These have been fixed in this release.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
OEAPI eduXchange should only return offerings for the active OEAPI year - CUR-3813
The OEAPI has is used for two generic products in the Netherlands. The first is the central Dutch registry of all programs and their offerings, called RIO. The second is a central Dutch course catalog where students can enrol in a minor or module at another institution with just one click.
The exchange of the offering information has been modelled to meet the 'RIO requirements', where the active OEAPI year and offerings from the previous x years were exchanged. eduXchange only expects the offerings that are related to the active OEAPI year, but also got the 'historic' ones.
A fix is applied that distinct the selection of the offerings based on the fact if the data exchange is with RIO or eduXchange.
OEAPI eduXchange should skip empty objects - CUR-3775
The defined standard pattern for OEAPI is that attributes that are not filled will not be exchanged in the message. This was implemented for attributes, but not for objects having no child attributes. This could lead to an empty object, if all the underlying attributes were empty and thus skipped.
A change is applied to validate if the object has no attributes, and if so the object itself will be skipped.
The practical implementation is the source object that can contain collaboration information or no information.
OEAPI should support the exchange of a videoUrl for eduXchange- CUR-3551
The OEAPI eduXchange consumer defines a specific extension (consumer) containing information especially for ecuXchange. The API definition has been extended with support for exchange of a videoURL to be shown with the minor or module in the central course catalog.
The consumer has been extended to support the object 'supplementaryInformation' to be defined per alliance and provide multiple language dependant URL's to the video.

Configuration
The definition has been made generic, to support the definition of the role, support multiple types and support the various language dependant URL's.
The configuration is done by adding a new object allianceSupplementaryInformation to the custom-fields on the course (or study).
The setup is shown in the image below:
- alliance: this field uses the already configured Alliance reference list to distinct video's between alliances
- role: in the specification the role is 'promo', in the configuration the role is bound to a reference list. The reference list is only populated with promo with a default selection of this single value. This setup allows for further extension by adding different roles to the reference list.
- type: in the specification the type is 'video', in the configuration the type is bound to a reference list. The reference list is only populated with video with a default selection of this single value. This setup allows for further extension by adding different types to the reference list.
- language: this field uses the language element list to select the language the video is in.
- value: the field containing the URL to the video. The label should probably say Video URL to make it clearer to the users.

And of course a new item page should be defined that is bound to this new object allianceSupplementaryInformation.
Please use the names shown, only change the labels shown to the user!
Activities sent to Data Manager should exchange their type - CUR-3845 (Hotfix)
An error was introduced that caused activities to be sent to Data Manager without their activity type. This caused error while sending, and the activities were not processes. This has been hotfixed and the data exchange with Data Manager is working again like it should do.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Implemented security fixes - CUR-3863
It has been a while, but our automated security validation process reported a vulnerability. The reported vulnerabilities were investigated and fixed:
- CVE-2026-53633 (9.8): False positive, not vulnerable
- CVE-2025-66516 (XXE): Image service fix
Improve security based on extensive code analysis - CUR-3860
As stated in the previous release notes: on a regular base an extensive security audit is performed using black box testing. During this sprint an in-depth white box testing is done. White box testing is testing with access to the actual code, allowing not only to find vulnerabilities via API or other 'external' touch points, but in-depth analysis of the code for possible vulnerabilities.
Some minor issues have been identified, that are fixed in this release, by updating a package used for logging that fixes the following CVE's:
- CVE-2022-23302 (CVSS 8.8),
- CVE-2022-23303 (CVSS 8.1)
- CVE-2022-23305 (CVSS 9.8)
- CVE-2019-17571 (CVSS 9.8)
Refer to the Curriculum manual for configuration guidance.
New release of Allocate — Student allocation history
Improvements
Student allocation history
A long‑awaited history view is now available in Manage student, alongside the student’s other details. This will enable users to understand about a studnets current allocation status. It shows changes for:
Enrollment to a module
Allocation / registration to a student group
For each history entry you can see:
When the change happened
Who performed it (a “–” means it was done by Auto‑allocate)
Which module and student group were affected
New release Evaluation 6.39
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Accessibility analysis and improvements - EV-420
An in-depth accessible analysis has been performed focusing on the WCAG-2.2. A short list of non-compliant issues has been defined to be picked up during the next 2 sprints. Next to the analysis an automated validation of style and accessibility has been implemented to provide a continuous validation.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security vulnerabilities were reported, requiring mitigation.
Refer to the Evaluation manual for configuration guidance.
New release Study Guide 2.68
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Accessibility analysis and improvements - SG-673, SG-674
An in-depth accessible analysis has been performed focusing on the WCAG-2.2. A short list of non-compliant issues has been defined to be picked up during the next 2 sprints. During this release the next two issues have been addressed:
- After selecting a search result (e.g. module, program), the focus should stay on the selected result.
- The keyboard TAB is not on all views navigating correctly to the next item
Navigating back to the overview page should show the search results - SG-679
In case a user has selected for instance the detailed page of bachelor program from the search result, and navigates back to the overview using the 'back to overview' button, no search results were displayed. This has been fixed and navigating back will show the initial search results.
Enhanced AI result using the Broker and a more intelligent LLM pattern - SG-689
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security vulnerabilities were reported, requiring mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release for Preferences - Bug fixes
The following has been released to the Test environments on June 18th and will reach production next week.
Bug fixes:
- Resolved an issue where long read-only text would be incorrectly displayed in tables and overlap other columns
- Resolved an issue where sometimes the All Forms page would be unusable when navigating to it from a Form details page
- Resolved an issue where sometimes locked, mandatory and prefilled elements would not load the correct values when opening a form, making them impossible to submit
New release for Core - Bug fixes
The following has been released to the Test environments on June 18th and will reach production next week.
Bug fixes:
- Resolved an issue where Container reservations would unnecessarily show the name of the room at the bottom of the reservation. Removing this leaves a less cluttered view and more space for more useful information
- Resolved an issue where sometimes the text shown for objects in the selection list would unexpectedly change (i.e. an object would suddenly be displayed using its code field, rather than the name field the user had selected).
- Resolved an issue where an activity is manually scheduled from activity manager and there are external ids on the activity that no longer match actual objects, fields, or types, an error message will be displayed. This doesn't prevent the remaining information from getting set, so users can still keep working with the incomplete information if appropriate.
- Resolved an issue where some columns would be aligned incorrectly in the Conflict List
New release of Allocate – Faster workflows with preserved view state
Improvements
- Navigation & UI state
- Back navigation now restores the previous view with filters and UI state preserved (drawers, expanded/collapsed modules, etc.).
- UI state (e.g. drawer open/closed, student-collapse) is preserved when navigating away and back.
- Manage student / Student adjustment
- “Manage Student” link in Student adjustment now opens with the relevant module + activity preselected (when context exists).
- Modules and activities in Registration and Manage student are now sorted alphabetically.
- Updates to Auto allocate
- Auto‑allocate is now scheduled to run at 04:00 in these regions: EU (Stockholm), UK (London), ANZ (Sydney), SGP (Singapore)
- “Allocate students from waitlists” can now be run automatically daily (configured in Admin) and runs as part of Auto‑allocate.
New release of Core - Bug fixes
The following was released on June 11 and will reach production this week
Bug fixes
- Resolved an issue where sometimes the Conflict list would get too many results, causing it to fail.
- Resolved an issue where sometimes the Conflict list would receive an error which was never shown to the user.
- Resolved an issue where the pinboard button in the conflict information popover in the calendar would be invisible if the object name was too long.
- Resolved an issue where the related button in the object list would be incorrectly unchecked after the object type was changed.
New release Workload Management 12.16
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The duration field dropdown should show the duration - CUR-3806 (Hotfix)
In some cases the duration dropdown field was shown empty, even if a duration had been filled in an earlier phase. This causes the user to re-enter in order to proceed. This has been hotfixed, and the dropdown is properly filled with the earlier entered data.
Order of notifications should be newest first - CUR-2458
The notification shown on the dashboard (bell icon) were shown with the oldest notification on top. The order has been changed, showing the last sent (newest) notification on top.
As a user I should be able to assign a team to a role - CUR-3814
The assignment of the responsible person(s) to a role can be done either by assigning the individual person(s) and/or assigning a team. It was found the option to add a team was broken. This has been fixed, and teams can be assigned to roles again.
As an admin I want to configure the option to create new activities - CUR-3482
If you click “+” on an activity in an activity-grid page, you can create a new activity within the same series in the same week. Since Data manager doesn’t support series with multiple activities in the same week the user should not be able to create these duplicates. This to prevent issues in the integration and 'loose' activities in Data Manager.
Configuration:
- Set the global configuration (administration/configuration) for schedule.prevent_duplicates to true
Below the two options are shown next to each other. Left the options with the prevent duplicates option set to true, right the default option (prevent duplicates is false).

Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Enable sending activities to Data Manager via new 'internal' endpoint - CUR-3735
The data exchange to Data Manager is managed by configuring a hook using the standard defined integration. Since in the (near) future the used endpoint of DM will be replaced, the new endpoint is already implemented. During a transition period (until the end of life of the current endpoint) both options will be available. Once the current endpoint is no longer supported, the corresponding hook option is removed. In the meantime it is advised to change the configuration to the variant with 'new' in the name.
The result of event-based data exchange should support the status 'QUEUED' - CUR-3766
When using the event-based data exchange, the supported responses from the receiving system (ESB) are SUCCESS or ERROR. Any other value will always be handled as ERROR. Since not all data will be executed immediately after reception in the ESB, a request was made to support the status QUEUED. This should be handled as a SUCCESS, but provides insight on the actual handling (synchronous or a-synchronous) to the administrator.
Handling a module with a large(r) number of offerings should not give an error on status update - CUR-3796
In the end a highly technical issue, not immediately visible or affecting data. In case a module with a large(r) number of offerings was sent to Data Manager, the result of the processing was not always updated. This was caused by a timing error. Curriculum sends the package of offerings as a whole, and expected updates on the individual packages after that. But in practice the updates were processed immediately, and the results could come back before all offerings were sent. This caused the effect the activity update was done, but not marked correctly as processed in the Curriculum log. The mechanism is changed, and the updates can be processed while not all activities have been sent yet.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Improve security based on extensive code analysis - CUR-3794
On a regular base an extensive security audit is performed using black box testing. During this sprint an in-depth white box testing is done. White box testing is testing with access to the actual code, allowing not only to find vulnerabilities via API or other 'external' touch points, but in-depth analysis of the code for possible vulnerabilities.
Some minor issues have been identified, that are fixed in this release.
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.16
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The duration field dropdown should show the duration - CUR-3806 (Hotfix)
In some cases the duration dropdown field was shown empty, even if a duration had been filled in an earlier phase. This causes the user to re-enter in order to proceed. This has been hotfixed, and the dropdown is properly filled with the earlier entered data.
Order of notifications should be newest first - CUR-2458
The notification shown on the dashboard (bell icon) were shown with the oldest notification on top. The order has been changed, showing the last sent (newest) notification on top.
As a user I should be able to assign a team to a role - CUR-3814
The assignment of the responsible person(s) to a role can be done either by assigning the individual person(s) and/or assigning a team. It was found the option to add a team was broken. This has been fixed, and teams can be assigned to roles again.
As a user I want to save a description with controller in the text - CUR-3744
Sometimes you're surprised by a bug. It was found that using the word controllers in a descriptive text caused the save to fail completely. The issue is addressed, and it's now possible to save texts with the word controllers in it.
As an admin I want to configure the option to create new activities - CUR-3482
If you click “+” on an activity in an activity-grid page, you can create a new activity within the same series in the same week. Since Data manager doesn’t support series with multiple activities in the same week the user should not be able to create these duplicates. This to prevent issues in the integration and 'loose' activities in Data Manager.
Configuration:
- Set the global configuration (administration/configuration) for schedule.prevent_duplicates to true
Below the two options are shown next to each other. Left the options with the prevent duplicates option set to true, right the default option (prevent duplicates is false).

Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
OEAPI eduXchange published with the incorrect year - CUR-3813
In case the active year, used for the retrieval of course and/or minor information by eduXchange, was changed, the data was not updated to reflect the new year. The cause was that a change of the configuration parameter OOAPI.year was not immediately effectuated, since this is held in the application cache. A more frequent refresh of the configuration cache is implemented to limit the time between the change and the effectuation.
Enable sending activities to Data Manager via new 'internal' endpoint - CUR-3735
The data exchange to Data Manager is managed by configuring a hook using the standard defined integration. Since in the (near) future the used endpoint of DM will be replaced, the new endpoint is already implemented. During a transition period (until the end of life of the current endpoint) both options will be available. Once the current endpoint is no longer supported, the corresponding hook option is removed. In the meantime it is advised to change the configuration to the variant with 'new' in the name.
The result of event-based data exchange should support the status 'QUEUED' - CUR-3766
When using the event-based data exchange, the supported responses from the receiving system (ESB) are SUCCESS or ERROR. Any other value will always be handled as ERROR. Since not all data will be executed immediately after reception in the ESB, a request was made to support the status QUEUED. This should be handled as a SUCCESS, but provides insight on the actual handling (synchronous or a-synchronous) to the administrator.
Handling a module with a large(r) number of offerings should not give an error on status update - CUR-3796
In the end a highly technical issue, not immediately visible or affecting data. In case a module with a large(r) number of offerings was sent to Data Manager, the result of the processing was not always updated. This was caused by a timing error. Curriculum sends the package of offerings as a whole, and expected updates on the individual packages after that. But in practice the updates were processed immediately, and the results could come back before all offerings were sent. This caused the effect the activity update was done, but not marked correctly as processed in the Curriculum log. The mechanism is changed, and the updates can be processed while not all activities have been sent yet.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Improve security based on extensive code analysis - CUR-3794
On a regular base an extensive security audit is performed using black box testing. During this sprint an in-depth white box testing is done. White box testing is testing with access to the actual code, allowing not only to find vulnerabilities via API or other 'external' touch points, but in-depth analysis of the code for possible vulnerabilities.
Some minor issues have been identified, that are fixed in this release.
Refer to the Curriculum manual for configuration guidance.
New release for Reserve - Improved suport for recurring bookings
This release is pushed to test at release date and production in 4 weeks.
Improvement
To improve the user flow for creating recurring reservations, several UX updates have been introduced:

Read the TE Academy article: How to set up a Reserve page to support recurring reservations
New release for Viewer - Security improvement
This release is pushed to test at release date and production in 4 weeks.
Improvement
If a user who is not signed in tries to download a Text or CSV export, the download will return HTTP 404 (previously the users was tasked to sign in).
New release of Allocate – Waitlist in Registration
This release introduces the new Waitlist feature in Registration and Allocate.
Waitlist feature is available in production and can be enabled via Customer Support.
New
The Waitlist functionality in Registration and Allocate lets students show interest in groups that are full and enables staff to manage demand and exceptions in a controlled way. When a student joins a waitlist, it can later improve their timetable if a seat becomes available.
Students can join the waitlist for full groups. Allocate will automatically allocate eligible students from the waitlist to groups with available seats. Seats can become available when students leave a group, drop out of a module, when group capacity increases, or through waitlist matching.
Read more in our TE Academy article
Improvements
As part of releasing Waitlist and the new configurations, we have redesigned Allocate and Registration settings in Admin and replaced the Auto-allocation page and Registration page with a General settings page.
New release of Preferences
The following was released to Test environments on May 4 and will reach Production next week
General improvements
The Activity Settings panel in the Form Designer for Scheduling forms, has been cleaned up and is now a little less messy. Since the Activity Settings are mandatory in the new Preferences to DM workflow, the ability to turn it off has been removed.
Bug fixes
- Resolved an issue where long texts would overlap in the Form Review page.
- Resolved an issue where sometimes the Forms page for submitters would time out due to large amounts of forms. This page is now quick to load
New release Study Guide 2.67
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
An URL (link) to another object should open a new Tab - SG-617
In case for instance a module is as a link, e.g. a required module for another module, and the module is clicked it opens in the same window. It is desired and more logical to open the details of this referenced module in a new tab and keep the original information in the initial tab. A change is applied to open referenced objects (study, module-group and module) in a new tab.
Improve the robustness of the matrix report - SG-671
In case a study with with an empty node (no module-group or module) was shown in the matrix report, this empty node generates and error and prevented the matrix report to be shown. This has been fixed and the rendering of the matrix report is more robust on these edge cases.
The flag 'only visible for administrator' should be respected - SG-580, SG-646
The option to flag fields as 'only visible for admins' for assessments and links didn't work as expected. The different combinations of 'visible' and 'visible for admins' showed the information not according to the setting. This has been fixed and the flags to steer / limit the display is working as it should do.
Next to this change it was found that the flag 'hide when empty' was not implemented correctly for links. This has been fixed too.
When using a reference field in the Assessment widget title, it should show the label - SG-581
The assessment widget supports the definition of the title, using the assessment fields. In case the title was defined using an assessment field AND the field was flagged as not visible in the assessment overview the title showed either the externalID or an N/A instead of the label. This has been fixed, and for an invisible marked field of type reference, used in the widget title, the reference label is shown.
Removing a filter on top of the search result should reset the filter too - SG-651
When using a filter (select an option in the filter area) in a search, the used filter is shown above the search results. The filter can be removed by clicking the 'x' of the filter to be removed. This only removed the display of the filter, but the actual filter in the filter area (the checked checkbox) was not cleared.
This has been fixed and when removing a filter at the top of the search, the corresponding filter in the filter area will be unchecked.
Changing a field configuration should not clear the reference type selected - SG-645
An error was introduced in the field configuration. Any change on the field using a reference type, cleared the reference type. This has been fixed and the selected reference type is kept and saved.
The matrix report should be visually correct - SG-620
The introduction of a new UI component caused some display issues in the matrix report. They have been addressed in this release and grid lines and multiple related subjects and their level are shown correctly again.
A print of a study guide page should show the institutes logo - SG-629
When printing a page, the defined logo for the UI is also shown on the left hand top corner of the print.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.38
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
This release has no new functionality or any bug fixes.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
Improve security based on extensive code analysis - EV-416, EV-418, EV-419
On a regular base an extensive security audit is performed. During this sprint an in-depth white box testing is done. White testing is testing with access to the actual code, allowing not only to find vulnerabilities via API or other 'external' touch points, but in-depth analysing the code for possible vulnerabilities.
Three minor issues have been identified, that are immediately fixed in this release.
Refer to the Evaluation manual for configuration guidance.
New release for Core - Recipient privacy improvement and bug fixes
This release is pushed to test at release date and production a week later.
Improvement
Mail: Recipient privacy improvement
- Previously, emails sent from Core included all addresses in the To field. Now, Core sends individual emails per recipient, so each email has only one address in To. This change is also applied for Viewer, Reserve and Plan.
- Why this matters: Recipients will no longer be able to see other recipients’ email addresses, improving privacy and reducing unintended disclosure.
Bug fixes
- Resolved an issue where the object list would show objects even though a strict relation meant that there should be none.
- Small polish of the help popover for the reservation list search - adjusted the label for autopilot job ID and added a close button.
- Resolved an issue where the time indicator in the calendar would not accurately show the time where a reservation would be started when the mouse was clicked.
- Resolved an issue where fast clicking when removing members or related objects could also remove an object not clicked.
- Exam scheduling: Resolved an issue where Capacity reservations and Size reservations would overlap. Hovering on a Size reservation will now show it on top of the Capacity reservation text bar.
New release for Viewer - Recipient privacy improvement
This release is pushed to test at release date and production a week later.
Improvement
Mail: Recipient privacy improvement
- Previously, emails sent from Viewer included all addresses in the To field. Now, Viewer sends individual emails per recipient, so each email has only one address in To. This change is also applied for Core, Reserve and Plan.
- Why this matters: Recipients will no longer be able to see other recipients’ email addresses, improving privacy and reducing unintended disclosure.
New release for Core - Bug fixes and Type filter updates
The following has been released to the Test environments on May 28th and will reach production next week.
Improvements
- It is now possible to set calendars with Type filters as not read-only. This can be useful for making some changes while not wanting to see certain conflicts. Note, this will not disable conflict control; any conflicts created while the Type filter is active will still be blocked like normal (you just won’t see them).
- It is now possible to select a Search field when searching for members in the Edit members dialog. This is useful if searches takes a long time.
Bug fixes
- Resolved an issue where attempting to change the start time of a time header in a calendar would sometimes fail.
- Resolved an issue where it was possible to interact with the object list while it was loading, which caused unexpected behaviours. The list is now locked until the result is presented
New release Workload Management 12.15
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
As an administrator I want to hide the faculty tab - CUR-3354
Using the page visibility the administrator can hide 'default' tabs from the user interface. It was noted that he ability to hide the Faculty tab was not supported. This has been added, to enable hiding the Faculty main tab voor all users.
The study code should not be regenerated when adding a new offering - CUR-3686
In case the automatic code generated for a study uses the offering as part of the code, the regeneration of the code was incorrectly executed when adding a new offering. A fix is applied to prevent triggering the code generation based on the creation of a new offering.
The annual roll-over should copy the assessment custom-fields - CUR-2525
The fields credits and duration on assessment were not copied to the future year when performing a roll-over. The fields are added to the year copy functionality to copy the over to the future year.
The custom-fields report should provide information where the field is used - CUR-2346
The custom-field report (administrator function) provides insight in the defined custom-fields and their attributes in the system. The report is extended to provide information on what page(s) a custom-field is used.
As an administrator I want to see in which workflows a role is used - CUR-2480
When managing a role (relation), a new feature is added that shows the workflows the specific relation is used in.
Manual notifications should only be sent once - CUR-3720
When sending notifications to staff members bound to a role, e.g. module coordinator, from faculty level, the notification was sent multiple times. It was found that the notification was sent to each staff member -> module relation, duplicating the notification for all users having multiple module relations. This has been fixed, and the notification is sent on individual, unique user.
Workflows should support person-based notifications - CUR-2183
Notifications can be configured to be sent, for instance if a process changes status. In the definition the role(s) to receive the notification are configured. For some processes, e.g. the availability process there is no role defined (it's implicit) and it is not possible to define a notification at status change, since there is no role available.
A fix is made, using the 'implicit user'. This means that for person-based workflows with no workflow attached that defines a role, the notification will be sent by default to the person itself.
An example of a configuration that sends a notification to the person when reaching a status is shown below. There is no Role defined, so the fallback is the usage of the 'implicit person'.

Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extend the API to support retrieval of (non-)educational activities - CUR-3741
The API is extended with the new endpoint worklogs. Using this endpoint both the educational and non-educational activities (tasks) can be retrieved.
Usage: <your_url>/api/canonical/v2/worklogs
Filters:
- no filter: retrieve the non-educational tasks
- ?educational = true: retrieve the educational tasks
- ?year = 2026: retrieve the worklogs for the defined year. Default the active year is used
- ?person = JDOE: retrieve the worklogs for the person with external ID (login) JDOE.
Information returned:
- activity information: type, name, date, code
- worklog information: plannedMinutes, actualMinutes
- person information: id, code, name
When updating an organisation via the API the last updated should be set - CUR-3516
In case an organisation (specification and qualification) was updated using the API, the last updated dateTime was not set. This has been changed, and not only the data, but also the last updated is set when using the API.
It should be possible to to sent unavailability for users already have bookings to Data Manager - CUR-3724
In case unavailability information was sent to Data Manager, but the user already has booking, no updates were made since an error is thrown the user already has bookings. A change is made to allow double booking when sending unavailabilities, causing the unavailability to be created / updated even if a user already has defined bookings.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.15
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
As an administrator I want to hide the faculty tab - CUR-3354
Using the page visibility the administrator can hide 'default' tabs from the user interface. It was noted that he ability to hide the Faculty tab was not supported. This has been added, to enable hiding the Faculty main tab voor all users.
The study code should not be regenerated when adding a new offering - CUR-3686
In case the automatic code generated for a study uses the offering as part of the code, the regeneration of the code was incorrectly executed when adding a new offering. A fix is applied to prevent triggering the code generation based on the creation of a new offering.
The correct page should be opened after creating a new study - CUR-3680
When creating a new study, the page opened was not the newly created study, but the last page visited before creating the new study. This has been fixed, and the correct page is opened after creating a new study.
The activity-groups page should be extended with standard configuration options - CUR-3733
The activity-groups page doesn't provide the standard options all other pages offer. The missing configurations options are added:
- show message: enable the option to define a message that is shown to users as information
- show permissions in debug mode: show the required permissions when using debug mode
- auto-save: auto-save any changes when navigating away (instead of not saving at all)
The annual roll-over should copy the assessment custom-fields - CUR-2525
The fields credits and duration on assessment were not copied to the future year when performing a roll-over. The fields are added to the year copy functionality to copy the over to the future year.
The custom-fields report should provide information where the field is used - CUR-2346
The custom-field report (administrator function) provides insight in the defined custom-fields and their attributes in the system. The report is extended to provide information on what page(s) a custom-field is used.
Loading subject-categories should be (much) more responsive - CUR-3742
When assigning a subject (ILO, learning outcome) to a study, the duration to fetch the list of the defined subjects could take up to a minute in case a huge number of subjects was defined. It was found that not only the subjects directly related / defined for the study where retrieved, but all subject categories and their subjects.
A change is applied to only retrieve the subject categories and their subjects directly related to the study.
The character count for HTML texts should be correct - CUR-3753
The HTML character counter showing the number of characters left was showing / validating differently from the actual 'save' function writing the data to the database. The save function was counting the full text length, including any HTML tags. The on-screen counter was showing the 'nett' text length, without the HTML tags.
This could cause situations a text on screen was not marked as 'exceeding length', but could not be save with a warning the text was too long. This has been fixed and both length calculations are using the same pattern of counting the text including the HTML tags.
As an administrator I want to see in which workflows a role is used - CUR-2480
When managing a role (relation), a new feature is added that shows the workflows the specific relation is used in.
Manual notifications should only be sent once - CUR-3720
When sending notifications to staff members bound to a role, e.g. module coordinator, from faculty level, the notification was sent multiple times. It was found that the notification was sent to each staff member -> module relation, duplicating the notification for all users having multiple module relations. This has been fixed, and the notification is sent on individual, unique user.
Workflows should support person-based notifications - CUR-2183
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extend the API to support retrieval of (non-)educational activities - CUR-3741
The API is extended with the new endpoint worklogs. Using this endpoint both the educational and non-educational activities (tasks) can be retrieved.
Usage: <your_url>/api/canonical/v2/worklogs
Filters:
- no filter: retrieve the non-educational tasks
- ?educational = true: retrieve the educational tasks
- ?year = 2026: retrieve the worklogs for the defined year. Default the active year is used
- ?person = JDOE: retrieve the worklogs for the person with external ID (login) JDOE.
Information returned:
- activity information: type, name, date, code
- worklog information: plannedMinutes, actualMinutes
- person information: id, code, name
When updating an organisation via the API the last updated should be set - CUR-3516
In case an organisation (specification and qualification) was updated using the API, the last updated dateTime was not set. This has been changed, and not only the data, but also the last updated is set when using the API.
The generate CSV for downloading references was capped at 250 elements - CUR-3751
When using the administration -> scripts -> generate CSV function, the reference values defined in the system are exported and can be downloaded. In case over 250 reference values for a specific reference were defined, only the first 250 were exported. A fix is applied to export all references.
Extend the OEAPI programs and courses with the alliances.name filter - CUR-3514
The API formerly known as OOAPI is renamed to OEAPI (open education API). A new filter has been added to the definition, the option to filter alliances on name. Alliances are specifically used in an eduXchange context to support exchanging educational information to different alliances. The filter alliances.name = <alliance> is used to only retrieve minors, programs, courses that are bound to a specific alliance.
In the Netherlands this is specifically used to enable both publishing part of the courses and minors to 'Kies op Maat', European alliances and inter-university alliances.
It should be possible to to sent unavailability for users already have bookings to Data Manager - CUR-3724
In case unavailability information was sent to Data Manager, but the user already has booking, no updates were made since an error is thrown the user already has bookings. A change is made to allow double booking when sending unavailabilities, causing the unavailability to be created / updated even if a user already has defined bookings.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Curriculum manual for configuration guidance.
New release of Allocate - Improved navigation
This release improves day-to-day workflows in Allocate with better navigation and more predictable filtering and table behavior.
This release is pushed to test at release date and production a week later.
Improvements
- Improved navigation to better support your workflow. The back arrow in views (and your browser’s Back button) now takes you back to the view you came from. In the next release, we’ll also restore the view state—for example, returning to Allocate Overview will keep previously expanded modules expanded and reopen the drawer.
- Generate Proposal in Allocation Overview now respects the Issue Type filter when "use current filter" is selected, so proposals only cover the courses you intended.
- Student tables in the manual-allocation drawer now keep their data stable when opening modals, replacing the previous flicker/data-loss behavior with a proper loading state.
New Release of Admin
Object management improvements
Bulk delete objects
Users can now delete multiple objects at once by selecting them and using the Delete button.
To enable bulk deletion, users must first select an object type and then select one or more objects. The Delete button remains inactive until a valid selection has been made.
When users click Delete, they will see a confirmation notification explaining that the action cannot be undone. Once confirmed, a delete job is started and can be tracked in Batch operations.
Objects that are not used on any reservations will be deleted successfully. If an object is used on a reservation, the deletion will fail for that object. The job details show which objects failed to delete.
Bug fixes
In user management. When entering a search term for organisation node, no narrowing of results occurred.
New release Curriculum 12.15
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
As an administrator I want to hide the faculty tab - CUR-3354
Using the page visibility the administrator can hide 'default' tabs from the user interface. It was noted that he ability to hide the Faculty tab was not supported. This has been added, to enable hiding the Faculty main tab voor all users.
The study code should not be regenerated when adding a new offering - CUR-3686
In case the automatic code generated for a study uses the offering as part of the code, the regeneration of the code was incorrectly executed when adding a new offering. A fix is applied to prevent triggering the code generation based on the creation of a new offering.
The correct page should be opened after creating a new study - CUR-3680
When creating a new study, the page opened was not the newly created study, but the last page visited before creating the new study. This has been fixed, and the correct page is opened after creating a new study.
The activity-groups page should be extended with standard configuration options - CUR-3733
The activity-groups page doesn't provide the standard options all other pages offer. The missing configurations options are added:
- show message: enable the option to define a message that is shown to users as information
- show permissions in debug mode: show the required permissions when using debug mode
- auto-save: auto-save any changes when navigating away (instead of not saving at all)
The annual roll-over should copy the assessment custom-fields - CUR-2525
The fields credits and duration on assessment were not copied to the future year when performing a roll-over. The fields are added to the year copy functionality to copy the over to the future year.
The custom-fields report should provide information where the field is used - CUR-2346
The custom-field report (administrator function) provides insight in the defined custom-fields and their attributes in the system. The report is extended to provide information on what page(s) a custom-field is used.
Loading subject-categories should be (much) more responsive - CUR-3742
When assigning a subject (ILO, learning outcome) to a study, the duration to fetch the list of the defined subjects could take up to a minute in case a huge number of subjects was defined. It was found that not only the subjects directly related / defined for the study where retrieved, but all subject categories and their subjects.
A change is applied to only retrieve the subject categories and their subjects directly related to the study.
The character count for HTML texts should be correct - CUR-3753
The HTML character counter showing the number of characters left was showing / validating differently from the actual 'save' function writing the data to the database. The save function was counting the full text length, including any HTML tags. The on-screen counter was showing the 'nett' text length, without the HTML tags.
This could cause situations a text on screen was not marked as 'exceeding length', but could not be save with a warning the text was too long. This has been fixed and both length calculations are using the same pattern of counting the text including the HTML tags.
As an administrator I want to see in which workflows a role is used - CUR-2480
When managing a role (relation), a new feature is added that shows the workflows the specific relation is used in.
Manual notifications should only be sent once - CUR-3720
When sending notifications to staff members bound to a role, e.g. module coordinator, from faculty level, the notification was sent multiple times. It was found that the notification was sent to each staff member -> module relation, duplicating the notification for all users having multiple module relations. This has been fixed, and the notification is sent on individual, unique user.
Workflows should support person-based notifications - CUR-2183
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extend the API to support retrieval of (non-)educational planned and actual hours - CUR-3741
The API is extended with the new endpoint worklogs. Using this endpoint both the educational and non-educational activities (tasks) with planned and actual hours can be retrieved.
Usage: <your_url>/api/canonical/v2/worklogs
Filters:
- no filter: retrieve the non-educational tasks
- ?educational = true: retrieve the educational tasks
- ?year = 2026: retrieve the tasks for the defined year. Default the active year is used
- ?person = JDOE: retrieve the tasks for the person with external ID (login) JDOE.
Information returned:
- activity information: type, name, date, code
- worklog information: plannedMinutes, actualMinutes
- person information: id, code, name
When updating an organisation via the API the last updated should be set - CUR-3516
In case an organisation was updating the API, the last updated dateTime was not set. This has been changed, and not only the data, but also the last updated is set using the API.
The generate CSV for downloading references was capped at 250 elements - CUR-3751
When using the administration -> scripts -> generate CSV function, the reference values defined in the system are exported and can be downloaded. In case over 250 reference values for a specific reference were defined, only the first 250 were exported. A fix is applied to export all references.
Extend the OEAPI programs and courses with the alliances.name filter - CUR-3514
The API formerly known as OOAPI is renamed to OEAPI (open education API). A new filter has been added to the definition, the option to filter alliances on name. Alliances are specifically used in an eduXchange context to support exchanging educational information to different alliances. The filter alliances.name = <alliance> is used to only retrieve minors, programs, courses that are bound to a specific alliance.
In the Netherlands this is specifically used to enable both publishing part of the courses and minors to 'Kies op Maat', European alliances and inter-university alliances.
It should be possible to to resend activities from Curriculum to Data Manager - CUR-3735
When activities are send to from Curriculum to Data Manager twice they are duplicated in the DM data set. The integration is adjusted to keep track of the unique UID from an activity when sending to Data Manager, and an existing activity will be updated and a new one will be created.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Curriculum manual for configuration guidance.
New release Study Guide 2.66
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Upgrade UI foundation component fixes - SG-619, ..., SG-649 (Hotfix in 2.65)
In the previous release and update of the underlying UI foundation layer (framework) was performed. This is a merely technical task that is performed to stay up to date with all front-end security issues and enable access to new options. The change was tested, but on test it was found that a number of 'small' and/or 'annoying' front-end issues popped-up. During this sprint all the found and reported issues have been hotfixed. This means that the list of fixes mention below is not in the 2.66 release, but in the 2.65 (production) release.
- iFrame embedding of the studyguide was not working due to the standard restrictions in the new framework. This has been adjusted, and iFrame embedding is available again.
- Navigation to a module in the study structure was re-opening the study, instead of the module
- Mobile filter and sorting was not working correctly
- Admin filtering on references was not working
- Selecting 'Hide' on widget deletes the defined fields
- Different layout issues are addressed
- Tabs with spaces in the name should be clickable
- Not all labels are using the correct translation
Import studies from Curriculum should use the defined study filter - SG-631
It was found the study import was not using the study filter, but the module filter. This has been fixed and when importing the correct filter for the imported object is used. Next to that the filter can be emptied again.
Markdown based description display changed - SG-628, 634
When using Markdown in descriptions, there was quit a lot of white-space between lines, paragraphs and lists, reducing the readability of the information. The white-space is changed and the readability is improved. Next to the white-space change also the different headers were slightly restyled to make them stand-out more against the standard text. Especially the smaller headers (h3, h4) were too close to the standard text display format.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release of Allocate – Filter students in manual allocation
This release focuses on student tables: filtering students during manual allocation, and better control over table columns.
This release is pushed to test on the release date and to production one week later.
Improvements
Manual allocation now supports filtering the enrolled-students table by data in the configurable columns, Program of study, allocation status for the selected group's activity, and allocations to other groups within the activity.
- Student Adjustment now lets you filter enrolled students by Program of study within a selected module, making it easier to find students from a specific program in large enrollments.
- Updated the "Edit columns" UI in Student Adjustment and manual allocation tables to match other parts of the platform. This also adds the ability to change the column order..
- Allocate users can now see student-related data issues collected in the issue list, with a CSV download and a direct link to Manage Student so issues can be resolved faster. This normally shows by one student taking up more than one seat so enrollment and capacity don’t add up when an activity is full.
Bugs
- Fixed an issue where group dedications were dropped from the table and drawer after a deallocation reloaded data.
New release of Preferences
The following was released on May 13 and will be available in Production next week
General improvements
Support for Calendar forms when Preferences forms are submitted to Data Manager. Submitting a Calendar form will create Activities in Data Manager with a specified Start time and Weekday property. In other areas they are identical to "regular" activities
Bug fixes
- Resolved an issue where excluding objects was not possible after a form had been sent out
- Resolved an issue where it was not possible to enter 00:00 in a Time element
- Resolved an issue where Form roll-over would not work if some submissions did not have a recipient
- Resolved an issue where sometimes users with only Recipient permissions would not be able to access form submissions
- Resolved an issue where sometimes the "Update object value when generating activities" setting would not actually update the object values upon submission of a form
- Resolved an issue where a cloned Forms created time stamp would be incorrectly set to the same as the original Form
- Resolved an issue where sometimes users would be locked out of form submissions despite actively working with it.
New release of Data Manager - New toolbar and submission rejection
The following was released on May 13 and will be available in production next week.
General improvements
The toolbar has received an update making it easier to performs certain actions. Edit values, weeks, time constraints and sequence constraints (where applicable) are now readily available in the toolbar.
There is also a new feature for Rejecting submissions. Select any Preferences submissions you want to reject and type in a reason. Unlike the "Send for review in Preferences", where a new submission is created, rejecting a submission will unlock the original submission and notify the submitter on the rejection.
New release of Core - Bug fixes
The following was released to the Test environment on May 13 and will be available in Production next week
General improvements
Update to the Jobs list in AM. The list is now cleaner and easier to overview. There is also a deep link from some error message popups to the Jobs listing
Bug fixes
- Resolved an issue where Preferences permissions was required for certain actions. No, only permission to Activity Manager is required.
- Resolved an issue where sometimes no error message would be shown if a change of Reservation status failed
- Resolved an issue where sometimes the selection list could lose its currently selected row, leading to unexpected behaviour (like emptying and switching to the "All" mode) if an object was clicked in the object list.
New release Workload Management 12.14
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Staff no longer assigned to a module relation or activity should not be in the workload report - CUR-3345
When a teacher is removed from activities or the relations pages, the user still shows in the Workload report. A change is applied to no longer show the removed staff in the workload report and only show the current related staff members in the report.
Changing offering start and end time of should not confuse users - CUR-3673 (Hotfix)
When changing the start date of an offering, the correct date was saved, but the field was shown in it's initial state (default to the grey 10:00 as input help). This of course confuses the users. A fix is applied and the date is now both save and displayed correct.
As and administrator I should be able to define a new team - CUR-3551
The option to define a new team was no longer visible/available in the team management page for administrators. The button is added, and new teams can be created again.
The create module authorisation should be respected - CUR-3668
The create module option should be shown in case a user has the authorisation CREATE_MODULE. There was one case where the authorisation was not handled correctly. If it wat defined at a faculty role, the authorisation was ignored and the add module button was not shown. This is fixed and the create module option now follows the authorisation rule on each level.
The subtype of entity type custom-fields should be editable - CUR-3714
The subtype of a custom-field of type entity was not always editable. This to prevent administrator to accidentally select another subtype for fields that are bound to specific functionality. E.g. change the studyId entity from Study to Module would have a massive impact. Based on requests, the option to change the subtype has been added. Just be careful and remember 'with great power, comes great responsibility'.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
The module endpoint should provide custom-fields defined for ad-hoc offerings - CUR-3661
The module endpoint didn't correctly return the custom-fields defined for ad-hoc offerings. This has been fixed and custom-fields are available in the JSON output.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.14
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Changing offering start and end time of should not confuse users - CUR-3673 (Hotfix)
When changing the start date of an offering, the correct date was saved, but the field was shown in it's initial state (default to the grey 10:00 as input help). This of course confuses the users. A fix is applied and the date is now both save and displayed correct.
As and administrator I should be able to define a new team - CUR-3551
The option to define a new team was no longer visible/available in the team management page for administrators. The button is added, and new teams can be created again.
The create module authorisation should be respected - CUR-3668
The create module option should be shown in case a user has the authorisation CREATE_MODULE. There was one case where the authorisation was not handled correctly. If it wat defined at a faculty role, the authorisation was ignored and the add module button was not shown. This is fixed and the create module option now follows the authorisation rule on each level.
The subtype of entity type custom-fields should be editable - CUR-3714
The subtype of a custom-field of type entity was not always editable. This to prevent administrator to accidentally select another subtype for fields that are bound to specific functionality. E.g. change the studyId entity from Study to Module would have a massive impact. Based on requests, the option to change the subtype has been added. Just be careful and remember 'with great power, comes great responsibility'.
Staff no longer assigned to a module relation or activity should not be in the workload report - CUR-3345
When a teacher is removed from activities or the relations pages, the user still shows in the Workload report. A change is applied to no longer show the removed staff in the workload report and only show the current related staff members in the report.
It should be possible to report modules from a faculty perspective - CUR-3614
The study-module report is used to report all module group, modules and module attributes from the study perspective. The study-module report is extended to not only support the report from a study perspective, but also from a faculty perspective. From faculty perspective an additional column showing the program is
As an administrator I want to delete documents in bulk - CUR-1406
There was not an option yet to delete documents that have been uploaded to the system. The new option 'Delete documents' is added to the administrators script section. Usage:
- Script: Delete documentsParameters: yearExternalId (required), documentType (optional, Element externalId).
The script will remove the documents and will mark the reference to the document as deleted, so it can still be shown in audit trails.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
The module endpoint should provide custom-fields defined for ad-hoc offerings - CUR-3661
The module endpoint didn't correctly return the custom-fields defined for ad-hoc offerings. This has been fixed and custom-fields are available in the JSON output.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Curriculum manual for configuration guidance.
New release of Allocate - Week numbers replaced with date ranges
In this release, we address the most common feedback in Registration by replacing week numbers with clear date ranges.
This release is pushed to test at release date and production a week later.
Improvements
- Replaced week numbers with date ranges across Registration and Manage Student, so students can read reservation periods without translating ISO weeks.
Bug fixes
- Fixed stale data on the Student Adjustment page and allocation drawer so newly enrolled students appear immediately, without needing a cache clear or hour-long wait.
- Fixed the allocation proposal proposing incomplete schedules even when a conflict-free arrangement was achievable within the selected groups.
- Fixed the overall calendar date interval in Registration and Manage Student interface, displaying UTC time dates, which caused the date range to be off by a day for some users.
New Release of Admin
Object management improvements
Improved performance and usability when working with objects that have a large number of relations
- Relation lists now use infinite scrolling, making large datasets load faster and improving the overall user experience.
- Changes to relations are now handled in a deferred save flow:
- Added or removed relations remain in a pending state until you click Save
- Discarding changes restores the previous state instantly without reloading data
- These improvements apply only to relation lists on the main object. Memberships, other related entities, and availability related fields are unchanged
- Updated export behavior to improve consistency and readability
Export columns now follow this order:
- Ext. ID
- TE Internal ID
- Field data
- Object type
- Associations
- General info
Export error handling has been improved for large datasets
- Users now receive a clearer error message when an .xlsx export exceeds Excel cell size limitations
- The message explains that the .xlsx format cannot handle the data size
- Users are guided to retry the export using .csv format instead
Columns saved
- When a user selects or deselects columns for each object type, the configuration is now saved in localStorage
- When the page is refreshed, the previously selected columns remain visible
Result CSV files are now easier to review with improved sorting behavior
- Export results are now primarily sorted by status and secondarily by external ID
- Rows are displayed in the following order:
- Error
- Unchanged
- Success
Updated UI authorization configuration
Applicable only for users with this permission
Auth configs are now in tabs instead of sidepanel
- Select to choose auth config
Copy auth config and delete auth config are now larger buttons
- Copying will create new tab with prefix “[COPY]“
Bug fixes
Fixed an issue where exporting objects to .xlsx could fail with the error: "Cannot read properties of undefined (reading 'find')"
- The issue could occur when exporting filtered objects together with availability-related and relation attributes from Object Manager
New release of Outlook integration
Released to Test in ANZ, EU and UK regions, but directly to Production in Singapore region, on the 11th of May.
Improvements
- Migrated Room outbound sync to write reservations directly into room mailboxes instead of using the shared organizer mailbox, eliminating invitation-email fanout and avoiding Outlook’s 10k/day email cap
- Added automatic migration of existing reservations by removing legacy organizer events and room auto-accept copies, while soft-deleting outdated EventMappings
- Added webhook-based resync support for room events, restoring deleted or modified Outlook room events automatically
- Improved request handling by chunking ID lists into batches of 1000, preventing failures for very large reservations (e.g. ~8k attendees)
- Added optional inbound-syncer cleanup of orphaned TimeEdit Outlook events that no longer have outbound event mappings
- Introduced guarded cleanup controls to ensure safe evaluation before deleting orphaned events
New release of Preferences - Bug fixes
The following has been released to the Test environment on May 9th and will be available in Production this week
Bug fixes
- Resolved an issue where it was not possible to search the Recipient List using both First and Last name
- Resolved an issue where duplicate rows would incorrectly appear in the Recipient List when sorting on e.g. Primary Object
- Resolved an issue where it was sometimes not possible to move Events in a Calendar section when Tracks was enabled
- Resolved an issue where it was not possible to search for users in the Collaborators tab. The list is now also sorted alphabetically
- Resolved an issue where it was possible to map both Object elements and Object Filter elements to the same Activity Object type. This is not supported in Activities, so it will no longer be possible to create such forms.
New release for Data Manager - Custom week names
The following was released to Test on May 7th and will be in production next week.
General improvements
Custom week names are now used in Data Manager whenever this is set up in Core. When importing Activities, ISO weeks will still be used in the import files, but will be displayed according to the Custom week names in Core
New release Study Guide 2.65
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Module link relations should be shown - SG-571
Modules having a link relation with another object, e.g. requires, excludes should show the relation on both modules. Only the outbound relations were shown. A change is applied to show both outbound and inbound relations, e.g. excludes and excluded by on the two modules.
As an administrator I should be able to define labels in EN - SG-594
An error was introduced that prevented the administrator to manage and save labels in EN. This has been fixed and labels can be managed again in each of the supported languages.
The faculty page should provide an overview of faculties- SG-590
The faculty page was no longer showing the faculties, but an error. This has been fixed and the faculties are shown again.
Visualisation of HTML should be supported in additional fields - SG-574
Additional fields containing HTML data were shown as 'text' and showing the HTML-tags instead of the visual representation. This was a architectural/design decision to prevent security issues introduced by entering HTML / scripting in a field.
A change is applied to support display of HTML in additional fields, by marking the individual fields that should be rendered based on HTML input. This will provide the administrator the option to configure the relevant fields only and not open all additonal fields with the mentioned security risk on any field.
As an administrator I want to get insight in usage details - SG-551
Some months ago we got the request to provide more insight in usage details. We performed some detailed investigation and decided to select an external tool to support the requested insight.
The implementation of the Dashboard will first be based on a full anonymous set of measurements.
More in-depth analytics are supported, but they require a cookie and the corresponding user (student) consent. Based on demand we will investigate further on the usage of cookies for tracking and based on the result extend the analytics options (or not).
OPT-IN
The insight dashboard is an OPT-IN option. To get access to the dashboard for your environment, please file a ticket in Zendesk. The setup of the dashboard will be done and the credentials will be supplied.
Branding configuration should be centralised - SG-589
The branding configuration (logo, highlight colour) is configured in the different applications. This has been centralised in TE-admin, and each of the products will use the same logo and highlight colouring defined.
Usability, look & feel improvement of the administration section - SG-613
All admin pages got a visual refresh and are even more user-friendly and accessible. Part of the change is running past all admin filters and fix the ones that were not working as expected.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.37
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Embedding of evaluations in Curriculum should not throw an error - EV-413
On acceptance it was found that when opening an evaluation in Curriculum, an error was thrown. The cause is identified, hotfixed and evaluations can be opened in Curriculum again.
Transition the evaluation status via a Curriculum hook should work - EV-412
On acceptance it was found that when transitioning an evaluation using a hook from Curriculum, an error was thrown. The cause is identified, hotfixed and evaluations can be transitioned using a hook from Curriculum again.
Branding configuration should be centralised - EV-414
The branding configuration (logo, highlight colour) is configured in the different applications. This has been centralised in TE-admin, and each of the products will use the same logo and highlight colouring defined.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no vulnerabilities required mitigation.
Refer to the Evaluation manual for configuration guidance.
New release of Allocate - Faster loading of Student Adjustment view
Student Adjustment now opens and reloads faster, when you open it directly in a new tab.
This release is pushed to test at release date and production a week later.
Improvements
- Faster loading when opening Student Adjustment in a new tab (without first opening Allocate Overview)
- Faster loading when reloading Student Adjustment
Bugs
- Fixed a UI glitch in the program filter where the typed input overlayed the "Select" placeholder, and the previously typed filter unexpectedly persisted across reopens.
- Improved handling of a data inconsistency where a student is allocated to a group that is related to multiple modules. (These cases are highlighted in the Allocate Overview issue list since the previous release.)
New release Workload Management 12.13
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Personal plan should not give an error upon opening the task list - CUR-3642 (Hotfix)
When viewing a personal plan and expanding the tasks section for study related tasks, an error could be thrown (undefined property ...). This was caused by the fact the study relation was not defined for the task. A hotfix is applied and the study related tasks are shown.
The personal overview of relations should be responsive - CUR-3665
In case a person has many relations (e.g. >150) the personal relation overview takes quit a while to load. A number of fixes is applied to inform the user and perform a responsive initial load:
- A loader is show to inform the user the page is being loaded
- The page is paginated, and the first page is shown. The user can navigate to the next pages.
- Sorting is performed in the back-end, reducing the load on the browser
As an administrator I want to use 'if ... then ... else ...' in conditions - CUR-3578
The support for conditions is extended with an 'if ... then ... else ...' construction, supporting nested condition. E.g. If (x=1) then 'set value X' else (if (x=2) then 'set value Y' else 'set Value X').
The used convention is: (condition) ? 'value if true' `: 'value if false'.
Examples:
- (:age < 40) ? 'this is true' : 'this is false'
- (:age > 40) ? ( (:age > 60) ? 'this is old' : 'this is middle-aged') : 'this is young'
The column search in reports should work - CUR-3593
The column search in reports allowed the user to enter a search value, but the search was not executed. This has been fixed and using the column search with a value will return the matching rows.
A successful deleted activity-serie should not show an error - CUR-3507
When deleting an activity-serie on a method/assessment an error message pops up, even if the activity-serie is successful deleted. This has been fixed and the activity-serie is deleted without error message.
Automatic login not shown to users - CUR-3510
A user could be logged out in the middle of a session without warning. Identifying the exact moment the session is ended it a technical challenge. To limit the user impact, and improve user experience the first change applied it to extend the duration of the login-session to 10 hours (instead of 3).
It should be able to force delete a module without error - CUR-3660
In some cases a module that should be force deleted was not deleted but showed a deletion error. This was caused by an incorrect order of one of the underlying delete statements. The order is corrected to enable module deletion in all cases.
Creating and working with a new report template has strange effects - CUR-3484
A report was made that when creating a new report template, changing it afterwards and refreshing the page, the report was not showing as defined. After thorough investigation we identified this could happen in case the template name was equal to another template name. To prevent this from happening, the management of the template is no longer bound to the 'template name', but to the underlying technical ID.
As an administrator I want to see where a reference list is used - CUR-1864
Reference list can be used on different fields, and the system didn't provide an easy way to find those fields. A change is made to show the fields using a reference list, similar to other configurations that show where the specific object (e.g. page, workflow, ...) is used.

The admin can click the field, to jump direct to the field configuration.
Conditional reference lists should be respected - CUR-3596
When using a reference list with configured conditional lists the conditional list was not correctly shown based on the defined configuration. This has been fixed, conditions will be respected and the correct list is shown.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extended support activity mapping to Data Manager (DM) - CUR-2715
The exchange of activities to data manager didn't support the option to define a set order. The mapping is extended with support for the sequence.
The localName of an activity was already available in the mapping, but in case the localName was empty a fallback was implemented to provide a default value. This fallback is removed to enable distinction between no value defined and value defined.
Support multi-value data exchange to Data Manager (DM) - CUR-2715
Support is added to exchange multi-select values to Data Manager. The values sent are in a single field, separated with a | (pipe) to meet the DM standards.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.13
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Personal plan should not give an error upon opening the task list - CUR-3642 (Hotfix)
When viewing a personal plan and expanding the tasks section for study related tasks, an error could be thrown (undefined property ...). This was caused by the fact the study relation was not defined for the task. A hotfix is applied and the study related tasks are shown.
The personal overview of relations should be responsive - CUR-3665
In case a person has many relations (e.g. >150) the personal relation overview takes quit a while to load. A number of fixes is applied to inform the user and perform a responsive initial load:
- A loader is show to inform the user the page is being loaded
- The page is paginated, and the first page is shown. The user can navigate to the next pages.
- Sorting is performed in the back-end, reducing the load on the browser
As an administrator I want to use 'if ... then ... else ...' in conditions - CUR-3578
The support for conditions is extended with an 'if ... then ... else ...' construction, supporting nested condition. E.g. If (x=1) then 'set value X' else (if (x=2) then 'set value Y' else 'set Value X').
The used convention is: (condition) ? 'value if true' `: 'value if false'.
Examples:
- (:age < 40) ? 'this is true' : 'this is false'
- (:age > 40) ? ( (:age > 60) ? 'this is old' : 'this is middle-aged') : 'this is young'
The column search in reports should work - CUR-3593
The column search in reports allowed the user to enter a search value, but the search was not executed. This has been fixed and using the column search with a value will return the matching rows.
The process behaviour of 'wait for last participant' should help the users more - CUR-2540
In case a process is defined with multiple participants, including the 'wait for last participant', the process will only continue of each of the participants is finished. However, in case a team is assigned as a relation (participant), the team should be handled as 'one participant'. Which means the process can continue if one of the team members has finished the task.
To support this, the following change is applied to the behaviour:
- When in a team, and a team member has assigned the task, the task will be greyed out for each team member. This will actively inform the other team members the task is being handled, including who (assignee) is handling the task. This will inform only, and not restrict other users from picking up the task.
- When completing the task as a team member, it will be done on behalf of the entire team. The task will disappear for all other team members dashboard.
As a user I want to see the description of a subject - CUR-1874
Subjects can be defined on a higher hierarchical level (system-wide, faculty, study) including a description. When using the subject on a lower level, the option is provided to define a 'overriding' description. In case this is not defined, no description will be shown in the subject list.
A change is applied to fall-back to the hierarchical defined description, to always show the relevant (own or hierarchical) description to the users.
A successful deleted activity-serie should not show an error - CUR-3507
When deleting an activity-serie on a method/assessment an error message pops up, even if the activity-serie is successful deleted. This has been fixed and the activity-serie is deleted without error message.
Authorisation to edit a route in a workflow should be supported - CUR-3501
The editing authorisation for the route-planner page in the tabular view is supported, but the corresponding right to enable editing in a workflow was not. The access right EDIT_ROUTES_WORKFLOW has been added.
Automatic login not shown to users - CUR-3510
A user could be logged out in the middle of a session without warning. Identifying the exact moment the session is ended it a technical challenge. To limit the user impact, and improve user experience the first change applied it to extend the duration of the login-session to 10 hours (instead of 3).
It should be able to force delete a module without error - CUR-3660
In some cases a module that should be force deleted was not deleted but showed a deletion error. This was caused by an incorrect order of one of the underlying delete statements. The order is corrected to enable module deletion in all cases.
Creating and working with a new report template has strange effects - CUR-3484
A report was made that when creating a new report template, changing it afterwards and refreshing the page, the report was not showing as defined. After thorough investigation we identified this could happen in case the template name was equal to another template name. To prevent this from happening, the management of the template is no longer bound to the 'template name', but to the underlying technical ID.
As an administrator I want to see where a reference list is used - CUR-1864
Reference list can be used on different fields, and the system didn't provide an easy way to find those fields. A change is made to show the fields using a reference list, similar to other configurations that show where the specific object (e.g. page, workflow, ...) is used.

The admin can click the field, to jump direct to the field configuration.
Conditional reference lists should be respected - CUR-3596
When using a reference list with configured conditional lists the conditional list was not correctly shown based on the defined configuration. This has been fixed, conditions will be respected and the correct list is shown.
AI translated descriptions should be shown immediately - CUR-3578
Some description translations were not shown immediately after translate, but required a save and manual refresh to show them. This has been fixed and the translated value will be shown immediately (without save and refresh).
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extended support activity mapping to Data Manager (DM) - CUR-2715
The exchange of activities to data manager didn't support the option to define a set order. The mapping is extended with support for the sequence.
The localName of an activity was already available in the mapping, but in case the localName was empty a fallback was implemented to provide a default value. This fallback is removed to enable distinction between no value defined and value defined.
Support multi-value data exchange to Data Manager (DM) - CUR-2715
Support is added to exchange multi-select values to Data Manager. The values sent are in a single field, separated with a | (pipe) to meet the DM standards.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Curriculum manual for configuration guidance.
New release of Data Manager
The following has been released to the Test environments on April 28th and will reach production next week.
New feature - Max Concurrent Tracks
It’s now possible to set a limit for the max number of concurrent Tracks for any given Activity Series. This constraint will be used by the Autopilot while scheduling.
Improvements
Bulk edit on Track level - It is now possible to bulk edit multiple Tracks, just select the Tracks you want to update and hit Edit activities → Edit fields. This includes editing the Weeks of the selected Tracks
New release of Preferences - Edit Active Forms
The following has been released to the Test environments on April 28th and will reach production next week.
Improvements - Edit certain elements in Active Forms.
It is now possible to edit the Label and Description of the Form, or any of its Elements after the Form has been sent. This can be very useful if you discover an error, misspelling or if you just needs to clarify something in the help texts (descriptions). It’s also possible to change the content of Static text elements, commonly used as instructions on the start page of a form.
If using Teaching Periods, it’s now possible to add additional Teaching periods even if the form has been published, as well as renaming the existing ones.
Bug fixes
- Resolved an issue where sometimes users would be logged out from submissions due to an open tab in their browser. It is now only possible to edit a form submission in one browser tab at a time.
- Resolved an issue where reordering some elements would cause values to be set incorrectly. This would specifically be seen when using multiple Activity Type objects in Imported Activities
- Resolved an issue where the Assigners in the Assigners tab could not be filtered properly
- Resolved an issue where setting a Reservation Mode was not mandatory for Availability Forms. This would break scheduling so has now been made mandatory for any new forms.
- Resolved an issue where sometimes certain weeks in the Form where outside the Form period causing an inability to submit the form
New release for Viewer - Bugfixes
This release is pushed to test at release date and planned for production 30th of April
Improvement
- We are experiencing a problem with malicious attacks with repeated requests to download schedule data as Text and CSV by guest users.
- Current mitigation: we are stopping all users from downloading schedules as Text and CSV (these endpoints are blocked).
- We will now open up Text/CSV download again for signed-in users, while keeping guest access restricted.
Bugfix
- Fixed a problem where guests downloading an iCal file got an error message.
- Admin: when configuring a page and Fixed interval is selected, saving Begin date & End date with a date limit no longer picks the date range from the URL; it now saves the page settings (upper left corner) correctly.
- Schedule: when a reservation contains multiple objects and only one object has a configured color, and use assigned colors only the reservation is now colored using that object’s color.
New release for Plan - Bugfix
Bug fix
Create new rows for objects that have two types (rows were not created before; now fixed).
New release of Core - Start time indicator
The following has been released to the Test environments on April 24th and will reach production next week.
Improvements
There is a new feature that can be toggled on in you personal Core settings: “Indicate start time in calendar”. Turning this feature on will show an indicator in the calendar the exact start time that will be applied whenever you make a reservation.
The start time is based on the Time rules setup for the current Reservation mode and will help you pinpoint exactly where the reservation should be. Hopefully, this will lead to less errors forcing you to move the reservation after it’s been placed.
New release Curriculum 12.12
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The general page should be fully configurable - CUR-3498
The general page was partial hard-coded. A change is made to enable full configuration of the general page and only show the custom-fields marked as 'show on general'.
In case no fields are marked as 'shown on general', the generic fall-back is to show the externalId, code and name(s). If one field is marked, then these four fields will no longer show, unless they are marked as 'show on general'.
The change of the duration type should not block the subtype selection - CUR-3476
When changing the value type of the duration to Minutes, the subtype selector was set to read-only. Since the subtype is a required field, this prevented to make any changes to the duration field. This issue is fixed and the duration can be switched to a minute display again.
When adding a new application or competence the field configuration should be respected - CUR-3382, CUR-3383
The application and competence configuration provides the option to add additional custom-fields and define their sequence. When using the application or competence template, the fields were shown, but the defined sequence order was not respected. This has been fixed and the fields are shown in the defined order.
Selecting a search result or details from the menu should not require two clicks - CUR-3426
Due to the transition to a new front-end and underlying library sometimes issue pop-up due to the gradual migration where part of the application is still using the 'old' library. One of those is that the search result and other selections to check the details of an object requires two clicks instead of one. This has been fixed in this release.
URL.title should be visible in the browser header - CUR-3509
An issue in line with the above mentioned cause is the display of the URL.title in the Browser header. The issue is for 90% solved, there are still edge-cases by following a specific order in hitting the 'new' and the 'old' library based functions that will change the browser header to the generic naming.
Offering registration start and end date should be saved - CUR-3513
When changing the offering registration start and/or end date, the changes were not save. The cause is found and solved. Both dates are saved again.
In the personal workload report the sum of the monthly availability exceeds the year total - CUR-3438
It was noted that when summing the values of the monthly available hours, the total was not equal to the total year available hours. The cause was found and is solved. The total of monthly and year available will be the same.
The Ad-hoc page configuration should show the ad-hoc related custom-fields - CUR-3568
When configuring an offering page to be used in an ad-hoc context, the selectable fields were the fields of the standard offering. A fix is applied and based on the configuration of the 'Ad-hoc' flag (bottom of the paged configuration) the fields of the standard or ad-hoc offering are shown for selection.
The change report for faculty should show the changes of the current year - CUR-3615
The faculty based change report didn't show the changes from the selected year, but from the previous year. This has been fixed and the changes related to the selected year will be displayed.
As a user I want to copy a module from a previous year - CUR-3470
If you create a new module in a year and there are already future years defined, the module is not automatically copied over to the new years. This is on purpose, since it's not only the module, but also it's relations that may cause issues. Since there are situations where you still want the module in future years, and don't want to create it in completely manually, the COPY module function is extended. Support is added to copy a module from a previous year to the current year.
The copy will perform a check if the module (code) already exists in the new year. If so, the copy will be canceled. Only a module that doesn't exist will be copied over to the new year.
Configuration:
- Add a new field on module named originalYearId, which allows to select a year.
- Value type for originalYearId: Entity
- Subtype for originalYearId: Academic Year
- Then on the existing originalId field (also in module) add a “filter” to show original modules based on the above selected original year. The original modules is only shown when a year is selected using the “condition”.
- Filter on originalId: :academicYearId.id = ':originalYearId'
- Condition on originalId: :originalYearId > 0
- Drag both fields in a new page (or the existing page to create a new module
- Set the create page of custom type “module” to this new page if a new page is created
- When creating a module, use the new fields: first select the year and then the module
- The copy copies the additional/offering etc. from the original year to the new year
As an administrator I want to be helped with configuration questions (AI feature) - CUR-3616
When switching to Experimental the Admin section will get a 'purple' icon at the button that will launch the administrator AI support option. The AI support will the information published at the academy as resource to assist in question
By default some 'short cut' questions are provided some assistance in formulating a question.

To be honest we were pleasantly amazed with the quality of the answers provided.

The AI-function but will be launched during the TimeEdit Summit next week.
Experimental
Since some major changes are made to the user interface due to the migration to a new front-end library a new Administrator option 'Experimental' is introduced. This option will allow administrators to already have a preview on certain pages and functionality coming in the near future.

As an administrator I want to view the new look and feel for pages - CUR-3331
Some pages have already been defined according to the new look and feel. These are only available in the new format when switching to Experimental.
The pages are:
- The Study admin page
- Add a new application
- Review and approve an application
- Add a new personal competence
- Review the personal competence

Not all functionality is already fully supported (most is), but we still wanted to give access to the experimental view.
In case you have feedback, don't hesitate to tell us, we really appreciate it. It will help us enhance prior to releasing to the users.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Hook 'remove from Broker' should remove the selected object - CUR-3597
The hook to remove an object from the Broker, with a sub sequent removal from the study guide didn't work. The hook is solved and the execution of the hook to remove the object from the Broker will actually remove it.
The csv upload of relations should not freeze the system - CUR-3588
When importing a (large) csv of relations in a system with active processes the system could freeze. This was a highly technical issue with synchronous, a-synchronous and thread handling that was caused by the spin off to generate all tasks for the imported relations. This has been solved and the upload of relations can no longer freeze the system.
Add support for multi-value information exchange to Data Manager - CUR-3612
Using a multi-value field in Curriculum will sent both values to Data Manager. The Curriculum default is sending multi-values separated by a comma. For the DM integration the values will be separated by a pipe (|), to meet the DM requirements for exchanging multi-value fields.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Curriculum manual for configuration guidance.
New release Workload Management 12.12
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The general page should be fully configurable - CUR-3498
The general page was partial hard-coded. A change is made to enable full configuration of the general page and only show the custom-fields marked as 'show on general'.
In case no fields are marked as 'shown on general', the generic fall-back is to show the externalId, code and name(s). If one field is marked, then these four fields will no longer show, unless they are marked as 'show on general'.
The change of the duration type should not block the subtype selection - CUR-3476
When changing the value type of the duration to Minutes, the subtype selector was set to read-only. Since the subtype is a required field, this prevented to make any changes to the duration field. This issue is fixed and the duration can be switched to a minute display again.
When adding a new application or competence the field configuration should be respected - CUR-3382, CUR-3383
The application and competence configuration provides the option to add additional custom-fields and define their sequence. When using the application or competence template, the fields were shown, but the defined sequence order was not respected. This has been fixed and the fields are shown in the defined order.
Selecting a search result or details from the menu should not require two clicks - CUR-3426
Due to the transition to a new front-end and underlying library sometimes issue pop-up due to the gradual migration where part of the application is still using the 'old' library. One of those is that the search result and other selections to check the details of an object requires two clicks instead of one. This has been fixed in this release.
URL.title should be visible in the browser header - CUR-3509
An issue in line with the above mentioned cause is the display of the URL.title in the Browser header. The issue is for 90% solved, there are still edge-cases by following a specific order in hitting the 'new' and the 'old' library based functions that will change the browser header to the generic naming.
In the personal workload report the sum of the monthly availability exceeds the year total - CUR-3438
It was noted that when summing the values of the monthly available hours, the total was not equal to the total year available hours. The cause was found and is solved. The total of monthly and year available will be the same.
The Ad-hoc page configuration should show the ad-hoc related custom-fields - CUR-3568
When configuring an offering page to be used in an ad-hoc context, the selectable fields were the fields of the standard offering. A fix is applied and based on the configuration of the 'Ad-hoc' flag (bottom of the paged configuration) the fields of the standard or ad-hoc offering are shown for selection.
As a user I want to copy a module from a previous year - CUR-3470
If you create a new module in a year and there are already future years defined, the module is not automatically copied over to the new years. This is on purpose, since it's not only the module, but also it's relations that may cause issues. Since there are situations where you still want the module in future years, and don't want to create it in completely manually, the COPY module function is extended. Support is added to copy a module from a previous year to the current year.
The copy will perform a check if the module (code) already exists in the new year. If so, the copy will be canceled. Only a module that doesn't exist will be copied over to the new year.
Configuration:
- Add a new field on module named originalYearId, which allows to select a year.
- Value type for originalYearId: Entity
- Subtype for originalYearId: Academic Year
- Then on the existing originalId field (also in module) add a “filter” to show original modules based on the above selected original year. The original modules is only shown when a year is selected using the “condition”.
- Filter on originalId: :academicYearId.id = ':originalYearId'
- Condition on originalId: :originalYearId > 0
- Drag both fields in a new page (or the existing page to create a new module
- Set the create page of custom type “module” to this new page if a new page is created
- When creating a module, use the new fields: first select the year and then the module
- The copy copies the additional/offering etc. from the original year to the new year
As an administrator I want to be helped with configuration questions (AI feature) - CUR-3616
When switching to Experimental the Admin section will get a 'purple' icon at the button that will launch the administrator AI support option. The AI support will the information published at the academy as resource to assist in question
By default some 'short cut' questions are provided some assistance in formulating a question.

To be honest we were pleasantly amazed with the quality of the answers provided.

The AI-function but will be launched during the TimeEdit Summit next week.
Experimental
Since some major changes are made to the user interface due to the migration to a new front-end library a new Administrator option 'Experimental' is introduced. This option will allow administrators to already have a preview on certain pages and functionality coming in the near future.

As an administrator I want to view the new look and feel for pages - CUR-3331
Some pages have already been defined according to the new look and feel. These are only available in the new format when switching to Experimental.
The pages are:
- The Study admin page
- Add a new application
- Review and approve an application
- Add a new personal competence
- Review the personal competence

Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
The csv upload of relations should not freeze the system - CUR-3588
When importing a (large) csv of relations in a system with active processes the system could freeze. This was a highly technical issue with synchronous, a-synchronous and thread handling that was caused by the spin off to generate all tasks for the imported relations. This has been solved and the upload of relations can no longer freeze the system.
Add support for multi-value information exchange to Data Manager - CUR-3612
Using a multi-value field in Curriculum will sent both values to Data Manager. The Curriculum default is sending multi-values separated by a comma. For the DM integration the values will be separated by a pipe (|), to meet the DM requirements for exchanging multi-value fields.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Refer to the Workload Management manual for configuration guidance.
New release for Viewer - Coloring and period selector bugfix
This release is pushed to test at release date and production a week later.
Bug fixes
- When changing period, the period list is now sorted by start date.
- Fixed an issue where Viewer could ignore the configuration for which objects should be coloured, and would apply colours to additional objects.
New Release of Assessment - Snake Pattering Seating
Snake Pattern Seat Map
We've introduced a new "Snake" layout pattern for seat allocation, giving you more flexibility in how students are assigned to seats in the room. Here's what's new:
What Is the Snake Layout?Previously, seats were always assigned left-to-right across every row (Standard layout). With the new Snake layout, rows alternate direction — making it easier to seat students in a continuous physical flow through the room:
Standard:
1 | 2 | 3 | 45 | 6 | 7 | 8
Snake:
1 | 2 | 3 | 48 | 7 | 6 | 5
Layout Pattern in Allocation ModalsA new Layout Pattern dropdown (Standard / Snake) is now available in both the single and bulk allocation modals:
- The default is set by your organisation's admin
- If your admin has enabled overrides, you can change the layout pattern per allocation
- If active seat allocations already exist for a reservation, the dropdown is disabled — deallocate seats first before switching layouts
- In bulk allocation, the selected pattern applies to all selected reservations at once
Layout Pattern Indicator in Reservation DrawerWhen reviewing a capacity reservation in the detail drawer, a new read-only label shows which layout pattern was used:
- Layout pattern: Standard or Layout pattern: Snake — if the reservation has been allocated
- Layout pattern: Not set — if no allocation has been made yet
The seat map in the drawer also renders seats in the correct physical positions based on the layout pattern.
Notes
- Existing allocations made before this feature are unaffected and will continue to render in Standard layout
- The layout pattern is set per capacity reservation — the same room can use different layouts across different sessions
- Seat numbers remain unchanged — only the physical grid position is affected
New Release of Assessment - Export in CSV and Excel
Released to production on 15th of April in all regions.
Enhanced Exam Reservation Export — CSV & Excel Support
You can now export reservation data in CSV or Excel (XLSX) format with full control over which fields are included. Here's what's new:
New Export Type SelectionThe export modal now lets you choose between:
- Room specific seating list (PDF) — works exactly as before
- Reservations (CSV/Excel) — unlocks the new data export experience
File Format & Separator OptionsWhen exporting CSV/Excel, you can configure:
- File format — CSV or Excel (XLSX)
- Separator — choose your delimiter for multi-value fields (e.g.
|,,,;)
Custom Field Selection — Capacity Reservation ViewPick exactly which fields to export using two tabs:
- Capacity Reservation fields
- Exam Reservation fields (related data, matching what's visible when expanding a row)
Custom Field Selection — Exam Reservation ViewExport a complete picture of your exam data using two tabs:
- Exam Reservation fields
- Student fields — participant data included in the same file
How It Works
- Select reservations in the *Capacity Reservation* or *Exam Reservation* view
- Click Export to open the export modal
- Choose *Reservations (CSV/Excel)* as the export type
- Select your preferred *file format* and *separator*
- Use the tabs to pick the *fields* you want included
- Click Export — the file downloads automatically to your device
New release Study Guide 2.64
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Faculties should be ordered by name in a filter - SG-548
When using a faculty filter, the order the faculties were shown was based on the underlying faculty code. This has been fixed, and the faculties will now be sorted on there name.
Module to Program relation fields should be accessible and visible - SG-578
In Curriculum it is supported to define custom-fields on the relation from a module to a study (or module-group). This means the value can differ based on the program that is offering the module. This release the relation fields have been added to the the Curriculum to Study guide integration. The fields can now be used and will show the field based on their context (e.g. related program or related module-group).
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.36
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
PDF print/export should show the histogram - EV-409
Questions of type 'matrix (one answer)' with visualisation histogram, are shown on the report on screen, but the histogram was not included in the pdf print. The issue was fixed in the previous sprint, but it was still happening in some occasions.
After further debugging it was found the issue was a timing issue, where in some cases not all information was rendered on page before creating the PDF and therefor the histogram was missing. Based on this new finding a new fix is applied and the PDF will print the histogram.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no vulnerabilities required mitigation.
Refer to the Evaluation manual for configuration guidance.
New release of Allocate - Smarter dedication defaults, new issue type
This release makes group dedication faster and less error‑prone by defaulting the program search to relevant programs. It also improves issue triage with clearer issue type names and a new data-quality issue type with CSV export.
This release is pushed to test at release date and production a week later.
Improvements
- When dedicating a group, the program list now defaults to showing only programs that are relevant to the selected module. Relevant programs are programs related to the module or related to students enrolled in the module. It is still possible for users select to search amongst all programs in the database.
- Issue list improvements
Renamed issue type: “No students allocated” is now “Empty Student group” to make the meaning clearer.
New issue type: “Student group data”
Helps identify student groups with missing or inconsistent configuration and lets you download the details as CSV to fix the data in Core/Admin/Object.
- Student group is missing activity type
- Student group is related to more than one module
Terminology: In both issue types, “Student group” will be replaced by the object type name used in your configuration.
Bugs
Fixed: Duplicate allocations after swapping linked groups
Swapping linked groups could result in multiple allocations; this is now prevented.
Fixed: Manage students not opening for some students
In cases with a very large number of available groups, the Manage students view could fail to load. This has been fixed.
New release for Preferences - New Pref → DM workflow + Unlock Forms
The following has been released to the Test environments on April 9th and will reach production next week. (Except for the Preferences to Data Manager feature, which will be released to production at a later date, in coordination with customers, in order to reduce operational disruptions)
New features - Preferences to Data Manager
For new Scheduling Forms, all submissions will now end up in Data Manager. This means that there are some additional mapping that needs to be done in the Preferences Form Designer whenever a Form is created. For each element in the Form, you need to decide how those values should be used on the Activities.
For more information on how this mapping works, please refer to this Academy article
For more information on how Data Manager works, please refer to this Academy article
If you do not have Data Manager enabled on your organisation, please contact support@timeedit.com and they will be able to help you out. Also, any user who needs access to Data Manager will also need to have this enabled for them.
If you are interested in a walkthrough of this new workflow, please join the Webinar on April 15th, or view a recording of the previous webinar
General Improvements
It is now possible to Unlock a Form, as long as it has no active Submissions. This means that all submissions need to be invalidated before the Form can be unlocked. This feature is very useful when testing forms that were generated from imported Activities in Data Manager.
Bug fixes
- Resolved an issue where sometimes the Max class size value would not auto calculate for imported Activities in the submission, even though the Auto calculation was turned on.
- Resolved an issue where sometimes the Name of a recipient would not be correct after recipient import. Names are updated by the most recent import.
- Resolved an issue where it was sometimes possible to select Dates for an Activity that was on a holiday, even if “Don't allow bookings on holidays” was turned on
New release for Core - Updates to the UI
The following has been released to the Test environments on April 9th and will reach production in about two weeks.
Improvements
A few more things have been moved to the Top bar:
Pinboard, Drafts and Core settings are now found in the toolbar section in the top right corner instead of the side bar.
User settings like Language and Date format are now found in the User drop down menu
New Release of Admin
Improved object management
It is now possible to export objects in Admin
Tutorial on Academy
New release Workload Management 12.11
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Offerings should be shown on the module offering tab - CUR-3561 (Hotfix)
The module offering tab was not showing the offerings anymore after the previous release. This has been hotfixed on acceptance prior to the release to production. The offerings are shown again as expected.
Time information should be shown correctly - CUR-3560 (Hotfix)
Time information was not shown correctly, which could cause an effect that the time to display conversion ended up with an empty value (on screen) on activity-series custom-fields. This has been fixed, and the saved time information is shown correctly.
Date information should be shown in a date format - CUR-3539
Date information was not shown as date (YYYY-mm-dd), but as a timestamp. This has been fixed and the date is shown again in a date format.
The method tree should show empty values instead of 0 - CUR-3538
In case in the method tree (and also in other places) a numeric value was shown in a report, both a 0 and an empty value were displayed as 0. A fix is applied where an empty value is shown in case no information is entered and a 0 in case a 0 is entered.
The appraisal list shouldn't show the externalId twice - CUR-2165
In case the appraisal list was configured to show the externalId or code, they were shown twice. This behaviour has been solved in the case where the code or externalId are configured using the 'shown on general' setting.
Remaining known issue: In case the column option is used to add fields to the appraisal list AND the selected fields will contain externalId or Code they will still be shown twice. This is caused by the fact the code both lives on appraisal and assessment. To mitigate this requires a quit extensive rework of the custom-field resolution and will not be solved. The work-around is selecting the code and externalId using the 'show on general' setting.
When starting a new proces only the start notification should be sent - CUR-3579
In case a process step was configured to sent both a notification at start of the task (open) and a notification is the process was rejected to that step (re-open) both notifications were start at start of the process. The cause has been identified and fixed.
The hours per month should be correct - CUR-3451
The total available hours of a staff member is calculated based on the contract and the hours per year. The hours per month are based on a factor of this total per year. When showing the personal allocation information the factor is applied when switching from year to semester to month view. This to show the correct planned hours per selected period. The same factor was also applied to the available hours per period. This caused the effect that on Semester view the hours for January could be 141 and when switching to Month view the available hours were shown as 35 hours.
This has been fixed and the factor will only be used for the planned hours and not on the available hours.
Available hours should be updated after assign and recalculate - CUR-3504
The staff allocation and availability overview shows the actual assignment and availability of staff. In case changes are made in the allocation not in all cases the availability of the person is recalculated, this is standard done via the nightly re-calculation of all assignments and availabilities.
The report provides an option to execute a force recalculation, where the recalculation of the availability was only calculated after opening each user.
The behaviour was a 'quick-fix' precaution, since the recalculation could take quit some time. In this release a change has been made to this behaviour by implementing a 'targeted' recalculation:
- Change of a task and the hours will automatically recalculate the availability for that assignment
- Calculate will recalculate the availability for for all staff members and NOT the assigned hour calculation. The assumption is that the 'hours assigned' are correct. A loader will be shown in the availability cell and not on the entire page (blocking the entire page)
The calculation of available hours should support usage of 'remaining hours' - CUR-3298
The use case is as follows:
A person has an assignment of 1 FTE
The person has a non-educational task as Program Director covering 60% of the FTE
The person should be assigned with a 60/40 ratio to research and teaching for the remaining hours.
In this release the option is added to used a more dynamic definition of grouped tasks (labeled with the same label). The following mechanism is used:
- The label name is used as a ‘grouping’ mechanism to identify tasks that belong together
- A new dynamic calculated field is added to use the 'sum' of the grouped tasks. The naming convention is {label}Hours, where the label may not contain spaces, dots, dashes.
- Enable usage of the dynamic calculated field(s) in formulas
The initially mentioned use case can now be handled by defining the hours to be allocated for research with the following formula:
- 60% research of the remaining hours: (:fteHours - :coordinationHours) * 0.6
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Integration to Data Manager should support activity planning name fields - CUR-3564
The configuration for the integration to Data Manager didn't support usage of the planning name fields. This has been added and the configuration will now support transfer of the planning names using the planning.names['<lang>'] convention. E.g. planning.names['EN'] to exchange the English name.
Exchanging availability information to Core should support batch send - CUR-3549
An issue from a more technical background, that will also improve the through-put to Core. The availability information defined was sent to Core per availability moment (reservation). A change is made to group the availability exchange with 100 availabilities per request. This means the overhead of individual messages is reduced and handling of a single request with 100 availabilities will speed up the processing.
An event message should contain the object type sent - CUR-3526
When using the event to sent a changed object to an external integration service the event message doesn't have information on the object sent. Especially in situation where all events are handled by a single endpoint that will redistribute the further handling of the event to a dedicated handler (module, study, ...) this requires extensive analysing of the message sent to determine the object type and thus the handler.
The default message metadata is extended with the object type to ease the determination of the object type to be handled:
When adding a person it should be possible to define the organisation - CUR-3329
It was noted both the CSV import and the API person endpoint didn't offer support to add the organisation relation of the person. This has been adjusted and both CSV import and person API support the definition of the related organisation. The person GET is extended to show the person relation.
The adjusted API definition is available via: https://developer.timeedit.com/reference/saveperson_v2
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Security vulnerabilities addressed:
- CVE-2026-29062(8.7)
- CVE-2026-29062(8.7)
- CVE-2025-68161(6.3)
- CVE-2025-29927 (6.5)
- CVE-2025-29928 (3.7)
- CVE-2025-29929 (5.5)
- CVE-2025-29930 (6.5)
- CVE-2025-29931 (6.8)
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.11
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Offerings should be shown on the module offering tab - CUR-3561 (Hotfix)
The module offering tab was not showing the offerings anymore after the previous release. This has been hotfixed on acceptance prior to the release to production. The offerings are shown again as expected.
Time information should be shown correctly - CUR-3560 (Hotfix)
Time information was not shown correctly, which could cause an effect that the time to display conversion ended up with an empty value (on screen) on activity-series custom-fields. This has been fixed, and the saved time information is shown correctly.
Date information should be shown in a date format - CUR-3539
Date information was not shown as date (YYYY-mm-dd), but as a timestamp. This has been fixed and the date is shown again in a date format.
The method tree should show empty values instead of 0 - CUR-3538
In case in the method tree (and also in other places) a numeric value was shown in a report, both a 0 and an empty value were displayed as 0. A fix is applied where an empty value is shown in case no information is entered and a 0 in case a 0 is entered.
The appraisal list shouldn't show the externalId twice - CUR-2165
In case the appraisal list was configured to show the externalId or code, they were shown twice. This behaviour has been solved in the case where the code or externalId are configured using the 'shown on general' setting.
Remaining known issue: In case the column option is used to add fields to the appraisal list AND the selected fields will contain externalId or Code they will still be shown twice. This is caused by the fact the code both lives on appraisal and assessment. To mitigate this requires a quit extensive rework of the custom-field resolution and will not be solved. The work-around is selecting the code and externalId using the 'show on general' setting.
When starting a new proces only the start notification should be sent - CUR-3579
In case a process step was configured to sent both a notification at start of the task (open) and a notification is the process was rejected to that step (re-open) both notifications were start at start of the process. The cause has been identified and fixed.
The hours per month should be correct - CUR-3451
The total available hours of a staff member is calculated based on the contract and the hours per year. The hours per month are based on a factor of this total per year. When showing the personal allocation information the factor is applied when switching from year to semester to month view. This to show the correct planned hours per selected period. The same factor was also applied to the available hours per period. This caused the effect that on Semester view the hours for January could be 141 and when switching to Month view the available hours were shown as 35 hours.
This has been fixed and the factor will only be used for the planned hours and not on the available hours.
Available hours should be updated after assign and recalculate - CUR-3504
The staff allocation and availability overview shows the actual assignment and availability of staff. In case changes are made in the allocation not in all cases the availability of the person is recalculated, this is standard done via the nightly re-calculation of all assignments and availabilities.
The report provides an option to execute a force recalculation, where the recalculation of the availability was only calculated after opening each user.
The behaviour was a 'quick-fix' precaution, since the recalculation could take quit some time. In this release a change has been made to this behaviour by implementing a 'targeted' recalculation:
- Change of a task and the hours will automatically recalculate the availability for that assignment
- Calculate will recalculate the availability for for all staff members and NOT the assigned hour calculation. The assumption is that the 'hours assigned' are correct. A loader will be shown in the availability cell and not on the entire page (blocking the entire page)
The calculation of available hours should support usage of 'remaining hours' - CUR-3298
The use case is as follows:
A person has an assignment of 1 FTE
The person has a non-educational task as Program Director covering 60% of the FTE
The person should be assigned with a 60/40 ratio to research and teaching for the remaining hours.
In this release the option is added to used a more dynamic definition of grouped tasks (labeled with the same label). The following mechanism is used:
- The label name is used as a ‘grouping’ mechanism to identify tasks that belong together
- A new dynamic calculated field is added to use the 'sum' of the grouped tasks. The naming convention is {label}Hours, where the label may not contain spaces, dots, dashes.
- Enable usage of the dynamic calculated field(s) in formulas
The initially mentioned use case can now be handled by defining the hours to be allocated for research with the following formula:
- 60% research of the remaining hours: (:fteHours - :coordinationHours) * 0.6
Offering based version support
The standard behaviour of Curriculum is the support of a version per academic year. E.g., a module is published once a year and during that year the module will be bound to that version. Changes could be made, but they would just overwrite the initial state.
Two releases ago we published the technical groundwork was done for support of multiple versions per year. A version will be bound to an offering, since this is the most logical publishable unit. This will support for instance publishing a version for a module for quarter 1 and a version for the same module for quarter 3.
The definition of changes allowed in a version and changes that require a new module are different per institution and are still applicable. This means that a version can also be a 'new' module. In case a module is offered in a program, the new module will substitute the 'old' one and a new program version is created based on the offering period.
The version support can not only be used for the regular programs following the standard academic year and its periods, but is also applicable to the more commercial oriented short programs or modules. In those cases an ad-hoc offering is used to support the distinct versions of a module between offerings.
After that we started developing the user experience and found out we had to redo the groundwork. Sometimes you learn that a in-depth design is not always perfect. A decision was made that a version is not a full copy of a module, but specific part of a module will support versioning. Module elements with version support are descriptions, additional fields (next release), offerings, teaching methods, assessments and activities. This is based on the fact that most (if not all) other changes will lead to a new module.
As an administrator I should be able to configure version support - CUR-2672
A new configuration option is added to enable offering based version support in the system.
Configuration:
- Navigate to the Administration -> Configuration menu
- Set the 'version.period_based' to true
As a user I want to create and view the available versions in its context - CUR-2675
The relevant pages in Curriculum (structure, planboard, module) are be extended to show if multiple versions are available. A user should be able to select and switch between versions that will then show the information for the selected version. The structure page will show the different version of a programme, the module details will show the different version of a single module.
In case offering-based version support is configured, the 'switcher' will be available and allow switching between versions. In case a version is selected and a change is made to the the object, the version is automatically created and the change is bound to that version.
The image below shows the version of a January start (a specific program offering/start) and in this case the curriculum will offer the full program in four years.
The image below shows the April start is a version that offers a changed curriculum. In this example a module-group is offered containing the standard supported specialisations.
The example is shown because of its visual simplicity, but any object in the structure tree can be moved, removed or added. For instance a change where a new module is added to be first offered in April.
A similar switcher has been added to the Module. The switcher will only be shown in case version support is configured AND the module has multiple offerings. As the image below shows the switcher in the workflow and allows selecting a version to be worked on.
If no version (or the first) is selected, the changes will be applicable from that version onwards. In case a change is made for the second period, a new version will be added. The version of period 1 and the version from period 2 onwards. In this case period 2 and 4. In case a change is made in period 4, again a new version is created and there will be 3 versions (period 1, period 2 and period 4).
Rollover to new year of the latest version - CUR-2677
The rollover will use the latest version of the selected year to rollover to the new year. In case no changes are applied, the initial version will be used. In case multiple versions are created, the latest version will be used.
Outstanding TODO's
Quit a big step is made and the function is made available on the test environment. There is still some work needed to polish the solution. Know outstanding work is:
- Extend support for versioning to additional custom-fields
- Improve UX behaviour (easy to find, toggle between version page refresh)
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Integration to Data Manager should support activity planning name fields - CUR-3564
The configuration for the integration to Data Manager didn't support usage of the planning name fields. This has been added and the configuration will now support transfer of the planning names using the planning.names['<lang>'] convention. E.g. planning.names['EN'] to exchange the English name.
Exchanging availability information to Core should support batch send - CUR-3549
An issue from a more technical background, that will also improve the through-put to Core. The availability information defined was sent to Core per availability moment (reservation). A change is made to group the availability exchange with 100 availabilities per request. This means the overhead of individual messages is reduced and handling of a single request with 100 availabilities will speed up the processing.
An event message should contain the object type sent - CUR-3526
When using the event to sent a changed object to an external integration service the event message doesn't have information on the object sent. Especially in situation where all events are handled by a single endpoint that will redistribute the further handling of the event to a dedicated handler (module, study, ...) this requires extensive analysing of the message sent to determine the object type and thus the handler.
The default message metadata is extended with the object type to ease the determination of the object type to be handled:
Enhanced and standardised the behaviour of the Broker integration - CUR-3417
The integration to the Broker was depending on the manner used behaving different. When using the 'send to Broker' hook, the object was sent including non-approved open changes. When using the script 'send to broker' to execute a nightly synchronisation based on the presence of an publication date. In that case the object was sent including any open changes.
The following changes have been made to standardise the behaviour:
- Added a Configuration option 'broker.include-open-changes' to define if the standard behaviour should be that an object was sent including its open changes, or only the approved data should be sent.The default (and recommended) setting is to not include open changes.
- Created a hook 'Approve open changes' to be used in the processes at the transition to the approval state. This will automatically mark all changes to the object as approved, so it can be sent to the Broker.
- Extended the hook 'Set publication date' with an additional option 'Approve'. In case the approve is set, both the publication date is set and the changes are marked as approved.
When adding a person it should be possible to define the organisation - CUR-3329
It was noted both the CSV import and the API person endpoint didn't offer support to add the organisation relation of the person. This has been adjusted and both CSV import and person API support the definition of the related organisation. The person GET is extended to show the person relation.
The adjusted API definition is available via: https://developer.timeedit.com/reference/saveperson_v2
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
In this version no vulnerabilities needed to be addressed.
Security vulnerabilities addressed:
- CVE-2026-29062(8.7)
- CVE-2026-29062(8.7)
- CVE-2025-68161(6.3)
- CVE-2025-29927 (6.5)
- CVE-2025-29928 (3.7)
- CVE-2025-29929 (5.5)
- CVE-2025-29930 (6.5)
- CVE-2025-29931 (6.8)
Refer to the Curriculum manual for configuration guidance.
New Release of Core - Bug fixes
The following has been released to the Test environments on March 25th and will reach production next week.
Bug fixes
- Resolved an issue, where object filters would sometimes incorrectly get applied to the available objects (i.e. the left-hand side) in the mass replace dialog
- Resolved an issue, where request emails were sometimes sent even though
"Request, email"had been set to"None"
New release Study Guide 2.63
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
As a user I want a non-highlighted info field - SG-566
Study guide supports the definition and configuration of informative (INFO) fields. Attention can be put on the information fields using the 'severity' settings success, error, warning, info. The information shown will then be highlighted with icon and colouring, e.g. light-blue, light-red, light-green. Since in some cases the information should be shown with no specific attention compared to the rest of the information the new 'severity' option INFO is added. This will show the information with a neutral background colour.
Changing a language should immediately show the new language - SG-572
When changing language, the information was shown in the new language, but the shown labels stayed in the previous selected language. Only after a page refresh the labels were updated. This behaviour is adjusted and when changing language, both information and labels are shown in the selected language.
Descriptions should be rendered if the text contains 'None' - SG-579
Sometimes the collective memory doesn't help in finding the reason...
It was noted that in case a description contains the verb 'None' or 'Geen' (in Dutch) the whole text was not shown. There was a specific line in the code that filtered on these two words and excluded the text. The line of code is removed, so texts with any of the two verbs will be shown in study guide.
Appraisals with added fields should be readable (new display option) - SG-565
The appraisal widget was mainly defined based on the standard Curriculum fields. In case several custom-field are added or longer descriptive texts are used, the perfect alignment was suddenly less perfect and limited the readability of the information.
In this release a new visualisation option is added, next to the existing one, that will show the information for the above mentioned appraisal configuration in a readable way. The fields will be shown in a standard display underneath each other, as shown in the image below

Configuration:
A new configuration option Widget column layout is added to select between Column (default) and List (new) view.
Administrators should be able to synchronise the labels - SG-575
To add support for administrators to manually start the different synchronisation jobs, in this release the synchronisation of labels. The job will synchronise newly added labels and new languages with the standard defined values. Any existing labels with manually changed values will not be overwritten.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.35
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
PDF print/export should show the histogram - EV-409
Questions of type 'matrix (one answer)' with visualisation histogram, are shown on the report on screen, but the histogram was not included in the pdf print. The issue was found and has been fixed.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
Addressed security vulnerabilities - EV-409
Security vulnerabilities addressed:
- CVE-2026-27699 (9.1), Not applicable, but still implemented
- CVE-2025-64718 (5.3)
- CVE-2025-59343 (8.7)
- CVE-2025-48387 (8.7)
- CVE-2024-12905 (7.5)
- CVE-2024-37890 (8.7)
Refer to the Evaluation manual for configuration guidance.
New release of Viewer – Improved multi-object coloring
This release is pushed to test at release date and production a week later.
Improvements
- Improved how colors are shown when a reservation includes multiple objects of the same type. Each object combination now gets its own color, instead of using a shared light-blue dotted style.

Bug fixes
- Improved handling and display of week ranges in excel report, including better detection of numeric values.
- Fixed issues when summing object fields with “split reservations (one per object)” where some objects have empty fields.
Update on user import via API - Activate/Inactivate user
This field allows customers to activate or deactivate users through the import flow. The intention is to add a safe control layer so that users are only activated or deactivated when explicitly intended.
Current payload
{ "authConfigId": "ObjectId", "users": [] }
New payload
{ "authConfigId": "ObjectId", "hasInactiveSince": true, "users": [] }
The default value of hasInactiveSince is false.
- When hasInactiveSince = false:
- The import API will ignore the inactiveSince field during updates. This means that even if inactiveSince is included in the user payload, it will be skipped entirely.
- When hasInactiveSince = true:
- The import API will take the inactiveSince value into account:
- If inactiveSince is undefined or null, the user will be treated as active. If the user was previously deactivated, they will be reactivated.
- If inactiveSince contains a valid timestamp, the user will remain deactivated if already inactive.
- If the user is currently active, they will be deactivated using the provided timestamp value.
- The import API will take the inactiveSince value into account:
This approach ensures that activation and deactivation through user import only happen when explicitly enabled.
New Release of Admin
Improved user management
Bulk activate users in import
Leave the cell empty in the “Inactive since” column to activate an inactive user
Improved object management
Refresh button added to update object list without reloading page
Banner visible when job has finished
Bug fixes
Periods created showed the wrong date range in Viewer
Certain parts of the org tree were not collapseable
In advanced filter when managing objects the fields were missing a scrollbar
Optional related section disappeared in drawer when adding objects
New release Workload Management 12.10
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
As an admin I want to use :fte as calculation value - CUR-3429
A new standard calculation option :fte is added for the workload management tasks. This will use the standard contactual assignment of the user. E.g. a user has a contract with the department Law for 40%, then the :fte value is 0.4.
The allocation and assignment should not be set to 100% - CUR-3469
In the previous release an issue was introduced that when performing a recalculation of workload hours was using the 'separate offerings' settings by default. Where the 'separate offerings' should only should be used in specific situations. This caused the allocation and assignment to be set to 100%. This has been fixed, the default is restored and the calculation performed as expected.
The effort list should show correct totals - CUR-3466
In case a task is assigned to a period, and the periods are overlapping, e.g. quarter 1 and semester 1, the calculated effort totals were incorrect. Only one of the periods was used (due to the overlapping). This has been fixed and in case of overlapping periods, both are used in the calculation.
Auto generated ad-hoc periode code should be unique - CUR-3468
In the previous release the option was added to automatically generate the code of an ad-hoc period using a self configured formula. This function worked very well and is highly appreciated, the only issue was that the generate function that should automatically generate a trailing value to make the generated code unique was not working as expected. This caused message on 'duplicate code' and prevented the ad-hoc offering from being saved. This has been fixed and the code will be generated unique, preventing duplicate offering codes.
Terminated modules assessments should not be shown in the assessment-report - CUR-3336
The assessment-report template is used to report all assessments in the context of a faculty or programme. It was noted that assessments belonging to modules that were no longer offered (terminated in the selected year) were still showing.
A fix is applied and all assessments that are offered by a terminated module are no longer shown in the assessment-report.
The ad-hoc code should not be editable when set to read-only - CUR-3391
In case the code for offerings was set to read-only, it worked for offerings, but not for ad-hoc offerings. A quick fix would be to make it work independent for the offering type. But looking back in retrospective we realised there were quit some differences in the definition and usage of ad-hoc offerings.
We decided not to go for the quick solution, but to create a new object in the data model, where we now have the offering and the adhoc offering as separate objects. Both sharing their own configuration options, to ease the configuration and not doubting to hide or show fields based on type, select for both type to use read-only or editable.
Reference list management should show the references - CUR-3481
The reference list management (administrator) allows for the definition of conditional lists. In case the full list exceeded 250 items, not all values were selectable for adding to the conditional list. This has been fixed, so configuring conditional
The assessment-report should support filtering for owned and its status - CUR-34xx
The assessment-report is extended with support to filter the display on:
- show owned: show only the assessments owned by the selected object. For module it will be the assessments owned by the module. For programme it will be the assessments for modules owned by the programme
- show all: show all assessments, irrespective if they are owned or not owned
The user can select between the two filter options.
Configuration:
The administrator can configure the default behaviour of the assessment-report page with two new introduced configuration options:
- show all: the report will open, standard showing all the assessments (owned and non-owned).
- show filter: show the filter panel when opening the report (instead of collapsed)
In case a user applies for a role for an educational object, e.g. lecturer on module X, there was no option to highlight the relevant competences. This has been fixed, so the user can select the relevant competences for the application from its personal competence list.
When entering an application or approving an application for a role not only the relevant, but all buttons where shown. This has been fixed, and only the relevant buttons, e.g. approve/reject or cancel/submit, will be shown.
The competences report showed all competences of all users when retrieving the report for a specific department. This has been adjusted and only the users and their competences are shown for the department, instead of all.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Ignored time-blocks should not be exchanged with TE server - CUR-3518
When using periods and time-blocks there is an option to mark time-blocks as 'ignore'. This should prevent these time-blocks to be exchanged to other systems. It was found that the TE server integration didn't filter the 'ignored' time-blocks. This has been fixed, so only the time-blocks that should be exchanged will be sent.
CSV import should support update of assignment fte - CUR-2618
When using the CSV import to upload assignments, the fte value was not correctly processed. A fix is applied to support updating the fte assignment value using the CSV import,
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Address OWASP security vulnerabilities - CUR-3492
Security vulnerabilities addressed:
- CVE-2026-29062(8.7)
- CVE-2026-29062(8.7)
- CVE-2025-68161(6.3)
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.10
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
As an admin I want to use :fte as calculation value - CUR-3429
A new standard calculation option :fte is added for the workload management tasks. This will use the standard contactual assignment of the user. E.g. a user has a contract with the department Law for 40%, then the :fte value is 0.4.
The allocation and assignment should not be set to 100% - CUR-3469
In the previous release an issue was introduced that when performing a recalculation of workload hours was using the 'separate offerings' settings by default. Where the 'separate offerings' should only should be used in specific situations. This caused the allocation and assignment to be set to 100%. This has been fixed, the default is restored and the calculation performed as expected.
The effort list should show correct totals - CUR-3466
In case a task is assigned to a period, and the periods are overlapping, e.g. quarter 1 and semester 1, the calculated effort totals were incorrect. Only one of the periods was used (due to the overlapping). This has been fixed and in case of overlapping periods, both are used in the calculation.
Activity-list used as method tab should show the defined offerings - CUR-3462
In case an activity-list was used as a tab on the method, the message 'no offerings found for this period' was shown. This has been fixed and the activity-list will now correctly retrieve the offerings both in tabular and workflow mode.
It should be able to use hooks or the report from the offering report to update offerings - CUR-3449, CUR-2659
There was no option to do 'bulk' changes to offerings, the only supported option was to change offerings one at a time. In this sprint two options have been added to offer 'bulk' change support:
- Hook: a hook can be defined for offerings, e.g. set a specific value on the offering. The hook can be used from the offering report on the selected offerings.
- Bulk edit: The offering report is extended with support for bulk edit. Columns that are marked for bulk edit are offered as editable fields in the offering report. By selecting the offerings to be 'bulk edited' and change the value, all selected offerings will be changed.
Improved validation of HTML data - CUR-3434
The validation and containment of the HTML data in the HTML editor was not 100% correct, which could lead to a situation where the 'Save' button was not shown. The issue has been solved, and the HTML is correctly validated, contained and can be saved using the 'Save' button.
The notification page should show the relevant roles - CUR-3308
The page-template to manage and sent ad-hoc notifications from a faculty was only showing the roles defined ad module level. This has been changed and the roles available for notifications (study, module) are shown,
Cost calculation should use the method credit values - CUR-3521 (hotfix)
When using the simulation model to calculate the costs effect on your foreseen curriculum changes, executing a new calculation cleared the method assigned credits. Which depending on the formula could be one of the key values to calculate the costs. The cause has been found and hotfixed.
Markdown editor should work - CUR-3522
The markdown editor could cause a freeze of the browser. This has been hotfixed, so the editor can be used without freezing your browser.
Auto generated ad-hoc periode code should be unique - CUR-3468
In the previous release the option was added to automatically generate the code of an ad-hoc period using a self configured formula. This function worked very well and is highly appreciated, the only issue was that the generate function that should automatically generate a trailing value to make the generated code unique was not working as expected. This caused message on 'duplicate code' and prevented the ad-hoc offering from being saved. This has been fixed and the code will be generated unique, preventing duplicate offering codes.
Terminated modules assessments should not be shown in the assessment-report - CUR-3336
The assessment-report template is used to report all assessments in the context of a faculty or programme. It was noted that assessments belonging to modules that were no longer offered (terminated in the selected year) were still showing.
A fix is applied and all assessments that are offered by a terminated module are no longer shown in the assessment-report.
AI translated descriptions should be saved - CUR-3467
When using the AI translation, the texts were translated and put in the corresponding text box. The page however didn't notify the change and the 'Save' button stayed disabled. This has been fixed, and translated and accepted AI texts will enable the 'Save' button,
The ad-hoc code should not be editable when set to read-only - CUR-3391
In case the code for offerings was set to read-only, it worked for offerings, but not for ad-hoc offerings. A quick fix would be to make it work independent for the offering type. But looking back in retrospective we realised there were quit some differences in the definition and usage of ad-hoc offerings.
We decided not to go for the quick solution, but to create a new object in the data model, where we now have the offering and the adhoc offering as separate objects. Both sharing their own configuration options, to ease the configuration and not doubting to hide or show fields based on type, select for both type to use read-only or editable.
Reference list management should show the references - CUR-3481
The reference list management (administrator) allows for the definition of conditional lists. In case the full list exceeded 250 items, not all values were selectable for adding to the conditional list. This has been fixed, so configuring conditional
The assessment-report should support filtering for owned and its status - CUR-34xx
The assessment-report is extended with support to filter the display on:
- show owned: show only the assessments owned by the selected object. For module it will be the assessments owned by the module. For programme it will be the assessments for modules owned by the programme
- show all: show all assessments, irrespective if they are owned or not owned
The user can select between the two filter options.
Configuration:
The administrator can configure the default behaviour of the assessment-report page with two new introduced configuration options:
- show all: the report will open, standard showing all the assessments (owned and non-owned).
- show filter: show the filter panel when opening the report (instead of collapsed)
A required description field should prevent proceeding the workflow when left empty - CUR-3478
In case a description field is configured as 'required', the workflow didn't respect the setting and allowed proceeding without providing a value for the description field. This has been fixed and required descriptions now must have data in order to proceed.
Multi-values should be shown correctly on the general page - CUR-3333
The display of multi-values was broken and had been fixed in the previous sprint. It turned out the fix was not covering all cases, a multi-value field on the general page only shows one value. A fix is made and the multi-value display is working as expected on the general page.
In case a user applies for a role for an educational object, e.g. lecturer on module X, there was no option to highlight the relevant competences. This has been fixed, so the user can select the relevant competences for the application from its personal competence list.
When entering an application or approving an application for a role not only the relevant, but all buttons where shown. This has been fixed, and only the relevant buttons, e.g. approve/reject or cancel/submit, will be shown.
The competences report showed all competences of all users when retrieving the report for a specific department. This has been adjusted and only the users and their competences are shown for the department, instead of all.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
The broker API should not return only the default year - CUR-3479
When using the broker for data exchange with the Study guide, the data synchronisation didn't use the specified year, but synchronised the default year. This has been adjusted, so the specified year will be respected.
The calendar endpoint should provide the uid for periods - CUR-3324
The calendar endpoint result is extended to provide a uid for the periods.
Ignored time-blocks should not be exchanged with TE server - CUR-3518
When using periods and time-blocks there is an option to mark time-blocks as 'ignore'. This should prevent these time-blocks to be exchanged to other systems. It was found that the TE server integration didn't filter the 'ignored' time-blocks. This has been fixed, so only the time-blocks that should be exchanged will be sent.
CSV import should support update of assignment fte - CUR-2618
When using the CSV import to upload assignments, the fte value was not correctly processed. A fix is applied to support updating the fte assignment value using the CSV import,
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Address OWASP security vulnerabilities - CUR-3492
Security vulnerabilities addressed:
- CVE-2026-29062(8.7)
- CVE-2026-29062(8.7)
- CVE-2025-68161(6.3)
Refer to the Curriculum manual for configuration guidance.
New release for Preferences - Bug fixes
The following has been released to the Test environments on March 18th and will reach production next week.
Bug fixes
- Resolved an issue where it was not possible to clear the Padding element setting in Activity settings in the Form Designer
- Resolved an issue where the filters in the Forms list would not work as expected. The filter popup will now stay open until the whole filter has been set. The filter values are also no longer case sensitive
- Resolved an issue where importing collaborators would incorrectly give them the name of the owner of the submission. They are now left blank
- Resolved an issue where the week selector in the All Activities page would default to the incorrect weeks based on the Teaching Period selected. They would show the first week of the Form period rather than the first week of the selected Teaching period
- Resolved an issue where Activity Types would be duplicated in the Form submission when Reviewing imported activities and multiple Activity Type objects were included.
Note:
We have also incorrectly disabled some Activity Settings when Activity Templates are disabled, like the Padding, Weekday and Start time settings. This is incorrect and will be remedied shortly.
New release for Core - Bug fixes
The following has been released to the Test environments on March 18th and will reach production next week.
Bug fixes
- Resolved an issue where sometimes updating exam requests did not produce the expected dialog to confirm the change.
- Resolved an issue where optional and availability related objects were not preserved as expected when editing an object
- Resolved an issue where sometimes filtering in the Replace Object dialog would show the incorrect results
New release of Activity Manager and Data Manager - Bulk edits and Delete Tags
The following has been released to the Test environments on March 18th and will reach production next week.
Improvements
- Deleting Tags in Activity Manager (and soon Data Manager). It is now possible to permanently delete a Tag directly from the Tag search list. This does not fully replace a much desired Tag management page, but is a small feature to help manage old and stale Tags

- When Bulk editing Activities in Data Manager, it is now possible to Find and Replace an Object or Object Filter on all selected Activities. The function will replace the selected object on the activities where it is set. This also works if there are multiple or different objects of the selected type on the Activities.

Bug fixes
- Resolved an issue where sometimes the Send Review Link in the Submissions tab in Activity Manager would return an error.
- Resolved an issue where searching for Tags in Data Manager (and Activity Manager) would not give the expected results
- Resolved an issue where the Drawer (Activity details popout) could sometimes contain old data. It is now refreshed whenever opened.
New release for Viewer - Bugfixes
This release is pushed to test at release date and production a week later.
Bug fixes
- Viewer pages opened via links generated by Schedule Creator were incorrectly cached for 60 minutes for signed-in users (these pages should not be cached for signed-in users). This is now fixed when generating new links.
- On schedule pages where reservations are split by object, the summary at the bottom of the page was calculated incorrectly. This is now fixed.
New release of Activity Manager
Available on 17th of March on Production.
Bug fixes
- Resolved an issue in Activity Manager, where sometimes filtering on Submission, by clicking the yellow filter icon in the Submissions tab, would not work.
New release of Exam
Available on 17th of March on Production.
Naming update
- Our new Exam product has from today been re-named to Assessment, to better reflect the long term vision of the product. Our previous Exam product will continue to be named Exam.
- The name separation will also make it easier to distinquish between the versions across release notes, support tickets and so on.
- As part of the naming update, we have also enabled the ability to run both versions in parallel, making future migrations significantly smoother.
New release Study Guide 2.62
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
Customer logo should be shown - SG-564
A change has been applied in previous sprint that has broken the display of the Logo. This has been fixed, and the customer logo is shown again.
Import jobs incorrectly marked as completed - SG-562
In case the import job to synchronize the data between Curriculum and Study guide failed, it sill showed it was successful. This has been fixed and in case the synchronisation fails, the correct message is shown.
The failure was caused by the faculty not having an externalId. For Study Guide the Faculty externalId is required and therefor for an installation having both Curriculum and Study Guide make sure there is a Faculty externalId in Curriculum.
Module-group descriptions should be shown respecting the configuration - SG-569
The study structure shows all module-group descriptions, but should respect the configuration:
- Default show the visible marked module-group description with the lowest sequence
- In case 'Show all' is set, show all the module-group descriptions when clicked the 'show all' button
This was not the case, and has been fixed to adhere to the above behaviour.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
No security vulnerabilities have been reported that require mitigation.
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release for Viewer - Product selector updated for Viewer and Reserve
- Reserve Icon is removed from the product selector when signing in. This icon used to link to the same page as the Viewer icon, to Viewer entrances. Removing it reduces the amount of information users are presented with making the selection.This change is released to production.
- Going forward, the Reserve icon will be removed from the product selector dropdown menu in the top bar. Also, when you select Viewer, it will open in a new browser tab. This prevents situations where a user navigates to Viewer and then cannot return to the previous product.This change will be released gradually as our different products update the top bar in coming releases.
New release for Viewer - Clearer timezones and more resilient public displays
Timezone information is now always visible in reservation details and the account menu, and error pages will automatically reload every 5 minutes to better support unattended public displays.
This release is pushed to test at release date and production a week later.
Improvements
- Timezone is now always visible in Reservation details and in the Account menu in the top bar (including guest users) to make it clearer to users what timezone is being used.
- Viewer error pages now auto-reload every 5 minutes.
- This is especially useful for public displays, which previously could require a manual refresh after an issue.
Bug fixes
- Fixed an issue where editing multiple reservations could show “&object= is mandatory in URL”.
- Fixed an issue where Hide columns in My bookings did not work.
- Fixed an issue where hovering objects in search results could fail to show additional details.
- Fixed an issue where Info reservations could be included in the AutoCancel process (depending on page configuration), causing confirmation prompts for the person who added the info reservation.
New release of Allocate – Allocate Overview export
This release adds a new export option in Allocate Overview and includes a stability fix for large proposal jobs.
This release is pushed to test at release date and production a week later.
Improvements
Export from Allocate Overview
You can now export the Allocate Overview. The export includes activity-level data for the modules that match your current filter, making it easier to share, analyse, or follow up outside the UI.
Bugs
Allocate Overview crash after large proposal jobs
When applying large proposal jobs, a memory leak could cause the Allocate Overview tab to crash. This has now been fixed.
New Release of Admin
Available on Test for all regions on 10th of March and 17th of March on Production.
- Bulk editing of objects
- Fields
- Memberships
- Relations
- General info
- Organization nodes
- Read more in TE Academy: Bulk edit objects
- Improved user management
- Bulk activate users in UI
- Edit > Activate users
- Bulk activate users in UI
- Bug fixes
- Sorting in user management broke the export
- Week 53 2026 was missing in Periods
- All periods was not visible in UI
- It was not possible to create a new user with a deleted users email
- Long field names were cut off
- Selected objects showed negative values
- Multiple text field was not working, “+” was missing
New release Curriculum 12.9
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Groundwork for version support per offering - CUR-2673, CUR-2674, CUR-2672
The standard behaviour of Curriculum is the support of a version per academic year. E.g., a module is published once a year and during that year the module will be bound to that version. Changes could be made, but they would just overwrite the initial state.
This release the technical groundwork is done for support of multiple versions per year. A version will be bound to an offering, since this is the most logical publishable unit. This will support for instance publishing a version for a module for quarter 1 and a version for the same module for quarter 3.
The definition of changes allowed in a version and changes that require a new module are different per institution and are still applicable. This means that a version can also be a 'new' module. In case a module is offered in a program, the new module will substitute the 'old' one and a new program version is created based on the offering period.
The version support can not only be used for the regular programs following the standard academic year and its periods, but is also applicable to the more commercial oriented short programs or modules. In those cases an ad-hoc offering is used to support the distinct versions of a module between offerings.
For the next release the user experience will be adjusted to ease the creation of a version by a user. Then also the various new configuration options and the behaviour in year roll-over will be explained.
Educational tasks should support display per period or per offering - CUR-3441 (Hotfix)
The previous release a change has been made to support display of the Educational task per offering. With the intention to provide a more detailed overview per offering, e.g., location. This extended detail was not expected and desired by all customer. The original grouping per period was in some cases the desired visualisation.
To support both visualisation the task definition is extended with an option to define the used grouping method. The default behaviour will use the grouped per period, as it was prior to the previous release. The added configuration option can be used per task template to use the offering based display option.
Configuration:
- Open the administration -> educational tasks menu
- For the tasks that can be bound to offerings and the grouping is not desired set 'Separate offerings'
Predefined facilities should be visible on the activity-card - CUR-3412 (Hotfix)
The predefined facilities were no long shown (or at least the data) on the activity card. This has been fixed, so both the label and data are shown for the predefined facilities.
Activity series should not shown an error from other offerings - CUR-3420 (Hotfix)
The validation of data uses in activity series could cause an error not directly related to the offering being managed. This was due to an issue in the validation routine, and is fixed so errors are only shown in case there is an error in the activity-serie being managed.
As a user it should be possible to impersonate another user - CUR-3397 (Hotfix)
The user impersonation was broken and caused a 'server error' when selected. This has been fixed, so if you feel the need to impersonate this is possible again.
Various small usability / user interface issues - CUR-2706, CUR-3339, CUR-3256, CUR-3402, CUR-3424, CUR-3433
- When adding a period, after save the added period is directly shown in the period overview
- The effort template information for numeric values is correctly (right) aligned
- Deletion of a new item is possible without showing an error after a successful delete
- Various messages containing 'unexpected JSON' solved, so the information requested is shown again.
- Highlighting the applied changes to descriptions including formatting in history mode is corrected
A generated field using a formula should be saved - CUR-3401
A custom field using a formula to define the value in a offering context was not saved. This was caused by the formula in the UI was properly executed based on the information at hand, but at save the calculation is performed in the back-end and there the root of the offering information was not correctly set.
A change is made to the validation of the formula and the option to identify a field is bound to an offering. By prefixing the value with offering to specifically define the offering should be used, e.g. take(:(offering)periodId, 2) to use the first two characters of the period for the specific offering.
Roll-over per faculty should keep relations bound to other faculties - CUR-3423
In case a roll-over is performed per faculty, all programs and its related data living within that faculty are rolled over. In case a faculty is rolled over with for instance program relations to modules to another faculty those relations and modules are not copied over.
As a user I want to be able to define a offering period that is before the module start date - CUR-3256
In the previous release support for adding methods to a module where the offering period was starting prior to the module start date. This was only added for methods, and has now been added to the appraisal too.
Configuration:
- Open or create a page based on the appraisal page template
- Set the checkbox 'Ignore validation', to support users to proceed when validation fails.
Datetime parameter should be respected - CUR-3368
The configuration supports the definition of the date (time) format to be used when showing date information. It was noted that defined datetime format was not respected in all cases, especially when entering data the datetime was not adjusted to the configured setting. This has been fixed, and the configured datetime is respected in all cases.
Creating a calendar should not cause an error - CUR-3411
When creating a new calendar and not setting the external ID an error was thrown. Since the external ID is required in the database, the data entry page is modified to require the external ID. The user can now only create (save) a new calendar when all the required fields, including the external ID are set.
Data should not be duplicated on save - CUR-3436
It was found that when using a slow network the save button could be clicked multiple times during the save action. This could cause duplication of the data being saved. A change is applied that will disable the save button while the save is in progress. This will prevent the user to click the save multiple times and cause creation of duplicate data.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
During this release no changes are made that affect the API(s).
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security issues needed mitigation.
Refer to the Curriculum manual for configuration guidance.
New release Workload Management 12.9
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Educational tasks should support display per period or per offering - CUR-3441 (Hotfix)
The previous release a change has been made to support display of the Educational task per offering. With the intention to provide a more detailed overview per offering, e.g., location. This extended detail was not expected and desired by all customer. The original grouping per period was in some cases the desired visualisation.
To support both visualisation the task definition is extended with an option to define the used grouping method. The default behaviour will use the grouped per period, as it was prior to the previous release. The added configuration option can be used per task template to use the offering based display option.
Configuration:
- Open the administration -> educational tasks menu
- For the tasks that can be bound to offerings and the grouping is not desired set 'Separate offerings'
Activity series should not shown an error from other offerings - CUR-3420 (Hotfix)
The validation of data uses in activity series could cause an error not directly related to the offering being managed. This was due to an issue in the validation routine, and is fixed so errors are only shown in case there is an error in the activity-serie being managed.
As a user it should be possible to impersonate another user - CUR-3397 (Hotfix)
The user impersonation was broken and caused a 'server error' when selected. This has been fixed, so if you feel the need to impersonate this is possible again.
A generated field using a formula should be saved - CUR-3401
A custom field using a formula to define the value in a offering context was not saved. This was caused by the formula in the UI was properly executed based on the information at hand, but at save the calculation is performed in the back-end and there the root of the offering information was not correctly set.
A change is made to the validation of the formula and the option to identify a field is bound to an offering. By prefixing the value with offering to specifically define the offering should be used, e.g. take(:(offering)periodId, 2) to use the first two characters of the period for the specific offering.
Datetime parameter should be respected - CUR-3368
The configuration supports the definition of the date (time) format to be used when showing date information. It was noted that defined datetime format was not respected in all cases, especially when entering data the datetime was not adjusted to the configured setting. This has been fixed, and the configured datetime is respected in all cases.
Data should not be duplicated on save - CUR-3436
It was found that when using a slow network the save button could be clicked multiple times during the save action. This could cause duplication of the data being saved. A change is applied that will disable the save button while the save is in progress. This will prevent the user to click the save multiple times and cause creation of duplicate data.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
During this release no changes are made that affect the API(s).
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no security issues needed mitigation.
Refer to the Workload Management manual for configuration guidance.
New Release of Core - Bug fixes
Available on Test on Tuesday the 3rd of March and Production the 10th of March 2026
Improvements
- Resolved an issue where it was possible to dismiss the reservation field dialog even if a mandatory field was not filled in. Also, values are trimmed so that i.e. a lone space is no longer considered a valid field value
- Resolved an issue in manual scheduling from AM, where the cluster calendar would retain the selected weeks when switching from scheduling tracks to scheduling individual activities. The calendar will now show only the week of the selected activity.
- Resolved an issue, where using the arrow keys to move a reservation sometimes didn’t work in the first column of a calendar
- Resolved an issue where clicking a info or availability reservation in a reservation list didn’t successfully show that reservation in the matching calendar
- Resolved an issue where the object lists in the conflict list settings didn’t update the way they should as objects were selected or de-selected.
New release of Autopilot
Available on Test on Tuesday the 3rd of March and Production the 10th of March 2026
Support for Significantly Larger Jobs
The system now handles job sizes more than 10x larger than before, resulting in improved solution quality across most scenarios.
Improvements in our tests for larger, complex activities jobs shows:
- Successfully scheduled activities moved from around ~80% to ~90%, with majority of remaining activies impossible to schedule due to lack of required resources
- Solution rate for previsously failed activities, improved by ~2-10x compared to before
Faster Validation
Validation and optimization are now separated. This significantly reduces the time required to detect invalid input, instead of waiting for the full auto-scheduling process to complete.
Immediate validation is checking for:
- Missing data that is mandatory on the reservation template
- Objects are not existing anymore
- Mismatch between activity and reservation status
Improved Scheduling Quality
Autopilot now applies penalties to less preferred times of day. As a result, it actively avoids scheduling activities in early mornings and late afternoons/evenings when possible
New release of Allocate – UI component update
This release includes a refresh of core UI components, and a fix that makes proposal history more reliable. It does not introduce new end-user workflows, but it improves stability and helps us deliver future improvements faster.
This release is pushed to test at release date and production a week later.
Improvements
- Design component revision: If you pay close attention, you may notice small visual changes. These updates improve accessibility and make the interface more consistent.
Bugs
- If a generating a proposal failed, it could prevent the proposal list from loading. Failed jobs are now shown as failed, and the rest of the list remains accessible.
New release Study Guide 2.61
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Study guide release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
List and Table settings should be respected in search results - SG-555
The behaviour of the main tab showing the list of results can be configured to either use the list or table view. In case the list was defined as the default behaviour it started as table. This has been fixed, and the defined default behaviour is respected.
Next to that if a user toggles their view, the selected display behaviour is stored for the selected page, instead of global for all search result pages.
How to handle Disclaimer, Privacy and other footer links - SG-557
We regularly get questions / remarks that the footer links navigate to the study guide landing page. This was the default behaviour in case no configuration of the desired URL was defined.
This has been changed, and now the footer links will no longer be shown if the URL configuration is set to - (minus).
The footer links are 'labels' and can be configured with the correct URL by the administrator.
- FOOTER.FOOTER.COOKIES.URL
- FOOTER.FOOTER.COPYRIGHT.URL
- FOOTER.FOOTER.DISCLAIMER.URL
- FOOTER.FOOTER.PRIVACY.URL
Expired groups and modules should not be shown - SG-553
Module groups and modules that were rolled over to the next year and after the roll over were given an end data that lies before the start of the year, were still shown in the study structure.
A fix is applied that validates on end data. If the end date of the module or module group is before the start date of the year the module or module-group will be excluded.
The study guide should be configurable to be excluded from search engines - SG-558
A configurable option is added to exclude the study guide from being indexed and searchable via search engines.
This will be done by setting a header on all the pages: <meta name="robots" content="noindex,follow" />
Configuration:
- Set the parameter analytics.disabled to true
The Tab filter should support more complex options - SG-549
The Tab filters only supported simple filtering, e.g. type=BA or type in (BA,MA). The support for filters is extended with support for more complex filter options using and operators.
Configuration
The configuration is 'URL style' where the AND is replaced by an &, for example:
- faculty=FDR&type=BA&modeOfStudy=part-time
Will select all part-time Bachelor studies of the FDR faculty
For direct linking the verb mainTab has been added and can be used in the URL:
- https://<myStudyGuideURL>/studies?mainTab=<myTab>&modeOfStudy=part-time&faculty=ART
Will open the defined tab and show all part-time studies for the ART faculty

Improve UX compliancy for tooltips - SG-560
To improve readability the exclamation icon has been replaced by the question mark icon.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
For more information on reported vulnerabilities, see the central database of vulnerabilities.
Fixed Security Issues - SG-556
Resolved vulnerabilities in third-party libraries:
- CVE-2026-22029 (8.0)
- CVE-2026-25639 (7.5)
- CVE-2025-15284 (8.7)
- CVE-2025-13465 (6.9)
- CVE-2025-66400 (6.9)
- CVE-2025-68470 (6.5)
- CVE-2026-24001 (5.3)
- CVE-2026-2391 (3.7)
- CVE-2025-68458 (3.7)
- CVE-2025-68157 (3.7)
For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.
New release Evaluation 6.34
The release notes provide information on the features and improvements in the specified version. The release dates related to the versions are published in the Evaluation release schedule.
Improvements
New functionality, user experience refinements, and bug fixes. Issues marked as hotfix are developed in this sprint but applied to the previous release or directly to production, depending on impact.
My evaluations should be available in the Hub - EV-406
As part of enhancing the student / user experience for TimeEdit customers a generic portal called Hub is developed. The Hub will eventually be the landing page for users of TimeEdit products, making the different functions per stakeholder in a central page. This will include student where access is provided to schedules, exams, exam rooms, etc. But also for invigilators that can define their availability, see there schedule.
The 'My evaluations' has been added as a selectable function (panel) to add to the Hub. It will provide an overview of all outstanding evaluations for the logged in user, e.g. a student, an external examiner.
Security
An integral part of our development and build process is the automatic scanning for known security vulnerabilities. Fixes are prioritised based on impact: some may require an immediate hot-fix, while others are addressed in the current or next Sprint (release). For more information on reported vulnerabilities, see the central database of vulnerabilities.
During this release no vulnerabilities were reported that needed mitigation.
Refer to the Evaluation manual for configuration guidance.
SOAP API - Input Validation
To help customers prepare for the upcoming SOAP namespace enforcement in Production on March 12, 2026, we are introducing stricter input validation in the test environment.
It will be applied in the test environment today, February 24, and included in the SOAP namespace update taking effect on March 12.
Why this update?
We received feedback that it has been difficult to validate whether SOAP integrations are correctly implemented. Previously, requests with incorrect namespaces or invalid input parameters could execute without clear errors.
What’s changing in test
Effective immediately in the test environment:
Invalid namespaces will return validation errors.
Missing or incorrect input parameters will fail explicitly.
Requests must match the documented SOAP structure.
This makes it easier to verify that your integration is fully compliant before Production enforcement.
What you should do before March 12
Review your SOAP implementation against our documentation examples.
Test all SOAP calls in the test environment.
Ensure requests both succeed and return the expected functional results.
If your integration passes validation in test, it will work correctly once enforcement begins in Production on March 12, 2026.
For questions, please contact support.timeedit.net.
New release Workload Management 12.8
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Planned versus Actual
This new development is part of the Workload Management solution. In this case it is added to the Curriculum release notes to actively point out this new development to Curriculum users having both Curriculum and Workload Management.
This release a first step is made to provide a tighter integration between the planned activities in Workload Management and the schedule activities in Core. This is part of enriching the AOP (Academic Operations Platform) vision in closing the gap between planned, scheduled an as a third layer actual information.
This will provide different options to improve insight to improve curricula and steer on changes between planned and scheduled. It also allows to use combination of planned (non-educational) and scheduled/delivered (educational) data for validation of the workload posed on staff. This again can be used for compensation or other actions to prevent over allocation.
The third pilar of actual hours is also implemented. This to support situations where scheduled is not a 100% correct representation of the actual hours. In those cases the 'authorised' user can define the actuals.
The basic idea is to open up and provide access to planned, scheduled and actual information. The functionality will be extended in the future. This first iteration is focussing on the fundamental ground work including the integration with Core, definition of the pillars planned, scheduled and actual, storing the data for the pillars and providing insight on module and person level.
As a System I want to retrieve reservations from Core - CUR-2666
The first story covers the integration with Core and the retrieval of the reservations for the selected module in Curriculum. The new page template reservation-list is added to support the display of the retrieved reservations.
From a 'user' perspective this is not the most useful report, but just for validating the data retrieved the report is ideal. The relevant information used to match the data with the internal Curriculum data (staff member and activity-type) is shown, including the data to filter (select only the last 2 weeks or last month) and the values for calculation (duration) are shown.

As a user I want to see the scheduled activities for a single module - CUR-2665
From a module perspective, the first story is to get both the planned and scheduled activities in one overview. This overview includes both educational tasks (activities) and non-educational tasks. Based on the selected period the information will be shown.
For the non-educational tasks the hours will be calculated based on the default spread for the selected period. This means in case a module coordinator has 110 hours for a full semester (22 weeks), the hours for a 2 week period are 10 hours.
For the educational tasks (activities) the scheduling based hours are the nett hours, e.g. the duration of the activity. Based on the defined calculation rule for the activity type the calculation of the gross hours will be performed. E.g., an activity of type workgroup with a duration of 120 minutes could be 210 minutes, based on the rule: workgroup hours = 1.5 * duration + 30 minutes preparation.
The calculation can only be done correctly in case the formula is based on the activity hours.
The image below provides an overview of the activities per module, using the worklog page-template. This is the same end result as the report defined under the last story in this section, the report providing a full insight on planned versus scheduled versus actual. In a next iteration the screen will be made configurable to only show the 'desired' information.

As a user I want to see my personal planned and scheduled activities - CUR-2667
This story is similar to the story mentioned above, and uses the same worklog page-template. In this case the information is not shown from the module perspective, but from the users personal overview. This overview includes both educational tasks (activities) and non-educational tasks. Based on the selected period the information will be shown, including the above mentioned calculation method.

As a user I want to define my actual hours, and get them approved by my manager - CUR-3303
Based on the fact that there are cases where the scheduling result is not 100% representing the actual hours for a single user, an additional option is added. This option allows the user to see the personal overview of planned and scheduled, and fill-out an additional column with the actual values.
As said this is not required / desired in all cases, since if scheduling is 100% representing the scheduled is equal to the actual hours. But in cases where the fit is not 100% this allows for defining the actuals.
The definition is steered using the standard processes and workflows, allowing the user to see the planned and scheduled results and define the actuals. The next stakeholder in the process (e.g. HR manager) will validate and approve the changes.
The screenshot below shows the final report of the manager providing an overview of the users, activities and their planned, scheduled and actual result. Hover over the planned or scheduled hours will show the calculation rule used to transform the nett duration of the activity to the actual workload.
An indicator shows if the actual hours have been approved.

As a user I want to have an overview of planned versus actual hours - CUR-2667
As a user I want to get insight in the scheduled versus actual hours for a single module. The implementation got a little out of hand, so the report providing the insight can be used at different levels, e.g. study, module-group and module, and is using the hour-report page-template.
The example below shows the overview from a study perspective. In this case the information of one module is shown. In case the report is used at module level, the view is the same, and only reduced to the selected module.

Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Admin pages look & feel improved & usability improved - CUR-3289
The administrator interface has had a major overhaul. We will not bother you with the list of changes applied, but just show the end result in three pictures.
The admin interface will first open in the traditional way, showing all the options on a single page. Once selected the first admin function the screen will change as shown in the next picture.
- The Admin function will be clearly displayed, including a brief explanation of the function
- A left side menu bar will appear, using the icons used on the main page too.
- At the bottom a new icon appears that supports the unfolding of the side-bar menu.

Once selecting a menu-group option in the left side-bar, the sub menu items appear. Just select the desired sub menu to quickly navigate to another admin function.

The unfold icon on the left bottom can be used to expand the side-bar and show the menu-group names instead of the icons.

Some visualisation issues and bugs addressed - CUR-3323, CUR-3326, CUR-3300, CUR-3325, CUR-3313, CUR-3312, CUR-3297, CUR-3304 (Hotfix)
Along with the above change in appearance some issues introduced in the move of the administration pages to the new look and feel and technology stack have been addressed. Since they were annoying and sometimes considered blocking these have already been hotfixed:
- The admin page should not require two clicks to open
- The breadcrumbs should be shown correctly and be accessible
- The person and tab configuration filter should filter (correctly)
- The configuration menu should not freeze the screen
- The period ribbon configuration should show the root type
- The calendar save should save the (changed) data
- Multi-value fields should be displayed correctly
The year switcher should follow the year of the selected task - CUR-3320 (Hotfix)
In case a task on the dashboard is selected that is not in the currently selected academic year, the year switcher at the top should follow the year of the task. This was technically the case, but the display of the year switcher didn't change along. This has been fixed and the year switcher will follow the task and display the correct year.
As an administrator I want to define a label with a placeholder - CUR-3239
The edit option for labels with a placeholder was broken. When opening such a label, the 'edit' field was shown empty. Only by fully retyping the new label including the placeholder, the text could be changed. This has been fixed, so the active placeholder will be displayed in the 'edit' field and can be changed and saved.
As an administrator I want configure Welsh as UI language - CUR-3352
A new language pack has been installed. Welsh is from this release an officially supported user interface language in Curriculum.
Supported module types in a module-groups should be respected - CUR-3359
The group type configuration can be used to define the supported module types for that module group, including their status (new, existing, new and existing, none). A mix up was made that caused the configuration of existing only to show new, and vice-versa. This has been fixed, and the configuration is respected again.
As a user I should NOT be forced to type a code for an ad-hoc period- CUR-3280
When using ad-hoc offerings, the user is requested to type a code and the start and end date. For an ordinary user it makes no sense to come up with a code, that even has to be unique. The system didn't support any option to automate the generation of a unique code, which is a common practice for all other objects.
A change is applied to supports the configuration of a 'rule' to automatically generate a unique (period) code when using ad-hoc periods.
Configuration:
- Create a page using the offerings template to support ad-hoc offerings
- Set the checkbox 'Adhoc'
- Define the 'Adhoc period formula' that will auto-generate the code
- Set the 'Adhoc period read only' checkbox to disable the option to edit the code

Filter option in activity-list should support empty week - CUR-2567
The activity list filter could cause situation where previous filters were remembered even after clearing the filter fields. This has been fixed, and clearing the field will also clear the filter.
The overall person availability hours should match the sum of hours per month - CUR-2507
The personal overview of a person shows an overview for the person, including the allocated hours. The detail part shows the division of the allocated hours over the different months.
It was noted that the values shown in the monthly view didn't add up to the shown total in the general part. The cause has been identified and the mis-match is solved by using 6 decimals instead of 2 in the calculation.
As a user I want multiple offerings to be calculated consistent - CUR-2654
In case an educational task, e.g. module leader, is assigned to a module that has two offering periods and per offering 2 offerings (e.g. in different locations), the educational task was calculation for the two periods.
This has been adjusted and the calculation of the hours will be based on the (4) offerings, to provide a more consistent and understandable calculation.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
API documentation extended with the related endpoint - CUR-2519
The API documentation on https://developer.timeedit.com/ is extended with information on the usage of the Related endpoint. The related endpoint provides an overview of all related objects, e.g. all related studies for a module (and not only the parent).
API documentation Broker added - CUR-3204
The API documentation of the Broker is added and a new administrator guide to provide more context of the Broker is added to the academy.
API import of persons should support FTE - CUR-3299
The API person service can be used to define a person assignment and the related FTE, however it seemed the FTE update has been broken. This has been fixed and the FTE can again be set for the default year.
The Curriculum -> Data Manager integration configuration should support more characters - CUR-3310
When the configuration definition for a Curriculum to Data Manager mapping of activities exceeded a specific length, an error was thrown. This was not caused by the limit of the configuration field, but by the administrator audit trail. A fix is applied to solve this issue and allow for extensive configuration definitions.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Results mitigation from the security assessment
The regular security assessment has been executed and this time two minor issues has been reported. Both are immediately picked up and mitigated in this version.
- Image upload via the HTML editor should be restricted
- The HTML editor should not support images not hosted by Curriculum
Refer to the Workload Management manual for configuration guidance.
New release Curriculum 12.8
The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
Admin pages look & feel improved & usability improved - CUR-3289
The administrator interface has had a major overhaul. We will not bother you with the list of changes applied, but just show the end result in three pictures.
The admin interface will first open in the traditional way, showing all the options on a single page. Once selected the first admin function the screen will change as shown in the next picture.
- The Admin function will be clearly displayed, including a brief explanation of the function
- A left side menu bar will appear, using the icons used on the main page too.
- At the bottom a new icon appears that supports the unfolding of the side-bar menu.

Once selecting a menu-group option in the left side-bar, the sub menu items appear. Just select the desired sub menu to quickly navigate to another admin function.

The unfold icon on the left bottom can be used to expand the side-bar and show the menu-group names instead of the icons.

Some visualisation issues and bugs addressed - CUR-3323, CUR-3326, CUR-3300, CUR-3325, CUR-3313, CUR-3312, CUR-3297, CUR-3304 (Hotfix)
Along with the above change in appearance some issues introduced in the move of the administration pages to the new look and feel and technology stack have been addressed. Since they were annoying and sometimes considered blocking these have already been hotfixed:
- The admin page should not require two clicks to open
- The breadcrumbs should be shown correctly and be accessible
- The person and tab configuration filter should filter (correctly)
- The configuration menu should not freeze the screen
- The period ribbon configuration should show the root type
- The calendar save should save the (changed) data
- Multi-value fields should be displayed correctly
The year switcher should follow the year of the selected task - CUR-3320 (Hotfix)
In case a task on the dashboard is selected that is not in the currently selected academic year, the year switcher at the top should follow the year of the task. This was technically the case, but the display of the year switcher didn't change along. This has been fixed and the year switcher will follow the task and display the correct year.
As an administrator I want to define a label with a placeholder - CUR-3239
The edit option for labels with a placeholder was broken. When opening such a label, the 'edit' field was shown empty. Only by fully retyping the new label including the placeholder, the text could be changed. This has been fixed, so the active placeholder will be displayed in the 'edit' field and can be changed and saved.
As an administrator I want configure Welsh as UI language - CUR-3352
A new language pack has been installed. Welsh is from this release an officially supported user interface language in Curriculum.
The change log should show values instead of numbers (IDs) - CUR-3338
The change log (history) displays all the changes applied to the curriculum data. The information provides details that show the 'old' and 'new' data. It was found that on assessments level the information for selectable fields was not shown, instead the internal ID was shown. This has been fixed.
Supported module types in a module-groups should be respected - CUR-3359
The group type configuration can be used to define the supported module types for that module group, including their status (new, existing, new and existing, none). A mix up was made that caused the configuration of existing only to show new, and vice-versa. This has been fixed, and the configuration is respected again.
As a user I should NOT be forced to type a code for an ad-hoc period- CUR-3280
When using ad-hoc offerings, the user is requested to type a code and the start and end date. For an ordinary user it makes no sense to come up with a code, that even has to be unique. The system didn't support any option to automate the generation of a unique code, which is a common practice for all other objects.
A change is applied to supports the configuration of a 'rule' to automatically generate a unique (period) code when using ad-hoc periods.
Configuration:
- Create a page using the offerings template to support ad-hoc offerings
- Set the checkbox 'Adhoc'
- Define the 'Adhoc period formula' that will auto-generate the code
- Set the 'Adhoc period read only' checkbox to disable the option to edit the code

As a user I want to be able to define a offering period that is before the module start date - CUR-3256
A request was made to support adding methods to a module in the cased where the assignment of offering periods was starting prior to the module start date. This is a rare case, and could cause down-stream data issues. The process configuration was set-up in such a way that these errors were fixed in a later stage, e.g. by fixing the module start date. And the person assigning the method was not allowed to change the module start date.
To support this situation a additional configuration option has been added to the method-tree template. This option allows to configure the behaviour of the error. Should the error be blocking and prevent from saving the data, or should the error be considered a warning and allow saving the data.
Configuration:
- Open or create a page based on the method-tree page template
- Set the checkbox 'Ignore validation', to support users to proceed when validation fails.
Filter option in activity-list should support empty week - CUR-2567
The activity list filter could cause situation where previous filters were remembered even after clearing the filter fields. This has been fixed, and clearing the field will also clear the filter.
The overall person availability hours should match the sum of hours per month - CUR-2507
The personal overview of a person shows an overview for the person, including the allocated hours. The detail part shows the division of the allocated hours over the different months.
It was noted that the values shown in the monthly view didn't add up to the shown total in the general part. The cause has been identified and the mis-match is solved by using 6 decimals instead of 2 in the calculation.
As a user I want multiple offerings to be calculated consistent - CUR-2654
In case an educational task, e.g. module leader, is assigned to a module that has two offering periods and per offering 2 offerings (e.g. in different locations), the educational task was calculation for the two periods.
This has been adjusted and the calculation of the hours will be based on the (4) offerings, to provide a more consistent and understandable calculation.
Planned versus Actual
This new development is part of the Workload Management solution. In this case it is added to the Curriculum release notes to actively point out this new development to Curriculum users having both Curriculum and Workload Management.
This release a first step is made to provide a tighter integration between the planned activities in Workload Management and the schedule activities in Core. This is part of enriching the AOP (Academic Operations Platform) vision in closing the gap between planned, scheduled an as a third layer actual information.
This will provide different options to improve insight to improve curricula and steer on changes between planned and scheduled. It also allows to use combination of planned (non-educational) and scheduled/delivered (educational) data for validation of the workload posed on staff. This again can be used for compensation or other actions to prevent over allocation.
The third pilar of actual hours is also implemented. This to support situations where scheduled is not a 100% correct representation of the actual hours. In those cases the 'authorised' user can define the actuals.
The basic idea is to open up and provide access to planned, scheduled and actual information. The functionality will be extended in the future. This first iteration is focussing on the fundamental ground work including the integration with Core, definition of the pillars planned, scheduled and actual, storing the data for the pillars and providing insight on module and person level.
As a System I want to retrieve reservations from Core - CUR-2666
The first story covers the integration with Core and the retrieval of the reservations for the selected module in Curriculum. The new page template reservation-list is added to support the display of the retrieved reservations.
From a 'user' perspective this is not the most useful report, but just for validating the data retrieved the report is ideal. The relevant information used to match the data with the internal Curriculum data (staff member and activity-type) is shown, including the data to filter (select only the last 2 weeks or last month) and the values for calculation (duration) are shown.

As a user I want to see the scheduled activities for a single module - CUR-2665
From a module perspective, the first story is to get both the planned and scheduled activities in one overview. This overview includes both educational tasks (activities) and non-educational tasks. Based on the selected period the information will be shown.
For the non-educational tasks the hours will be calculated based on the default spread for the selected period. This means in case a module coordinator has 110 hours for a full semester (22 weeks), the hours for a 2 week period are 10 hours.
For the educational tasks (activities) the scheduling based hours are the nett hours, e.g. the duration of the activity. Based on the defined calculation rule for the activity type the calculation of the gross hours will be performed. E.g., an activity of type workgroup with a duration of 120 minutes could be 210 minutes, based on the rule: workgroup hours = 1.5 * duration + 30 minutes preparation.
The calculation can only be done correctly in case the formula is based on the activity hours.
The image below provides an overview of the activities per module, using the worklog page-template. This is the same end result as the report defined under the last story in this section, the report providing a full insight on planned versus scheduled versus actual. In a next iteration the screen will be made configurable to only show the 'desired' information.

As a user I want to see my personal planned and scheduled activities - CUR-2667
This story is similar to the story mentioned above, and uses the same worklog page-template. In this case the information is not shown from the module perspective, but from the users personal overview. This overview includes both educational tasks (activities) and non-educational tasks. Based on the selected period the information will be shown, including the above mentioned calculation method.

As a user I want to define my actual hours, and get them approved by my manager - CUR-3303
Based on the fact that there are cases where the scheduling result is not 100% representing the actual hours for a single user, an additional option is added. This option allows the user to see the personal overview of planned and scheduled, and fill-out an additional column with the actual values.
As said this is not required / desired in all cases, since if scheduling is 100% representing the scheduled is equal to the actual hours. But in cases where the fit is not 100% this allows for defining the actuals.
The definition is steered using the standard processes and workflows, allowing the user to see the planned and scheduled results and define the actuals. The next stakeholder in the process (e.g. HR manager) will validate and approve the changes.
The screenshot below shows the final report of the manager providing an overview of the users, activities and their planned, scheduled and actual result. Hover over the planned or scheduled hours will show the calculation rule used to transform the nett duration of the activity to the actual workload.
An indicator shows if the actual hours have been approved.

As a user I want to have an overview of planned versus actual hours - CUR-2667
As a user I want to get insight in the scheduled versus actual hours for a single module. The implementation got a little out of hand, so the report providing the insight can be used at different levels, e.g. study, module-group and module, and is using the hour-report page-template.
The example below shows the overview from a study perspective. In this case the information of one module is shown. In case the report is used at module level, the view is the same, and only reduced to the selected module.

Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
API documentation extended with the related endpoint - CUR-2519
The API documentation on https://developer.timeedit.com/ is extended with information on the usage of the Related endpoint. The related endpoint provides an overview of all related objects, e.g. all related studies for a module (and not only the parent).
API documentation Broker added - CUR-3204
The API documentation of the Broker is added and a new administrator guide to provide more context of the Broker is added to the academy.
API import of persons should support FTE - CUR-3299
The API person service can be used to define a person assignment and the related FTE, however it seemed the FTE update has been broken. This has been fixed and the FTE can again be set for the default year.
The Curriculum -> Data Manager integration configuration should support more characters - CUR-3310
When the configuration definition for a Curriculum to Data Manager mapping of activities exceeded a specific length, an error was thrown. This was not caused by the limit of the configuration field, but by the administrator audit trail. A fix is applied to solve this issue and allow for extensive configuration definitions.
Security
An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.
Results mitigation from the security assessment
The regular security assessment has been executed and this time two minor issues has been reported. Both are immediately picked up and mitigated in this version.
- Image upload via the HTML editor should be restricted
- The HTML editor should not support images not hosted by Curriculum
Refer to the Curriculum manual for configuration guidance.
New release of Viewer – Legacy sign-in cleanup
This release includes a cleanup of legacy sign-in functionality and minor improvements.
This release is pushed to test at release date and production a week later.
Improvement
Bugfix
- Graphical view: Collection of grouped reservations could in some cases appear duplicated. This has been fixed.
TLS Security Update - Stronger Cipher Suites
What is changing
TimeEdit already enforces TLS 1.2 or newer, and this remains unchanged.
With this update, we are tightening the set of allowed cipher suites (encryption methods within TLS) on our load balancers. We are moving to a more restricted cipher policy, which excludes weaker cipher suites that are being phased out according to industry best practices.
Supported cipher suites
After this change, the following cipher suites will be supported:
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Why we are doing this
This change improves transport security and aligns with current security recommendations and customer expectations. It reduces exposure to cryptographic weaknesses in outdated cipher suites.Impact
Most clients and integrations will not be affected.
Only very old clients or libraries that rely on deprecated cipher suites may experience connection issues.
Action required
No action is required if your systems support modern TLS configurations (TLS 1.2+ with up-to-date cipher support). If you maintain custom integrations, ensure your TLS libraries are up to date.