Changelog
Keep up to date with all our updates.
-
Sensei Pro 1.24.10
Security
- Content Drip: require the grading capability on the manual drip AJAX handlers.
- Ensure the course signup button label cannot change the page markup.
Changed
- Update bundled JavaScript libraries: DOMPurify, lodash, react-redux, framer-motion, Floating UI, colord, and interpolate-components.
Fixed
- Content Drip: Hide the number input spinner in Firefox and widen the drip interval field.
- Fix a React ref warning in the Accordion block editor.
- Fix two block editor console warnings in the accordion and AI course outline.
- Flashcard: Prevent the completion callback from being passed to the DOM.
- Revoke course access immediately when a WooCommerce Memberships membership ends.
- WooCommerce Paid Courses: escape course titles returned by the product course-search field.
Development
- Upgrade the development toolchain to Node.js 24 and npm 11.
-
Sensei 4.26.4
Security
- Check the destination course permissions when changing the lesson course from the bulk editor.
- Enforce course edit permissions when creating a module from the course editor.
- Enforce lesson edit permissions when saving the course structure.
- Ensure Learning Mode applies colour values without changing block markup.
- Escape the label attribute in the Exit Course block.
- Escape the teacher name and archive link rendered by the sensei_teachers shortcode.
- Improved how locked lesson content is excluded from frontend listings.
- Improved how private messages are excluded from frontend queries.
- Improved how the admin lesson and course fields are initialised so that post content cannot influence them.
- Improved the authorization of lesson completion.
- Improved the authorization of private messages sent to teachers.
- Improved the authorization of usage tracking events.
- Improved the handling of files uploaded as quiz answers.
- Improved the privacy of private messages.
- Improved the scoping of teacher comment moderation.
- Made request-input handling consistent across the admin and frontend.
- Prevent students from changing their quiz answers after the quiz has been submitted.
- Require the Order Courses capability to save the course order.
- Restrict the legacy lesson quiz save handler to the lesson being saved.
Changed
- Reports Overview Students and Courses header counts now read HPPS progress tables when High-Performance Progress Storage is enabled. #8231
- Reports Overview students per-row average grade now reads HPPS progress tables. #8205
- Reports Overview students per-row course counts now read HPPS progress tables when High-Performance Progress Storage is enabled. #8231
- Resolve HPPS storage configuration consistently across progress query services and repositories. #8248
- Update Sensei blocks to Block API version 3 so they render in the WordPress iframe block editor. #8190
- Update the Action Scheduler package to version 4.1.0. #8166
- Update the pelago/emogrifier package to version 7.3.0. #8231
Deprecated
- Deprecate the
sensei_analysis_user_lesson_gradesfilter. #8205
Fixed
- Fix a fatal error when a teacher triggers a module hierarchy rebuild.
- Fix a PHP 8 TypeError when
post_updatedfires with a null post object during autosave. #8222 - Fix a PHP 8.4 deprecation notice when exporting CSV files. #8213
- Fix a thick border showing on Course Outline modules in the editor when the module border setting is off. #8191
- Fixed a PHP deprecation notice when reviewing a grade for an unanswered True/False question. #8214
- Fixed a PHP warning when changing a course’s teacher on a course with no modules. #8225
- Fixed edits to a WPML-duplicated lesson’s quiz landing on the original language’s quiz and questions. #8220
- Fixed quiz answers, grades, resets, and lesson and course quiz surfaces breaking when the admin uses a secondary language or the lesson is translated on multilingual sites. #8130
- Fixed saving a translated course overwriting and stealing the original course’s lessons on WPML sites. #8219
- Fixed the quiz saved message not showing in Learning Mode. #8272
- Fixed the student management and grading screens showing no students when the WPML admin language is not the original one. #8224
- Fixed the text domain on the “Generate quiz questions with AI” upsell label so it can be translated. #8230
- Fix garbled text in button blocks whose text uses non-Latin characters when the button URL is set at render time. #8226
- Fix lesson/module hamburger menu being hidden on mobile when the course title is too long. #8094
- Fix lesson order not reaching WPML translations when the translated lessons are not duplicates. #8246
- Fix lessons removed from a course staying in its WPML translations after the translation is updated. #8245
- Fix PHP 8.4 deprecation warnings from implicitly nullable function parameters. #8199
- Fix Sensei templates in the Site Editor when Gutenberg’s Template activation experiment is enabled. #8250
Development
-
Sensei 4.26.3
Security
- Scope the Students management user search to student accounts. #8174
- Require the grading capability on the lessons dropdown AJAX endpoint and scope it to the caller’s own lessons.
- Restrict adding a student to a lesson so it is only allowed through the lesson’s own course.
- Prevent a teacher from deleting another teacher’s unused module.
- Remove the admin notice that exposed the administration email address to non-administrators.
Removed
- Remove the course and lesson editor tours. #8150
Fixed
- Fix a false “already owned by another teacher” error that blocked saving a course containing a module without a resolvable owner. #8180
- Fix course layouts and Sensei blocks not loading when Show template is enabled. #8139
- Fix quiz results and grading showing a previous attempt’s grades after a retake from another language on multilingual sites. #8125
- Fix spacing and styling of quiz question options when using the iframed block editor. #8172
- Fix the Grading screen Grade button and row titles when the admin uses a secondary language on multilingual sites. #8121
- Fix the quiz results page showing questions in the language the quiz was taken in instead of the viewer’s language on multilingual sites. #8124
- Fix lesson prerequisites pointing to the original-language lesson on WPML-translated lessons. #8132
- Fix lessons appearing out of order in translated courses when a new lesson is translated with WPML, and attach WPML lesson duplicates to the translated course. #8149
- Fix PHP 8.1 deprecation notices rendered into the quiz page for unanswered Multi Line questions. #8146
- Fix quiz question titles and answers not being translated on WPML-translated lessons. #8100
- Fix the Add Student form layout on the Students page. #8147
- Fix the misaligned Reset filter button on the Grading screen. #8122
- Fix typo in My Courses Page setting description #8106
- WordPress 7.1 Compatibility: Course and lesson block colors match the theme in the iframed post editor. #8179
- WordPress 7.1 Compatibility: Fix a PHP notice logged by Learning Mode templates. #8179
- WordPress 7.1 Compatibility: Learning Mode and email templates appear in their own group in the Site Editor. #8179
-
Sensei Pro 1.24.9
Removed
- Remove the Sell your course with WooCommerce onboarding tour
-
Sensei 4.26.2
Security
- Align the sensei-messages REST endpoint results with documented message visibility. #8032
- Ensure manual quiz grading submissions respect lesson ownership. #8035
- Apply private message permissions to replies returned by the core comments REST API. #8037
- Scope the Students “load more courses” action to courses the current teacher can manage. #8043
- Check quiz ownership in the legacy quiz-editor actions before applying changes. #8044
- Limit the modules course search to courses the current user is allowed to edit. #8049
- Only allow enrolled students to mark a course as complete. #8050
- Scope the Reports CSV export to the current teacher’s own courses, lessons and learners. #8053
- Ensure quiz resets are only allowed when retakes are enabled for the quiz. #8054
- Limit editing, deleting, and course assignment of a module to the module’s owner. #8089
Changed
- Disable the onboarding tour. #8014
- Migrate student start date editing to use progress repositories instead of direct comment meta access. #7933
- Open course outline AI upsell in a new tab. #8023
Fixed
- Fix alignment of option descriptions in the setup wizard’s purpose step. #8013
- Fix an infinite save loop when editing a lesson with a quiz block while a plugin (e.g. Polylang) injects extra fields into the REST response. #8036
- Fix duplicate frontend notices when the same keyed notice is added multiple times on classic themes. #8051
- Fixed content import stalling permanently when CSVs reference many or large remote media files. #8064
- Fixed PHP Fatal TypeError on PHP 8.x caused by malformed
classNameattribute definition in the Module Title block. #8093 - Fixed the position of the Course(s) field description on the module add and edit screens. #8090
- Fix export and import dropping private lessons and questions. #8068
- Fix export content search missing matching lessons/courses/questions. #8048
- Fix PHP 8.4 deprecation warnings for implicitly-nullable parameters by declaring explicit nullable types. #8021
- Fix React ref warning in the quiz block toolbar by forwarding refs through the number controls. #8033
- Fix React render-phase update warning when opening Course Settings in the course editor. #8041
- Fix remote featured images with query-string URLs failing to import. #8063
- Fix translated quiz titles keeping the original-language title when using WPML. #8096
- Prevent the Welcome to Course email from being sent more than once to the same student for the same course. #8046