Release Notes

Keep up with TimeEdit’s latest product to be the first to know when new releases and updates go live.
Filter
search
Filters
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
October 2, 2026

New release Workload Management 12.23

No items found.

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

New functionality, user experience improvements and bug fixes. Issues marked as Hotfix were developed in this sprint but applied to the previous release or directly to production, depending on impact.


Calculated fields no longer skip values after an empty field - CUR-4235

A field defined by a formula using a calculation (e.g. sum) several fields could store a wrong total when one of those fields was empty. Every value after the empty field was left out, so a report could show a different value than the form. This has been fixed, and an empty field now counts as 0 wherever it appears in the formula.

Needs action: stored values are not corrected automatically.

Fields set to generate Always or On save are corrected the next time the object is saved. For other fields, the advise is to run the Generate value hook after the release.

The hook has been extended with support for fields on relations, and can accept multiple fields to be regenerated by separating the fields by commas.


Ignored offerings are left out of activities and planning - CUR-4344

Offerings marked Ignore no longer appear where activities and teachers are collected per offering in the activity list, grid and card, the teacher pages, the reservation list and the activity groups page.


Ad hoc offerings should follow the defined ad-hoc code pattern - CUR-4200

The automated code generation based on a formula for ad hoc offerings was using the defined pattern for the standard offerings. This has been fixed, and the generated code A pattern configured on the ad hoc offering type therefore had no effect in the structure view or in the offerings on the general tab of a module. This has been fixed, and ad hoc offerings use their own pattern there and on the planboard. A name entered on an offering still takes precedence over the pattern, now on the planboard as well.


Integration

Extensions, improvements and fixes to the integrations: the Curriculum API, OOAPI, CSV import, and the data exchange with Data Manager, Core and the broker.


Bulk import endpoints accept up to 100 objects - CUR-4338

The bulk import endpoint implemented in a previous release was limited to 25 objects. This has been altered and it will accept up to 100 objects per request. See developer.timeedit.com for the endpoints.


Extend Person endpoint with support for items - CUR-3989

The person API returns the items object(s) stored on a person, such as professional development or qualification records. Items are always returned, irrespective of the requested academic year. Expired records will be returned with the end date rather than being left out.

  • Items sent with a person are saved, so they can be added and updated through the API. An import does not remove items created in the application.
  • The start and end date of an item are now included for each endpoint that exports items, for example on modules and studies.


CSV import extended with version for teaching methods and assessments - CUR-4296

The teaching method and assessment CSV imports have two new columns, definition and version. Both values are also included in the import and export API for teaching methods and assessments, as they are for modules.


Security

Our build process scans continuously for known vulnerabilities. Fixes are prioritised by impact: some go out as an immediate hotfix, others in the current or next sprint. See the central database of vulnerabilities for details.

Implemented security fixes - CUR-4214

Based on our standard constant security validation some medium and minor vulnerabilities were identified that have been fixed. This includes update of a number of CVE's, improvement of Token handling and enhanced shielding the monitoring endpoints.


Refer to the Workload Manual for configuration guidance.

Read more
Read less
Open in a new tab
October 2, 2026

New release Curriculum 12.23

No items found.

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

New functionality, user experience improvements and bug fixes. Issues marked as Hotfix were developed in this sprint but applied to the previous release or directly to production, depending on impact.

‍

Calculated fields no longer skip values after an empty field - CUR-4235

A field defined by a formula using a calculation (e.g. sum) several fields could store a wrong total when one of those fields was empty. Every value after the empty field was left out, so a report could show a different value than the form. This has been fixed, and an empty field now counts as 0 wherever it appears in the formula.

Needs action: stored values are not corrected automatically.

Fields set to generate Always or On save are corrected the next time the object is saved. For other fields, the advise is to run the Generate value hook after the release.

The hook has been extended with support for fields on relations, and can accept multiple fields to be regenerated by separating the fields by commas.

‍

A changes report can be limited to specific change categories - CUR-2687, CUR-2383

Support for Change categories is added to the changes page template. Earlier releases added support for the administrator to define change categories, and for instance create a category focussing on specific changes. E.g. only relation changes, relevant study changes with respect to accreditation, etc.

The option is added to create a changes (change report) page with a defined the change category. This allows using a specific, context based overview of changes per workflow.  

Next to the configuration of a specific change report page, the changes report is extended with a Change categories selection. This allows for manual selecting a preconfigured category and apply that as a filter.

‍

The Changes report should default to the selected year - CUR-2689

The Changes report will default opens with the selected year, instead of showing all year information.

‍

Versioning: teaching methods, assessments and new definitions - CUR-4296, CUR-4142, CUR-4143

The versioning has been extended with support for teaching methods and assessments. The behaviour is equal to studies, module groups and modules, with a teaching method or assessment with an external ID is grouped into versions under a definition. The pagea show the version selector and Create new version next to the year selector.

See Curriculum: versioning configuration and usage for the full configuration.

‍

Terminated modules should not be considered in the studyability validation - CUR-3886

A terminated module was still considered in the studyability validation. This has been corrected and the module and its credits will no longer be add to any period total, and it is no longer listed among the modules of the period.

‍

Ignored offerings are left out of activities and planning - CUR-4344

Offerings marked Ignore no longer appear where activities and teachers are collected per offering in the activity list, grid and card, the teacher pages, the reservation list and the activity groups page.:

  • In case the the number of groups of an offering goes down, e.g. the number of students is reduced, the excess of groups are removed, and the user is informed. The removed activity groups page are added to the change history.
  • The group manager screen used in a workflow cannot be closed in case the groups don't match up the calculated number of groups.
  • When the number of groups is increased, e.g. number of students is increased, earlier removed groups are not added. They must be added manually in this case.

‍

Offering based activity group handling optimised - CUR-4289, CUR-4326, CUR-4322

In the previous release (12.22) the option has been added to define activity groups per offering, using the setting schedule.generate_method_groups. A few changes are applied to optimise the group management.

‍

Annual rollover should copy the related objects of subjects - CUR-4164

The rollover did not copy the Related objects of the subjects of a module to the new academic year. This has been fixed.

‍

Ad hoc offerings should follow the defined ad-hoc code pattern - CUR-4200

The automated code generation based on a formula for ad hoc offerings was using the defined pattern for the standard offerings. This has been fixed, and the generated code A pattern configured on the ad hoc offering type therefore had no effect in the structure view or in the offerings on the general tab of a module. This has been fixed, and ad hoc offerings use their own pattern there and on the planboard. A name entered on an offering still takes precedence over the pattern, now on the planboard as well.

‍

Faculty and organisation added to the specifications report - CUR-4196

The specifications report is extended with support for the Faculty and Organisation column, offering support to show the related Faculty / Organisation in the report.

‍

Integration

Extensions, improvements and fixes to the integrations: the Curriculum API, OOAPI, CSV import, and the data exchange with Data Manager, Core and the broker.

‍

Publishing to the curriculum broker should be simplified - CUR-4307, CUR-4256, CUR-4323

The publishing of information to the broker required setting a publication date and then publishing the information in two different steps (hooks). This has been changed by adding two hooks:  Publish object and Unpublish object. The hook will respectively set the publication data and publish to the broker or unset the publication date and 'unpublish' from the broker in one go. Not requiring separate hooks anymore.

‍

Bulk import endpoints accept up to 100 objects - CUR-4338

The bulk import endpoint implemented in a previous release was limited to 25 objects. This has been altered and it will accept up to 100 objects per request. See developer.timeedit.com for the endpoints.

‍

Ignored offerings are not exported and not changed by imports - CUR-4344

The import and export API no longer sends offerings marked Ignore. An import leaves an ignored offering as it is: it is not updated or removed, and incoming data that matches it does not create a duplicate. Deleting an ignored offering through the API is refused.

‍

Extend Person endpoint with support for items - CUR-3989

The person API returns the items object(s) stored on a person, such as professional development or qualification records. Items are always returned, irrespective of the requested academic year. Expired records will be returned with the end date rather than being left out.

  • Items sent with a person are saved, so they can be added and updated through the API. An import does not remove items created in the application.
  • The start and end date of an item are now included for each endpoint that exports items, for example on modules and studies.

‍

‍CSV import extended with version for teaching methods and assessments - CUR-4296

The teaching method and assessment CSV imports have two new columns, definition and version. Both values are also included in the import and export API for teaching methods and assessments, as they are for modules.

‍

Add support for  calendar periods to Reference endpoint - CUR-4355

A request for periods in the reference import API can now include calendar, with the external ID or code of a calendar. This will return the periods of that calendar. Executing the call with only calendar will return a list of all calendars.

‍

Reference import externalId handling improved - CUR-4306

  • A type created earlier without an external ID can be updated again. The import recognises it by its code and fills in the external ID, instead of failing.
  • A reference type import no longer replaces the external ID of an existing type. A row whose ID conflicts with the external ID already stored for that code is rejected with a clear message, and the existing type is left unchanged.

‍

Security

Our build process scans continuously for known vulnerabilities. Fixes are prioritised by impact: some go out as an immediate hotfix, others in the current or next sprint. See the central database of vulnerabilities for details.

‍

Implemented security fixes - CUR-4214

Based on our standard constant security validation some medium and minor vulnerabilities were identified that have been fixed. This includes update of a number of CVE's, improvement of Token handling and enhanced shielding the monitoring endpoints.

‍

See the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
September 25, 2026

New release Evaluation 6.43

No items found.

This release note lists the features, improvements and fixes in this version. Release dates per version are published in the Evaluation release schedule.


On Tuesday 29 September we will deploy a maintenance release with updated third-party libraries and other improvements from our continuous security work. This is in addition to our regular release schedule. No action is required on your part.


See the Evaluation manual for configuration guidance.

Read more
Read less
Open in a new tab
September 25, 2026

New release Study Guide 2.74

No items found.

This release note lists the features, improvements and fixes in this version. Release dates per version are published in the Study Guide release schedule.

‍

A new approach to tabs and filters

Tabs and filters look simple, but they are tricky to get right. We took the time to look at how they worked, how they should work, and which approach would let us add more to them in a stable way later. Thank you for the many feature requests and bug reports on this topic.

The principle is simple: the tab now leads. A tab has its own address, applies its own filter wherever a visitor comes from, and chooses its sidebar filters the same way it chooses its widgets. Until now, much of this was decided by the technical product type behind the tab.

‍

Each main tab has its own address - SG-711

An overview page is now reached at the name of its tab, such as /master, instead of a technical address such as /studies?mainTab=Master. This solves several problems with links to a tab, and gives visitors an address that makes sense to them. Existing links with the old mainTab parameter are redirected automatically.

Action recommended: because the name of a tab is now its address, the upgrade automatically makes tab names lowercase and unique across the catalogue. Review the names under Administration, Tabs, and rename any that do not read well for students.

‍

Each tab chooses its own sidebar filters - SG-740, SG-711,  SG-739, SG-737, SG-743

Until now, sidebar filters were configured per product type. Two tabs listing the same type, such as a Bachelor and a Master tab, always showed the same filters, and a tab could offer options that did not apply to it, such as a minors tab offering every study type. Filters now work like widgets: you define a filter once under Administration, Filters, and choose which filters each tab shows on the Filters pane of the tab under Administration, Tabs. A filter can be used by several tabs.

On upgrade, every main tab starts with the filters its product type had.

  • A filter whose value the tab already fixes, such as the type on a minors tab, is no longer shown in the sidebar. The tab still applies it.
  • Two filters of the same product type can now share a name, so a minor tab and a major tab can each offer their own version of a filter with different options. A tab still holds only one filter of a given name.
  • Under Administration, Filters, a Tabs column shows which tabs use each filter, and clicking a tab name opens its settings. A toggle shows the filters no tab uses, so they can be found and removed. A filter whose product type has no main tab starts out unused.
Image #1
Image #2

‍

A tab's own filter always applies - SG-711

A tab's own filter, such as the qualification type of a Bachelor tab, is now applied wherever a visitor arrives from: the home page, a bookmark or a link, and not only after clicking the tab. It no longer appears in the address or as a filter tag, so a visitor cannot remove it.

  • Filters a visitor chooses narrow the tab's results and never switch to another tab.
  • Filters are remembered per tab for the session, so returning through the back link or the browser's back button shows the list as it was left.

‍

A study or module opens under the tab it belongs to - SG-711

When two main tabs had tab filters that differed only after the first condition, such as a Bachelor and a Master tab that differ in qualification type, a study could open under the wrong tab. A master's programme followed from a module, for example, opened under the Bachelor tab, with that tab's header widgets and back link. Only the first condition of a tab filter was checked; every condition is now checked. When no single tab is a clear match, no tab is highlighted, rather than one being guessed.

‍

What comes next

We are not done yet. Study and module detail pages, for example, are still reached at an address based on the technical product type, such as /studies/ followed by the code, and we are still deciding what suits them best. The filters could still work more intuitively as well. The changes we've made so far will allow us to iterate more easily. We would love to hear how the new tabs and filters work for you, so your feedback can shape the next steps.

‍

More improvements

Modules and groups can be filtered by study - SG-735

A module or group tab can now offer a filter on study. Choosing a study shows the modules and groups in that study's structure, including those shared with other studies. So the filter checks for usages in the structure, not owners. Choosing several studies shows what any of them include, and the filter can be combined with the other filters in the sidebar.

Create the filter under Administration, Filters with value type Product and sub type Study, and add it to the tab on its Filters pane.

Image #3
Image #4

‍

The administration pages have a new look and a new address - SG-743, SG-711,

We are working towards one consistent experience across the TimeEdit products, using the same components in more and more places. This release brings the administration pages of the Study Guide in line and improves the user experience in various ways.

  • Adding or editing an item now opens a drawer that slides in from the right, instead of a window in the middle of the screen. Save sits at the top, so a long form no longer has to be scrolled to be saved, and closing with unsaved changes asks whether to save or discard them.
  • The pages use the full width of the screen, and the row being edited is highlighted.
  • A tab's settings are divided into General, Widgets and Filters panes. A widget's fields have their own Fields tab, and editing a field opens a second drawer on top.
  • Widgets can be searched by name and by label, the label in any language.
  • The windows visitors see, such as print and the filter popup, are unchanged.

The administration pages have also moved under /admin, for example /admin/tabs. Now that tab names are addresses, this keeps them from clashing with a tab and lets them be secured together. Bookmarks to the old addresses are not redirected, as the old name could now belong to a tab, so update them.

