Releases: learningequality/kolibri
Releases · learningequality/kolibri
v0.16.0
What's Changed
Features
Robust syncing of user data and resources
Support for quick learner setup and independent learners
- Kolibri has a new onboarding experience which allows joining a facility, and streamlines getting started as an independent learner with a rapid “on my own setup” option
- Independent learners can transfer their existing data and learning progress to a facility.
Resource discovery
- Assigned lesson and quiz resources are now automatically transferred to learner devices, allowing coaches to dynamically manage learner content, rather than an administrator needing to import all content devices before distribution.
- Administrators and independent learners are now able to view other Kolibri Libraries on their local network and browse their resources, without having to import content. If they are connected to the internet, they will be able to browse resources on the Kolibri Content Library (hosted on Kolibri Studio).
- Administrators can allow learners to download resources from other Kolibri Libraries to their device to view within Kolibri, even when they are no longer on the same network.
Support for administrators
- Administrators have a new option to add a PIN on learner-only devices, which allows an administrator easy access to the Device page while preventing learners from inadvertently making changes.
- Administrators are now able to schedule syncing of facility data on a recurring basis at custom intervals.
- When exporting log files, administrators are able to select the date range for the logs.
Practice quizzes
- This release supports practice quizzes, which are resources in the format of quizzes that learners can take in preparation for an assessment. They are able to see their score, and retry as many times as they would like, independently. Practice quiz resources are available through the Library, or can be assigned as part of a lesson. The same questions can also be assigned as a coach assigned quiz as a standardized assessment.
Changes
Dev documentation/dev updates
- Updated node version to 18
- Getting started documentation updated
- Updated to Webpack 5
- Created Github actions for build pipeline
- Created Github action to add assets to PRs
- Task API changes have been finalized after initial work in 0.15. Documentation is now updated to describe how to interact with the API and define tasks in plugins.
Architectural changes
- There is a new page architecture that is used across all Kolibri plugins, and the component has been removed. (Selected relevant high level issues and PRs: #9102, #9128, 9134.)
- The Kolibri Process Bus has been updated to support easier composability for custom deployment architectures.
- Conditional promises have been removed.
- To support the new onboarding process for Kolibri, Kolibri apps can now access a capability to provide access controls based on the currently active operating system user.
API Breaking Changes
- Tasks API has now been finalized, previous methods for interacting with tasks that do not use the pluggable Tasks API have been removed.
- The drive info endpoint has been moved the into the device app but functionality remains the same
- The API for coordinating learner only device synchronization within a local area network has been updated to ensure robust and reliable syncing. Any users wishing to use learner only device synchronization must update all Kolibri devices to this newer version
API Additions (non-breaking changes)
- REST API for enabling and disabling plugins
- Add API endpoint and hook driven capability for UI initiated device restart
- Public signup viewset
- Public content metadata endpoints to support granular resource import
Accessibility improvements
- Landmarks have been added and refined across the Library page and its related subpages, for better accessibility. This is a first step in support of more robust accessibility support, particularly in terms of page navigation for screen reader users.
Deprecations
- Support for Python 2.7 will be dropped in the upcoming version, 0.17. Upgrade your Python version to Python 3.6+ to continue working with Kolibri. More recent versions of Python 3 are recommended.
- Support for this Internet Explorer 11 will be dropped in the upcoming version, 0.17. We recommend installing other browsers, such as Mozilla Firefox or Google Chrome, in order to continue working with Kolibri.
Kolibry Design System upgrades
- Kolibri is now using kolibri-design-system v2.0.0 (a major version upgrade!). Please see the KDS release's Github page for documentation and full details about breaking changes and new features.
v0.16.0-rc3
What's Changed
- Prevent unique constraint saving errors. by @rtibbles in #11904
- Ensure noarch dir is added to path when abi3 c extensions are used. by @rtibbles in #11905
Full Changelog: v0.16.0-rc2...v0.16.0-rc3
v0.16.0-rc2
v0.16.0-rc1
What's Changed
- Fix version parsing for release candidates. by @rtibbles in #11872
- Reduce the chance of database locks interrupting soud syncing. by @rtibbles in #11886
- Update debian installer to include critical fix for raspberry Pi os. by @rtibbles in #11885
Full Changelog: v0.16.0-rc0...v0.16.0-rc1
v0.16.0-rc0
What's Changed
Features
Robust syncing of user data and resources
Support for quick learner setup and independent learners
- Kolibri has a new onboarding experience which allows joining a facility, and streamlines getting started as an independent learner with a rapid “on my own setup” option
- Independent learners can transfer their existing data and learning progress to a facility.
Resource discovery
- Assigned lesson and quiz resources are now automatically transferred to learner devices, allowing coaches to dynamically manage learner content, rather than an administrator needing to import all content devices before distribution.
- Administrators and independent learners are now able to view other Kolibri Libraries on their local network and browse their resources, without having to import content. If they are connected to the internet, they will be able to browse resources on the Kolibri Content Library (hosted on Kolibri Studio).
- Administrators can allow learners to download resources from other Kolibri Libraries to their device to view within Kolibri, even when they are no longer on the same network.
Support for administrators
- Administrators have a new option to add a PIN on learner-only devices, which allows an administrator easy access to the Device page while preventing learners from inadvertently making changes.
- Administrators are now able to schedule syncing of facility data on a recurring basis at custom intervals.
- When exporting log files, administrators are able to select the date range for the logs.
Practice quizzes
- This release supports practice quizzes, which are resources in the format of quizzes that learners can take in preparation for an assessment. They are able to see their score, and retry as many times as they would like, independently. Practice quiz resources are available through the Library, or can be assigned as part of a lesson. The same questions can also be assigned as a coach assigned quiz as a standardized assessment.
Changes
Dev documentation/dev updates
- Updated node version to 18
- Getting started documentation updated
- Updated to Webpack 5
- Created Github actions for build pipeline
- Created Github action to add assets to PRs
- Task API changes have been finalized after initial work in 0.15. Documentation is now updated to describe how to interact with the API and define tasks in plugins.
Architectural changes
- There is a new page architecture that is used across all Kolibri plugins, and the component has been removed. (Selected relevant high level issues and PRs: #9102, #9128, 9134.)
- The Kolibri Process Bus has been updated to support easier composability for custom deployment architectures.
- Conditional promises have been removed.
- To support the new onboarding process for Kolibri, Kolibri apps can now access a capability to provide access controls based on the currently active operating system user.
API Breaking Changes
- Tasks API has now been finalized, previous methods for interacting with tasks that do not use the pluggable Tasks API have been removed.
- The drive info endpoint has been moved the into the device app but functionality remains the same
- The API for coordinating learner only device synchronization within a local area network has been updated to ensure robust and reliable syncing. Any users wishing to use learner only device synchronization must update all Kolibri devices to this newer version
API Additions (non-breaking changes)
- REST API for enabling and disabling plugins
- Add API endpoint and hook driven capability for UI initiated device restart
- Public signup viewset
- Public content metadata endpoints to support granular resource import
Accessibility improvements
- Landmarks have been added and refined across the Library page and its related subpages, for better accessibility. This is a first step in support of more robust accessibility support, particularly in terms of page navigation for screen reader users.
Deprecations
- Support for Python 2.7 will be dropped in the upcoming version, 0.17. Upgrade your Python version to Python 3.6+ to continue working with Kolibri. More recent versions of Python 3 are recommended.
- Support for this Internet Explorer 11 will be dropped in the upcoming version, 0.17. We recommend installing other browsers, such as Mozilla Firefox or Google Chrome, in order to continue working with Kolibri.
Kolibry Design System upgrades
- Kolibri is now using kolibri-design-system v2.0.0 (a major version upgrade!). Please see the KDS release's Github page for documentation and full details about breaking changes and new features.
RC Diff
- Use responsive composable instead of mixin to fix errors from the mixin. by @rtibbles in #11791
- Capture more errors from the backend and show error messages for them by @jredrejo in #11807
- Prevent user sign up on LOD imports by @rtibbles in #11827
- Remove redundant mastery label masking exercise card thumbnail by @LianaHarris360 in #11840
- Ensure facility id is properly sent to public signup viewset. by @rtibbles in #11846
- Fix 500 errors when using django redis cache for response caching by @rtibbles in #11849
- Add conditional check to ensure resource exists before rendering report page by @marcellamaki in #11843
- Pass the correct kwargs to the cleanupsyncs management command. by @rtibbles in #11854
- LOD Syncing: create canonical set of assignments when learner is assigned multiple ways by @bjester in #11860
- Update translations with latest from Crowdin by @radinamatic in #11858
- Pin all installer actions to specific versions. by @rtibbles in #11863
- Ensure that Kolibri can start regardless of whether redis and redis cache is installed. by @rtibbles in #11868
- Update changelog for 0.16.0 release by @marcellamaki in #11870
Full Changelog: v0.16.0-beta13...v0.16.0-rc0
v0.16.0-beta13
What's Changed
Full Changelog: v0.16.0-beta12...v0.16.0-beta13
v0.16.0-beta12
What's Changed
- Username validation by @nick2432 in #11739
- Allow preset to be optional by @rtibbles in #11765
- Handle updated exception signature from super validate method. by @rtibbles in #11770
- Fix issue where device connection check is not memoized by @bjester in #11772
- Overflowfix by @AllanOXDi in #11743
- Add passwordless login support for the current os user in an app context by @rtibbles in #11754
- Upgrade KDS to v2.0.0 on the release branch by @MisRob in #11760
- Tweak navbar overflow logic to catch selected items by @rtibbles in #11778
Full Changelog: v0.16.0-beta11...v0.16.0-beta12
v0.16.0-beta11
What's Changed
- Improve Coach tabs accessibility for quiz report page by @KshitijThareja in #11588
- Link KDS to Kolibri via webpack aliases by @Jaspreet-singh-1032 in #11446
- Bump google-github-actions/upload-cloud-storage from 1 to 2 by @dependabot in #11638
- Prevent display of welcome modal in LOD's by @ozer550 in #11587
- Bump the github group with 3 updates by @dependabot in #11640
- Changed KResponsiveWindow to useKResponsivewindow in Slidehow Viewer … by @moweiss in #11534
- Fix notification updates in Coach by @rtibbles in #11621
- Reduce whl size, bundle C extensions for all Python 3 versions on Windows by @rtibbles in #11636
- trying to make all of the card layouts be in sync with one another by @marcellamaki in #11573
- Include nodes for import that are missing supplementary files by @dbnicholson in #11651
- Sanitize inputs to handle NULL characters when parsing a string literal by @KshitijThareja in #11660
- Hides app bars on scroll down and show on scroll up by @akolson in #11551
- Fix card widths on ultra wide screen by @iskipu in #11665
- Add a meaningful error warning when KDS path is not provided when running yarn run devserver-with-kds by @KshitijThareja in #11657
- Bump the babel group with 1 update by @dependabot in #11668
- Bump eslint-plugin-import from 2.29.0 to 2.29.1 by @dependabot in #11670
- Bump @testing-library/jest-dom from 6.1.5 to 6.1.6 by @dependabot in #11677
- Linting rule to check formatting of translation strings by @KshitijThareja in #11681
- fixing scroll issue at save changes button by @iskipu in #11645
- Contributors welcome to our authors.md! by @vkWeb in #11688
- Authors are pilots of kolibri by @vkWeb in #11691
- Fixing action's push to PR branch by @vkWeb in #11693
- Hide modal when a token has multiple channels by @jredrejo in #11686
- Update to nodejs 18. by @rtibbles in #11684
- Remove mostly useless warning against using npm by @rtibbles in #11697
- Bump the babel group with 3 updates by @dependabot in #11701
- Bump html-webpack-plugin from 5.5.4 to 5.6.0 by @dependabot in #11703
- Add command line deprecation warning for Python 2.7 by @rtibbles in #11700
- Update package versions. by @rtibbles in #11698
- move MeteredConnectionNotificationModal to Library Page & conditionally render "Other Libraries" by @rtibbles in #11683
- Better setup wizard errors by @rtibbles in #11655
- Fix to new badge being shown on channel delete by @thesujai in #11676
- Delete previously committed message files with outdated naming scheme update all translations by @rtibbles in #11705
- Remove CACHES override in dev settings by @thesujai in #11706
- Enque_lifo_job by @nick2432 in #11687
- Pin alabaster theme to version that is compatible with our version of sphinx. by @rtibbles in #11709
- Bump follow-redirects from 1.15.2 to 1.15.4 by @dependabot in #11710
- Better handling of validation errors when remote facility does not require passwords by @jredrejo in #11704
- Handle metadata import failure. by @rtibbles in #11690
- Remove inaccessible language switcher modal. by @rtibbles in #11718
- Bump stylelint-scss from 5.3.1 to 5.3.2 by @dependabot in #11721
- Bump the babel group with 1 update by @dependabot in #11720
- Linting issue in no-console by @thesujai in #11707
- Fixed intermittent KeyError when handling a finished future in the task worker #11350 by @adviti-mishra in #11591
- Catch badly formed UUIDs passed to facility parameter by @rtibbles in #11735
- Unpin docs requirements and tweak docs to fix build by @rtibbles in #11736
- Swap on-my-own const for using the existing Personal const by @marcellamaki in #11514
- Fix welcome modal appearing after deleting channels by @ozer550 in #11708
- Username case error by @nick2432 in #11716
- No download buttons in app context by @rtibbles in #11740
- Fix to Env Var and Config persisting in options.ini in KOLIBRI_HOME by @thesujai in #11737
- Bump css-minimizer-webpack-plugin from 5.0.1 to 6.0.0 by @dependabot in #11747
- Bump the github group with 1 update by @dependabot in #11748
- Remove coach page specific sub nav toggling. by @rtibbles in #11744
- Removes uncleaned up reference to isAndroidWebview. by @rtibbles in #11750
- Turn on learner resource download by default for on my own setup. by @rtibbles in #11752
- Prevent learner only devices from being shown as an import source when creating one. by @rtibbles in #11756
New Contributors
- @moweiss made their first contribution in #11534
- @nick2432 made their first contribution in #11687
- @adviti-mishra made their first contribution in #11591
Full Changelog: v0.16.0-beta10...v0.16.0-beta11
v0.16.0-beta10
What's Changed
- Pressing enter to submit the Super Admin creation form in the Setup Wizard and show form validation error #11465 by @a6ar55 in #11500
- Fix setup wizard selection of network devices for sign up or import by @bjester in #11510
- Development and contributing guidelines updates by @MisRob in #11560
- Moves setting current_channel to init by @marcellamaki in #11567
- Support content renderable_only option in tasks API by @dbnicholson in #11519
- Fix - Video player height by @iskipu in #11566
- Fixes hitherto unnoticed bug that meant time_updated was never set. by @rtibbles in #11590
- Handle suspicious file operations and return a 404. by @rtibbles in #11596
- Handle no config being present for kolibri-tools CLI by @rtibbles in #11589
- Solve the out of frame bug of quiz images by @nikkuAg in #11568
- GH contributor slack action for release branch by @vkWeb in #11624
- Trying to fix a small issue with our slack notif by @vkWeb in #11625
- Add fields for tracking where jobs are executed by @bjester in #11597
- Fixing github actor by @vkWeb in #11631
- Upgrade morango, cryptography and dependency versions. by @rtibbles in #10824
- Bump google-github-actions/auth from 1 to 2 by @dependabot in #11569
- Bump @adobe/css-tools from 4.3.1 to 4.3.2 by @dependabot in #11572
- Bump core-js from 3.33.2 to 3.33.3 by @dependabot in #11544
- Bump @babel/preset-env from 7.23.3 to 7.23.5 by @dependabot in #11575
- Bump @babel/plugin-transform-runtime from 7.23.3 to 7.23.4 by @dependabot in #11576
- Bump @testing-library/jest-dom from 6.1.4 to 6.1.5 by @dependabot in #11577
- Bump stylelint-config-recess-order from 4.3.0 to 4.4.0 by @dependabot in #11592
- Bump core-js from 3.33.3 to 3.34.0 by @dependabot in #11593
- Bump @types/jest from 29.5.8 to 29.5.10 by @dependabot in #11594
- Bump iso8601-duration from 2.1.1 to 2.1.2 by @dependabot in #11628
- Bump @babel/core from 7.23.5 to 7.23.6 by @dependabot in #11630
- Bump @babel/preset-env from 7.23.5 to 7.23.6 by @dependabot in #11618
- Bump html-webpack-plugin from 5.5.3 to 5.5.4 by @dependabot in #11599
- Bump @types/jest from 29.5.10 to 29.5.11 by @dependabot in #11600
- Bump actions/setup-python from 4 to 5 by @dependabot in #11601
- Bump google-github-actions/setup-gcloud from 1 to 2 by @dependabot in #11612
- Bump csv-parse from 5.5.2 to 5.5.3 by @dependabot in #11608
Full Changelog: v0.16.0-beta9...v0.16.0-beta10
v0.16.0-beta9
What's Changed
- Warning fixes by @dbnicholson in #11520
- Fix learning facility setup window's Continue button action by @KshitijThareja in #11499
- Hardcode user model to avoid conflict with other kolibri usages by @jredrejo in #11531
- limit number of cards visible in "Recent" by @thanksameeelian in #11515
- Fix Welcome Modal for different browser sessions by @ozer550 in #11492
- Misc fixes for LOD syncing and upgrade Morango by @bjester in #11525
- Raise errors with expected format by @bjester in #11541
- There can be more than one network location for an instance ID by @bjester in #11542
- Handle weird edge case where the extra_settings key does not exist yet. by @rtibbles in #11545
- Fix issues with insufficient storage status handling by @bjester in #11552
- Don't display LOD sync or cleanup sync tasks on the Facility Tasks page by @marcellamaki in #11553
- Bump @babel/preset-env from 7.23.2 to 7.23.3 by @dependabot in #11522
- Bump actions/github-script from 6 to 7 by @dependabot in #11526
- Bump @types/jest from 29.5.7 to 29.5.8 by @dependabot in #11527
- Bump @babel/core from 7.23.2 to 7.23.3 by @dependabot in #11532
- Bump axios from 1.6.1 to 1.6.2 by @dependabot in #11538
Full Changelog: v0.16.0-beta8...v0.16.0-beta9