Sakai 25 Patch Highlights: December 2025 →
Sakai 25 Patch Highlights: December 2025
December 19, 2025 Sakai

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-51755 makes Download All handle similarly named files without collisions (23.x & 25.x).
  • SAK-52070 guards against null instructions so assignment edits don’t error (25.x only).
  • SAK-52118 fixes site import scenarios involving Gradebook settings (25.x only).
  • SAK-52170 corrects the estimated time footer display in Assignments (25.x only).
  • SAK-51839 hides Grade Overrides in Legacy Grader when anonymous group grading is enabled (23.x only).
  • SAK-41206 improves the Strict Open XML upload error message for Gradebook imports (25.x only).
  • SAK-52113 safely initializes Gradebook assignments to avoid startup failures (25.x only).
  • SAK-52131 ensures student view comments display even when an item has no grade (25.x only).

Rubrics: Cleaner Data and Safer Edits

  • SAK-51514 strips null fields from rubric JSON downloads to keep exports clean (25.x only).
  • SAK-51519 fixes missing fields in rubric patch requests (25.x only).
  • SAK-51663 removes the Cancel button from the rubric edit modal to prevent conflicting actions (23.x & 25.x).
  • SAK-51874 allows override values of 0 for rubric criteria (23.x & 25.x).
  • SAK-51951 uses POST when creating new default rubrics (25.x only).
  • SAK-52094 shows public rubric locks only to admins (25.x only).
  • SAK-51612 corrects “grade as percentage” calculations (23.x only).

Tests & Quizzes (Samigo): More Reliable Editing

  • SAK-51945 fixes undefined portal errors when creating or editing quizzes via Lessons (23.x & 25.x).
  • SAK-51974 repairs editing of calculated questions that use global variables (25.x only).
  • SAK-52029 restricts CKEditor resizing in markup view for more stable layouts (25.x only).
  • SAK-52044 ensures “Publish Selected” creates the assessment alias correctly (25.x only).
  • SAK-52105 preserves question pool selections when editing random-draw parts (25.x only).
  • SAK-52114 fixes constraint violations when saving multiple-choice answers (25.x only).

Lessons & Content: More Predictable Imports and Views

  • SAK-52030 restores the default hidden folder behavior (“hidden with accessible contents”) (25.x only).
  • SAK-52036 fixes custom CSS when Lessons are copied from a template site (25.x only).
  • SAK-52148 prevents extra SimplePageItems when adding older pages (25.x only).
  • SAK-52154 improves dark mode contrast in the Resources browser (25.x only).
  • SAK-51680 stops draft discussion updates from failing silently (25.x only).
  • SAK-52152 fixes a user statistics template error caused by an extra closing tag (25.x only).
  • SAK-52117 prevents stale ID link issues in Forums (25.x only).

Calendar, Roster, and Messaging

  • SAK-51950 improves slow calendar query performance (23.x & 25.x).
  • SAK-52161 prevents duplicate calendar events on Signup (25.x only).
  • SAK-51717 restores profile pictures when viewing user profiles in Roster (25.x only).
  • SAK-49687 initializes the Messages datatable for search results (25.x only).
  • SAK-52146 fixes reply-from-email subject length errors over 255 characters (25.x only).

Portal, Site Management, and Profile

  • SAK-51775 prevents duplicate site titles in webcomponent notifications (25.x only).
  • SAK-51826 uses the site locale for reset-password flows when set (25.x only).
  • SAK-51983 standardizes primary text color to the brand color (23.x & 25.x).
  • SAK-52115 fixes date picker rollovers on short months (25.x only).
  • SAK-52117 updates select styling so shadow-DOM components inherit dark theme arrows (25.x only).
  • SAK-52161 keeps the “Update user” button enabled when password fields are empty (25.x only).
  • SAK-51934 conditionally shows expand/collapse controls during site import (25.x only).
  • SAK-51953 prevents importing content twice (25.x only).
  • SAK-51966 fixes granular import tool instantiation (25.x only).
  • SAK-51573 removes the Profile Preferences tab and Lock button (25.x only).
  • SAK-52067 creates SakaiPerson in the same transaction as the initial query (25.x only).
  • SAK-49866 switches text generation to Apache Commons Text (23.x only).

Integrations & Help

  • SAK-52124 restores missing bootstrap in the Microsoft integration admin tool (25.x only).
  • SAK-52125 improves filter text and close button styling in Microsoft integration screens (25.x only).
  • SAK-52127 avoids registering group edit handlers when there’s no data (25.x only).
  • SAK-52128 removes hardcoded “Create Channel” text (25.x only).
  • SAK-52157 restores the refresh button tooltip/title (25.x only).
  • SAK-51917 replaces jclouds with MinIO for S3 access (25.x only).
  • SAK-52103 clears Content Review artifacts from assignment state (23.x only).
  • SAK-52112 updates 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.

Related Articles

Powering UI with Lit Web Components
Jan 10, 2025 Open Source

Powering UI with Lit Web Components

Discover how Sakai leverages Lit’s lightweight, standards-based web components to build a scalable, maintainable, and high-performance LMS interface for universities and enterprises.

Ready to transform your educational technology?

Whether you're a small school, an educational startup, or a large institution, our open-source solutions can be tailored to meet your specific needs and budget.