Releases: learningequality/kolibri
Releases · learningequality/kolibri
v0.16.1-beta0
What's Changed
Added
- Add check to call render on the response if it has a render method by @KshitijThareja in #11762
- Add
devserver-with-kds
to watch core for changes if KDS option is provided by @thesujai in #11785 - Add IsAuthenticated permission class in api/content/contentrequest by @thesujai in #11995
Fixed
- Fixes bug with case insensitive username matches during facility user bulk import by @nick2432 in #11779
- Fix screen flickering in Library page by @iskipu in #11853
- Fix issues with Logging module ('kolibri.lib.logging') that blocks Library page access with a non-closable modal by @iskipu in #11820
- Fix responsive onboarding setup wizard by @FidalMathew in #11847
- Prevent errors for exact duplicate usernames by @rtibbles in #11755
- Fix import duplicate usernames by @nick2432 in #11899
- fix: os_user unnecessary password field by @ThEditor in #11814
- Fix NO_FILE_BASED_LOGGING environment variable behavior by @KshitijThareja in
- Removes inconsistently applied and mostly no-op double click blocking. by @rtibbles in #11719
- Fix Loader Misallignment and Flickering by @iskipu in #11921
- Fix side navigation scrolling by @poju3185 in #11992
- Fix 'missing resource' alert not showing on Home page for missing quiz resources by @LianaHarris360 in #12008
- Fix inputs on devices that use both touchscreen and keyboard inputs by @poju3185 in #11998
Changed
- Delete coreAPI PageRoot component in favour of a default component in kolibri_app by @rtibbles in #11730
- Use FacilityUser instead of AUTH_USER_MODEL in migrations by @jredrejo in #11984
- Upgrade KDS from v2.0.0 to v3.0.1 on the release branch by @MisRob in #11929
- bump version number by @marcellamaki in #11912
- feat: update to vue-virtual-scroller 1.1.2 by @ThEditor in #11671
- Refactor error handling in CustomDjangoCache by @thesujai in #11808
- Update packages versions for latest release. by @rtibbles in #11919
- Update Mac tests to run on Python 3.10 by @rtibbles in #11753
- Pin vue and vue-template-compiler to ensure correct version is used in kolibri-tools. by @rtibbles in #11930
- Update version of all Android actions. by @rtibbles in #12007
- Use a different glob lib for now by @bjester in #11913
- Update README.md by @poju3185 in #12009
New Contributors
- @ThEditor made their first contribution in #11671
- @FidalMathew made their first contribution in #11847
- @poju3185 made their first contribution in #11992
Full Changelog: v0.16.0...v0.16.1-beta0
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 # 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 # 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 # 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 # 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 # 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