Image #5

We also fixed a couple of bugs in the process, such as required asterisks missing and being incorrectly shown, and some options sometimes not saving correctly.

‍

The Study Guide can be shown in French - SG-745

French is now available as a language. The Study Guide offers French in the language switcher, shows the French labels, and follows French conventions for dates and form controls.

To offer French, add FR to the languages parameter under Administration, Parameters, then click Synchronize under Administration, Labels to load the French labels.

‍

Integration

Imports from Curriculum are more robust - SG-741, SG-742

  • An academic year could appear twice in the list of years. When a year's identifier arrived with a leading or trailing space, the next import with the clean identifier did not recognise it as the same year and created a second one. Identifiers of years, references and products are now trimmed on import, and the upgrade trims those already stored. A year that was duplicated before this version is not merged, so the change applies from this version onwards.
  • An import could stop with an error when the data from Curriculum left out a list entirely, such as a study without groups or an organisation without names. A missing list is now read as an empty one, and the import continues.

‍

Security

Our build process scans continuously for known vulnerabilities. Fixes are prioritised by impact: some go out as an immediate hotfix, others in the current or next sprint. See the central database of vulnerabilities for details.

Continued investment in tooling and quality

Ongoing improvements to our automated testing, build pipeline and dependency scanning, so errors and security issues are caught earlier.

‍

See the Study Guide manual for configuration guidance.

Read more
Read less
Open in a new tab
September 25, 2026

New release of Preferences

No items found.

The following has been released to the Test environments on Sep 24th and will reach production next week.

Bug fixes

  • Resolved an issue where sometimes Activity Templates would still be editable, even though “Don’t allow editing” was turned on
  • Resolved an issue where scrolling in the All activities page would sometimes misalign the rows
  • Resolved an issue where sometimes Declined forms could not be Unlocked from the Recipients table
  • Resolved an issue where sometimes week picker elements would show the incorrect weeks
  • Resolved an issue where the Week picker column would be shown in the Activities table even if it was hidden from submitters
  • Resolved an issue where it was possible to design a form where a data source element of the same type as the Primary Object type was mapped as filters on the Activity mapping. This is not a compatible mapping and is now caught in validation when saving the form
Read more
Read less
Open in a new tab
September 25, 2026

New release of Core - bug fixes

No items found.

The following has been released to the Production and Test environments on Sep 24st

Bug fixes

  • Resolved an issue where the search text field for the object list would sometimes not gain focus as objects are added or removed and the selected type changes.
  • Resolved an issue where the waiting list would sometimes display the error message "The search matches too many objects" as the user was changing the search settings for the list.
Read more
Read less
Open in a new tab
September 22, 2026

New release Chippo Configurator 1.3.0

No items found.

The release notes provide information on the features and improvements in the specified version.

New

iOS Chippo Configurator - DEV-9367

We're pleased to announce that Chippo Configurator is now also available for iOS devices. Previously available only on Android, Chippo Configurator can now be used on both major mobile platforms.

Chippo Configurator iOS

Configure Chippos from the app - DEV-9520 & DEV-9583

It is now possible to provision Chippos without going through a separate configuration tool. It works identically to scanning any other Chippo. Tap the scan button, scan the Chippo and give it a name. Afterwards, the card is registered and ready to be used.

Improvements

More consistent Chippo scanning - DEV-9518

Chippo scanning now behaves more reliably across different conditions and devices. On iOS, the scan prompt is also now fully translated and refers to Chippo by name rather than showing a generic system message.

Security improvements - DEV-9543

This release includes security improvements to the Chippo provisioning flow.

Fixes

Unassigned button always visible when unassigned Chippos are present - DEV-9582

The button for viewing unassigned Chippos was sometimes hidden even when unassigned cards existed. It now remains visible whenever there is at least one unassigned Chippo.

Assign button badge count fixed for more than 10 unassigned Chippos - DEV-9582

The assign button could display an incorrect count when more than 10 Chippos were unassigned.


   


 


 

Read more
Read less
Open in a new tab
September 22, 2026

New release of Data Manager

No items found.

The following has been released to the Test environments on Sep 21th and will reach production next week.

New functionality - Not same day constraint

  • Applying the “Not same day” constraint to two or more Activity Series (or Tracks) will instruct the autopilot to not place the included Activities on the same day. This works on a week by week basis.

General improvements

  • In the Select Object dialog, it is now possible to filter on Related objects. Toggling this will show only objects related to other objects on the Activity. Note: Field relations are not supported.

Bug fixes:

  • Resolved an issue where it was sometimes not possible to clear the value of the Start time field on an Activity in Data Manager
Read more
Read less
Open in a new tab
September 21, 2026

New release of Core

No items found.

The following has been released to the Production and Test environments on Sep 21st

Bug fixes:

  • Resolved an issue where the exam plugin would create exams with incorrect start and end times (i.e. two hours off from the actual time of the reservation in Core)
  • Resolved an issue which caused the track list in Core to not properly display custom week names in its weeks column, while scheduling Activity Series from AM.
  • Resolved an issue where drag and drop from the object list to the selection list would not work when multiple objects had been selected.
  • Resolved an issue where Support information descriptions were not shown in the help menu. It is now visible as a tooltip
Read more
Read less
Open in a new tab
September 18, 2026

New release Workload Management 12.22

No items found.

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.

‍

Improved object admin tabs - CUR-3912

The /admin tab of fourteen objects — study, module, module group, faculty, organisation, specification, qualification, assessment, method, assignment, person, team, rule and definition — now all look and work the same way.

Each object used to carry its own hard-coded list on top of the fields you configured: team and organisation showed a fixed set and nothing else, person left out every field an institution had added, and the other objects forced a handful of fields out of sight. The Admin tab now shows all the visible fields configured on the object type, in the order and with the visibility you set on them. Four fields are the exception and are always shown here, whatever the configuration says, because they are what this page is for: the UID, the publication date, the import date and the dispatch date. Those four are now read-only, so they can be read and copied but not edited.

The actions moved into the header of the page - Import, Export, Invoke hook, Restore and Save, with Delete and Delete (+ History) under Actions beside them - and each is shown only where it applies.

‍

Creating and editing a team with custom fields - CUR-4279

The teams administration page at /admin/teams was rebuilt. Creating or editing a team now shows every field configured on the Team object type, now with custom fields included; the previous window listed a fixed set of eight fields, so anything else you added was never shown.

Creating a team goes through the same window as the other create actions, so a create page configured on the object type applies to it too, and editing asks for a motivation where the custom type requires one. The page gained a search box, an Active, Inactive and All filter, and a code that links through to the team.

The team's own tabs and the teams page that can be added to another object keep the previous window for now.

Image #2

‍

Activity groups can be defined per offering - CUR-4192

Groups are how the students taking an activity are divided into parallel deliveries — practical session groups, for example, where a lecture normally has one group and a practical has several. Until now a group belonged to an activity serie, and the number of groups was a single number on the teaching method, so every offering of that method got the same groups. A method offered to 150 students in one semester and 20 in the next could not express that: with a maximum group size of 25 the first needs six groups and the second one.

Groups can now be defined on the teaching method while still differing per offering. The number is worked out for each offering separately, from a formula on the number-of-groups field that can read the offering's own figures — for example the number of students on the offering divided by the maximum group size, rounded up.

For instance, a formula like this can now be configured on the method's numberOfGroups field:

ceil(:offering.totalExpectedParticipants / :maxGroupSize)

Groups are worked out when the groups page is opened and whenever the offering changes, and a workflow step can generate them for every active offering in its period.

Turn it on under Administration -> Configuration by setting schedule.generate_method_groups to true. It is off by default.

  • With the setting off nothing changes. Groups are generated on the activity serie exactly as before, with the same count, the same numbering and the same values, and existing groups keep the activity serie they belong to.
  • Assessments are never affected. Assessment series keep owning their own groups.
  • Groups defined per offering stay inside Curriculum. They appear on the groups page and in the activity group report, but they are not part (yet) of the CSV import and export or the export to Activity Manager, which can only carry a group that belongs to an activity serie. If you run one of those integrations, leave the setting off for now.

The activity groups page and the activity group report were rebuilt at the same time, and that part applies to everyone. Each group is now opened and saved on its own in a window, rather than every group being edited at once behind one save button, and the list is ordered by group number instead of in no particular order. Lowering the number of groups no longer removes what was entered: the groups above the new count are marked as removed and the change history keeps their values. Raising the number again brings back an empty group rather than one carrying values entered for something else — to the person looking at it, a group that reappears is a group nobody has filled in yet.

‍

Simulations - CUR-4111

My simulations at /simulations, Create simulation and Edit simulation were rebuilt. The Simulations group in the academic year menu no longer runs off the bottom of the screen when there are many simulations: it scrolls, and it opens upwards where there is not enough room below. New simulation and Manage simulations moved to the top of that menu, and in the simulation lists each row's edit and delete button now says which row it belongs to, which matters when working with the keyboard or a screen reader.

Working with a removed academic year was tightened up at the same time. Deleting an academic year now clears its default flag, so a deleted year is no longer the configured default and a restored one has to be chosen again. Every switch into a year refuses a year that has been removed, including Back to original on a simulation whose origin year no longer exists. Deleting the simulation you are working in returns you to the default academic year, and when the default year itself has been removed the application falls back to a year you can select instead of starting with no year at all.

‍

Saving could fail for a user who is not an administrator - CUR-4284, CUR-4294 (Hotfix)

On a page that creates a new additional, a user who is not an administrator could get an error on save, with no explanation and nothing stored. It happened only where that page holds fields the user is not allowed to edit: those fields are reset on save, and the reset collided with reading the same set of fields. An administrator may edit everything, so the problem never appeared for one. We've also fixed some other issues related to creating objects.

‍

‍

Copying activities from another offering - CUR-4221 (Hotfix)

The Method schema tab of a module shows its teaching methods and the activities attached to each, and Copy takes the activities of another offering. Three things went wrong. The Amount in the copy window counted the module's own activity series rather than the set about to be copied, so it could read 0 and block the button. A copy that met one row it could not create stopped there and silently left the rest uncopied. And the activity series of a method without a code were skipped altogether, while the copy reported success. All three are fixed, and the copy now reports how many activity series it created. The same Copy window is used on the appraisals tab and on the activity page templates.

‍

Form validation on a submit button is clearer and reachable with the keyboard - CUR-4221 (Hotfix)

On every form in the application, a submit button that cannot yet be used keeps its place in the keyboard order instead of dropping out of it. It still looks and behaves as unavailable, and it now explains which fields are blocking the submit, so the reason reaches anyone working with the keyboard or a screen reader and not only someone who can see the whole form.

‍

Advanced filters for new reports - CUR-4139

The Changes, Assignments, Competences and Applicants reports share one component, so this applies to all four. Each column now has its own filter beside its search box, offering Contains, Exact, Empty and Not empty. Not empty is new; the other three behave as they did. The search box suggests values that occur in that column, eight at a time, saying how many were left out, and boolean columns offer all four options again: Yes, No, No or undefined, and Undefined.

Two things work differently. The Search button in the toolbar is replaced by a Clear button, shown only while something is filtered: the old button cleared the filters when it hid them, so a report opened from a template with stored filters could come back short with nothing on screen to explain why. And because setting a filter has to load every page of the report, there is now a panel above the table showing how far it has got against the total, with a Cancel. The result is kept for five minutes, so typing does not start the loading again.

On the Assignments report the name search moved into a Name column. That one is answered by the server, so it is the first filter on these reports that does not have to load the whole report first. It matches the assignment's code and the person's name as well as the name in the column.

‍

‍

The Changes pages can be configured for consulting instead of reviewing - CUR-4264

The changes-list and changes-report page templates each take two new parameters. Set hide review buttons to true to remove Approve change and Reject change, the bulk toolbar and the selection boxes, while leaving the comments, the replies and the change status untouched. Set read only to true for that plus the reply action. This helps where the right to approve cannot be taken away by permission because an integration depends on it, and the page should still be open for discussion.

Image #6

‍

The Changes pages are easier to read and to work with - CUR-4184

The Changes report, the change drawer and the changes list were reworked. The drawer now opens with General, then Revisions, then the revision you selected, with Approve change and Reject change directly under the properties of that revision and Comments before Statuses.

Selecting a revision moves the highlighted row in the report with it, so the two stay in step, and the status history uses the same row layout as the revisions.

Image #7




Teacher remarks are shown in the Staff availability report and in the API - CUR-4031, CUR-4033, CUR-4114

On the availability preference page a teacher records when they are available to teach, and can add a remark. Schedulers could not see which teachers had left one, because the report showed only the day and time-block choices. Remarks is now a column in the details of the Staff availability report and on the Schedule preferences tab of a person, sortable like the other columns and shortened in the cell with the full text on hover. A remark is recorded once per person and period, so it is the same on every row for that person in that period. The Staff availability report is now also sorted by name by default, rather than by an internal identifier.

The same remark was added to the availability preference endpoint, so an integration receives what the report shows. It is optional: a preference without a remark leaves the field out rather than sending an empty value.

Image #8

‍

Documents can be stored on a person, and stay visible when you switch academic year - CUR-4181

Adding a document through a competence or an applicant workflow failed. A document can now be stored on any object. A person's documents are also no longer filtered by academic year, so they stay visible when you switch year, which matches the way person and competence data already works.

Purging a deleted academic year now removes the documents that were uploaded on that year's objects as well. Before, the purge left them behind, and because they no longer belonged to a year they then appeared in every year.

‍

Saving a competence or an applicant no longer clears the fields the window does not show - CUR-4092

Editing one field on a competence or applicant record could empty the fields the window does not display: the external identifier, the code, the validity dates, and any custom field configured on the object type but not placed on that window. Those values are now sent back unchanged. The rebuilt Admin tabs described above use the same form and are covered by the same fix.

‍

An organisation can now be set on a specification and on a qualification - CUR-4072

A study and a module can be linked to a department through their organisation, and processes follow that link to find the related roles. A specification and a qualification had no such field, so a custom field had to stand in for one and processes at that level could not find the department. Both now carry an organisation next to the faculty they already had — organisationId on the object, an organisation reference in the canonical API, and a column in the CSV import and export that takes the organisation's external identifier or its code.

