diff --git a/general/app/customisation/remote-themes.md b/general/app/customisation/remote-themes.md index ea87a17e03..4615e858ff 100644 --- a/general/app/customisation/remote-themes.md +++ b/general/app/customisation/remote-themes.md @@ -163,6 +163,11 @@ html { } ``` +#### Moodle site theme + +Starting on Moodle App 4.4 you can restrict CSS rules to a specific site theme. So, when accessing to your site, the app will retrieve the name of the site theme and will add a class to HTML tag following the next pattern: +`theme-site-MYTHEME` and you can use this selector to filter your rules. + #### Application theme The application uses a light theme by default, but it adds the `dark` class to the `html` element when it is using a dark theme: diff --git a/general/app/upgrading/plugins-upgrade-guide.md b/general/app/upgrading/plugins-upgrade-guide.md index 14ddbe72b7..a2a889aa0d 100644 --- a/general/app/upgrading/plugins-upgrade-guide.md +++ b/general/app/upgrading/plugins-upgrade-guide.md @@ -18,6 +18,10 @@ Depending on which version of the app you're upgrading from, you'll need to go t Other than the changes outlined in this document, there may be smaller API changes that aren't highlighted here. Make sure to check the [upgrade.txt](https://github.com/moodlehq/moodleapp/blob/latest/upgrade.txt) file for an exhaustive list with all the changes. +## 4.4 to 4.5 + +The Ionic version has been upgraded to v8 (from v7), make sure to check the relevant upgrade guides for [v8](https://ionicframework.com/docs/updating/8-0). In particular, the legacy syntax to declare input labels that was deprecated on Ionic7 now has been removed. + ## 4.3 to 4.4 Starting with this release, the changes listed in [upgrade.txt](https://github.com/moodlehq/moodleapp/blob/latest/upgrade.txt) will only document breaking changes for APIs exposed to site plugins. Internal changes will no longer be documented. Make sure to check out the file to learn about the changes in this version. diff --git a/general/app/upgrading/remote-themes-upgrade-guide.md b/general/app/upgrading/remote-themes-upgrade-guide.md index 74d4d936cc..b198de8a84 100644 --- a/general/app/upgrading/remote-themes-upgrade-guide.md +++ b/general/app/upgrading/remote-themes-upgrade-guide.md @@ -30,7 +30,7 @@ body.moodle-app-4-0 { } ``` -You can use these classes to target specific major and patch versions as well, so for example version 4.1.0 ships with `moodleapp-4`, `moodleapp-4-1`, and `moodleapp-4-1-0` classes. You can also use ionic versions to filter styles, such as `ionic3` or `ionic5`. +You can use these classes to target specific major and patch versions as well, so for example version 4.1.0 ships with `moodleapp-4`, `moodleapp-4-1`, and `moodleapp-4-1-0` classes. You can also use ionic versions to filter styles, such as `ionic5` or `ionic8`. :::caution Notice that mode and version classes moved from the `body` tag to the `html` tag in version 4.1. Learn more about this when [upgrading from 4.0 to 4.1](#40-to-41). @@ -42,6 +42,10 @@ You can follow the same process that is documented in the [Moodle App Remote The Make sure to read it in order to understand how to style your application for newer versions of the app. If you're upgrading your styles, it is likely that the documentation has been updated since you read it. So we recommend taking a look even if you're already familiar with Remote Themes. +## 4.4 to 4.5 + +Ionic version has been upgraded to v8 (from v7). This shouldn't have any direct impact on remote themes, but please verify that they continue to function correctly. + ## 4.3 to 4.4 Ionic version has been upgraded to v7 (from v5). This shouldn't have any direct impact in remote themes; but make sure that they are still working properly. diff --git a/general/app_releases.md b/general/app_releases.md index eb105d57fe..209a07b647 100644 --- a/general/app_releases.md +++ b/general/app_releases.md @@ -10,6 +10,7 @@ tags: | **Version name** | **Date** | |---|---| +| [Moodle App 4.5.0](./app_releases/v4/v4.5.0) | 31 October 2024 | | [Moodle App 4.4.1](./app_releases/v4/v4.4.1) | 9 July 2024 | | [Moodle App 4.4.0](./app_releases/v4/v4.4.0) | 28 June 2024 | | [Moodle App 4.3.0](./app_releases/v4/v4.3.0) | 10 November 2023 | @@ -22,6 +23,7 @@ tags: - From 4.0.0 to 4.3.0 it was based on Ionic 5 version. - On 4.4.0 the app was based on Ionic 7 version. +- On 4.5.0 the app was based on Ionic 8 version. ## Moodle App 3.x diff --git a/general/app_releases/v4/v4.5.0.md b/general/app_releases/v4/v4.5.0.md new file mode 100644 index 0000000000..2b32eb0503 --- /dev/null +++ b/general/app_releases/v4/v4.5.0.md @@ -0,0 +1,80 @@ +--- +title: Moodle App 4.5.0 release notes +sidebar_label: Moodle App 4.5.0 +tags: + - Moodle App + - Release notes +--- + +Release date: 31 October 2024 + +## New features and improvements + +- Enhanced course page design and navigation +- Added support for course sub-sections +- Offline blog entry management is now supported +- Added ability to manage user private files + +## For developers + +- The app now uses Ionic 8 + +## Complete list of issues + +### Task + +- [MOBILE-4594](https://tracker.moodle.org/browse/MOBILE-4594) - Upgrade to Ionic 8 + +### New feature + +- [MOBILE-4598](https://tracker.moodle.org/browse/MOBILE-4598) - Support some of the features included in the Bootstrap 5 bridge +- [MOBILE-4641](https://tracker.moodle.org/browse/MOBILE-4641) - Support custom site default home pages + +### Improvement + +- [MOBILE-2256](https://tracker.moodle.org/browse/MOBILE-2256) - Delete files in private files area +- [MOBILE-4070](https://tracker.moodle.org/browse/MOBILE-4070) - Add file looks not very good when the info for allowing submission file types is enabled +- [MOBILE-4337](https://tracker.moodle.org/browse/MOBILE-4337) - Decide whether to ignore editor libraries in H5P +- [MOBILE-4389](https://tracker.moodle.org/browse/MOBILE-4389) - Improve how course navigation works for users after re-accessing a course +- [MOBILE-4442](https://tracker.moodle.org/browse/MOBILE-4442) - Course hierarchy re-design +- [MOBILE-4482](https://tracker.moodle.org/browse/MOBILE-4482) - App should avoid downloading and re-uploading files when editing forum post and glossary entries +- [MOBILE-4547](https://tracker.moodle.org/browse/MOBILE-4547) - Blog offline support (create, edit and delete) +- [MOBILE-4574](https://tracker.moodle.org/browse/MOBILE-4574) - Support links to badges by hash +- [MOBILE-4581](https://tracker.moodle.org/browse/MOBILE-4581) - Outgoing links to particular pages of the site should enforce the current app language +- [MOBILE-4587](https://tracker.moodle.org/browse/MOBILE-4587) - Drag-drop questions: Allow answer to have filtered content (Mathjax, Multilang ...) +- [MOBILE-4597](https://tracker.moodle.org/browse/MOBILE-4597) - Send PullRequests to plugins to adapt their HTML to Ionic 7 +- [MOBILE-4612](https://tracker.moodle.org/browse/MOBILE-4612) - Analyze and apply Angular 11-17 new features to the app +- [MOBILE-4627](https://tracker.moodle.org/browse/MOBILE-4627) - Download files for mod_page and mod_book in background +- [MOBILE-4628](https://tracker.moodle.org/browse/MOBILE-4628) - Accessibility: download button alt text +- [MOBILE-4631](https://tracker.moodle.org/browse/MOBILE-4631) - Hide the login form in the app when is hidden in LMS +- [MOBILE-4632](https://tracker.moodle.org/browse/MOBILE-4632) - Load styles on angular fake component +- [MOBILE-4636](https://tracker.moodle.org/browse/MOBILE-4636) - Adapt course page, sections area, design to LMS 4.5 +- [MOBILE-4638](https://tracker.moodle.org/browse/MOBILE-4638) - Review Font Awesome 6 icons to ensure LMS and app matches +- [MOBILE-4639](https://tracker.moodle.org/browse/MOBILE-4639) - Support links to badge class page +- [MOBILE-4640](https://tracker.moodle.org/browse/MOBILE-4640) - Reduce re-download files when we don't know the time modified (embedded files) +- [MOBILE-4660](https://tracker.moodle.org/browse/MOBILE-4660) - Add subsection support on download manager + +### Bug + +- [MOBILE-3893](https://tracker.moodle.org/browse/MOBILE-3893) - Assignment: student can't remove submissions in app +- [MOBILE-4359](https://tracker.moodle.org/browse/MOBILE-4359) - App killed: push notifications open the app but not the expected page +- [MOBILE-4475](https://tracker.moodle.org/browse/MOBILE-4475) - Ipad full screen of Youtube Video does not function +- [MOBILE-4505](https://tracker.moodle.org/browse/MOBILE-4505) - Two information icons for single activity course format courses +- [MOBILE-4580](https://tracker.moodle.org/browse/MOBILE-4580) - Use the new section id parameter in core_course_get_courses_by_field to detect the course when handling links to course/section.php +- [MOBILE-4591](https://tracker.moodle.org/browse/MOBILE-4591) - Changing language leaves strings from the previous language (Object.assign) +- [MOBILE-4601](https://tracker.moodle.org/browse/MOBILE-4601) - iOS: Playing a local big video file reloads the app +- [MOBILE-4602](https://tracker.moodle.org/browse/MOBILE-4602) - Custom URL scheme links and mailto/tel/etc links don't work in InAppBrowser in IOS +- [MOBILE-4606](https://tracker.moodle.org/browse/MOBILE-4606) - Remote themes are not loaded in reconnect when loading a logged out site in offline +- [MOBILE-4608](https://tracker.moodle.org/browse/MOBILE-4608) - Download errors generated by the Cordova FileTransfer plugin might content full Moodle LMS pages breaking the UI +- [MOBILE-4619](https://tracker.moodle.org/browse/MOBILE-4619) - Site styles during login are not reset when back +- [MOBILE-4623](https://tracker.moodle.org/browse/MOBILE-4623) - IMSCP and glossary don't open new pages when using single activity course format +- [MOBILE-4630](https://tracker.moodle.org/browse/MOBILE-4630) - Some course contents like pages and books are always downloaded in the language indicated in the LMS profile instead of the one selected in the app +- [MOBILE-4633](https://tracker.moodle.org/browse/MOBILE-4633) - Exception displayed when accessing messaging or notification preferences with disabled capability +- [MOBILE-4642](https://tracker.moodle.org/browse/MOBILE-4642) - Downloading H5P activities fails with NOT_FOUND_ERR message +- [MOBILE-4649](https://tracker.moodle.org/browse/MOBILE-4649) - User menu stays loading forever if all user handlers are disabled +- [MOBILE-4650](https://tracker.moodle.org/browse/MOBILE-4650) - iOS: Push ID is only retrieved the first time the app starts +- [MOBILE-4657](https://tracker.moodle.org/browse/MOBILE-4657) - Navbar buttons are not removed when using several course option site plugins +- [MOBILE-4664](https://tracker.moodle.org/browse/MOBILE-4664) - Update H5P library to 1.27 +- [MOBILE-4666](https://tracker.moodle.org/browse/MOBILE-4666) - Add spinner to lesson index while the lesson is downloading +- [MOBILE-4672](https://tracker.moodle.org/browse/MOBILE-4672) - Some MathJax equations render a "!" instead of the equation in quiz +- [MOBILE-4673](https://tracker.moodle.org/browse/MOBILE-4673) - iOS: Iframe links not treated when the app name contains a space diff --git a/general/development/process-moodleapp/release.md b/general/development/process-moodleapp/release.md index 6ee4a2d271..c77cd7fda3 100644 --- a/general/development/process-moodleapp/release.md +++ b/general/development/process-moodleapp/release.md @@ -18,23 +18,25 @@ tags: | 5. | Contact the marketing team announcing the new release and highlights. | Team Lead | | 6. | Add new QA tests to the `apps_test` site. New QA tests should be labeled with [qa_test_required](https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE%20AND%20resolution%20in%20(Unresolved%2C%20Fixed)%20AND%20labels%20%3D%20qa_test_required%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC), remove that label once they are added to the site. | Tester | | 7. | Complete all TODOs related with the upcoming release, which are marked in code with a comment starting with `@todo {version-number}` (for example, before releasing 4.1 we'd search for comments starting with `@todo 4.1`) | Developer | -| 8. | Update npm dependencies in the `main` branch, and run `npm audit` to ensure all the dependencies are OK. Also check github vulnerabilities report. | Developer | -| 9. | **Start testing** | Tester | +| 8. | Update npm dependencies in the `main` branch, both in the root folder and in cordova-plugin-moodleapp, and run `npm audit` to ensure all the dependencies are OK. Also check github vulnerabilities report. | Developer | +| 9. | Freeze npm dependencies to avoid being updated during QA. For the root package.json, this can be done running `npx gulp freeze-dependencies` (make sure no error appears in console). cordova-plugin-moodleapp dependencies need to be frozen manually. | Developer | +| 10. | **Start testing** | Tester | ## The release day | **#** | **Task** | **Responsible** | |---|---|---| -| 1. | Set the right version number for the new Moodle LMS major release in the [site.ts](https://github.com/moodlehq/moodleapp/blob/main/src/core/classes/site.ts#L102) constant `MOODLE_RELEASES`. | Developer | +| 1. | Set the right version number for the new Moodle LMS major release in the [authenticated-site.ts](https://github.com/moodlehq/moodleapp/blob/main/src/core/classes/sites/authenticated-site.ts#L63) constant `MOODLE_RELEASES`. | Developer | | 2. | Launch the internal release github workflow. | Developer | | 3. | Do some testing with the production builds before sending the application to the stores (overall testing to see that nothing is broken):