All release notes
share
4 min read

New release Workflow 12.11

The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum/Workload Management release schedule.

Improvements

The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or bug fixes. Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.


Offerings should be shown on the module offering tab - CUR-3561 (Hotfix)

The module offering tab was not showing the offerings anymore after the previous release. This has been hotfixed on acceptance prior to the release to production. The offerings are shown again as expected.


Time information should be shown correctly - CUR-3560 (Hotfix)

Time information was not shown correctly, which could cause an effect that the time to display conversion ended up with an empty value (on screen) on activity-series custom-fields. This has been fixed, and the saved time information is shown correctly.


Date information should be shown in a date format - CUR-3539

Date information was not shown as date (YYYY-mm-dd), but as a timestamp. This has been fixed and the date is shown again in a date format.


The method tree should show empty values instead of 0 - CUR-3538

In case in the method tree (and also in other places) a numeric value was shown in a report, both a 0 and an empty value were displayed as 0. A fix is applied where an empty value is shown in case no information is entered and a 0 in case a 0 is entered.


The appraisal list shouldn't show the externalId twice - CUR-2165

In case the appraisal list was configured to show the externalId or code, they were shown twice. This behaviour has been solved in the case where the code or externalId are configured using the 'shown on general' setting.

Remaining known issue: In case the column option is used to add fields to the appraisal list AND the selected fields will contain externalId or Code they will still be shown twice. This is caused by the fact the code both lives on appraisal and assessment. To mitigate this requires a quit extensive rework of the custom-field resolution and will not be solved. The work-around is selecting the code and externalId using the 'show on general' setting.


When starting a new proces only the start notification should be sent - CUR-3579

In case a process step was configured to sent both a notification at start of the task (open) and a notification is the process was rejected to that step (re-open) both notifications were start at start of the process. The cause has been identified and fixed.


The hours per month should be correct - CUR-3451

The total available hours of a staff member is calculated based on the contract and the hours per year. The hours per month are based on a factor of this total per year. When showing the personal allocation information the factor is applied when switching from year to semester to month view. This to show the correct planned hours per selected period. The same factor was also applied to the available hours per period. This caused the effect that on Semester view the hours for January could be 141 and when switching to Month view the available hours were shown as 35 hours.

This has been fixed and the factor will only be used for the planned hours and not on the available hours.


Available hours should be updated after assign and recalculate - CUR-3504

The staff allocation and availability overview shows the actual assignment and availability of staff. In case changes are made in the allocation not in all cases the availability of the person is recalculated, this is standard done via the nightly re-calculation of all assignments and availabilities.

The report provides an option to execute a force recalculation, where the recalculation of the availability was only calculated after opening each user.

The behaviour was a 'quick-fix' precaution, since the recalculation could take quit some time. In this release a change has been made to this behaviour by implementing a 'targeted' recalculation:

  • Change of a task and the hours will automatically recalculate the availability for that assignment
  • Calculate will recalculate the availability for for all staff members and NOT the assigned hour calculation. The assumption is that the 'hours assigned' are correct. A loader will be shown in the availability cell and not on the entire page (blocking the entire page)


The calculation of available hours should support usage of 'remaining hours' - CUR-3298

The use case is as follows:

  • A person has an assignment of 1 FTE

  • The person has a non-educational task as Program Director covering 60% of the FTE

  • The person should be assigned with a 60/40 ratio to research and teaching for the remaining hours.

In this release the option is added to used a more dynamic definition of grouped tasks (labeled with the same label). The following mechanism is used:

  • The label name is used as a ‘grouping’ mechanism to identify tasks that belong together
  • A new dynamic calculated field is added to use the 'sum' of the grouped tasks. The naming convention is {label}Hours, where the label may not contain spaces, dots, dashes.
  • Enable usage of the dynamic calculated field(s) in formulas
Assume we have a label called ‘coordination’ for all coordination related tasks, including the program director role. A person is assigned 2 coordination tasks of each 300 hours. The value of the new dynamic field coordinationHours is then 2x300 = 600 hours

The initially mentioned use case can now be handled by defining the hours to be allocated for research with the following formula:

  • 60% research of the remaining hours: (:fteHours - :coordinationHours) * 0.6


Integration

The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.

Integration to Data Manager should support activity planning name fields - CUR-3564

The configuration for the integration to Data Manager didn't support usage of the planning name fields. This has been added and the configuration will now support transfer of the planning names using the planning.names['<lang>'] convention. E.g. planning.names['EN'] to exchange the English name.


Exchanging availability information to Core should support batch send - CUR-3549

An issue from a more technical background, that will also improve the through-put to Core. The availability information defined was sent to Core per availability moment (reservation). A change is made to group the availability exchange with 100 availabilities per request. This means the overhead of individual messages is reduced and handling of a single request with 100 availabilities will speed up the processing.


An event message should contain the object type sent - CUR-3526

When using the event to sent a changed object to an external integration service the event message doesn't have information on the object sent. Especially in situation where all events are handled by a single endpoint that will redistribute the further handling of the event to a dedicated handler (module, study, ...) this requires extensive analysing of the message sent to determine the object type and thus the handler.

The default message metadata is extended with the object type to ease the determination of the object type to be handled:

Image #1
Image #2

When adding a person it should be possible to define the organisation - CUR-3329

It was noted both the CSV import and the API person endpoint didn't offer support to add the organisation relation of the person. This has been adjusted and both CSV import and person API support the definition of the related organisation. The person GET is extended to show the person relation.

The adjusted API definition is available via: https://developer.timeedit.com/reference/saveperson_v2


Security

An integral part of our development and build process is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated. For more information on reported vulnerabilities, see the central database of vulnerabilities.

In this version no vulnerabilities needed to be addressed.

Security vulnerabilities addressed:

  • CVE-2026-29062(8.7)
  • CVE-2026-29062(8.7)
  • CVE-2025-68161(6.3)
  • CVE-2025-29927 (6.5)
  • CVE-2025-29928 (3.7)
  • CVE-2025-29929 (5.5)
  • CVE-2025-29930 (6.5)
  • CVE-2025-29931 (6.8)‍


Refer to the Workload Management manual for configuration guidance.