Worth knowing before you fill it in: access rules and role propagation follow the organisation, so setting one on a specification or qualification lets everyone holding a role on that organisation reach it. It only ever widens access, never restricts it, and the same field is used to resolve process notification recipients and the responsible person for a process. Check your role assignments on the organisation before populating the field across a catalogue.

‍

Integration

Extensions, improvements and fixes to the integrations: the Curriculum API, OOAPI, CSV import, and the data exchange with Data Manager, Core and the broker.

Sending teacher availability to Core no longer stops at the first failure - CUR-4233 (Hotfix)

Availability is sent to Core with Invoke hook, from the report of a process or from a process step. It failed for most rows while part of the data did arrive, which left the export impossible to repeat because Core already held what had been sent. Two separate defects caused it: a successful answer from Core could not be read at all, because it leaves a field empty where a number was expected, and a batch that met a failure stopped the batches behind it. Both are fixed — the remaining batches are now sent, and the failures are reported as one readable line rather than an unreadable error.

‍

Security

Our build process scans continuously for known vulnerabilities. Fixes are prioritised by impact: some go out as an immediate hotfix, others in the current or next sprint. See the central database of vulnerabilities for details.

Implemented security fixes - CUR-4214

Change and feedback data is now returned only to users who may view changes on the object concerned. Every remaining endpoint that reads it, including the report cells that render change content, refuses a user who has been denied access rather than answering with an empty result.

View feedback now includes view changes. A reviewer holding only View feedback sees the Changes tabs, the changes list and the Changes report together with the review discussion; a user holding only View changes sees what changed but not the discussion.

‍

Continued investment in tooling and quality

Ongoing improvements to our automated testing, build pipeline and dependency scanning, so errors and security issues are caught earlier.

Refer to the Workload Manual for configuration guidance.

Read more
Read less
Open in a new tab
September 18, 2026

New release Curriculum 12.22

No items found.

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.

A better look and feel

We are working through Curriculum page by page, improving the look and feel, the layout and the keyboard and screen reader support as we go. A rebuilt page keeps the configuration and the permissions of the page it replaces; what changes is that it is easier to read, easier to work in, and more consistent across our suite.

‍

Planning an advised route through a study - CUR-3196, CUR-3194

An advised route is a recommended path through a study programme — the route a student can follow without having to work out every choice for themselves. Institutions use them to distinguish a September intake from a February intake, or to lay out the paths that lead to different qualifications, and a study normally has several. A route is built from steps, each pointing at a module or a module group and placing it in a phase and an offering.

Two pages carry this. The Planner, at /study/{id}/planner, is where a route is built: it shows the study's module group tree, you switch groups and modules on or off, choose each module's offering and phase, and save the result as the route. The route overview is the read-only result, laid out across the academic calendar; it is a page template an administrator adds to a study. Both were reworked in this release, and the overview now follows the same plan layout as the TimeEdit Study Planner, so the two read the same way. This is where the advised routes themselves are defined: today they leave Curriculum through the API and the CSV import and export, and in time they will be available in the Study Planner as well.

On the Planner:

  • Required groups and modules are preselected and locked, with a tooltip saying so, instead of only carrying an asterisk, so they can no longer fall out of a route by accident.
  • A new Selection rules panel gathers the credits and the qualifications the selection reaches, with the module groups each qualification still requires and a met or not-met status beside it. The rules are stated in words rather than left to colour alone.
  • Credit totals now match what is on screen. A group over its own maximum, or one whose children missed their rules, had its credits silently discarded, so a study could read 30 out of 60 with far more than that selected underneath. Totals now count everything selected, and a group can read as not satisfying its rule while its credits still count.
  • Collapsing a group no longer empties its totals, a group can be opened to look at without selecting it, and there is a select all and deselect all per group plus expand and collapse all.
  • A page can be configured to show extra module fields as columns, each of which also becomes a filter next to Period and Phase.
  • Leaving with unsaved changes now asks properly, offering Cancel, Discard or Save.
  • A custom field configured on a route is now stored. The edit window reported success and the value was gone on reopen; those values now also travel with the CSV import and export and the API.

On the route overview, the table of part of day against period is replaced by a card per phase, a column per period inside it, and a card per planned module showing its code, its name, its part of day and a link to it. Credits are now shown, per module and as a total in each period's heading; a module spanning several periods splits its credits evenly across them.

Image #1
Image #2
Image #3

‍

Creating and editing a team with custom fields - CUR-4279

The teams administration page at /admin/teams was rebuilt. Creating or editing a team now shows every field configured on the Team object type, now with custom fields included; the previous window listed a fixed set of eight fields, so anything else you added was never shown.

Creating a team goes through the same window as the other create actions, so a create page configured on the object type applies to it too, and editing asks for a motivation where the custom type requires one. The page gained a search box, an Active, Inactive and All filter, and a code that links through to the team.

The team's own tabs and the teams page that can be added to another object keep the previous window for now.

Image #4

‍

Activity groups can be defined per offering - CUR-4192

Groups are how the students taking an activity are divided into parallel deliveries — practical session groups, for example, where a lecture normally has one group and a practical has several. Until now a group belonged to an activity serie, and the number of groups was a single number on the teaching method, so every offering of that method got the same groups. A method offered to 150 students in one semester and 20 in the next could not express that: with a maximum group size of 25 the first needs six groups and the second one.

Groups can now be defined on the teaching method while still differing per offering. The number is worked out for each offering separately, from a formula on the number-of-groups field that can read the offering's own figures — for example the number of students on the offering divided by the maximum group size, rounded up.

For instance, a formula like this can now be configured on the method's numberOfGroups field:

ceil(:offering.totalExpectedParticipants / :maxGroupSize)

Groups are worked out when the groups page is opened and whenever the offering changes, and a workflow step can generate them for every active offering in its period.

Turn it on under Administration -> Configuration by setting schedule.generate_method_groups to true. It is off by default.

  • With the setting off nothing changes. Groups are generated on the activity serie exactly as before, with the same count, the same numbering and the same values, and existing groups keep the activity serie they belong to.
  • Assessments are never affected. Assessment series keep owning their own groups.
  • Groups defined per offering stay inside Curriculum. They appear on the groups page and in the activity group report, but they are not part (yet) of the CSV import and export or the export to Activity Manager, which can only carry a group that belongs to an activity serie. If you run one of those integrations, leave the setting off for now.

The activity groups page and the activity group report were rebuilt at the same time, and that part applies to everyone. Each group is now opened and saved on its own in a window, rather than every group being edited at once behind one save button, and the list is ordered by group number instead of in no particular order. Lowering the number of groups no longer removes what was entered: the groups above the new count are marked as removed and the change history keeps their values. Raising the number again brings back an empty group rather than one carrying values entered for something else — to the person looking at it, a group that reappears is a group nobody has filled in yet.

‍

Improved object admin tabs - CUR-3912

The /admin tab of fourteen objects — study, module, module group, faculty, organisation, specification, qualification, assessment, method, assignment, person, team, rule and definition — now all look and work the same way.

Each object used to carry its own hard-coded list on top of the fields you configured: team and organisation showed a fixed set and nothing else, person left out every field an institution had added, and the other objects forced a handful of fields out of sight. The Admin tab now shows all the visible fields configured on the object type, in the order and with the visibility you set on them. Four fields are the exception and are always shown here, whatever the configuration says, because they are what this page is for: the UID, the publication date, the import date and the dispatch date. Those four are now read-only, so they can be read and copied but not edited.

The actions moved into the header of the page - Import, Export, Invoke hook, Restore and Save, with Delete and Delete (+ History) under Actions beside them - and each is shown only where it applies.

‍

Simulations - CUR-4111

My simulations at /simulations, Create simulation and Edit simulation were rebuilt. The Simulations group in the academic year menu no longer runs off the bottom of the screen when there are many simulations: it scrolls, and it opens upwards where there is not enough room below. New simulation and Manage simulations moved to the top of that menu, and in the simulation lists each row's edit and delete button now says which row it belongs to, which matters when working with the keyboard or a screen reader.

Working with a removed academic year was tightened up at the same time. Deleting an academic year now clears its default flag, so a deleted year is no longer the configured default and a restored one has to be chosen again. Every switch into a year refuses a year that has been removed, including Back to original on a simulation whose origin year no longer exists. Deleting the simulation you are working in returns you to the default academic year, and when the default year itself has been removed the application falls back to a year you can select instead of starting with no year at all.

‍

Improvements

New functionality, user experience improvements and bug fixes. Issues marked as Hotfix were developed in this sprint but applied to the previous release or directly to production, depending on impact.

‍

A read-only field with HTML text could not be read - CUR-4162 (Hotfix)

A field can be read only because of its own settings, or because a user does not have the permission to edit it. In the second case an HTML or Markdown field was drawn as a disabled input box one line high, so the text could not be read. It is now shown as formatted, read-only text that grows to fit. One consequence: a Markdown field a user may not edit now shows the formatted text rather than the Markdown source.

‍

Saving could fail for a user who is not an administrator - CUR-4284, CUR-4294, CUR-4251 (Hotfix)

On a page that creates a new additional, a user who is not an administrator could get an error on save, with no explanation and nothing stored. It happened only where that page holds fields the user is not allowed to edit: those fields are reset on save, and the reset collided with reading the same set of fields. An administrator may edit everything, so the problem never appeared for one. We've also fixed some other issues related to creating objects.

‍

The Save button stayed inactive on a create window with nothing left to fill in - CUR-4253 (Hotfix)

This happened only when every field on the window was already filled by the default values configured on the object type, so there was nothing for the user to change: the form counted as untouched and Save stayed disabled. Clearing a value and entering the same one again did enable it. A create window that is complete and valid can now be submitted without typing anything. One that is incomplete or invalid still cannot be submitted, as before.

‍

The create window did not close when it opened an edit workflow - CUR-4228 (Hotfix)

On an object type whose Action after create is set to Open popup, configured at Administration, Custom types, General, the edit workflow opened behind the create window and could not be reached. The create window now closes before the workflow opens.

‍

A cost page can be configured without the option to create modules - CUR-4239 (Hotfix)

On the study-cost page, the window for adding a module offers New and New version next to Existing. Institutions that add only existing modules there can now switch both create tabs off: set hideModuleCreate to true on the study-cost page template in the page editor. A version counts as a new module, so both tabs disappear together. The option is off by default.

‍

Copying activities from another offering - CUR-4221 (Hotfix)

The Method schema tab of a module shows its teaching methods and the activities attached to each, and Copy takes the activities of another offering. Three things went wrong. The Amount in the copy window counted the module's own activity series rather than the set about to be copied, so it could read 0 and block the button. A copy that met one row it could not create stopped there and silently left the rest uncopied. And the activity series of a method without a code were skipped altogether, while the copy reported success. All three are fixed, and the copy now reports how many activity series it created. The same Copy window is used on the appraisals tab and on the activity page templates.

‍

Form validation on a submit button is clearer and reachable with the keyboard - CUR-4221 (Hotfix)

On every form in the application, a submit button that cannot yet be used keeps its place in the keyboard order instead of dropping out of it. It still looks and behaves as unavailable, and it now explains which fields are blocking the submit, so the reason reaches anyone working with the keyboard or a screen reader and not only someone who can see the whole form.

‍

Advanced filters for new reports - CUR-4139

The Changes, Assignments, Competences and Applicants reports share one component, so this applies to all four. Each column now has its own filter beside its search box, offering Contains, Exact, Empty and Not empty. Not empty is new; the other three behave as they did. The search box suggests values that occur in that column, eight at a time, saying how many were left out, and boolean columns offer all four options again: Yes, No, No or undefined, and Undefined.

Two things work differently. The Search button in the toolbar is replaced by a Clear button, shown only while something is filtered: the old button cleared the filters when it hid them, so a report opened from a template with stored filters could come back short with nothing on screen to explain why. And because setting a filter has to load every page of the report, there is now a panel above the table showing how far it has got against the total, with a Cancel. The result is kept for five minutes, so typing does not start the loading again.

On the Assignments report the name search moved into the Name column itself. That one is answered by the server, so it is the first filter on these reports that does not have to load the whole report first. It matches the assignment's code and the person's name as well as the name in the column.

‍

The Changes pages can be configured for consulting instead of reviewing - CUR-4264

The changes-list and changes-report page templates each take two new parameters. Set hide review buttons to true to remove Approve change and Reject change, the bulk toolbar and the selection boxes, while leaving the comments, the replies and the change status untouched. Set read only to true for that plus the reply action. This helps where the right to approve cannot be taken away by permission because an integration depends on it, and the page should still be open for discussion.

Image #9

‍

Changes recorded on a version are now shown in every academic year - CUR-2694

For institutions using versioning. A change recorded on a study or module that is not bound to an academic year kept the year it happened to be made in, so it appeared under that one year while the version itself belongs to every year. This has been fixed, and existing changes are corrected when this version is deployed. A change on an offering keeps its academic year, because an offering belongs to one.

The Changes report of such a study or module also opened empty, because it was limited to the selected academic year. The Limited to year switch now starts off there, and on for a faculty or an organisation, where every change carries a year and the year is the useful limit. The switch itself works as before.

The version switcher now always shows which academic year and which version you are looking at, instead of hiding the choice when there was only one to make, and the version selector appears only on the object types that can hold versions: study, module group and module. How a version is marked as active is unchanged — a version is active when its own start and end dates overlap the academic year you are viewing, not the date of today.

See Curriculum: versioning configuration and usage for the full configuration.

‍

Linking a module to a module group is now shown as a change - CUR-3999

Linking a module under a module group takes effect immediately, but the link never appeared among the pending changes on the Changes pages while Hide empty was set, and opening it showed nothing. A link carries no field values — it is the connection between two objects, not a value that went from one thing to another — and both the list and the detail treated "no values" as "nothing happened".

Adding a link and removing one are now changes in their own right and appear on both. Where there are no field values to show, the detail states that the object was created instead of reporting "No changes compared to the original". A change on the relation between a study and a module is now also named after the module it concerns, rather than carrying a generic heading.

‍

A new module could end up in no module group - CUR-4271

This happened on the Structure tab of a study or module group, and only where the module's object type has Action after create set to Open popup. Add module creates the module and then writes the link that puts it in the group; with that setting the edit workflow opens in between and waits for an answer, and the link was only written once the user had given one. A user who closed the tab or navigated away instead — reasonably, since the module was visibly created and reported as created — left the module in no group. The link is now written before the workflow opens.

‍

The roll over now copies the data on the relation between a study and a module - CUR-4265

