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.
Processes should only be started on create - CUR-2306 (Hotfix)
Based on the configuration it, processes can start other processes on create. In some cases this creation (start) of a new process was not only executed on create, but on any change made in the process. This has been fixed, so the start of a new process will be executed on create only.
Sharing of offering based on Entity should support multi-value - CUR-2308
When using a custom-field of type Offering -> Entity, defined as a multi-value field, this should support adding the different defined offerings as a related object(s). Since the select didn't support multi-value, it was only possible to add a single related offering object. This has been fixed, to support selection of one or more related offering objects.
The activity grid should only show activities from the selected location - CUR-2336 (Hotfix)
On Acceptance the activity Grid and lists both showed all activities from same period offerings across different locations. This has been hotfixed, so it will not hit Production with this error, and both the grid and the list will show the activities bound to the selected period and location.
Group type filter should also be used when adding a new group - CUR-2267
The definition of the module-group custom-field supports setting a filter. This filter will not show the defined module-group types when searching for an existing module-group. However, when adding a new module-group, the filtered out types are still offered as a selectable option to the user. To prevent the user from selecting a 'filtered module-group', the selectable options when adding a new module group these values are removed from the selectable options.
A borrowed module-group should be removable from the study structure - CUR-2348 (Hotfix)
An authorised user (authorisation: EDIT_STUDY_MODULE_GROUP) or even the admin was able to remove a borrowed module-group from the study program structure. This has been fixed, so the borrowed module-groups in the program structure can be managed again.
An authorised user should be able to manage study -> module-group data - CUR-2310
The authorised user (authorisation: EDIT_STUDY_MODULE_GROUP) was not able to change any (custom) fields on the study -> module-group relation, e.g. sequence or required. This has been fixed, so the relationship information can be managed again.
The structure page should show the descriptions for module-groups - CUR-2309
At module-group level a description can be set to be shown on the structure page as additional information to students. The description was only shown in case the structure page was defined as editable. A change is made to also show the description in case the structure page is defined as read-only.
The HTML Editor should support multiple text alignment options - CUR-2218
When configuring and using text alignment options (left, center, right) in the HTML editor, all variants were 'stripped out' and converted to standard left alignment on save. This has been fixed, so the alignment will not only show correctly in the HTML editor, but is also saved using the selected alignment type.
The HTML Editor should highlight changes - CUR-2347
Descriptions changed using the (HTML) editor didn't show all changes applied in history mode. This has been fixed, so the history view will show / highlight all changes made to the original text.
The selection of module types should respect the defined sequence - CUR-2237
The different select options of module types offered to the user didn't respect the configured sequence by the administrator. The default (fallback) options was used instead, listing the types in alphabetical order. This is fixed, and the module types will now respect the defined sequence.
As a user I want to report on the staff assignment - CUR-1954
For assignments there is only the page template assignment that supports the management of assignments. In this release an assignment report supporting sort, filter and export possibilities is added to both the organisation and faculty level.
From the faculty all all assignments of the organisations related to the faculty are shown, from the organisation all assignments directly related to this organisation and organisation-children are shown in the report.
Configuration:
- Select the new page template: assignment-report
- Further configuration is done using the standard options of creating Tabs or adding pages to Workflow(s)
The administrator relation overview should support sorting - CUR-2303
The administrator relation overview shows headers that look like sorting is supported. However, when clicking the header sort-order icon, nothing happens. This has been fixed, so the administrator can now use the headers to sort the defined relations.
The administrator access rule configuration should respect the relations sequence - CUR-2221
The management of the access rules shows the roles on the left hand side. The roles shown do not follow any (human) logical sort order. This has been changed to show the roles based on the defined sequence and next alphabetically.
The year roll-over should copy root type of ribbon periods - CUR-2101
The year roll-over script has been extended to also copy the recent added ribbon period root-types.
The module copy function should provide a more extensive copy - CUR-1845
The module copy function is used to copy an existing module and its data. The copy function is extended with the copy of more sub-objects. The copy function will now copy:
- descriptions
- relations
- additionals
- offerings
- credits
- capacity
- subjects
- cost_divisions
- links
- appraisals
- method_schemas
- methods
Scheduled scripts should us the configured timezone - CUR-2307
It was noted the scheduled scripts default used UTC instead of the configured timezone. This could lead to unexpected execution times of scripts that were thoroughly planned to run at specific times at night. A fix is made to set the timezone used by scheduled scripts to the configured timezone in the Curriculum instance.
Curriculum should offer Danish and Malay language support - CUR-2315
Support for two additional languages is added to Curriculum. Both Danish and Malay user interfaces are now officially supported.
Descriptions in reports should show not be shown on multiple lines - CUR-2373
Reports having descriptive fields in the configuration showed the descriptive text spread over multiple lines, instead of taking the first characters, padding with ... and offer a mouse-over to show the full text. This has been fixed, and the report is more readable.
(Student) Group management
This release (student) group management has been added as a new functionality. It should be considered as a first release, supporting one generic use case, but not covering all kind of use cases. Based on change requests, over time, support for additional use cases will be added.
The (student) group management implementation is both considered from an educational and an education logistics (planning and scheduling) perspective. Different definitions of groups are supported, including nesting to Lets first define different namings for the groups identified before we get into logistics requirements. This will provide a better option to match the requirements and validate if the division in identified group types is sufficient, should be slightly adjusted or should require additional types.
- Group - level 1: All students starting a study at the same moment in time
- Group - level 2: A pre-set group of students that will follow activities in the context of the program and its modules as a coherent group. Groups of level 2 are 'children' of level 1 groups.
- Group - level 3: A group of arbitrary students identified by size only that will define the amount of students to follow a specific activity to optimize the learning experience.
Let’s look at a practical example to give it some context:
In 2025 90 students are starting the BA of Match, code BAM. Looking from an educational perspective the maximum number of students following the same activity is 90 (lecture), the minimum number is 10 (labs) and there is an intermediate size of 30 (workgroup, project, …).
Using the level strategy detailing groups from the 'smalles desired size' to the full size, the following setup using a simple naming convention could be used:
- BAM_L1 (90 students, level 1 - full size, used for lectures)
- BAM_L2_1 (30 students, level 2 - intermediate size, used for other teaching methods )
- BAM_L3_1A (10 students, level 3 - small size, used for lab activities)
- BAM_L3_1B (10 students)
- BAM_L3_1C (10 students)
- BAM_L2_2 (30 students)
- BAM_L3_2A (10 students)
- BAM_L3_2B (10 students)
- BAM_L3_2C (10 students)
- BAM_L2_1 (30 students, level 2 - intermediate size, used for other teaching methods )
- BAM_L2_3 (30 students)
- BAM_L3_3A (10 students)
- BAM_L3_3B (10 students)
- BAM_L3_3C (10 students)
The group definition is considered an Administrator task, including support for import of the different (student) groups bound to a program (study).
Group definition and management (admin function) - CUR-2326
The (student) group definition is considered the management of a Reference. To support the different options mentioned above and the option to add additional values relevant for (student) groups to a Reference item, the Reference object model is extended. The Reference object supports the definition of additional fields to be added and management for a single Reference, e.g. type, code, name, capacity, etc.
By using the Reference as the standard all options already supported for references are available, including the CSV import, standard API (api/v2/reference) and even the option to use conditional filters/grouping.
Configuration:
Step 1 - Define the student group Reference field
The first step is creating a Reference that will be used for the group definition. In the example the Reference is named Student group.

