Skip to content

Releases: learningequality/kolibri

v0.19.0

10 Dec 21:03
a5c7d85

Choose a tag to compare

High level overview

Release 0.19.0 updates user management capabilities to make it easier for administrators to manage user accounts. The changes reduce the number of repetitive tasks required for class enrollment and unenrollment of learners, and general account management. This makes both setting up new programs and and year-over-year user management simpler and more efficient.

Added

New Feature: User Management

Administrators can now perform actions on multiple users at once, reducing the time needed to manage users at scale. Key workflows include:

  • Bulk user selection and actions: Allows admins to select multiple users and apply actions to all of them at once, including enrollment, removal from classes, and deletion
  • Copy classes: Admins can now copy classes of learners and coaches
  • Learner-only device management: Allow admins to remove learner-only devices users from a device and import them outside of the setup wizard workflow
  • Improved user creation workflow Admins can now enroll a user in one or more classes during user account creation
List of supporting PRs

Noteworthy technical updates include upgrading to Node.js v20, upgrading to Morango for improved sync reliability, implementing SQLite transaction improvements for better performance, and adding Django-silk support for development performance profiling.

Other technical additions include upgrading Morango for improved sync performance, implementing load testing framework for learner interactions, and finalizing JS package renaming and migration in the packages directory.

List of supporting PRs
  • Morango upgrade and sync queue tweaks by @rtibbles in #13774
  • Add load testing framework for learner lesson interactions by @rtibbles in #13856
  • Use BEGIN IMMEDIATE for all SQLite transactions by default by @rtibbles in #13878

Changed

Code cleanup and refactoring.

Supporting PRs
  • Upgrade Node.js from v18 to v20 by @rtibbles in #13531
  • Remove vestigial is_facility_user flag in favour of standard Django user properties by @rtibbles in #13857
  • Cleanup unused dependencies for kolibri-tools by @rtibbles in #13877
  • Complete removal of ...
Read more

v0.19.0-rc1

10 Dec 19:14
8ad9961

Choose a tag to compare

v0.19.0-rc1 Pre-release
Pre-release

0.19.0

High level overview

Release 0.19.0 updates user management capabilities that make it easier for administrators to manage users. The changes reduce the number of repetitive tasks required for class enrollment and unenrollment of learners, and general user account management. This makes both setting up new programs and and year-over-year user management simpler and more efficient.

Additionally, this release upgrades to node v20.

Added

New Feature: Bulk User Management

Administrators can now perform actions on multiple users at once, reducing the time needed to manage users at scale. Key workflows include:

  • Bulk user selection and actions: Allows admins to select multiple users and apply actions to all of them at once, including enrollment, removal from classes, and deletion
  • Copy classes: Admins can now copy classes of learners and coaches
  • Learner-only device management: Allow admins to remove learner-only devices users from a device and import them outside of the setup wizard workflow
  • Improved user creation workflow Admins can now enroll a user in one or more classes during user account creation
List of supporting PRs

Noteworthy technical updates include upgrading to Node.js v20, upgrading to Morango for improved sync reliability, implementing SQLite transaction improvements for better performance, and adding Django-silk support for development performance profiling.

Other technical additions include upgrading Morango for improved sync performance, implementing load testing framework for learner interactions, and finalizing JS package renaming and migration in the packages directory.

List of supporting PRs
  • Morango upgrade and sync queue tweaks by @rtibbles in #13774
  • Add load testing framework for learner lesson interactions by @rtibbles in #13856
  • Use BEGIN IMMEDIATE for all SQLite transactions by default by @rtibbles in #13878

Changed

  • BREAKING CHANGE - Node.js has been upgraded from v18 to v20.

Additional changes are code cleanup and non-breaking refactoring.

Supporting PRs
Read more

v0.19.0-rc0

10 Dec 00:14
7292040

Choose a tag to compare

v0.19.0-rc0 Pre-release
Pre-release

0.19.0

High level overview

Release 0.19.0 updates user management capabilities that make it easier for administrators to manage users. The changes reduce the number of repetitive tasks required for class enrollment and unenrollment of learners, and general user account management. This makes both setting up new programs and and year-over-year user management simpler and more efficient.

Additionally, this release upgrades to node v20.

Added

New Feature: Bulk User Management

Administrators can now perform actions on multiple users at once, reducing the time needed to manage users at scale. Key workflows include:

  • Bulk user selection and actions: Allows admins to select multiple users and apply actions to all of them at once, including enrollment, removal from classes, and deletion
  • Copy classes: Admins can now copy classes of learners and coaches
  • Learner-only device management: Allow admins to remove learner-only devices users from a device and import them outside of the setup wizard workflow
  • Improved user creation workflow Admins can now enroll a user in one or more classes during user account creation