A custom field can be configured on the relation between a study and a module inside a module group, for example to record whether a module is condonable. The copy script behind the roll over did not include that relation, so those values came out empty in the new academic year. It now copies them, and so does the script that clones a simulation. Roll overs performed before this version were made with the previous script, so values recorded on the study-module relation will be missing in the years they produced.

The same gap also made deleting fail: removing an academic year, a simulation, a module or a module group could be refused outright once these relations existed, because nothing removed them first. That is fixed as well.

‍

Credits of a module that is not offered are no longer counted - CUR-4160

On the Structure tab of a study or module group, a module that is part of a group but has no offering in the selected academic year — an alternating module taught every other year, for instance — still added its credits to the group total. One rule now decides whether a module counts: it does not when it is terminated, when it has no active offering at all, or, on pages that mark inactive offerings, when it has no offering left in the selected period. The same rule decides whether the module is struck through, so what is shown as not taught and what is counted now agree. The configurable structure page is covered too.

‍

The Changes pages are easier to read and to work with - CUR-4184

The Changes report, the change drawer and the changes list were reworked. The drawer now opens with General, then Revisions, then the revision you selected, with Approve change and Reject change directly under the properties of that revision and Comments before Statuses.

Selecting a revision moves the highlighted row in the report with it, so the two stay in step, and the status history uses the same row layout as the revisions.

Image #10

‍

Saving a competence or an applicant no longer clears the fields the window does not show - CUR-4092

Editing one field on a competence or applicant record could empty the fields the window does not display: the external identifier, the code, the validity dates, and any custom field configured on the object type but not placed on that window. Those values are now sent back unchanged. The rebuilt Admin tabs described above use the same form and are covered by the same fix.

‍

Definitions can carry custom fields - CUR-4092

A definition groups the versions of a study, module group or module under one identifier. As part of the wider work on versioning, a definition can now carry a custom field of its own — an identifier from a source system, for example — kept on its Admin tab, through the reference API and through the reference CSV import. Before this a definition had nowhere to put one: the Admin tab reported a successful save and the value was dropped.

The Versions table on /definition/{id}/general now also marks the version that is active in the academic year you are viewing, rather than the one active today, which is how the version switcher has always read it.

‍

A cost report could fail for a study whose module groups have no description - CUR-4273

Module group descriptions were read under a name that had changed, so they were always empty, and the report failed outright for a study whose groups have no default description. This has been fixed, and the descriptions are read and shown again.

‍

Documents can be stored on a person, and stay visible when you switch academic year - CUR-4181

Adding a document through a competence or an applicant workflow failed. A document can now be stored on any object. A person's documents are also no longer filtered by academic year, so they stay visible when you switch year, which matches the way person and competence data already works.

Purging a deleted academic year now removes the documents that were uploaded on that year's objects as well. Before, the purge left them behind, and because they no longer belonged to a year they then appeared in every year.

‍

Teacher remarks are shown in the Staff availability report and in the API - CUR-4031, CUR-4033, CUR-4114

On the availability preference page a teacher records when they are available to teach, and can add a remark. Schedulers could not see which teachers had left one, because the report showed only the day and time-block choices. Remarks is now a column in the details of the Staff availability report and on the Schedule preferences tab of a person, sortable like the other columns and shortened in the cell with the full text on hover. A remark is recorded once per person and period, so it is the same on every row for that person in that period. The Staff availability report is now also sorted by name by default, rather than by an internal identifier.

The same remark was added to the availability preference endpoint, so an integration receives what the report shows. It is optional: a preference without a remark leaves the field out rather than sending an empty value.

Image #11

‍

Integration

Extensions, improvements and fixes to the integrations: the Curriculum API, OOAPI, CSV import, and the data exchange with Data Manager, Core and the broker.

Loading studies, module groups, modules and reference data in bulk - CUR-4194

Loading a large set of objects meant one call per object. Four new endpoints accept a list instead — /import/v2/study/upsert, /import/v2/module-group/upsert, /import/v2/module/upsert and /import/v2/reference/upsert — taking up to 25 objects per request and answering with a result per object next to the totals, so a partial success can be acted on. Each object is created or updated as a whole, and a module group whose structure cannot be applied is no longer stored in part.

The Import permission is now also enough on its own to import any reference type. Four of them, among them the study type and the module type, additionally required administrator rights, so an integration account holding only Import was refused. See developer.timeedit.com for the endpoints.

‍

Group filters can be sent as a structured model - CUR-4246, CUR-4236

A module group can draw its modules from a filter rather than an explicit list. Over the API that filter was one line of expression syntax, which is awkward to build from an integration and cannot be described in the API documentation. It is now a list of filters under groupFilters and moduleFilters, each with a name, an operator and a value, so an integration works against fields instead of assembling syntax. Numbers are recognised as numbers, filters can be combined with and, or and not, and there are now in and not in operators for matching a value against a set.

This is groundwork for the TimeEdit Study Planner, which will resolve a group's modules from the same filter. The structured form is the API's only; in Curriculum the filter is still edited as an expression on the module group, and what is stored has not changed.

‍

An organisation can now be set on a specification and on a qualification - CUR-4072

A study and a module can be linked to a department through their organisation, and processes follow that link to find the related roles. A specification and a qualification had no such field, so a custom field had to stand in for one and processes at that level could not find the department. Both now carry an organisation next to the faculty they already had — organisationId on the object, an organisation reference in the canonical API, and a column in the CSV import and export that takes the organisation's external identifier or its code.

Worth knowing before you fill it in: access rules and role propagation follow the organisation, so setting one on a specification or qualification lets everyone holding a role on that organisation reach it. It only ever widens access, never restricts it, and the same field is used to resolve process notification recipients and the responsible person for a process. Check your role assignments on the organisation before populating the field across a catalogue.

‍

Sending teacher availability to Core no longer stops at the first failure - CUR-4233 (Hotfix)

Availability is sent to Core with Invoke hook, from the report of a process or from a process step. It failed for most rows while part of the data did arrive, which left the export impossible to repeat because Core already held what had been sent. Two separate defects caused it: a successful answer from Core could not be read at all, because it leaves a field empty where a number was expected, and a batch that met a failure stopped the batches behind it. Both are fixed — the remaining batches are now sent, and the failures are reported as one readable line rather than an unreadable error.

‍

Security

Our build process scans continuously for known vulnerabilities. Fixes are prioritised by impact: some go out as an immediate hotfix, others in the current or next sprint. See the central database of vulnerabilities for details.

‍

Implemented security fixes - CUR-4214

Change and feedback data is now returned only to users who may view changes on the object concerned. Every remaining endpoint that reads it, including the report cells that render change content, refuses a user who has been denied access rather than answering with an empty result.

View feedback now includes view changes. A reviewer holding only View feedback sees the Changes tabs, the changes list and the Changes report together with the review discussion; a user holding only View changes sees what changed but not the discussion.

‍

Continued investment in tooling and quality

Ongoing improvements to our automated testing, build pipeline and dependency scanning, so errors and security issues are caught earlier.

See the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
September 11, 2026

New release of Core - Improved Split Reservation

No items found.

The following was released on the Test environments on Sept 10 and will be available on Production next week


Split Reservation

Splitting reservations in Core (available in the new Exam/Assessment workflow) has received som significant upgrades:

  • Edit all fields on the new Group object that will be created
  • Select individual members to move to the new Group. Filter and sort existing members to find the ones that satisfy some specific criteria and move only them. It's still possible to split the groups members based on desired group sizes only.
  • It's now possible to create a new reservation with the newly created Group directly next to the existing one, so that you can move it to a new time or container at will.


Bug fixes

  • Resolved an issue where the dialogs for adding and removing objects from multiple reservations would only add or remove one object, even if more than one was selected.
Read more
Read less
Open in a new tab
September 11, 2026

New release Evaluation 6.42

No items found.

This release note lists the features, improvements and fixes in this version. Release dates per version are published in the Evaluation release schedule.

‍

Improvements

Participation graph not working - EV-447

