Sakai 25 Patch Highlights: December 2025
A focused set of fixes across grading, authoring, and integrations closes out the year for both 25.x and 23.x patch lines.
Sakai 25 Patch Highlights: December 2025
December’s patches target the work instructors do every day: assigning, grading, and keeping course content clean. We also picked up a long list of admin and integration fixes that remove small but persistent paper cuts.
Most highlights below ship in both the 25.x and backported 23.x streams. Anything exclusive to 25.x or 23.x is flagged so you can plan accordingly.
Assignments & Gradebook: Fewer Grading Surprises
SAK-51755makes Download All handle similarly named files without collisions (23.x & 25.x).SAK-52070guards against null instructions so assignment edits don’t error (25.x only).SAK-52118fixes site import scenarios involving Gradebook settings (25.x only).SAK-52170corrects the estimated time footer display in Assignments (25.x only).SAK-51839hides Grade Overrides in Legacy Grader when anonymous group grading is enabled (23.x only).SAK-41206improves the Strict Open XML upload error message for Gradebook imports (25.x only).SAK-52113safely initializes Gradebook assignments to avoid startup failures (25.x only).SAK-52131ensures student view comments display even when an item has no grade (25.x only).
Rubrics: Cleaner Data and Safer Edits
SAK-51514strips null fields from rubric JSON downloads to keep exports clean (25.x only).SAK-51519fixes missing fields in rubric patch requests (25.x only).SAK-51663removes the Cancel button from the rubric edit modal to prevent conflicting actions (23.x & 25.x).SAK-51874allows override values of 0 for rubric criteria (23.x & 25.x).SAK-51951uses POST when creating new default rubrics (25.x only).SAK-52094shows public rubric locks only to admins (25.x only).SAK-51612corrects “grade as percentage” calculations (23.x only).
Tests & Quizzes (Samigo): More Reliable Editing
SAK-51945fixes undefined portal errors when creating or editing quizzes via Lessons (23.x & 25.x).SAK-51974repairs editing of calculated questions that use global variables (25.x only).SAK-52029restricts CKEditor resizing in markup view for more stable layouts (25.x only).SAK-52044ensures “Publish Selected” creates the assessment alias correctly (25.x only).SAK-52105preserves question pool selections when editing random-draw parts (25.x only).SAK-52114fixes constraint violations when saving multiple-choice answers (25.x only).
Lessons & Content: More Predictable Imports and Views
SAK-52030restores the default hidden folder behavior (“hidden with accessible contents”) (25.x only).SAK-52036fixes custom CSS when Lessons are copied from a template site (25.x only).SAK-52148prevents extra SimplePageItems when adding older pages (25.x only).SAK-52154improves dark mode contrast in the Resources browser (25.x only).SAK-51680stops draft discussion updates from failing silently (25.x only).SAK-52152fixes a user statistics template error caused by an extra closing tag (25.x only).SAK-52117prevents stale ID link issues in Forums (25.x only).
Calendar, Roster, and Messaging
SAK-51950improves slow calendar query performance (23.x & 25.x).SAK-52161prevents duplicate calendar events on Signup (25.x only).SAK-51717restores profile pictures when viewing user profiles in Roster (25.x only).SAK-49687initializes the Messages datatable for search results (25.x only).SAK-52146fixes reply-from-email subject length errors over 255 characters (25.x only).
Portal, Site Management, and Profile
SAK-51775prevents duplicate site titles in webcomponent notifications (25.x only).SAK-51826uses the site locale for reset-password flows when set (25.x only).SAK-51983standardizes primary text color to the brand color (23.x & 25.x).SAK-52115fixes date picker rollovers on short months (25.x only).SAK-52117updates select styling so shadow-DOM components inherit dark theme arrows (25.x only).SAK-52161keeps the “Update user” button enabled when password fields are empty (25.x only).SAK-51934conditionally shows expand/collapse controls during site import (25.x only).SAK-51953prevents importing content twice (25.x only).SAK-51966fixes granular import tool instantiation (25.x only).SAK-51573removes the Profile Preferences tab and Lock button (25.x only).SAK-52067creates SakaiPerson in the same transaction as the initial query (25.x only).SAK-49866switches text generation to Apache Commons Text (23.x only).
Integrations & Help
SAK-52124restores missing bootstrap in the Microsoft integration admin tool (25.x only).SAK-52125improves filter text and close button styling in Microsoft integration screens (25.x only).SAK-52127avoids registering group edit handlers when there’s no data (25.x only).SAK-52128removes hardcoded “Create Channel” text (25.x only).SAK-52157restores the refresh button tooltip/title (25.x only).SAK-51917replaces jclouds with MinIO for S3 access (25.x only).SAK-52103clears Content Review artifacts from assignment state (23.x only).SAK-52112updates Sakai 25.1 help content (25.x only).
Looking Ahead
These updates land in the December maintenance release for 25.x. Institutions on 23.x will see the shared items in the next quarterly patch bundle, with the 25.x-only fixes above as useful signals for upgrade planning. If you want help sequencing deployments or prioritizing backports, let us know.