List of supporting PRs

Noteworthy technical updates include upgrading to Node.js v20, upgrading to Morango for improved sync reliability, implementing SQLite transaction improvements for better performance, and adding Django-silk support for development performance profiling.

Other technical additions include upgrading Morango for improved sync performance, implementing load testing framework for learner interactions, and finalizing JS package renaming and migration in the packages directory.

List of supporting PRs
  • Morango upgrade and sync queue tweaks by @rtibbles in #13774
  • Add load testing framework for learner lesson interactions by @rtibbles in #13856
  • Use BEGIN IMMEDIATE for all SQLite transactions by default by @rtibbles in #13878

Changed

  • BREAKING CHANGE - Node.js has been upgraded from v18 to v20.

Additional changes are code cleanup and non-breaking refactoring.

Supporting PRs
Read more

v0.19.0-beta2

06 Nov 22:56
c2c4c41

Choose a tag to compare

v0.19.0-beta2 Pre-release
Pre-release

QA List

🎉 At this point, we are ready to begin critical workflows and integration testing! 🎉

As we've done recent years, we'll be using our somewhat-consolidated testing matrix that includes critical workflows on each OS version, but full integration only once per browser as a whole for each OS.

As an example:

  • critical workflows on Windows 7, 10 and 11.
  • full integration once each on Firefox, Chrome and Edge

So, in other words, no need to do full integration on Firefox on Windows 7, Firefox on Windows 10, Firefox on Windows 11, and then repeat on Chrome and Edge.

This allows us to confirm that our most essential tasks work on all of our supported OS versions, but not spend too much time worrying about browser-specific bug, which tend to be frontend bugs in the browser itself, not in Kolibri, that we wouldn't be able to easily address.

What's Changed

Dependencies

Full Changelog: v0.19.0-beta1...v0.19.0-beta2

v0.19.0-beta1

21 Oct 03:20
beae6c5

Choose a tag to compare

v0.19.0-beta1 Pre-release
Pre-release

What's Changed

QA Review List

Regression testing bulk user behavior

The following has made substantial changes to the look & feel of the bulk user management table. Please test all bulk action workflows on:

  • Android app
  • Mobile screens (portrait orientation)
  • Tablet screens & larger

Fixes & updates

Dependency updates

Full Changelog: v0.19.0-beta0...v0.19.0-beta1

v0.18.4

06 Oct 20:19
942286a

Choose a tag to compare

What's Changed

Full Changelog: v0.18.3...v0.18.4

v0.18.4-rc0

30 Sep 22:46
49d0952

Choose a tag to compare

v0.18.4-rc0 Pre-release
Pre-release

What's Changed

QA Guidance: Survey Fixes

  • Create a NEW survey (since we also made changes in Studio, the existing version of the channel shared with the token will not have the necessary changes in it). The survey should have a free-response question (non-numeric).
  • Import the survey in Kolibri. Learners should be able to enter free responses, and have their responses saved and viewable through the survey report.

Numeric input questions with multiple answers in a survey that also contains free response questions is not resolved in the scope of this patch release

Full Changelog: v0.18.3...v0.18.4-rc0

v0.19.0-beta0

23 Sep 23:14
3e2913b

Choose a tag to compare

v0.19.0-beta0 Pre-release
Pre-release

What's Changed

QA review list

New or updated workflows/UX - not in alpha releases

  • (NEW) Copy a class can also be done within the page of a class, via the options button
  • Updates to user table: wider format on browser; "shorter" header space, sticky-columns mean first/first two and last column display always in the view when there is enough content for the table to need a horizontal scroll (testing on tablet and mobile size is especially relevant)

Copying and deleting a class from the class edit page (PR)

  1. From Facility > Users, click a class's name to go to that class's edit page
  2. Using the Options button dropdown menu I can Copy, Rename or Delete the current class
  3. After deletion, I am redirected to the Facility > Classes page
  4. After copying a class, I am redirected to the Facility > Classes page

Previously reviewed core workflows

All bulk actions

Figma specs

  • All actions have been updated to have consistent behavior for handling user actions.
  • The "You can undo this" KModal has become a snackbar for all cases and should be tested in all cases.

Copying a class

  • From Facility > Classes page, I can copy a class without it's learners and coaches
  • From Facility > Classes page, I can copy a class including both of it's learners and coaches
  • From Facility > Classes page, I can copy a class without one of either learners and coaches
  • Class names input with more than one consecutive space should be treated as if there is only one space. So "My Class" should be treated as a duplicate of " My Class "