The Participation page (#/participation-progress) shows a graph of how many participants started an evaluation per day, over a date range you choose. The graph was not drawn at all, even when there was data for the selected period. This has been fixed, and the graph is correctly shown again. The two date fields above it are now also laid out side by side rather than stacked.


Charts should follow the date filter on the Participation, Signed-in users and Participant sessions pages - EV-445

These three admin pages each show a chart above a list, with both driven by the same date range filter. When the date range was changed, the list below was updated but the chart sometimes kept showing the range that was loaded when the page was opened, so the two no longer described the same period. This has been fixed, and the chart is now redrawn together with the list whenever the filter changes.


Continued investment in tooling and quality - EV-445

We’ve updated and improved the tools we use to develop and maintain Evaluation and its services. This includes improvements to our automated quality checks and updates to the underlying technology, making it easier to keep the application reliable.



See the Evaluation manual for configuration guidance.

Read more
Read less
Open in a new tab
September 11, 2026

New release Study Guide 2.73

No items found.

This release note lists the features, improvements and fixes in this version. Release dates per version are published in the Study Guide release schedule.


Improvements

The catalogue should open in the best language - SG-714

The catalogue can be offered in more than one language, with the available languages and the default set in the parameters. That configuration was not always correctly honored. This has been fixed, and the configured language should now be correctly served.

A reader's own choice now takes precedence over the institution's default: someone who picks English from the language switcher keeps English on later visits even where the default is Dutch, and clearing that choice returns them to Dutch in this case. Where no choice has been made the catalogue follows the reader's browser, as long as it asks for a single language the system offers: a browser set to accept only Dutch gets Dutch, even where the default is English. A browser that is configured to "accept" both English and Dutch will still respect the language.default setting as always.

As part of these improvements, the Swedish language pack has been improved as well.


The number of results per page should be kept when paging - SG-728

Choosing 50 results per page and then moving to the next page returned a page of 10, because the page size was dropped along the way and fell back to its default. This has been fixed, and the page size is kept as you move through the pages. Changing the number of results per page now also takes you back to the first page, since a different page size renumbers the results. The same cause also cleared a filter or a sort order that was re-selected at the value it already had, which is fixed too.


Selected filters should be shown as a label instead of a code - SG-666

The active filters listed above the results sometimes showed the stored code rather than the label, so a student saw "Period: S1" where the filter panel beside it said "Period: Semester 1". This has been fixed, and both now show the label.


Input validation on the values of a number filter - SG-327

Filters let students narrow a list of (for example) modules, and are configured under the admin settings. A number filter, credits being the usual example, takes a list of values that become the selectable options. To make it easier to configure this kind of filter, we've added more input validation and tooltips.


Layout improvements - SG-725

In the previous release, we made a couple of tweaks to layout and styling. Now, a round of spacing and alignment fixes across the catalogue: like increased padding of the search results when expanded, improved icon alignment and hover states, smoother animations when opening modules groups and optimizations for tablets.


Continued investment in tooling and quality - SG-729

We’ve updated and improved the tools we use to develop and maintain Study Guide. This includes improvements to our automated quality checks and updates to the underlying technology, making it easier to keep the application reliable.


See the Study Guide manual for configuration guidance.

Read more
Read less
Open in a new tab
September 4, 2026

New release Workload Management 12.21

No items found.

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.

Changes report doesn't show the actual changes - CUR-4141 (Hotfix)

A role with permission to view changes could open the Changes report but didn't see the actual changes. This has been fixed, a user with the required permission now sees the changes again.

Link types now only offer objects matching the configured source and target type - CUR-3865

When configuring a link type, the object picker could in some specific scenario's offer objects of any type, regardless of the source and target type set on the link type. This has been fixed, so only matching objects are offered.

Faculty and Organization now expose the same Delete options as Study - CUR-4046, CUR-4060

The Delete and Delete (+ History) buttons available on for example Study were missing from the Faculty and Organization admin pages. On top of that, permanently deleting a Faculty or Organisation that was still referenced elsewhere (for example a module using that Organisation, or a Faculty with a configured process) failed with a server error, because the cleanup behind a permanent delete did not clear every reference. Both have been fixed: Faculty and Organization now show the same Delete and Delete (+ History) buttons as Study, and permanently deleting a referenced Faculty (including faculty parameters) or Organisation no longer fails.

Method-report now offers a facultyId column - CUR-4096

The method-report did not offer facultyId as a column, unlike the assessment-report. This has been added, and organisationId and studyId (already usable as filters) are now also available as report columns as well.

Some pages show an access-denied message instead of an empty page when a view permission is missing - CUR-4202

Several migrated pages (including the changes report, changes list, link list, assignments report, competences report, applicants report and workload study report) did not enforce the view permission, so a user without permission could see a blank page instead of a clear message. Each of these pages now requires the same permission and shows an access-denied message when that permission is missing.

It could happen pages showed an error when an assignment had no Organisation - CUR-4207

An assignment or vacancy could end up without an Organisation, which caused a server error on various pages, including on navigation between faculty pages. This has been fixed: the UI now rejects saving an assignment or vacancy without an Organisation, and existing data missing an Organisation no longer causes a crash.

Change report details now open in a drawer instead of a modal - CUR-4105 + CUR-3053

Clicking a row on the change report previously opened the change details in a modal. It now opens in a side drawer, matching the updated design, with general information, the change itself, comments and status transitions grouped into clearly titled sections, and review actions moved to the drawer header.

Image #1

Migrated Reports: several changes - CUR-4137 + CUR-4152 + CUR-3195

Several reports have been migrated this sprint. Following the migration of the changes, assignment, competences and applicants reports to, the column selector was missing several capabilities the previous version had. Select all/deselect all (per column group), drag-and-drop reordering of selected columns (including full keyboard support), and an indicator for which group a selected column belongs to have all been added back. Sort direction now shows as an indicator on the sorted column itself instead of a separate row.

Image #2

Person-report now offers an organisationId column - CUR-4095

The person-report did not offer organisationId as a column, even though the field is available as a custom field elsewhere. This has been fixed, and organisationId is now available as a report column, alongside facultyId.

Default result size for migrated forms increased to 250 - CUR-4155

Search results in the typ eahead pickers used throughout the migrated forms have been increased from the previous default to 250 results.

The Faculty.organisations route didn't give any results - CUR-4097

The faculty.organisations route returned a tab with no data, unlike the equivalent faculties.faculty.organisations route. This has been fixed.

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.

Offering start and end dates were not applied when importing via the canonical integration - CUR-4193

An offering’s start and end dates sent through the canonical integration were read from the wrong place internally and were never applied — they stayed at their previous value regardless of what was sent. This has been fixed, and an imported offering’s start and end dates are now applied as sent.

Needs action: if your integration sends offering start and end dates, those dates will now actually be applied, where previously they were silently ignored. Please verify the dates you send are correct before this release reaches production, since previously-imported offerings will start picking up the sent values instead of keeping their existing ones.

New API endpoint for managing offerings independently of the parent module - CUR-4188

A new canonical endpoint (/api/import/v2/offering) is available to create, retrieve and delete offerings without having to resend the entire parent module.

Export log no longer shows a misleading error when activities send successfully - CUR-4082

Exporting a module to the Activity Manager / Data Manager integration could show an error message in the export log even though the data had already been sent successfully. Every offering with a configured template now sends a request as part of the export, including offerings with no activities, so previously-sent activities can be cleared from Data Manager on a resend. As a result, an offering with nothing to export now shows as a plain ‘Completed’ rather than the ‘No request’ status the previous integration showed for the same case.

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 updates this release.

Refer to the Workload Manual for configuration guidance.

Read more
Read less
Open in a new tab
September 4, 2026

New release Curriculum 12.21

No items found.

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

Two releases ago we introduced the concept of versioning on beta. Since then a couple of customers tested the functionalities. Based on those we made several changes and improvements. We are at a stage we decided to make versioning part of the standard release process from now on. So as part of this release we’ll add versioning tot he main release. Does the mean versioning is completely ready? No, there are still a few more tickets we'll pick up in the coming sprints.

Based on the feedback received we made the following changes improvements related to versioning:

Create a new version while working in a study, module-group or module maintain process - CUR-4093

Previously, creating a new version of a study, module-group or module required leaving the maintain process for that object. A "create new version" option is now available directly from within the process. This can be enabled by using a new versions page template that lists all versions of an object and marks which ones are active. The example below shows all versions of a module and the + button to create a new version based on an existing one.

Image #1

Copy activities from a previous version when creating a new module version - CUR-4010

When a new version of a module is created, the offering was copied to the new version but its activities were not. It is now possible to copy activities from a previous version’s offerings into the new version.

The copy can be made from the activity grid or the activity list page (that didn't change). The amount on the printscreen below shows the amount of activities you're about to copy.

Image #2

Appraisal, assessment, method and method schema data now follows a versioned module correctly - CUR-4098

When a module uses versioning, its appraisal, assessment, method and method schema data isexpected to remain visible in every academic year the version is active in. This has been fixed,so this data is no longer tied to a single academic year when the parent module is version-based.

As an Admin I would like to use the definitionId to generate a code - CUR-4112

This work item involved defining and implementing a formula for generating study codes based on :definitionId. This is now made possible.

Add the field ‘definition’ to reports - CUR-4085

Reports on study, module-group and module can now include the definition as a column. The way to add the column work as it always works. The example below shows the definition column at module level (showing code and name of the definition):

Image #3


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.

Changes report doesn't show the actual changes - CUR-4141 (Hotfix)

A role with permission to view changes could open the Changes report but didn't see the actual changes. This has been fixed, a user with the required permission now sees the changes again.

Link types now only offer objects matching the configured source and target type - CUR-3865

When configuring a link type, the object picker could in some specific scenario's offer objects of any type, regardless of the source and target type set on the link type. This has been fixed, so only matching objects are offered.

Faculty and Organization now expose the same Delete options as Study - CUR-4046, CUR-4060

The Delete and Delete (+ History) buttons available on for example Study were missing from the Faculty and Organization admin pages. On top of that, permanently deleting a Faculty or Organisation that was still referenced elsewhere (for example a module using that Organisation, or a Faculty with a configured process) failed with a server error, because the cleanup behind a permanent delete did not clear every reference. Both have been fixed: Faculty and Organization now show the same Delete and Delete (+ History) buttons as Study, and permanently deleting a referenced Faculty (including faculty parameters) or Organisation no longer fails.

Method-report now offers a facultyId column - CUR-4096

The method-report did not offer facultyId as a column, unlike the assessment-report. This has been added, and organisationId and studyId (already usable as filters) are now also available as report columns as well.

New module-groups now show the relational ‘required’ field on creation - CUR-4163

Adding a module-group or a module in the structure creates two things: the object itself, and the structure relation that places it under its parent. Those relations are study to module-group, module-group to module-group, module-group to module, and study to module, and they carry their own fields, such as Required, Phase and Cluster.

A create page is a page of route form, configured under Pages and selected as the create page on a custom type. It decides which fields a user is asked to fill in.

What it used to do. The modal showed the visible object fields or the create page fields, plus the relation field Required. That list lately drifted away from what was configured: institutions reported that Required was no longer offered on the New tab, and a create page on the module-group left the relation fields out altogether.

What it does now. There is no fixed field list anywhere. Each half of the modal resolves on its own, by the same rule:

the create page configured on that type — or, when there is none, every visible field of that type.

  • No create page on either half: all visible object fields, plus all visible relation fields.

  • A create page on the object type only: the fields on that page, plus all visible relation fields.

  • A create page on the structure relation only: all visible object fields, plus the fields on that page.

  • A create page on both: exactly what is configured, on both halves.

Each section is headed with the type and the create page its fields came from, this clarifies if a remark is for the object, or the relation. A section with nothing configured on it, neither a visible field nor a create page with fields on it, is left out rather than shown empty; for the study to module relation, the relation itself is then not created either!

The same modal is now used from the structure page, the study cost page, the planboard, the dashboard, and the module and group reports. The planboard does not offer the study to module section for now.

Adding a group from the structure page: one section for the group and one for the study to module-group relation, each named after the create page it came from

New in this release

  • Create pages on structure relations, through the new Entity type setting on a form page, so the whole modal can be configured. Make sure to set the Page is usable for field too.

  • The study to module relation is offered as a section of its own.

  • Alternative, Sequence, Description and any custom field defined on a relation can now be shown in the create modal. The relation half used to be fixed to (if visible) Phase, Cluster and Required.

  • Edit in structure on the study cost page. A new page option, showEditInStructure, off by default, adds it to the row menu and opens the same relation modal the structure page uses, just to align the pages a bit more.

  • The Version tab appears on the dashboard and on the module and group reports when versioning is enabled.

The Entity type setting on a form page

Changes to be aware of

  • Modules and module-groups show every visible field when no create page is configured, instead of the old five (code, local name, English name, type and Copy from). The modal can be considerably longer than before.

  • Credits and additional fields are no longer offered automatically. Credits used to appear whether or not anyone had configured them, this is no longer the case. You must now configure these fields through a create page.

  • Study, faculty, organisation, qualification, rule, specification and other types' behavior is out of scope of these changes.

Needs action

1. Configure a create page on the module and module-group types to control which fields are asked at create time, including if desired credits and additional fields. While you can also review on just the visible fields, this is intended as a fallback.

2. Add Copy from to the create page of every versioned type, or make it visible on the type where no create page is used. Without it, a new version cannot be created. Note that for now, the create page for New and Version are the same, so you might want to add a tooltip when to fill it in. We might revisit this later.

Extra fixes

  • One comment covers the object and all its relations. Every type has its own Comment type setting and the strictest decides: optional on a relation makes the comment field appear, required makes it mandatory. This now also holds when placing an existing module-group or module, which previously saved without asking even where the relation was configured as required.

  • A new version needs Copy from. Where that field was unavailable, the Version tab used to create an object that looked like a version but was related to nothing. It now refuses and says why: either Copy from is not enabled on the create page of the type, or it is not configured as visible on the type.

  • The Existing tab matches the New tab. It resolves its relation fields in the same way and notes that the values entered apply to all selected objects. The selection is now first, then the relation fields. Alerts were added to explain that the relation fields apply to the full selection.

  • Groups already on that level are left out. Selecting one again and saving cleared the relation data that had already been configured for that placement. Only the level being added to counts: a group can still be reused under year 1 and again under year 2, a group used deeper in the structure stays on offer, and a group whose placement was removed is available again.

  • Alternative on a module saves. A spelling mistake in the field name meant it was never stored.

  • The phase is saved from the study cost page. That page built its save without the phase, so a phase entered there was silently dropped; the same phase entered on the structure page was stored correctly.

  • The planboard now saves descriptions again

This is a large change to a screen that is used every day, so we would very much like your feedback on it. Please reach out if something does not work as you expect, or if you feel it should be tweaked.

An example configured

At group level we linked create page:

Image #4


Study - Module Group level we did the same:

Image #5

This two pages are then combined as following:

Image #6

Some pages show an access-denied message instead of an empty page when a view permission is missing - CUR-4202

Several migrated pages (including the changes report, changes list, link list, assignments report, competences report, applicants report and workload study report) did not enforce the view permission, so a user without permission could see a blank page instead of a clear message. Each of these pages now requires the same permission and shows an access-denied message when that permission is missing.

It could happen pages showed an error when an assignment had no Organisation - CUR-4207

An assignment or vacancy could end up without an Organisation, which caused a server error on various pages, including on navigation between faculty pages. This has been fixed: the UI now rejects saving an assignment or vacancy without an Organisation, and existing data missing an Organisation no longer causes a crash.

Change report details now open in a drawer instead of a modal - CUR-4105 + CUR-3053

Clicking a row on the change report previously opened the change details in a modal. It now opens in a side drawer, matching the updated design, with general information, the change itself, comments and status transitions grouped into clearly titled sections, and review actions moved to the drawer header.

Image #7

Migrated Reports: several changes - CUR-4137 + CUR-4152 + CUR-3195

Several reports have been migrated this sprint. Following the migration of the changes, assignment, competences and applicants reports to, the column selector was missing several capabilities the previous version had. Select all/deselect all (per column group), drag-and-drop reordering of selected columns (including full keyboard support), and an indicator for which group a selected column belongs to have all been added back. Sort direction now shows as an indicator on the sorted column itself instead of a separate row.

Image #8

Person-report now offers an organisationId column - CUR-4095

The person-report did not offer organisationId as a column, even though the field is available as a custom field elsewhere. This has been fixed, and organisationId is now available as a report column, alongside facultyId.

Default result size for migrated forms increased to 250 - CUR-4155

Search results in the typeahead pickers used throughout the migrated forms have been increased from the previous default to 250 results.

The Faculty.organisations route didn't give any results - CUR-4097

The faculty.organisations route returned a tab with no data, unlike the equivalent faculties.faculty.organisations route. This has been fixed.

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.

Offering start and end dates were not applied when importing via the canonical integration - CUR-4193

An offering’s start and end dates sent through the canonical integration were read from the wrong place internally and were never applied — they stayed at their previous value regardless of what was sent. This has been fixed, and an imported offering’s start and end dates are now applied as sent.

Needs action: if your integration sends offering start and end dates, those dates will now actually be applied, where previously they were silently ignored. Please verify the dates you send are correct before this release reaches production, since previously-imported offerings will start picking up the sent values instead of keeping their existing ones.

New API endpoint for managing offerings independently of the parent module - CUR-4188

A new canonical endpoint (/api/import/v2/offering) is available to create, retrieve and delete offerings without having to resend the entire parent module.


Group type filter support added for study/module-group/module integration - CUR-4170

The integration for defining a group now supports a filter-based group type, in addition to the existing explicit lists of modules and groups (modulesFilter and groupsFilter).

Route endpoint can now be filtered by study - CUR-4088

The route endpoint (/api/import/v2/route) previously always returned routes from every study. It now accepts an optional study parameter to filter the results to a single study.

Export log no longer shows a misleading error when activities send successfully - CUR-4082

Exporting a module to the Activity Manager / Data Manager integration could show an error message in the export log even though the data had already been sent successfully. Every offering with a configured template now sends a request as part of the export, including offerings with no activities, so previously-sent activities can be cleared from Data Manager on a resend. As a result, an offering with nothing to export now shows as a plain ‘Completed’ rather than the ‘No request’ status the previous integration showed for the same case.

Next to generic tickets there are a few versioning related integration tickets:

New API endpoint for managing definitions - CUR-4191

Managing definitions can be done via the existing reference endpoint (/api/import/reference) . A newly created type 'DEFINITION' is available to create, retrieve and delete definitions directly, rather than relying only on automatic creation.

Version added to the canonical for study, module-group and module - CUR-4190

The canonical integration now exposes a version indicator (version) on study, module-group and module, alongside the existing definition field, for tenants using versioning. The previous metadata.versionNumber field remains available for existing integrations.

API support for delivering a plain string as definitionId - CUR-4169

Where an integration only has a definition identifier available as a string, rather than a full definition object, that identifier can now be passed through as-is.

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 updates this release.

Refer to the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
September 3, 2026

New release of Activity Manager

No items found.

The following was released to all Test environments on Sept 2 and will be available on Production next week


General improvements

Activity Export has seen some updates, where only selected activities will be exported. This means that you can filter on a subset of activities, select all and export only those activities, rather than an entire form at a time. Another improvement here is that the export report is now secured behind the regular login, which means that only logged in users can download the report.

It is now possible (for the new assessment workflow) to split the group of an already scheduled activity, which will then create a new not scheduled track. Also, when splitting a group using this feature, or the similar feature in Core (Split Reservation), only the Student members will be kept. All other members will be removed from the new groups

Read more
Read less
Open in a new tab
September 2, 2026

New release of Core and AM

No items found.

The following was released on all Test environments on Sept 1 and will reach Production a week later.


General improvements

Activities are now marked as Not scheduled, when cancelled directly from Core. Any reservation that has been scheduled from Activity Manager will now sync back to AM whenever a user cancels it in Core. This will help users keep an up-to-date list of Activities in AM with the correct Scheduling status

Read more
Read less
Open in a new tab
August 28, 2026

New release Study Guide 2.72

No items found.

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.


The with of module-group description should follow the standard - SG-706

When expanding a study with module-groups having a textual description, e.g. a rule, the description was taking half of the page width. This has been fixed, and the text is using the maximum available page width.


Search typeahead (quick-search) should show a larger result - SG-704

The search typeahead (quick-search) shows the first 10 matches that meet the search criterium, alphabetical sorted. This could cause a situation where a module or study code was entered was not shown. For example if over 10 variants with the same 'code start' were found. Or if a module was search with a common name, e.g. 'basic'. That could lead to > 10 hits, and could cause the student couldn't find the one they were looking for.

From a design and usability perspective, the quick-search is a quick-search and not meant to perform a full search with all bells and whistles. That's where the standard search is meant for.

Based on the issue an the guideline, a change has been made to the behaviour of the quick-search to optimise the behaviour, but still being a quick-search:

  • The quick-search will find the first 50 matches
  • The quick-search will show an indicator if > 50 matches are found, e.g. 50 out of 267 found
  • The quick-search will show the first 10 immediately and provide a scroll-bar to browse the other additional items found

This change doesn't mean that the sketched situation can no longer happen, but the change a part of a code or a vital part in the name of a name exists more than 50 times is slim. And if it happens, the student is actively informed that not all items are shown, and can choose to adjust the quick-search or use the standard search and browse through all results using the pagination options.


Search typeahead (quick-search) should respond 'near immediate'  - SG-719

Our log analyser identified some 'slow quick searches' (4-5 a day) where a student types a few characters and the dropdown with immediate matches was taking 4 seconds or more. The quick search is for 'near immediate' (up to a few 100 milli-seconds) response  of the first matches. The mentioned exceptions are considered too long.  
The log and related search have been analysed and the search has been slightly adjusted. The effect is that the 'slow searches' are  improved to meet the 'near immediate' requirement. Another side-effect is that the other responses have improved too.


Improve robustness of the organisation feed from Curriculum - SG-715 (Hotfix)

Last version the release delivered new functionality to show/filter on organisations. The automated log analyser noted that in some cases an organisation was not properly exchange from Curriculum. The cause has been found and fixed, so organisations will be fed without errors keeping our logs clean. And of course more important make sure all organisations are available in the Study guide.


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.

‍

Read more
Read less
Open in a new tab
August 28, 2026

New release Evaluation 6.41

No items found.

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.

‍

Usage of global and personal feedback in External Examiner should be consistent - EV-438

The External Examiner questionnaires offer two options to deliver feedback on the examined specification or programme. It was found that the different options, usage and related effects for delivering feedback were not clear for the users, not clear enough in the system.

Let's first start with a more in-depth clarification, and then define the change applied, and it's possible effect.

For a specification or programme-level evaluation, there can be one or more External Examiners as participants. Each EE completes their own questionnaire and only sees their own responses. The Programme Leader can then view these responses through the configured report, selecting the relevant participant where there is more than one EE.

An EE can provide two types of feedback:

  • Participant feedback – feedback specifically intended for the selected EE.

  • General feedback – feedback relating to the specification/programme evaluation as a whole, which should be the same regardless of which participant's report is being viewed.

What we have found (bug)

We have identified an issue with the general feedback field shown within the report.

Although this field is presented and intended as general feedback, feedback entered there has in fact been stored against the participant whose report was being viewed at the time. This means that, for an evaluation with multiple EEs, different "general" feedback may currently exist for each participant.

That is not the intended behaviour, and we are fixing this bug.

Depending on permissions/configuration, users may also have access to a separate Feedback tab, which contains the general feedback field. This means users could effectively encounter two places that appeared to be for general feedback, causing interpretation / usage issues.

What we are changing

We are making two changes so that the workflow is clearer and consistent going forward:

  1. The general feedback field in the report will become genuinely general. It will no longer depend on which participant's report is being viewed.
  2. In a next release an option will be added to hide the separate Feedback tab for users. This will allow the report itself to be the single place where EE responses are reviewed and provide both participant-specific and general feedback.

This should give us a much more straightforward workflow and a stable configuration to use going forward.

Action:

Due to the bugfix, it could be that feedback meant as 'generic', has been stored as 'participant'. The change will store and show the data in the correct location, which could mean that the 'generic' intended information is not shown on the report. The possible effected customers will get a message from Support team, to provide more information and a request if reports are effected and what we can do to assist.


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.

‍

Implemented security fixes - EV-437

Based on our daily running security validation, the used libraries with either a critical or high reported vulnerability have been evaluated for impact (false positive validation) and based on the result updated.


Refer to the Evaluation manual for configuration guidance.

Read more
Read less
Open in a new tab
August 25, 2026

New release of Allocate — Saved column settings

No items found.

This release makes student tables in Allocate more consistent by remembering each user’s column settings between sessions. It also tightens which student fields users can access: only fields included in the Allocate configuration will be available.

This release is pushed to test on the release date and to production one week later.

Improvements

  • Saved column settings
    • When users choose which columns to display, and in what order, those settings are now saved between sessions.
    • The same column setup is reused across student-information tables, giving users a more consistent experience and reducing repeated setup.
    • Saved column settings in Allocate
    • Note: Previously, users could display all fields on the student object. This is now restricted to fields that have been actively included in the Allocate configuration. Contact suport to change your configuration if needed.
Screenshot of user changing displayed columns
Screenshot of user changing displayed columns
  • Registration access via Hub
    • Registration has been removed from the product selector shown at sign-in.
    • The recommended way to access Registration is now through the Hub.
    • It is possible to link directly to https://registration.timeedit.dev/<customer_signature> for those customers doing this today.
    • Note: This change was released to production on 2026-08-24.


Read more
Read less
Open in a new tab
August 25, 2026

New release of Outlook integration

No items found.

The following was released to the Test environments on 20th of August and will reach Production the 27th of August.

Improvements

  • Improvements

    • Daily checks for room alias email changes. Room alias emails are now checked daily, allowing the integration to detect when a room's alias email has changed and update the reservation accordingly. A changed room alias email takes effect after the nightly sync. Alternatively, you can manually re-save the related sync settings for the room.

    • Improved Outlook event delivery throughput. Increased concurrency for Outlook event delivery improves overall throughput.


v0.34.0
Read more
Read less
Open in a new tab
August 21, 2026

New release Workflow Management 12.20

No items found.

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 define attributes for scripts - CUR-4064 (Hotfix)

The migration of the script page to the new look and feel, accidentally added a more strict validation on the input fields. This prevented for instance to type the cron execution timing of scripts. This has been fixed, and the input fields can be used as expected.

‍

As a admin I want to search faster for a role  - CUR-4066 (Hotfix)

When searching for a role in the admin tab, the search for the role when using code or externalId was executed after every character typed. This was causing some UX side-effects of waiting and annoyance. This has been fixed, and the search will now wait a little longer to allow for multiple characters to be typed before the search is executed.

‍

The workflow welcome page should respect the alignment - CUR-4068 (Hotfix)

The welcome page didn't respect the alignment set. This has been fixed, and the alignment set will be respected.

‍

The search for relations should be faster  - CUR-4065 (Hotfix)

When searching for relations previous results or no results could be shown. This could be caused due to the previous search was not yet finished. Fixes are applied to wait a number of milliseconds between the character typed and starting the search, giving the use a little more time to type more characters before hitting the search immediately after the typed character. The search has been optimised with a performance boost of up to 5 times.

‍

The assessment type should respect the field settings - CUR-4081

When creating or editing an assessment, the behaviour of the assessment type changeability was hard-coded. It should follow the defined configuration and enable the behaviour to only allow change of an assessment type at create time, and only show the assessment type at edit (or read-only) time. A change is applied and the assessment type behaviour will follow the defined configuration.

‍

UX and WCAG2.2 accessibility improvement update - CUR-3799, CUR-3116,  CUR-4117, CUR-3120

Reported earlier, but just a reminder this is still work in progress. The user interface will gradually be updated (page-by-page) with a new look and feel and user experience. The majority of the administrative pages are done, and the next step is migration of the user-facing pages. There will be a 'freeze' in the process, to prevent changes in the peek time of the different processes. The new pages are automatically and manually tested against WCAG2.2 compliancy.

‍

As a proces manager I should be able to copy the weekly availability to a new period - CUR-3548

The standard behaviour for the weekly availability pattern gathering is to start with an empty pattern, so the user can fill-out their availability for the requested period/semester. To support starting with a filled template based on the previous period/semester a hook is made available.

Configuration:

  • Go to Administration / hooks
  • Define (create) the new hook (select the generate availability preference and give it a description)
  • Use the hook, e.g.:
    • At the first process status, so when starting the hook the availability will be pre-filled
    • From the process manager. his will allow to fill the availability at the end of the process cycle. For instance filter all availability request that have not reach the final status (or are still in the initial status. That means they are not picked-up by the staff member. For those fill the availability using the hook.
Image #1
Configure the hook to support automatic copy of the user availability pattern

When searching a user should be informed the number of search result exceed the 'search limit' - CUR-3906

When using a search from a search box, the information found is shown immediately. The search results are capped at 10, which means a larger search result will stop at 10.  This was not clear for the users, resulting in not finding the information in the list. A change is made to the search results information where the user is informed about the  number of items found and the number of items shown (e.g. 10 of 3475 shown). The message only appears if the search result crosses the paginated search boundary (currently set at 10). The user is aware and can adjust the search to improve the search results.

‍

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 with no duration should not be sent to DM - CUR-3951

Activities can be defined with a no duration.  Since these activities need no scheduling, a choice is made to filter these activities from the DM integration. This means that activities with no or zero duration will not be exchanged to DM.

‍

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-3083, CUR-3862

Based on our daily running security validation, the used libraries with a either a critical or high reported vulnerability have been updated.  

Next to that we solved some minor findings from the internal white box security test.

‍

Refer to the Workload Management manual for configuration guidance.

Read more
Read less
Open in a new tab
August 21, 2026

New release Curriculum 12.20

No items found.

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 define attributes for scripts - CUR-4064 (Hotfix)

The migration of the script page to the new look and feel, accidentally added a more strict validation on the input fields. This prevented for instance to type the cron execution timing of scripts. This has been fixed, and the input fields can be used as expected.

‍

As a admin I want to search faster for a roles  - CUR-4066 (Hotfix)

When searching for a role in the admin tab, the search for the role when using code or externalId was executed after every character typed. This was causing some UX side-effects of waiting and annoyance. This has been fixed, and the search will now wait a little longer to allow for multiple characters to be typed before the search is executed.

‍

Versioning information should only be shown in case versioning is enabled - CUR-4076 (Hotfix)

The implementation of the versioning introduced some new information and warning messages when manipulating module-groups. There should be validation to only show them in case versioning is enabled, but this was not the case. This has been adjusted, and versioning related messages will only show when versioning is enabled.

‍

The workflow welcome page should respect the alignment - CUR-4068 (Hotfix)

The welcome page didn't respect the alignment set. This has been fixed, and the alignment set will be respected.

‍

The search for relations should be faster  - CUR-4065 (Hotfix)

When searching for relations previous results or no results could be shown. This could be caused due to the previous search was not yet finished. Fixes are applied to wait a number of milliseconds between the character typed and starting the search, giving the use a little more time to type more characters before hitting the search immediately after the typed character. The search has been optimised with a performance boost of up to 5 times.

‍

The assessment matrix should show results - CUR-4026

In case an assessment was defined for a module with no offerings, and the assessment was part of the assessment tree of matrix, the page wouldn't show. In a production setting not likely to happen. A change is made to be more forgiving in this two pages for modules with no offerings, so the information will be shown instead of a blank page.

‍

The lexical editor should keep videos in edit mode - CUR-3978

The new lexical (text) editor was loosing a defined video in the text when switching to edit mode. A new text saved the text including video correctly, the preview shows the video, but the switch to edit lost the video. This has been adjusted and the video is kept when switching to edit mode.

‍

The assessment type should respect the field settings - CUR-4081

When creating or editing an assessment, the behaviour of the assessment type changeability was hard-coded. It should follow the defined configuration and enable the behaviour to only allow change of an assessment type at create time, and only show the assessment type at edit (or read-only) time. A change is applied and the assessment type behaviour will follow the defined configuration.

‍

Application change approval should logged in audit log instead of change log - CUR-3941

Administrator changes are registered and shown in the Administrator -> Audit log report. It was noted that some actions (e.g. checking a change as marked 'done') were registered in the standard audit log for curriculum changes. This has been fixed, and the standard audit / change log will solely be used for curriculum (data) related changes.

‍

UX and WCAG2.2 accessibility improvement update - CUR-3799, CUR-3116,  CUR-4117, CUR-3120

Reported earlier, but just a reminder this is still work in progress. The user interface will gradually be updated (page-by-page) with a new look and feel and user experience. The majority of the administrative pages are done, and the next step is migration of the user-facing pages. There will be a 'freeze' in the process, to prevent changes in the peek time of the different processes. The new pages are automatically and manually tested against WCAG2.2 compliancy.

‍

As a proces manager I should be able to copy the weekly availability to a new period - CUR-3548

The standard behaviour for the weekly availability pattern gathering is to start with an empty pattern, so the user can fill-out their availability for the requested period/semester. To support starting with a filled template based on the previous period/semester a hook is made available.

Configuration:

  • Go to Administration / hooks
  • Define (create) the new hook (select the generate availability preference and give it a description)
  • Use the hook, e.g.:
    • At the first process status, so when starting the hook the availability will be pre-filled
    • From the process manager. his will allow to fill the availability at the end of the process cycle. For instance filter all availability request that have not reach the final status (or are still in the initial status. That means they are not picked-up by the staff member. For those fill the availability using the hook.
Image #1
Configure a hook to enable availability pattern copy

When searching a user should be informed the number of search result exceed the 'search limit' - CUR-3906

When using a search from a search box, the information found is shown immediately. The search results are capped at 10, which means a larger search result will stop at 10.  This was not clear for the users, resulting in not finding the information in the list. A change is made to the search results information where the user is informed about the  number of items found and the number of items shown (e.g. 10 of 3475 shown). The message only appears if the search result crosses the paginated search boundary (currently set at 10). The user is aware and can adjust the search to improve the search results.

‍

Audit trail improvements

During the upcoming sprints there will be a revamp of the audit trail reporting options. Based on feedback it is clear the audit trail in its current form requires some updates to make it more useful. The main issue is the fact the audit trail is showing too much information. The audit trail was not configurable and shows the audit log for a specific education object including all changes in the related child object. This means for a study, not only the changes at study level were shown, but also changes to the level of a number of group or room type change on an individual activity. Too much information for validating and approving a curriculum based on the vital changes.

The main change is the option for the administrator to configure so-called 'change categories', e,g. 'relevant study changes for approval'. A change category can be configured in such a way that the relevant educational objects and sub-objects can be selected, so only the changes made to the selection will be in the change report. The administrator can then configure the report to show a specific defined category and use the page in the relevant workflows. The user will have the option to switch between reports with meaningful names, focussing on specific change areas.

Next to this changes, the earlier already mentioned UX (UI) and WCAG2.3 compliancy will be picked up for the audit-trail and its related forms and reports.

‍

Move the change-report to the new UI components - CUR-3120

The first step is the migration of the change-report to the new look and feel using the standard TE UI components. There will be done some additional changes, e.g. to support the selection of the configured 'change category'.

Image #2
The change report is redesigned, including support reporting between dates and over multiple years

As an administrator I want to define change categories - CUR-2686

As already mentioned above, the administrator will get the option to define so called 'change categories'. A  new menu-option is added to the Administration menu to define the Change/Audit categories.

The Administrator can create new categories, as is shown in the image below. Relevant information is:

  • Code: required unique identifier
  • Name: shown to the user in the 'select template' dropdown
  • Overview of the selected change types
  • Option to select more change types, based on the standard object structure and its sub-objects

The example show a 'relation changes' category. The selected reportable changes are bound to the relation for each of the educational object. The report will show only relation changes, based on the context the report is called and authorisation. Context means that if the 'Relation changes' template is used by a program director (study  level), only the relation changes from that study downwards will be shown (module-group, module).

Image #3
The administrator can define custom report templates with defined change types

The defined 'change categories' and their selected change types are listed when opening the administration menu.

Image #4
The custom change report templates are shown in the administration -> change report menu

As a bonus,  at object level the related 'change categories' are shown and clickable for direct navigation. 

‍

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 related api should report object-relation changes - CUR-3998

The related api provides information on the inner-object relations,  e.g. study -> module-group or study -> module. As part of the change to register the relation changes, the api related api is extended to provide the inner-object information,

‍

Activities with no duration should not be sent to DM - CUR-3951

Activities can be defined with a no duration.  Since these activities need no scheduling, a choice is made to filter these activities from the DM integration. This means that activities with no or zero duration will not be exchanged to DM.

‍

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-3083, CUR-3862

Based on our daily running security validation, the used libraries with a either a critical or high reported vulnerability have been updated.  

Next to that we solved some minor findings from the internal white box security test.

‍

Refer to the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
August 19, 2026

New release of Preferences

No items found.

The following has been released to the Test environments on Aug 19th and will reach production next week.

Bug fixes:

  • Resolved an issue where selecting or deselecting weeks in calendar forms would sometimes not work
  • Resolved an issue where the status of Activity generation for submissions would not update when Rejecting or Declining submissions
  • Resolved an issue where the Primary object would sometimes be added as a Shared module
Read more
Read less
Open in a new tab
August 19, 2026

New release for Core

No items found.

The following has been released to the Test environments on Aug 19th and will reach production next week.

Bug fixes:

  • Resolved an issue where the Created by or Modified by fields of a reservation would sometimes be displayed incorrectly
  • Resolved an issue where the Object list would sometimes display a duplicate row at the bottom when selecting objects.
  • Resolved an issue where a placeholder in the selected list (type with no object selected) would be shown as 0 instead of -.
  • Resolved an issue where the info-icon in Container reservations (Exam scheduling) would make it difficult to place reservations. The info icon is now removed from Container reservations when scheduling into them. (Right click → “View info” can be used instead)
Read more
Read less
Open in a new tab
August 17, 2026

New release for Viewer - Improved sign-out and profile switching support

No items found.

This update was released to test 2026-08-17, and will be released to production 2026-08-24

  • Viewer is now aligned with the TimeEdit authentication system. When a user signs out or switches profile, Viewer will reflect the change the next time the page is updated.

Read more
Read less
Open in a new tab
August 14, 2026

New release Study Guide 2.71

No items found.

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.

‍

Period view should show highlight the offering periods - SG-705 (Hotfix)

An issue was introduced, not highlighting the module offering period anymore. This has been fixed and the offered period is shown correctly again.

Image #1
Offering period is shown again in the period view

The display order of module-groups in the structure should follow the Curriculum order  - SG-703

The order the module-groups are shown in the structure overview of the study is different from the order shown in Curriculum. In case module-groups are assigned a sequence and one of them is not having a sequence, in Curriculum the 'empty' sequence is always shown last. In Study guide it was shown first. 

A change is made to use a standard (and same) ordering mechanism. The ordering in Study guide will follow the ordering used in Curriculum, and the module-groups with an 'empty' sequence will be positioned at the bottom of the structure.

‍

The amount of pages should be recalculated when adjusting a filter - SG-701

In case a filter is applied with result spanning multiple pages, the page navigation supports travelling the pages. When you are for instance at page 3, and apply an additional filter, the number of results is adjusted and could lead to having less results. Since the 'page' was kept, this could cause the situation that if the number of results was less than 3 pages, no results were shown.

A fix is made to 'reset' the page when adjusting the filter, and the user will start again on page 1 and more important see the results.

‍

As a user I want to filter on organisations - SG-561

The configuration of filter options didn't offer using the organisation as a filter. In case the organisation was used to relate educational objects (e.g. studies) to an organisation, these couldn't be filter. The option is added for the administrator to configure a new filter based on the organisation.

The organisation filter, based on the organisations defined in our test environment

Configuration

The definition is similar to the definition of all other filters, define the filter and select the newly made available ORGANISATION entity type.

Additional action

When using the Broker to feed the Study guide the action to be performed is:

  • Publish (via hook) the organisations to the Broker
  • Synchronise (import) the data into the study guide so the organisations will be added to the data set. The advise is to wait for the next day to have them in the system based on the nightly synchronisation job.

‍

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.

‍

Read more
Read less
Open in a new tab
August 6, 2026

New release of Outlook integration

No items found.

The following was released to the Test environments on 6th of August and will reach Production the 13th of August.

This release improves synchronization performance, reliability, security, and configuration clarity for the Outlook calendar integration.

Improvements

  • Faster handling of reservation changesThe system has been prepared to handle increased concurrency when reservation changes are synchronized with Outlook. This will help busy periods clear more quickly.
  • Steadier syncing for busy Outlook calendarsSynchronization of concurrent requests for the same Outlook user has been improved across the system. This helps keep requests within Outlook’s rate limits, resulting in improved throughput for each Outlook user.
  • User ID removed from the Outlook configurationThe User ID field was no longer used and has therefore been removed from the Outlook configuration.

Fixes

  • Fixed subject length issueSubjects containing certain accented letters, emojis, or other special characters were previously truncated incorrectly. This has now been fixed.

Security

  • Security updateFindings from a security audit have been resolved, and third-party dependencies have been updated to patched versions.


v0.33.1

Read more
Read less
Open in a new tab
August 4, 2026

New release for Reserve - Copy to other dates suport custom weeknames

No items found.

This release is pushed to test at release date and production 1 week later

Improvement

  • The Copy reservations dialogue now supports custom week names.
Screenshot of Copy to other dates dialogue, with custom weeknames

   
       
Screenshot of Copy to other dates dialogue, with custom weeknames
  • Improved the reservation flow so the view reloads only when the confirmation dialogue is closed. This prevents the view from jumping while a reservation is being created.
  • Improved protection against malicious JavaScript injection by replacing ' characters with ʼ instead of removing them.

Bug fixes

  • Fixed an issue where the configured field order under Search was sometimes not saved.
  • Fixed an issue where an invalid username could create a broken entry in the Autocancel log.

Bug fixes (patched to test environment 10-08-2026)

  • Fixed an issue where unavailability was not shown in the Copy to other dates dialogue
  • Fixed an issue where wrong time was selected in the reservation dialogue when clicking on a time in the UI. Time zone information was also added to the dialogue to align with other parts of the UI and avoid confusion for users reserving resources in different timezones then their own setting.

‍

Read more
Read less
Open in a new tab
August 4, 2026

New release for Viewer - General improvements

No items found.

Improvements

  • Improved the message shown when a search returns too many matching objects. The message now explains what happened and how the user can refine the search.
Screenshot of errormessage
Screenshot of errormessage


  • Improved protection against malicious JavaScript injection by replacing ' characters with ʼ instead of removing them.

Bug fixes

  • Fixed an issue where “About TimeEdit” could not be opened more than once.

Read more
Read less
Open in a new tab
July 28, 2026

New release of Outlook integration

No items found.

The following was released to the Test environments on 16th of July and will reach production the 4th of August.

Improvements

  • Support for alias email addresses, allowing rooms to be booked in Outlook with any of its addresses and still be recognized by the Outlook -> TimeEdit synchronization.
    • IMPORTANT: To allow fetching the alias email addresses, the new permission User.Read.All is required for the Microsoft Graph application.


Image #1

Bug fixes

  • Corrections to the Outlook event validation of the Outlook -> TimeEdit synchronization, which sometimes caused discarded events.
Read more
Read less
Open in a new tab
July 24, 2026

New release Workload Management 12.19

No items found.

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.


Notifications are duplicated when using teams - CUR-3956 (Hotfix)

In case notifications are sent from a process to a team with not generic team email, the email was sent to each of the team members. That was OK, but since the de-duplication was not implemented correctly, the number of notification sent to the each member was equal to the number of members in the team. E.g. 5 members ment that each individual member would get 5 notifications. This has been fixed, and each member will get one notification.


In case multiple offerings for a period, both should be shown in the workflow - CUR-3868 (Hotfix)

The case multiple offerings are defined for the same period, in the workflow activity-overview only the first offering was shown. This has been fixed, and activity-overview will show all offerings both in the structure page and the workflow page.


As a manager I want to have access to the uploaded proof for a user competence - CUR-3924 (Hotfix)

In the last version the upload of documents as proof of a person competence has been added. The competence-report was not yet updated (accidentally missed this), so the report was not accessible in the report. Several changes have been made to the competences report, that amongst others solves the reported issue:

  • Add the option to configure the fields to be shown in the competence report by the admin. Using the standard drag and drop, the fields to be shown in the report can be configured.
  • Add the option for users to create their own template definition.
  • Document fields show the name of the document and are clickable to view the document content


As a user with a new HR role, delete of old WLM tasks must be supported - CUR-3770

When using tasks bound to HR/Contract roles, these tasks are automatically generated for the user. In case the user gets a new role, a change of contract is expected. Which means the old contract is ended and a new is started. In case the role change was made on the current contract, the generated tasks generated for the old role were not deleted. A change is made to cover for this case. The generated tasks are not automatically deleted, but can be deleted manually.

The reason for the manual delete is that automatic deletion feels like 'magic', for a use case not happing very often. By giving control to the responsible person to delete the task, this is less magical.


The process manager filter should respect the validity of roles and persons - CUR-3870

The role filter in the process manager returned not only results for the selected year, but also from previous years. A change is made to only return persons with that role in the selected academic year.


As a user I don't want to see the copy button for each person - CUR-3321

The relation page shows a copy button next to each person or role, to allow copy the person or full role person list. The button is cluttering the page and is not the best user experience. We decided to remove the button, but not the functionality. The copy function is still available, but only appears when hovering (mouse-over) a persons name or the role.


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.


Publishing the staff availability to TE Server should be more verbose - CUR-3943

In case errors occurred when publishing availability to TE server, the error message was not very helpful. It showed the number of failures and the exceptions. In case of a list of errors, the majority is caused due to already existing availabilities that cannot be altered, or a non-existing user.

Several changes have been made to optimise the data exchange and the error reporting:

  • The integration chopped the data exchange in blocks of 5 users and their availability. In case one in the block failed, the rest was skipped and all were marked as failed. A change is made that in case of an error of one, the rest will still be processed, limiting the amount of 'errors'.
  • The error will show the names of the first 10 failing users, to easily identify the affected users and perform a cross-check in TE server for the user.


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-3972, CUR-3983, CUR-3861, CUR-3949, CUR-3922

Based on an audit performed a few weeks ago, the high issues were immediately fix. This sprint the majority of the medium and low issues have been solved.


Refer to the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
July 24, 2026

New release Curriculum 12.19

No items found.

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

A first release of the versioning update has been made available to selected customers. Information on the versioning system (work in progress) can be found in the academy.

The versioning release is only available in the 'beta' environment and will be a separate system, next to the already existing systems. This means that technically the versioning is not part of the standard release, and will not affect acceptance and production environments.

The 'versioning' system in beta will allow customer to test the versioning in a closed environment. At request this system will be fed with production data, so real life scenarios on own production data and configuration can be tested. The test-cycle will be supported by an implementation manager, that is available for questions, will gather feedback (errors, UI-improvements, etc). These will be picked up in the next sprints. Once the versioning is stable, all known errors are solved, the function will be merged into the standard Curriculum version. From that moment the functionality is available for all, and will follow the standard release mechanism.

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.


Notifications are duplicated when using teams - CUR-3956 (Hotfix)

In case notifications are sent from a process to a team with not generic team email, the email was sent to each of the team members. That was OK, but since the de-duplication was not implemented correctly, the number of notification sent to the each member was equal to the number of members in the team. E.g. 5 members ment that each individual member would get 5 notifications. This has been fixed, and each member will get one notification.


As a user I want to edit items on an item-page - CUR-3931 (Hotfix)

The edit button on an item-page was shown greyed out, and was not accessible. This was limited to items having a field of type Time. The issue is solved, and the edit is now also accessible if there is a Time field defined for an item.


In case multiple offerings for a period, both should be shown in the workflow - CUR-3868 (Hotfix)

The case multiple offerings are defined for the same period, in the workflow activity-overview only the first offering was shown. This has been fixed, and activity-overview will show all offerings both in the structure page and the workflow page.


As a manager I want to have access to the uploaded proof for a user competence - CUR-3924 (Hotfix)

In the last version the upload of documents as proof of a person competence has been added. The competence-report was not yet updated (accidentally missed this), so the report was not accessible in the report. Several changes have been made to the competences report, that amongst others solves the reported issue:

  • Add the option to configure the fields to be shown in the competence report by the admin. Using the standard drag and drop, the fields to be shown in the report can be configured.
  • Add the option for users to create their own template definition.
  • Document fields show the name of the document and are clickable to view the document content


As a user I want to add video to texts using the still experimental Lexical text editor - CUR-3923

It was found the still experimental text editor (Lexical) support for video was not as it should be. Some fixes are made and the adding, saving and displaying of videos in the new text editor are properly supported.


As a user with a new HR role, delete of old WLM tasks must be supported - CUR-3770

When using tasks bound to HR/Contract roles, these tasks are automatically generated for the user. In case the user gets a new role, a change of contract is expected. Which means the old contract is ended and a new is started. In case the role change was made on the current contract, the generated tasks generated for the old role were not deleted. A change is made to cover for this case. The generated tasks are not automatically deleted, but can be deleted manually.

The reason for the manual delete is that automatic deletion feels like 'magic', for a use case not happing very often. By giving control to the responsible person to delete the task, this is less magical.


The process manager filter should respect the validity of roles and persons - CUR-3870

The role filter in the process manager returned not only results for the selected year, but also from previous years. A change is made to only return persons with that role in the selected academic year.


Period factor should be copied in year copy - CUR-3443

When creating a new year, the academic calendar(s) of the original year are copied over to the new year. It was found the 'factor' defined on ribbon periods was not copied. This has been added to the year copy.


As a user I don't want to see the copy button for each person - CUR-3321

The relation page shows a copy button next to each person or role, to allow copy the person or full role person list. The button is cluttering the page and is not the best user experience. We decided to remove the button, but not the functionality. The copy function is still available, but only appears when hovering (mouse-over) a persons name or the role.


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.

Using a hook and propagation should only sent the published objects - CUR-3948

A hook can be used to publish an educational object to a receiving system (integration layer). Propagation in this context can be used to publish child objects, e.g. a Study, including the underlying module-groups (childs). When publishing a study via a hook, all underlying children were published. A change was made to limit the publishing of the children to the onces that were already published (publication date set).


Publishing the staff availability to TE Server should be more verbose - CUR-3943

In case errors occurred when publishing availability to TE server, the error message was not very helpful. It showed the number of failures and the exceptions. In case of a list of errors, the majority is caused due to already existing availabilities that cannot be altered, or a non-existing user.

Several changes have been made to optimise the data exchange and the error reporting:

  • The integration chopped the data exchange in blocks of 5 users and their availability. In case one in the block failed, the rest was skipped and all were marked as failed. A change is made that in case of an error of one, the rest will still be processed, limiting the amount of 'errors'.
  • The error will show the names of the first 10 failing users, to easily identify the affected users and perform a cross-check in TE server for the user.


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-3972, CUR-3983, CUR-3861, CUR-3949, CUR-3922

Based on an audit performed a few weeks ago, the high issues were immediately fix. This sprint the majority of the medium and low issues have been solved.


Refer to the Curriculum manual for configuration guidance.

Read more
Read less
Open in a new tab
July 17, 2026

New release Study Guide 2.70

No items found.

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

When opening one of the search results, and then navigating back to the module overview, the selected filters were not kept. This has been fixed, and when opening a detail page from the (filtered) search result and navigating back to the search result, the defined filters are kept.

‍

Accessibility: improve mobile menu usage - SG-670

On mobile, the hamburger menu shows the same content as the tabs, which is duplicate data and duplicate navigation. The tab option has been removed, and the navigation on mobile is now via the (top right-hand, marked red) hamburger menu.

Image #1

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.

‍

Read more
Read less
Open in a new tab
July 15, 2026

New release Evaluation 6.40

No items found.

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.

Read more
Read less
Open in a new tab
July 14, 2026

New release Workload Management 12.18

No items found.

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.

Image #1

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.

Image #2

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.

Image #3

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.

Read more
Read less
Open in a new tab
July 10, 2026

New release Curriculum 12.18

No items found.

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.

Image #1

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.

Image #2

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.

Image #3

‍

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.

Image #4

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.

Image #5

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

Image #6
Image #7

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.

Read more
Read less
Open in a new tab
July 3, 2026

New release Study Guide 2.69

No items found.

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.

T‍he 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.

Subject filtering shows labels instead of codes

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.

‍

Read more
Read less
Open in a new tab
July 2, 2026

New release of Data Manager - Sequence constraints

No items found.

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.

Image #1

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.

Image #2

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.

Read more
Read less
Open in a new tab
June 30, 2026

New release for Activity Manager and Autopilot

No items found.

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.

Read more
Read less
Open in a new tab
June 30, 2026

New release of Data Manager

No items found.

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

Image #1

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

Read more
Read less
Open in a new tab
June 26, 2026

New release of Outlook integration

No items found.

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.
Read more
Read less
Open in a new tab
June 26, 2026

New release Workload Management 12.17

No items found.

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.

Read more
Read less
Open in a new tab
June 26, 2026

New release Curriculum 12.17

No items found.

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.

Image #1

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.
Image #2

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.

Read more
Read less
Open in a new tab
June 25, 2026

New release of Allocate — Student allocation history

No items found.

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

Screenshot of student details in Manage Student, with History
Screenshot of student details in Manage Student, with History
Screenshot of a students history view
Screenshot of a students history view



Read more
Read less
Open in a new tab
June 19, 2026

New release Evaluation 6.39

No items found.

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.

Read more
Read less
Open in a new tab
June 19, 2026

New release Study Guide 2.68

No items found.

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

The AI search has been adjusted to provide better results. A rather technical story, where the underlying implementation is changed from a relevance search that is attached to the context to using the broker that already standard supports direct lookups, filters and relevance search out of the box. The AI Large Language Model (LLM) has been adjusted and improved to use the new, extended options of the Broker. The LLM is now no longer depending on the context being built up in the search conversation, but can dynamically use the relevance searching of the broker, use the found similar objects to perform automatically a next search on the new 'learned' relevance and then find the best matching result(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 vulnerabilities were reported, requiring mitigation.

‍

For more guidance on configuration and setup of Study Guide, use the relevant Study Guide manual.

‍

Read more
Read less
Open in a new tab
June 18, 2026

New release for Preferences - Bug fixes

No items found.

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
Read more
Read less
Open in a new tab
June 18, 2026

New release for Core - Bug fixes

No items found.

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
Read more
Read less
Open in a new tab
June 16, 2026

New release of Allocate – Faster workflows with preserved view state

No items found.

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.

Read more
Read less
Open in a new tab
June 15, 2026

New release of Core - Bug fixes

No items found.

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.
Read more
Read less
Open in a new tab
June 12, 2026

New release Workload Management 12.16

No items found.

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).

Image #1
prevent_duplicates will hide the Add activity button in the activity grid

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.

Read more
Read less
Open in a new tab
June 12, 2026

New release Curriculum 12.16

No items found.

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).

Image #1
prevent_duplicates will hide the Add activity button in the activity grid

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.

Read more
Read less
Open in a new tab
June 11, 2026

New release for Reserve - Improved suport for recurring bookings

No items found.

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:

Image #1

Read the TE Academy article: How to set up a Reserve page to support recurring reservations

Read more
Read less
Open in a new tab
June 11, 2026

New release for Viewer - Security improvement

No items found.

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).

Read more
Read less
Open in a new tab
June 7, 2026

New release of Allocate – Waitlist in Registration

No items found.


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

Screenshot of Registration interface where the student has added herself to a Waitlist
Screenshot of Registration interface where the student has added herself to a Waitlist
Screenshot of Allocate Overview, with information about students in Waitlist
Screenshot of Allocate Overview, with information about students in Waitlist


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.

Screenshot of new General settings view
Screenshot of new General settings view


Read more
Read less
Open in a new tab
June 5, 2026

New release of Preferences

No items found.

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 
Read more
Read less
Open in a new tab
June 5, 2026

New release Study Guide 2.67

No items found.

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.

‍

Read more
Read less
Open in a new tab
June 5, 2026

New release Evaluation 6.38

No items found.

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.

Read more
Read less
Open in a new tab
June 4, 2026

New release for Core - Recipient privacy improvement and bug fixes

No items found.

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.
Read more
Read less
Open in a new tab
June 4, 2026

New release for Viewer - Recipient privacy improvement

No items found.

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.
Read more
Read less
Open in a new tab
May 29, 2026

New release for Core - Bug fixes and Type filter updates

No items found.

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
Read more
Read less
Open in a new tab
May 29, 2026

New release Workload Management 12.15

No items found.

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'.

Image #1
Sent a notification from a person-based workflow with no role will sent the notification to the person itself

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.

Read more
Read less
Open in a new tab
May 29, 2026

New release Curriculum 12.15

No items found.

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

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'.
Image #1


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.

Read more
Read less
Open in a new tab
May 28, 2026

New release of Allocate - Improved navigation

No items found.

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.



Read more
Read less
Open in a new tab
May 28, 2026

New Release of Admin

No items found.
Available on Test for all regions on 28 May and 2 June on Production


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.

Read more
Read less
Open in a new tab
May 22, 2026

New release Study Guide 2.66

No items found.

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.

‍

Read more
Read less
Open in a new tab
May 21, 2026

New release of Allocate – Filter students in manual allocation

No items found.

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.

Image #1


  • 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.
Image #2


  • 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..
Image #3


  • 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.
Image #4

Bugs


  • Fixed an issue where group dedications were dropped from the table and drawer after a deallocation reloaded data.


Read more
Read less
Open in a new tab
May 15, 2026

New release of Preferences

No items found.

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.
Read more
Read less
Open in a new tab
May 15, 2026

New release of Data Manager - New toolbar and submission rejection

No items found.

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.

Image #1

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.

Read more
Read less
Open in a new tab
May 15, 2026

New release of Core - Bug fixes

No items found.

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.
Read more
Read less
Open in a new tab
May 15, 2026

New release Workload Management 12.14

No items found.

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.

Read more
Read less
Open in a new tab
May 15, 2026

New release Curriculum 12.14

No items found.

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.

Read more
Read less
Open in a new tab
May 12, 2026

New release of Allocate - Week numbers replaced with date ranges

No items found.

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.
Image #1


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.

Read more
Read less
Open in a new tab
May 12, 2026

New Release of Admin

No items found.
Available on Test for all regions on 12 May and 19 May on Production


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:

          1. Ext. ID
          2. TE Internal ID
          3. Field data
          4. Object type
          5. Associations
          6. 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:
              1. Error
              2. Unchanged
              3. 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
Read more
Read less
Open in a new tab
May 11, 2026

New release of Outlook integration

No items found.

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


Read more
Read less
Open in a new tab
May 11, 2026

New release of Preferences - Bug fixes

No items found.

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.
Read more
Read less
Open in a new tab
May 8, 2026

New release for Data Manager - Custom week names

No items found.

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

Read more
Read less
Open in a new tab
May 8, 2026

New release Study Guide 2.65

No items found.

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).

Image #1

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.

‍

Read more
Read less
Open in a new tab
May 7, 2026

New release Evaluation 6.37

No items found.

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.

Read more
Read less
Open in a new tab
May 5, 2026

New release of Allocate - Faster loading of Student Adjustment view

No items found.

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.)