Step 2 - Add the relevant attributes (fields)
The student group can be used as a standard reference list, with just a single value. It can also be used as an object with additional attributes. Use the Fields option to manage the additional fields to be available for the group definition. In the example a capacity and level field are added to the group definition.

Step 3 - Populate the student group Reference list
Once the Reference is correctly configured, the individual groups can be added. The defined custom-fields Capacity and Level are added. Default the Sequence, Parent and Owner are added to define the hierarchy and the owning study..

A list of the created / imported student groups is shown.

Step 4 - Assign the student group to the method -> activity-group
The new sub-object activity-group for methods and assessments is used to manage the group(s). Based on the used vocabulary, the name can be changed.

To add the option to define groups and 'store' them with the method (or assessment), add the field to contain the groups. Use a field of type Reference and point to the earlier created student group Reference.

Once the (student) groups are defined, they will be available for the user as a selectable item. The user can add the relevant group(s) to the the individual activities. Multiple groups can be added to a single activity.
Calculate number of (student) groups and assign (student) groups by the user - CUR-2327
When defining the activity-serie the user defines the maximum number of students (expected) and the max group size. Based on this information the number of (student) groups required will be calculated.
A new page (activity-groups-page) is added supporting the user to define the relevant (student) groups to the calculated groups at activity level. The page can be used as a workflow page in the activity edit worfklow.

Manage groups in bulk by the administrator - CUR-2330
The groups can be defined on individual basis by the 'module coordinator' (or corresponding role) per module and activity-serie.
Next to the manual option, a CSV import is supported by using the CSV import type ACTIVITY_GROUP. The CSV import can be used to populate the activities with the relevant groups.
To support easier management (add, update, delete groups) a new report option is added via the page template groups. Enable for instance the faculty.groups page to provide access to the group report, as shown in the image below.
The report provides the standard options, including definition of columns to be shown, save them as template, export to Excel, etc.

The exported file group information can be modified, the file can then be manipulated to match the ACTIVITY_GROUP import format (by removing some additional columns from the export), and be imported to update the student groups on the different modules and activity-series.
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 API support to manage non-educational tasks - CUR-1976
To enable better management of the non-educational tasks the previous release added support for importing non-educational tasks using CSV import. In this release API support is added to the standard API to upload non-educational tasks.
The sequence attribute should not be filled with 'random' values - CUR-2228
It was noted the sequence shown on screen in the structure view and the sequence returned by the API retrieving the study and its module-groups were different. Further investigation learned that the API set the order of the sequence, and so creating a order that was not specified.
Since the issue-report and underlying requirement was not only to 'remove' these sequence numbers, but that the API return would return the module-groups in the same order as shown in the user front-end (structure). So next to not creating the sequence, the sorting of the module-groups in both the front-end and the API are using the same algorithm.
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.
This release no vulnerabilities has been reported that require mitigation.
Refer to the Curriculum manual for configuration guidance.