This article contains this release's feature updates, user interface changes and bug fixes.
| Release date | Environment |
| 1st of August 2025 | Stage (stage.ans.app) |
| 17th of August 2025 | Production (ans.app) Education (edu.ans.app) |
Changes to the platform
Grouping rubrics and criteria
Criteria groups make it possible to assess multiple aspects of a student's answer within a single open-ended question. They allow grouping individual criteria under a shared title.
- In Rubrics, groups can separate grading by topic (for example, spelling or structure).
- In Criteria, groups can represent different solution methods for a problem.
Criteria can exist on their own or within groups. Groups can be reordered but not placed above individual criteria. Moving or deleting a group also moves or deletes its criteria.
Grading scheme
Grading schemes for open-ended questions can be set up directly in the Exercises tab. This allows creating and editing questions and their grading setup without switching tabs. All criteria and groups can be edited at once. Previously, each criterion had to be edited separately.
Criteria groups are available in both Criteria and Rubric:
- Criteria: Assign points per criterion. Groups act as separators and only need a name.
- Rubric: Each group has its own points. Criterion levels are percentages converted into points based on the group's points. Criteria outside groups use the total question points.
Switching between grading schemes keeps the name and description. Points and percentages adjust automatically to the selected scheme.
Existing questions with the rubric grading scheme
Rubric criteria in existing hand-in assignments that used points have been converted to percentages. A closed beta feature, where some schools used percentages, has been removed. All questions using the rubric grading scheme now use percentages by default. Since criteria can be created directly in the editor and questions are no longer needed as group substitutes, the split button has been removed.
Removed weight input
The weight input field has been removed. It is now possible to adjust the points of each criteria group or question directly when using the rubric grading scheme. For questions that previously used weights, the question points and criteria points have been updated automatically to keep the awarded points unchanged.
Grading
Questions with groups can only be graded in the new grading experience. During grading, criteria can be moved between or out of groups using the dropdown menu.
- Criteria: Grading is complete when at least one criterion is selected, whether or not groups exist.
- Rubric: Grading is complete when one criterion per set is selected. Criteria outside groups count as their own set.
In hand-in assignments using criteria groups, each group of criteria is displayed next to the others, allowing grading in a matrix format.
Added the option to include learners who have not submitted a result in the results export
It is now possible to include learners who did not submit a result. Previously, only learners who submitted results were included in exports.
Selecting All learners under participants includes every learner assigned to a timeslot, even those who did not start the assignment. These learners are marked as no-shows in the export. A field is available to enter a custom label, which appears in the marks column for all learners without a result. The entered label is stored and shown by default in future result exports, including for other assignments.
The participants dropdown now shows the total number of learners (with a mark), making it easier to see who is eligible to start and who has already received a mark.
Export settings have also been simplified. Student number, full name and email address are always included in every export. Additional information depends on the selected option:
- Marks: Exports only final marks (Excel, CSV, Osiris formats).
- Results: Includes marks, letter grades, total points, groups, classes, start and submission times, maximum points, and questions (Excel, CSV formats).
- Scoring: Includes scoring per question or criterion (Excel, CSV formats).
The sort by option has been removed, as sorting can be done directly in CSV or Excel and is not needed for Osiris exports.
Variable exports, previously available from the results dialogue, are now accessed from the assignment exports page.
CAMPUS - Making API-based automations more reliable
Many schools use our API to automate key tasks like scheduling assignments or syncing user data. While we support multiple concurrent requests, schools still need to account for rate limits, especially when several users or systems use the API at once. This can create uncertainty, particularly for automations that support critical workflows.
To address this, we’re introducing dedicated API tokens for automation accounts. These tokens have their own separate rate limit of 1000 requests, independent of other users at the school. This means important automations can continue running reliably, as long as they stay within the token’s individual limit.
Schools on the Campus plan can request one automation account with a dedicated token included. Schools without the Campus plan, or schools that need additional automation accounts, can purchase these separately. If your school uses the API for automation and would like to request a dedicated token, please contact our support team.
Added flow section point values in the blueprint side panel
The side panel now shows the desired points for each flow section, instead of the number of matching exercises. This matches the value shown in the flow section chip, which turns red when the total points are too low, and gives a clearer view of the blueprint structure.
Added option to create blueprints with all question bank objectives
Creating assignment blueprints that include all objectives from a question bank required manually adding flow sections, naming each one, and ensuring that no objectives were missed or repeated. This process became more time-consuming with larger question banks, where it was necessary to track which objectives had already been used and maintain the correct order.
The new Start with a flow section for each question bank objective option is shown when creating a blueprint. When selected, it automatically adds a flow section for each objective in the question bank. Each section is named using the format “Domain Name / Objective Name” and is assigned 1 point by default.
The generated flow sections remain editable. Names, point values, and objectives can be changed or extended as needed. This reduces the manual work involved in setting up blueprints that include all objectives from the question bank.
Improved renaming of blueprints
Blueprints can now be renamed from the settings menu (three vertical dots icon) in the top-right corner. The name is no longer editable inline. Additionally, the blueprint name now appears in the breadcrumb navigation to align with courses and question banks. These changes help reduce visual clutter, as renaming is rarely needed.
Appraisal feedback now saves automatically with visual status
Appraisal feedback now saves automatically every 30 seconds. It will also save when you leave the editor, or when you click the save icon. The icon shows a checkmark when saved and animated dots when changes are pending. This prevents data loss and keeps you informed while editing.
Assignment descriptions now save automatically to prevent lost work
Previously, users had to manually click a save button after editing an assignment description. This was inconvenient and could lead to lost work if users forgot to click save.
Now the description field saves automatically. It saves when users click away from the field, every 5 seconds while typing, or when users press Cmd+Enter. A visual indicator shows the save status so users always know if their changes are saved.
This makes editing assignment descriptions faster and prevents lost work from forgotten saves.
Improved ways to reference and find exercises while constructing an assignment
When creating or reviewing exercises for an assignment, it’s common to jump between previewing and editing exercises. But it hasn’t always been clear how to search effectively, or how to locate a specific exercise from the preview, especially when titles are generic or change over time.
To help with this, each exercise now shows a stable ID that doesn’t change when renamed or reordered. For digital tests, a link icon has been added to the preview, to jump straight to the matching exercise. The search bar now says "Search by exercise or question…" to show what can be searched. Matches are highlighted to make it clear why something appears. This works across the content, grading scheme, objectives and flow tabs.
Improved navigation when editing exercises
When editing an exercise, small dots now appear at the top to show which view you’re in—exercise content, grading scheme, or learning objectives.
Previously, only content and grading scheme were available. Learning objectives can now be accessed as well. The navigation has moved from the bottom to the top, making it easier to see where you are. The exercise stays in place when switching views, helping you set up new exercises and review existing ones more smoothly.
Personalise exercise selection in flow groups using student tags
Flow groups in digital tests can now select question bank exercises based on student tags. This makes it possible to deliver different exercises to different students within the same test.
This can be used for:
- Assigning exercises by skill level, such as Maths: Level 1 or Reading: Level 3.
- Giving English exercises to some students and Dutch questions to others.
- Providing topic-specific practice without creating separate tests.
How it works
- Add question bank exercises with tags to a flow group.
- Set the flow group to pick a certain number of exercises for a tag key.
- In the course’s student overview, assign student tags for each tag key (for example, Language: English or Skill: Level 2). Tags can be updated at any time, and future tests using that tag key will reflect the changes.
Example A flow group contains exercises tagged with different reading levels. A student with the tag Reading: Level 1 receives a Level 1 exercise. A student with the tag Language: Dutch receives exercises tagged with Dutch. If no tag is set, the flow group selects the last alphabetically sorted value for that tag key.
No longer automatically grade open-ended questions worth 0 points
Previously, these questions were always graded automatically with 0 points for all student answers. Any scores or adjustments added by a reviewer were ignored, and the final score remained 0. This was confusing and inconsistent with the removal of the option to limit scores to zero or the total points for open-ended questions.
Open-ended questions worth 0 points now behave like any other question and must be graded manually. If a question should not be graded, its contribution can be set to Disabled, excluding it from the assignment.
Removed the "add to assignment" dialog from the question bank exercises overview toolbar
The "Add to assignment" dialog has been removed from the question bank exercises overview toolbar. The Copy question bank exercises option in the table now provides the same workflow for adding exercises to question bank assignments.
Removed bulk actions from question bank assignments overview
Previously, users could bulk move or remove question bank assignments from the overview page. This made it easy to perform large changes by mistake. Now, those actions are only available from individual assignment settings.
Improved label editing for question bank assignments
Label editing in the question bank assignments overview is now possible, making it faster and more consistent with how labels are updated elsewhere.
Clipboard is now cleared when a digital test begins or resumes
The clipboard is now cleared when a participant starts or resumes a digital test to help prevent cheating methods where students paste pre-written text into the answer field. This change ensures the clipboard is empty when the test begins, reducing the risk of misuse.
Released 'Custom roles' out of beta
The 'Custom roles' feature is now out of beta and officially available as part of the Campus plan. This feature allows administrators to create new roles based on existing system roles providing greater flexibility in managing permissions. Specific functionalities can be restricted for each new role allowing more control over what each user has access to.
Custom roles can be used alongside the default roles or can completely replace them, offering a more customisable approach to roles.
More information about this feature can be found here.
Added custom role restrictions to control viewing and editing of school settings
Custom role restrictions for viewing and editing school settings have been added to administrator custom roles. This allows for finer control over which users are permitted to manage all school settings. In the future, it will replace the separate restrictions for school billing and school result settings.
Added custom role restrictions to control viewing and editing of course employees
Custom role restrictions for viewing and editing course staff have been added to the administrator, department administrator and instructor base roles. This allows for finer control over which users are permitted to manage course employees. Please note that this restriction is overridden if the (department) administrator has an instructor role in a course that does not have this restriction enabled.
Combined assignment labels and assignment protection rules to one page in the school settings
As part of the custom role restriction to control viewing and editing of school settings, the assignment labels and the assignment protection rules pages have been combined to one page: assignment labels. It is now possible to create new labels and add assignment protection rules directly.
Replaced Google reCAPTCHA with Cloudflare Turnstile
As announced previously, the reCAPTCHA on the sign-in page has been replaced with Turnstile. Administrators who manage network restrictions should allow access to https://challenges.cloudflare.com.
Turnstile will only show a challenge if it cannot automatically verify the user.
Even if your school uses Single Sign-On (SSO) to sign into Ans, we still recommend to whitelist 'Turnstile' in the case that a student needs to log into Ans using the one-time password option.
Login page improvements
The login page has been updated to make it easier to use. Labels are now clearer and easier to read, and each field includes a short hint to indicate what to enter. The design has also been updated to match the overall look and feel of the site.
Improved the classes tab for users
The classes tab for users has been updated to use the same way of adding classes as the course learners page. To add a user to a class you can search for a class name in the dialogue.
Full name format now matches sorting preference
Many schools sort users by last name. As users were always shown with the first name first, it made the order feel off. The setting that used to control sorting is renamed to "User name order" and sets how names are shown - either “John Doe” or “Doe, John”.
Sorting follows the full name as shown. This makes the list easier to read and more in line with school preferences.
Email addresses now appear below the name. For students, the student number is shown there too. This keeps key details together in a single column and makes lists easier to scan.
Indicate which users are external
Previously, it was hard to differentiate between internal and external users. External users could access shared courses and question banks, without the school seeing who they are. Now, a number of improvements have been made to make the visibility of external users clearer.
When users join via an invitation link or are added through the 'External users' tab, an account is automatically created for them within the school. This ensures they appear in the school's user list, giving admins full visibility into who has access. To improve clarity, these users will be labeled with an External chip. This label will be visible in courses and question banks, making it easy to identify external users.
Existing users with access to a course or question bank in another school now automatically have an external account created for them.
In order to access a course or question bank in another school, users will now have to switch to the external account belonging to that school, using the switching schools functionality in the user menu.
As another result of this change, administrators will now only have access to a question bank if the question bank belongs to their own school. This decision was made to prevent administrators to have access to question banks that users from their school were added to as a contributor. If the administrator requires access to the question bank, they can be invited as a contributor via an invitation link.
Additionally, the new External users tab provides a complete overview of all external users. From this tab, new external users can be added, and their roles can be managed. To support safer access for external users, a dedicated Guest role has been introduced. This role grants minimal permissions by default.
In authentication settings Owned domains has been renamed to Domain names as this makes it easier to understand that the domains belong to or are used by the school.
CAMPUS - Added the option to restrict adding external users to administrators
For schools that want more control, an option to restrict the invitation of external users to administrators only has been introduced. When the “Only administrators” option is enabled in the Authentication settings, external users can only be invited manually by an administrator by creating an external user account. The invitation link will no longer work for external users.
Improvements to resolving scan issues
Improved search
It is now possible to search by student number to see which file contains the uploaded form. This is useful to locate a student when scans for a single exam are split across multiple files.
Replacing missing pages
It is now possible to replace a previously uploaded missing page by uploading a new one or selecting a different page from the list of incomplete forms. The new page replaces the old one, preventing incorrect uploads from creating new incomplete forms.
Deleting incomplete forms
Incomplete forms can now be deleted, including all pages they contain. This can be useful when a form is both incomplete and irrelevant, such as when it is empty.
Improved page selection and viewing
When selecting a missing page from incomplete forms, the current selection is retained. If no page is selected, the first one is selected by default. Suggested pages are marked with a chip to support comparison and navigation between the dialog and the form.
Additionally, a magnifier now appears when hovering over a scan in the selection dialog, allowing you to zoom in on specific parts of the page for better visibility.
Resolve incomplete forms with the same PDF number at once
Forms that share a PDF number are now shown together in one view to make it easier to spot duplicate pages. Complete forms (marked with a check icon) are collapsed by default to keep the view focused. To resolve, either complete all forms or delete duplicates. When all forms are complete, they can be resolved together.
Mark scanned pages as lost
Missing pages can now be marked as "lost," replacing the need to manually insert placeholder pages.
Clicking the “Mark page as lost” button inserts a placeholder page in the scanned PDF that includes a message in English, Dutch, French, and German. This page is visible both to graders and to students when they review their results, clearly indicating that the original page could not be found.
Improved result updates to avoid multiple webhook events
Previously, changing the total points of an approved result would trigger two webhook events. The first reflected the points change. The second indicated that the result state was cleared. We’ve improved this process, so that the state is now cleared immediately when the points are updated. As a result, both updates are now included into a single webhook event.
Added the option to select an API version in the webhook settings
With the addition of the BETA version of the API, users can now choose which API version to use for webhook events.
Added support for resending a webhook event via the interface
Webhook events can now be resent via the interface. Resending creates a new event that is delivered in the background. This feature is intended for testing and debugging and is limited to 10 events per minute. To recover from multiple failed deliveries, please use the API to list and process failed events.
Removed bulk delete action from class overview
Previously, administrators could delete multiple classes at once from the school classes overview. To reduce the risk of accidental data loss, deleting is now only possible from the individual settings page, where the intent is clearer.
Unsaved form changes are now recovered automatically
Unsaved edits are now automatically saved in your browser. If you navigate away or close the tab, these draft changes will be restored when you return.
This applies to:
- Assignment construction: exercise content, grading schemes, and flow groups
- The new grading experience: criteria, comments, adjustments, flags, and discussions
Changes are restored in the same place where they were entered:
- For new entries, if you cancel, everything you entered is cleared.
- For existing content, cancelling restores the last saved version.
A warning appears only when changes cannot be recovered, such as after adding, reordering, or deleting saved alternatives and criteria.
API changes
Set API language to English
As announced previously, the API will return responses in English only, aligning with our API documentation, which is only available in English.
Introducing new beta version of the API
We have introduced a new API version called beta. Going forward, breaking changes will be introduced in the beta version, while version 2 will remain stable.
The beta version also features a new pagination method, which is documented in detail in our API reference.
Version 2 remains our stable release, and no breaking changes will be made to it. However, it will continue to receive bug fixes, performance improvements, and non-breaking updates. This includes new endpoints and additional attributes. Please ensure your API integrations can gracefully handle new attributes without breaking.
Once the beta version reaches a level of stability we're satisfied with, we plan to release version 3 (v3) based on beta, and designate it as the new stable version. At that point, beta will continue to be used for ongoing development and breaking changes.
We are yet to determine the timeline for this, but we will announce it in advance and mark version 2 as deprecated, providing schools sufficient time to migrate from v2 to v3.
The scheduled changes for version 2 on August 17th will still be applied.
Create result export in QTI 3.0 via the beta version of the API
The result export available through API V2 has been upgraded in the beta version of the API to QTI 3.0. The previous QTI 2.1 export in API V2 lacked key information and did not fully conform to the QTI 2.1 specification. For example, multiple identifiers were used inconsistently or without proper prefixes, making accurate reporting of test results difficult.
The new export follows the QTI 3.0 Results Reporting specification and is intended to support more advanced workflows, including detailed analysis of assignment outcomes.
The export includes participant answers for the following question types:
- Multiple choice
- Multiple response
- Order
- Match
- Hotspot
- Hotspot match
- Fill-in
Additional fields have also been introduced:
- Assignment ID (from either a course or question bank assignment)
- Final mark
- Number of submitted answers
- Total points possible per exercise
These improvements allow for more complete and standards-compliant result tracking.
Bug fixes
-
Fixed an issue with to-do dialog buttons disappearing when notes were too long
Previously, if the notes in a to-do filled the entire dialog height, the action buttons would disappear. Now, the dialog is scrollable so the buttons stay accessible.
-
Fixed an issue with resizing images in QTI imported questions
Previously, images in questions imported from QTI into the question bank could not be resized. Now, these images can be resized as expected.
-
Fixed an issue with conflicting relations between the same question bank exercises
Previously, it was possible to set both an enemy and a relative relation between the same two exercises. Now, setting a new relation type will overwrite the existing one.It is now possible to create multiple relations at once by selecting multiple exercises in the dialog.
-
Fixed an issue with the question bank exercise profile display
Previously, the profile section was not sticky and would scroll out of view for long exercises. It also showed the first selectable author if the actual creator was not a member of the question bank. Now, the profile stays visible when scrolling, and the correct author is always shown.
-
Fixed an issue with the preview close button disappearing for long exercise names
Previously, if a question bank exercise name was very long and contained no spaces, the preview close button would disappear. Now, the name is truncated so the close button remains visible.
-
Fixed an issue with the “Close” tooltip appearing automatically in the copy question bank dialog
Previously, the “Close” button tooltip in the copy question bank dialog would appear automatically when the dialog opened. Now, the tooltip only shows on hover or focus.
-
Fixed an issue with unclear warning when removing attachments from question bank assignments
Previously, the warning shown when deleting an attachment from a question bank assignment did not explain the impact on course assignments. Now, the warning clearly describes the consequences of the deletion.
-
Improved the notification when syncing assignments with reviewed questions
Previously, the sync notification did not explain what happens to reviewed questions. Now, it clearly states that the exercise will be overwritten by the question bank version and that scores may change if the grading scheme has changed.
-
Fixed an issue with spaces in access code passwords
Previously, leading or trailing spaces added to a digital test password were saved. This caused sign-in to fail if users entered the password without the extra space. Now, spaces are automatically removed when updating the password.
-
Fixed an issue with unclear Schoolyear linking message
Previously, the message shown after enabling Schoolyear did not explain why the connection failed. It was not clear that a timeslot was required to link the assignment. Now, the message clearly states that Schoolyear is not linked because the assignment has no timeslot.
-
Fixed an issue with unclear search icon function in the grading screen
Previously, the search icon in the grading screen had no tooltip, which made its purpose unclear. Now, it has a tooltip to indicate what it does.
-
Fixed an issue with unclear links between annotations and highlighted text
Previously, clicking an annotation in the list only scrolled to the related text, which could be hard to spot. This made it unclear which part of the student’s answer the comment referred to, especially with many annotations. Now, the linked text is highlighted when hovering over the annotation in the annotation panel, making it easier to see what the comment is about.
-
Fixed an issue with students seeing the API Documentation link
Previously, students could see a link to the API Documentation in the Help menu, even though they could not use the API. Now the link no longer appears for students.
-
Fixed an issue where the navigation search bar was not keyboard focusable
Previously, the search bar in the top navigation could not be focused using the Tab key, making it inaccessible to keyboard users. The search bar now includes the correct attributes and keyboard handling, so it can be focused and activated without affecting the layout.
| Version | Date | Information |
| v1.2 | 29-08-2025 | Added the change "Combined assignment labels and assignment protection rules to one page in the school settings". |
| v1.1 | 14-08-2025 |
Added the following additions to the "Improvements to resolving scan issues" feature: -Resolve incomplete forms with the same PDF number at once |
| v1.0 | 01-08-2025 | Initial version |
Comments
0 comments
Article is closed for comments.