Read more
Read less
Open in a new tab
May 1, 2026

New release Workload Management 12.13

No items found.

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.

Image #1

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.

Read more
Read less
Open in a new tab
May 1, 2026

New release Curriculum 12.13

No items found.

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.

Image #1

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.

Read more
Read less
Open in a new tab
April 29, 2026

New release of Data Manager

No items found.

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

Read more
Read less
Open in a new tab
April 29, 2026

New release of Preferences - Edit Active Forms

No items found.

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
Read more
Read less
Open in a new tab
April 28, 2026

New release for Viewer - Bugfixes

No items found.

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.

Read more
Read less
Open in a new tab
April 28, 2026

New release for Plan - Bugfix

No items found.

Bug fix

Create new rows for objects that have two types (rows were not created before; now fixed).

Read more
Read less
Open in a new tab
April 24, 2026

New release of Core - Start time indicator

No items found.

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.

Image #1
Image #2
Read more
Read less
Open in a new tab
April 17, 2026

New release Curriculum 12.12

No items found.

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.

Select the AI button at the right hand bottom to open the AI supported configuration help

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

Pretty amazed by the response.

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.

Administrators can switch to experimental mode

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
One of the pages already available in the new look & feel in experimental mode

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.

Read more
Read less
Open in a new tab
April 17, 2026