Removed users page

Figma Note that some copy changes are not reflected in the Figma

  • [Setup]: Facility > Users page: Select and delete some users
  • Facility > Users page: Click the Options dropdown and select "View removed users" - see a page listing users you've deleted
  • Check that you can "un-delete" them
  • Check that un-deleted users have their relationships to classes restored (ie, they're still a coach or learner in a class they were in before they were deleted)
  • Test that you can permanently delete users
  • Verify that the table's basic capabilities work as expected (sorting, pagination)

LOD User management (Figma specs, PR)

Copying a class (Figma specs, PR) This did not have QA review before merge

  1. Navigate to class in the table and click the vertical ellipsis icon in the final column.
  2. Verify the dropdown menu contains "Copy Class", "Rename Class", and "Delete" options.
  3. Test "Rename Class": 1. Select "Rename Class". 2. Verify the KModal appears with a textbox. 3. Enter a new name and confirm the rename.
  4. Test "Delete": 1. Select "Delete". 2. Verify the ClassDeleteModal appears.
  5. Test "Copy Class": 1. Select "Copy Class". 2. Verify the SidePanelModal appears.
  6. Check that the class name textbox is pre-filled with "Copy of {original class name}".
  7. Verify the coach dropdown lists available coaches and pre-selects existing ones. and Test selecting and deselecting coaches
  8. Click the "Copy Class" button within the side panel. and confirm the if the copy of the class appears in the class table.

"Save and add another" - improved user creation (Figma spec, PR)

  1. Go to facilities > users.
  2. Click on add user button.
  3. Add users using both save and add another and save and continue actions
  4. Check that users have been created correctly with their roles and classes.

Bulk enrollment of users as learner to a class (Figma spec, PR)

  1. On the Facility > Users page, select one or most users and click the enroll icon button.
  2. Once the side panel opens, confirm that the correct warnings apply based on if the selected users are coaches, learners, and not enrolled in any classes.
  3. Select a class to enroll the users into and undo the enrollment to confirm that the functionality works as intended. Note: Users that are already enrolled into the selected class(es) will not be affected by selecting ENROLL or UNDO.

Known Issues

PRs since v0.19.0-alpha1

What's Changed

Read more

v0.18.3

17 Sep 17:55
9730fe9

Choose a tag to compare

What's Changed

High level overview

This release includes two important performance improvements. It fixes a long standing performance issue in our Windows app and it also improves the content import speed when downloading content from the Kolibri Library onto the device.

The release also makes some small but meaningful updates to the Learner experience, including fixing a community-reported bug that prevented listing of all resources in the resource side panel for large folders and updating the titles on content cards, displaying more words on longer titles.

It contains a variety of other bug fixes and small improvements.

Added

For forthcoming Windows Installer project support and windows performance fixes

  • Upgrade windows installer action usage to latest version. by @rtibbles in #13672
  • Vendor magicbus wait method to fix non-blocking select calls in Windows. by @rtibbles in #13673

Changed

  • Update to latest kolibri-installer-android release. by @rtibbles in #13740

Fixed

Full Changelog: v0.18.2...v0.18.3

v0.19.0-alpha1

29 Aug 17:23
85a29a8

Choose a tag to compare

v0.19.0-alpha1 Pre-release
Pre-release

What's Changed

QA review list

All bulk actions

Figma specs

  • All actions have been updated to have consistent behavior for handling user actions.
  • The "You can undo this" KModal has become a snackbar for all cases and should be tested in all cases.

Copying a class

  • From Device > Classes page, I can copy a class without it's learners and coaches
  • From Device > Classes page, I can copy a class including both of it's learners and coaches
  • From Device > Classes page, I can copy a class without one of either learners and coaches
  • Class names input with more than one consecutive space should be treated as if there is only one space. So "My Class" should be treated as a duplicate of " My Class "

Removed users page

Figma Note that some copy changes are not reflected in the Figma

  • [Setup]: Device > Users page: Select and delete some users
  • Device > Users page: Click the Options dropdown and select "View removed users" - see a page listing users you've deleted
  • Check that you can "un-delete" them
  • Check that un-deleted users have their relationships to classes restored (ie, they're still a coach or learner in a class they were in before they were deleted)
  • Test that you can permanently delete users
  • Verify that the table's basic capabilities work as expected (sorting, pagination)
List of supporting PRs

Dependencies

Read more