Skip to content

Releases: learningequality/kolibri

v0.19.1

20 Jan 16:54
e38dc4d

Choose a tag to compare

What's Changed

This release includes HTML5 Article Renderer improvements, performance optimizations including a ~25% reduction in JS bundle size, and foundational work for upcoming features. We also addressed some tech debt and continued cleaning up Python 2.7 compatibility code with great help from the community.

Added

Content & Rendering

Courses Feature (Foundational)

Developer Tooling

Changed

Performance & Build

Tech debt / refactors

Python 2.7 Cleanup

New Contributors

Full Changelog:
v0.19.0...v0.19.1-rc0

v0.19.1-rc0

16 Jan 23:51
7393c7d

Choose a tag to compare

v0.19.1-rc0 Pre-release
Pre-release

What's Changed

This release includes HTML5 Article Renderer improvements, performance optimizations including a ~25% reduction in JS bundle size, and foundational work for upcoming features. We also addressed some tech debt and continued cleaning up Python 2.7 compatibility code with great help from the community.

Added

Content & Rendering

Courses Feature (Foundational)

Developer Tooling

Changed

Performance & Build

Tech debt / refactors

Python 2.7 Cleanup

New Contributors

Full Changelog:
v0.19.0...v0.19.1-rc0

v0.19.1-beta0

16 Jan 00:04
faf076f

Choose a tag to compare

v0.19.1-beta0 Pre-release
Pre-release

QA Guidance

1. All Content Viewers

What to test: Every content type renderer (HTML5, H5P, BloomPUB, video, audio, PDF, ePub, Perseus, slideshow, QTI)

What to look for: JavaScript errors, broken interactions, content failing to load, performance differences

Why: Webpack bundling changes re-enabled Terser mangling and changed how core-js polyfills are loaded in the sandbox. These affect all compiled JavaScript.

  • 6a4c0c4 - Webpack bundle size optimizations (mangling re-enabled)
  • de9ac92 - Fix core-js duplication in viewer bundles
  • 54eb476 - H5P JavaScript library update

2. Application Startup & Navigation

What to test: Initial page load, navigation menu population

What to look for: Delayed or missing navigation items, flash of untranslated content, race conditions on slow connections

Why: i18n setup is now async with lazy-loaded locale data. Navigation component registration is deferred until i18n completes. This changes the timing of when the app becomes fully interactive.

  • 2eb1fba - Lazy load all intl and vue-intl locale files, defer nav component registration

3. Internationalization Across the App

What to test: Non-English languages, RTL languages, language switching

What to look for: Missing translations, layout breaks in RTL, errors when switching languages

Why: The entire i18n initialization flow was refactored from synchronous to asynchronous. Any code that assumed translations were immediately available could break.

  • 2eb1fba - Lazy load all intl and vue-intl locale files

4. Channel Import

What to test: Import channels from various sources

What to look for: Import failures, missing metadata post-import

Why: Channel import now includes modality annotation step. The annotation uses options__contains JSON string matching.

  • 3458d8f - Annotate modality field on upgrade and channel import flows

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