New release Workload Management 12.12

No items found.

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.

Select the AI button at the right hand bottom to open the AI supported configuration help

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

Pretty amazed by the response.

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.

Administrators can switch to experimental mode

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
One of the pages already available in the new look & feel in experimental mode

‍

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.

Read more
Read less
Open in a new tab
April 16, 2026

New release for Viewer - Coloring and period selector bugfix

No items found.

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.
Read more
Read less
Open in a new tab
April 15, 2026

New Release of Assessment - Snake Pattering Seating

Assessment
Released to Test on the 15th of April, 2026 in all regions.

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 | 4
5 | 6 | 7 | 8


Snake:

1 | 2 | 3 | 4
8 | 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


Read more
Read less
Open in a new tab
April 15, 2026

New Release of Assessment - Export in CSV and Excel

Assessment

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)
Each tab has a *Select All / Deselect All* toggle for convenience.


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
Each tab has a *Select All / Deselect All* toggle for convenience.


How It Works

  1. Select reservations in the *Capacity Reservation* or *Exam Reservation* view
  2. Click Export to open the export modal
  3. Choose *Reservations (CSV/Excel)* as the export type
  4. Select your preferred *file format* and *separator*
  5. Use the tabs to pick the *fields* you want included
  6. Click Export — the file downloads automatically to your device


