Releases: learningequality/studio
Releases · learningequality/studio
v2025.12.02
What's Changed
- Pin pip due to pip-tools incompatibility. by @rtibbles in #5518
- Add focus trapping to resource preview side panel by @AllanOXDi in #5505
- Adds defensive check when generating language text in the language dropdown by @akolson in #5465
- Fix responsive issues when Importing from other channels within search recommendations by @AllanOXDi in #5542
- Fixes folders or resources with missing title remain 'incomplete' after editing just the title by @AllanOXDi in #5539
- Make 'updateDescendants' true by default by @marcellamaki in #5075
Full Changelog: v2025.10.29...v2025.12.02
v2025.10.29
What's Changed
- Adds defensive check when reading file_format on file object by @akolson in #5440
- Adds defensive check when validating node title by @akolson in #5464
- Fix focus ring on some buttons + confirmation dialogs not appearing for channel sharing operations by @MisRob in #5483
- [Remove Vuetify from Studio] Buttons/links in Import from channels by @Abhishek-Punhani in #5467
- Restore EPUB renderer height by @bjester in #5491
- Renames dupilicate recommendations endpoint names by @akolson in #5506
- Add file duration setting as migration task by @rtibbles in #5508
Full Changelog: v2025.10.06...v2025.10.29
v2025.10.06
What's Changed
- Fix validation to allow upload of HTML5 files by @rtibbles in #5418
- When creating exercises, default randomize to true as data. by @rtibbles in #5427
Full Changelog: v2025.9.29...v2025.10.06
v2025.9.29
What's Changed
High level overview
This major release includes:
- a closed beta for recommendations when importing content from other channels in Studio
- support for QTI exercise export
- foundational technical work for a new Rich Text Editor (not yet available to users in the UI)
- foundational technical work for a staging/draft channel publishing experience (not yet available to users in the UI)
- contributions towards the Open Source Community project "Remove Vuetify from Studio"
- numerous bug fixes, optimizations, and improvements
Supporting PRs for Recommendations and Feedback Mechanism
- Welcome Embeddings 🚀 by @vkWeb in #4322
- Allow docker build on push to
search-recommendationsby @bjester in #4499 - Core functionality of
connectandmake_requestmethods onBackendclass by @AlexVelezLl in #4494 - Embed topics and content logic by @akolson in #4588
- Extract content urls by @akolson in #4604
- Update
search-recommendationswith the latest fromunstableby @akolson in #4848 - Updates kds breaking changes by @akolson in #4842
- Merge down hotfixes into unstable by @bjester in #4853
- Update
search-recommendationswith the latest code changes by @akolson in #4856 - Implement recommendations display by @akolson in #4803
- String fixes from UX writing review by @marcellamaki in #5364
- Add initial pass of translations (Spanish) for QA team review by @marcellamaki in #5365
- Add locales for search recommendations beta by @marcellamaki in #5383
- Fixes missing scheme error when hitting recommendations API by @akolson in #5056
- Implement recommendation feedback utilities by @ozer550 in #5055
- Handle port default for CA API-- port 8000 by @bjester in #5071
- Search recommendations strings by @marcellamaki in #5357
- Add thumbnail placeholder to recommendation card by @bjester in #5261
- Search recommendations branch cleanups by @akolson in #5015
- Revamp content file mgt by @akolson in #4872
- Adds go to navigation to recommended resource card popout icon by @akolson in #5016
- Updates pillow version by @akolson in #5002
- Search recs unstable merger by @akolson in #5005
- Search recommendations Feature by @akolson in #5014
- Fixes unprocessed SASS expression in Thumbnail by @akolson in #5147
- More tweaks from #5014 review by @akolson in #5020
- Fixes the recommended resource card title duplication by @akolson in #5126
- Gherkin scenarios updates and corrections by @pcenov in #4902
- Add defensiveness against missing language for recommendations by @bjester in #5125
- Clean up recently ran migrations by @ozer550 in #4778
Supporting PRs for Dev Experience, Automations, QoL, Environment/Build
- Remove studio PR template in favor of org template. by @marcellamaki in #4823
- Remove use of deprecated set-output, use pre-commit lite action instead by @rtibbles in #4806
- Use notify_team_new_comment workflow action from .github repo by @rparadowski in #4844
- Remove 'pull_request_review' event from the community contributions spreadsheet action by @MisRob in #4859
- QoL improvement for IntelliJ based IDEs by @bjester in #4858
- feat: add community contribution labeling workflow by @iamshobhraj in #4927
- Fix the action not updating some data in the contributions tracking sheet by @MisRob in #4900
- Add new local_dev_wsl guide and update host and docker guides with references to it by @GautamBytes in #4904
- Node.js 18, pnpm 8, jest 29, linting/formatting updates, and webpack fixes by @bjester in #4462
- Switch package ecosystem to npm by @bjester in #5030
- Pin node and yarn versions by @EshaanAgg in #4822
- Remove unused code and dependencies by @rtibbles in #4934
- Reinstate .styl noop replacement for production webpack builds by @bjester in #5344
- unassign inactive users by @SukhvirKooner in #4979
- Revert flake8 and re-formats python files by @akolson in #5044
- Update Minio download link in local_dev_host.md and host_setup_services.md by @GautamBytes in #4892
- Prepare transition to postgresql 16 by @bjester in #4912
- Update contact information in the contributing guidelines by @MisRob in #4932
- Update workflow that handles contributor comments to the latest version by @MisRob in #5190
- Update manage issue header workflow events by @MisRob in #5177
- Update Node.js version to 20.x by @rtibbles in #5143
- Remove stylus module replacement causing non-hot devserver to break by @bjester in #5035
- Remove custom issue templates, turn on issue header automation, reference new contributing guidelines by @MisRob in #5105
- Explicitly specify localhost as an allowed host, and add WSLIP IP in WSLEnvironments. by @rtibbles in #5134
- Approve vue-demi postinstall build by @bjester in #5070
Supporting PRs for new Rich Text Editor
- feat(texteditor): initial standalone tiptap editor component by @habibayman in #5097
- feat(texteditor): implement insertion toolbar actions by @habibayman in #5155
- Use bundler advice for including fonts for mathlive. by @rtibbles in #5196
- Make tip tap editor sandbox completely dev only by @rtibbles in #5197
Supporting PRs for Remove Vuetify from Studio
- Replace Material Icons with Kolibri Design System Icon by @SukhvirKooner in #4913
- Migrate kradiobutton usages by @akolson in #4889
- Migrate LESS styles to SCSS by @adibmbrk in #4880
- Removed unused vuetify components by @drona-gyawali in #4911
- Upgrade KDS from 5.2.0 to 5.2.1 by @MisRob in #5210
- Issue#5123 : Migrated the offline alert bar in Settings from Vuetify to Kolibri Design System. by @AadarshM07 in #5162
- Do not use hardcoded colors in 'Request more space' form by @yeshwanth235 in #5195
- Use KTransition instead of VSlideYTransition in 'Request more space' form by @yeshwanth235 in #5194
- Feedback utility functions by @akolson in #5088
- Remove old Kolibri loading gif in favour of KLogo. by @rtibbles in #5149
- [Remove Vuetify from Studio] Top-level buttons in Channels by @RONAK-AI647 in #5232
- Updated LoadingText to KCircularLoader KDS component by @yeshwanth235 in #5215
- Fix/Replace Vuetify with KDS on ‘Channel Not Found’ Page by @vtushar06 in #5242
- Upgrade KDS from 5.0.0 to 5.2.0. by @MisRob in #5108
- Updated the license info section to use the KExternalLink component for l...
v2025.05.05
What's Changed
- Remove no longer needed deploy migration by @rtibbles in #5038
- Patch release v2025.05.05 by @marcellamaki in #5045
Full Changelog: v2025.04.29...v2025.05.05
v2025.04.29
What's Changed
- Update JS constants for le-utils latest. by @rtibbles in #5027
- Patch release v2025.04.29 by @marcellamaki in #5036
Full Changelog: v2025.04.28...v2025.04.29
v2025.04.28
Bug Fixes
- Fixes a bug with first numerical inputs not saving properly when working in the question editor
- Fixes error due to undefined node details
- Fixes validation error
What's Changed
- Save numerical input answers by @akolson in #4957
- Fix node details must be defined reference error by @ozer550 in #4993
- raise rest_framework.ValidationError when lft is not an integer by @nucleogenesis in #4990
- Upgrade le-utils to 0.2.10 by @bjester in #5011
- Patch release v2025.04.28 by @marcellamaki in #5008
Full Changelog: v2025.03.05...v2025.04.28
v2025.03.05
Bug Fixes
- Fixes a long standing bug in the sync command where license_description field was not synced from imported nodes
- Reinstates the previous syncing rectification code, but targets it specifically to license_description discrepancies and rectification
- Removes the date filter, as this problem will affect any node that has ever been imported
What's Changed
- Merge down from production by @bjester in #4905
- License description rectification by @rtibbles in #4917
- Allow read of production Studio bucket by @bjester in #4926
- Swap order of backends by @bjester in #4928
- Allow access to GCS client externally by @bjester in #4929
Full Changelog: v2024.12.03...v2025.03.05
v2024.12.03
Summary
This patch release includes various bug fixes to improve the reliability and performance of Kolibri Studio.
Bug fixes
- Adds missing pagination to trash and move modal
- Adds untranslated string for IMSCP option which became visible in content edit modal
- Fixes issues editing user storage within internal admin interface
- Addresses issues cheffing a previously deleted channel
- Fixes issue where modal appeared persistently when rearranging resources in a folder that has metadata
Performance
- Addresses query performance issues when opening channels and their details
- Addresses query performance issues when processing garbage collection
- Addresses query performance issues when checking whether content for a language exists in a channel, and providing language options upon publishing a channel
- Prepares for PostgreSQL 12
What's Changed
- Ensure actor_id gets passed in case channel creation API endpoint ends up in undeleting channel by @rtibbles in #4785
- Validate UUID Format in Public API Requests to Prevent 500 Errors by @ozer550 in #4794
- Channel details modal fixes by @rtibbles in #4807
- Adds missing string(IMSCP) for HTML5 file type by @akolson in #4818
- optimize garabge collection command by @ozer550 in #4808
- cherry-pick #4778: clean up migrations by @bjester in #4821
- Revert accidental change to update as admin method. by @rtibbles in #4791
- Add pagination to every place that displays long lists of nodes from loadChildren by @rtibbles in #4810
- Update node details query to use CTE and more robust tests by @bjester in #4824
- Use CTE for server rev query, add tests by @bjester in #4826
- Add signal handler that runs postgres setting on connection created by @bjester in #4834
- Conditionalize the JIT setting by @bjester in #4835
- Fixes sorting order of trash items by @akolson in #4845
- Optimize language existant query by @bjester in #4847
- Inherit modal does not appear when sorting items in a folder with metadata by @bjester in #4849
Full Changelog: v2024.10.02...v2024.12.03
v2024.10.02
Summary
This release adds the ability to quickly edit titles, descriptions, and other metadata through a new quick edit modal, with options for both single and bulk edits. Additionally, it also includes numerous UI/UX improvements and bug fixes that enhance the overall user experience.
Enhancements
- A quick edit modal has been introduced to simplify editing titles, descriptions, and other metadata, through single or bulk edit options.
- A user is now prompted when moving content from one location to another if the metadata doesn't match.
- Pagination has been added to make browsing topics easier.
- Alphabetic sorting is now available in the topic tree.
- H5P resources can now be uploaded.
- The login password policy has been strengthened for better security.
- The channel import and publish processes have been enhanced.
- Channel imports now prevent incomplete resources from being added.
- Numerous UI/UX improvements have been made to enhance the overall experience, including:
- Admin users can now only see their channel collections.
- Multi-click submissions when creating a collection have also been restricted.
- Error reporting in the edit modal has been enhanced.
- The checkboxes, icon buttons, and icons have been improved.
- External links now have a clearer, more consistent appearance.
- Additional storage requests have been enhanced to include a subject.
- The language dropdown has been improved for better accessibility.
- Page and list scrolling have been optimized for a smoother experience.
Bug fixes
- A user can now delete an account with shared channels.
- A user can now undo the deletion of the last remaining folder or resource in a channel.
- Checkboxes are now fully accessible and display outlines when selected.
- A user is now presented with the correct folder/resource counts when moving items using the clipboard.
- A user can now save their search.
- Uploaded resources now correctly reflect their completeness state.
- The default sidebar now displays with the correct width.
- All file type strings, including the less common ones, are now translated.
- A user can now select all trash items and delete them in bulk.
- A user now sees the correct completion value for a practice quiz.
What's Changed
- Welcome AI by @vkWeb in #4283
- AppNexus - The API Layer for contentcuration by @akash5100 in #4282
- Move appnexus to automation by @akolson in #4300
- Add recommendations backend boilerplate by @akolson in #4301
- Implement Recommendations Adapter by @akolson in #4303
- Adds whisper backend by @akash5100 in #4305
- Changed the router-link tag to KrouterLink by @ShivangRawat30 in #4293
- Add CloudStorage backend boilerplate by @ozer550 in #4309
- Implements Automation Manager Class by @ozer550 in #4306
- Bump @babel/traverse from 7.18.2 to 7.23.2 by @dependabot in #4312
- Bump tibdex/github-app-token from 1 to 2 by @dependabot in #4274
- Bump tornado from 6.0.4 to 6.3.3 by @dependabot in #4254
- Bump ajv from 8.11.0 to 8.12.0 by @dependabot in #4240
- Bump django-registration from 3.3 to 3.4 by @dependabot in #4226
- Bump @adobe/css-tools from 4.2.0 to 4.3.1 by @dependabot in #4269
- Bump gevent from 21.12.0 to 23.9.1 by @dependabot in #4291
- Bump pygments from 2.7.4 to 2.15.0 by @dependabot in #4237
- Resolve Celery TaskObject Race Condition by @ozer550 in #4268
- Remove extra whitespace between icons and text in channel card menu. by @KshitijThareja in #4320
- Bump django from 3.2.19 to 3.2.23 by @dependabot in #4324
- Fix the incorrect retrieval query in return_tasks function by @ozer550 in #4333
- Fix timeout caused by nginx by @aronasorman in #4336
- Add contributing guidelines and organize developer documentation by @MisRob in #4345
- Bump @adobe/css-tools from 4.3.1 to 4.3.2 by @dependabot in #4346
- Bump axios from 1.4.0 to 1.6.2 by @dependabot in #4340
- Bump actions/setup-node from 3 to 4 by @dependabot in #4317
- Bump i18n-iso-countries from 7.6.0 to 7.7.0 by @dependabot in #4315
- Bump actions/setup-python from 4 to 5 by @dependabot in #4348
- Quick edit modal for content title and description by @AlexVelezLl in #4354
- Add GH workflow for building postgres image by @bjester in #4362
- Disable skip after success, b/c push skip on PR by @bjester in #4363
- Fix issue with image in wrong place by @bjester in #4364
- Fixes Checkbox issue 4352 on Create Account page by @cerdo03 in #4358
- Add new kebab menu items and refactor structure for quick edit modals by @AlexVelezLl in #4368
- Fix wrong computed prop name by @vkWeb in #4371
- Merge down hotfixes by @bjester in #4379
- Bump kolibri-constants from 0.1.42 to 0.2.0 by @dependabot in #4380
- Bump fonttools from 4.40.0 to 4.43.0 by @dependabot in #4388
- Bump follow-redirects from 1.15.2 to 1.15.4 by @dependabot in #4390
- Quick edit modal for content language by @AlexVelezLl in #4355
- Bump urllib3 from 1.26.14 to 1.26.18 by @dependabot in #4391
- Hotfixes --> Unstable by @vkWeb in #4393
- issue number 2074 resolved by @cerdo03 in #4350
- Update descentants changes by @AlexVelezLl in #4372
- Changed IconButton to KRouterLink by @BabyElias in #4374
- Quick edit modal to edit "what you will need" by @AlexVelezLl in #4394
- fix:scroller by @nick2432 in #4400
- Upgrade to python 3.10 by @Jovian-Dsouza in #4384
- Fix node availability when propagating import copy by @vkWeb in #4377
- Make ContentNode Menus Keyboard accessible by @AlexVelezLl in #4402
- Bump the github group with 1 update by @dependabot in #4407
- Bump core-js from 3.25.1 to 3.35.0 by @dependabot in #4396
- Bump pillow from 9.4.0 to 10.2.0 by @dependabot in #4383
- Changed components to KComponents by @BabyElias in #4398
- Improve errors reporting in edit modal by @FidalMathew in #4404
- Add quick edit modals for Boolean Maps Properties by @AlexVelezLl in #4386
- Remove unused prod dependencies by @rtibbles in #4410
- Updated Components to KComponents by @BabyElias in #4413
- double submit issue resolved by @GarvitSinghal47 in #4414
- Addressing Incorrect Topic Empty State Issue in Staging Preview by @GarvitSinghal47 in #4422
- Fix issue created by download_sigil.sh by @aronasorman in #4343
- Upgrade the unstable branch to KDS v3.0.0 by @MisRob in #4412
- update django_bulk_update with inbuilt bulk_update by @FidalMathew in #4417
- admin-panel collection error resolved by @GarvitSinghal47 in #4401
- Bump django from 3.2.23 to 3.2.24 by @dependabot in #4429
- Bump grpcio from 1.53.0 to 1.53.2 by @dependabot in #4435
- Quick edit modal to edit audience by @AlexVelezLl in #4405
- Quick edit modal to edit Source by @AlexVelezLl in #4424
- Track input modality in studio frontend apps by @AlexVelezLl in https://git...