Read more
Read less
Open in a new tab
April 10, 2026

New release Study Guide 2.64

No items found.

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.

‍

Read more
Read less
Open in a new tab
April 10, 2026

New release Evaluation 6.36

No items found.

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.

Read more
Read less
Open in a new tab
April 9, 2026

New release of Allocate - Smarter dedication defaults, new issue type

No items found.

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.
Dedicate to Program of study, relevant programs are presented by default
Dedicate to Program of study, relevant programs are presented by default


  • 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.

Screenshot of issue list with Empty Student group (renamed) and Student group data (new)
Screenshot of issue list with Empty Student group (renamed) and Student group data (new)
Screenshot of data issues view
Screenshot of data issues view


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.

Read more
Read less
Open in a new tab
April 9, 2026

New release for Preferences - New Pref → DM workflow + Unlock Forms

No items found.

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.

Image #1

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.

Image #2

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

Read more
Read less
Open in a new tab
April 9, 2026

New release for Core - Updates to the UI

No items found.

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:


Image #1

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

Read more
Read less
Open in a new tab
April 7, 2026

New Release of Admin

No items found.
Available on Test for all regions on 7th of April  and 14th of April on Production
  • Improved object management

      • It is now possible to export objects in Admin

      • Tutorial on Academy

Read more
Read less
Open in a new tab
No results found.