diff --git a/general/app/customisation/remote-themes.md b/general/app/customisation/remote-themes.md
index 4615e858ff..ffc16919da 100644
--- a/general/app/customisation/remote-themes.md
+++ b/general/app/customisation/remote-themes.md
@@ -23,7 +23,7 @@ Once you have everything ready, you can configure your theme by going to "Site a
You can get started with the following example, and you should see the background of the top bar change to red once you log into the app:
```css
-html {
+:root {
--core-header-toolbar-background: red;
}
```
@@ -76,23 +76,23 @@ Each of these also define other variants: `rgb`, `contrast`, `contrast-rgb`, `sh
For example, if you want to override the primary color, you'll need to override the following variables:
```css
-html {
- --ion-color-primary: #006600;
+:root {
+ --primary: #006600;
/* RGB list of the color */
--ion-color-primary-rgb: 0,102,0;
/* Black or white, depending on which color gives more contrast */
- --ion-color-primary-contrast: #ffffff;
+ --primary-contrast: #ffffff;
/* RGB version of the contrast color */
--ion-color-primary-contrast-rgb: 255,255,255;
/* Slightly darker color. (mix 12% of black) */
- --ion-color-primary-shade: #005a00;
+ --primary-shade: #005a00;
/* Slightly lighter color. (mix 10% of white) */
- --ion-color-primary-tint: #1a751a;
+ --primary-tint: #1a751a;
}
```
@@ -101,7 +101,7 @@ html {
Other than the basic and semantic colors, other components and pages define their own variables that you can override. You can look at the source code to find more, but these are some of the most relevant:
```css
-html {
+:root {
/* Page background */
--background-color: white;
--ion-background-color-rgb: 255, 255, 255;
@@ -120,27 +120,27 @@ html {
### Targeting different environments
-The `html` element contains classes that indicate the environment the app is running on.
+The `:root` element contains classes that indicate the environment the app is running on.
#### Platform
-You can specify styles that will only apply to iOS by prepending them with `html.ios`, or `html.md` for Android:
+You can specify styles that will only apply to iOS by prepending them with `:root.ios`, or `:root.md` for Android:
```css
/* Red toolbar in iOS */
-html.ios {
+:root.ios {
--core-header-toolbar-background: red;
}
/* Green toolbar in Android */
-html.md {
+:root.md {
--core-header-toolbar-background: green;
}
```
#### Moodle App and Moodle site versions
-You can restrict CSS rules to a specific version using one of these classes. For example, when accessing a 3.11.2 site using the 3.9.5 app the following classes will be present in the `html` element:
+You can restrict CSS rules to a specific version using one of these classes. For example, when accessing a 3.11.2 site using the 3.9.5 app the following classes will be present in the `:root` element:
- `version-3`
- `version-3-11`
@@ -153,12 +153,12 @@ And here's how to use them:
```css
/* Red toolbar for Moodle App version 4.1.X */
-html.moodleapp-4-1 {
+:root.moodleapp-4-1 {
--core-header-toolbar-background: red;
}
/* Green toolbar for all other versions */
-html {
+:root {
--core-header-toolbar-background: green;
}
```
@@ -170,16 +170,16 @@ Starting on Moodle App 4.4 you can restrict CSS rules to a specific site theme.
#### 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:
+The application uses a light theme by default, but it adds the `dark` class to the `:root` element when it is using a dark theme:
```css
/* Red toolbar for the Light Theme */
-html {
+:root {
--core-header-toolbar-background: red;
}
/* Green toolbar for the Dark Theme */
-html.dark {
+:root.dark {
--core-header-toolbar-background: green;
}
```
@@ -193,7 +193,7 @@ Of course, you can combine any of these classes to create more granular styles.
Let's say you want to have a red toolbar only in iOS, with the Dark Theme, for a Moodle site running 3.11.X:
```css
-html.ios.version-3-11.dark {
+:root.ios.version-3-11.dark {
--core-header-toolbar-background: red;
}
```
@@ -305,7 +305,7 @@ core-tabs, core-tabs-outlet {
### Items
```css
-html {
+:root {
/* Background */
--ion-item-background: green;
@@ -354,7 +354,7 @@ page-core-mainmenu-more {
You can personalise some colors in the Login page, but keep in mind that this only includes the credentials page (the one after you select the site).
```css
-html {
+:root {
--core-login-background: red;
--core-login-text-color: blue;
--core-login-input-background: green;
@@ -365,16 +365,12 @@ html {
### Messages page
```css
-html {
- --addon-messages-message-bg: white;
- --addon-messages-message-activated-bg: gray-light;
- --addon-messages-message-note-text: gray-dark;
- --addon-messages-message-mine-bg: gray-light;
- --addon-messages-message-mine-activated-bg: gray;
- --addon-messages-discussion-badge: orange;
- --addon-messages-discussion-badge-text: white;
- --core-send-message-input-background: gray-light;
- --core-send-message-input-color: black;
+:root {
+ --core-messages-message-bg: white;
+ --core-messages-message-activated-bg: gray-light;
+ --core-messages-message-note-text: gray-dark;
+ --core-messages-message-mine-bg: gray-light;
+ --core-messages-message-mine-activated-bg: gray;
}
```
diff --git a/general/app/development/plugins-development-guide/api-reference.md b/general/app/development/plugins-development-guide/api-reference.md
index c6420e4a9f..ecd633c108 100644
--- a/general/app/development/plugins-development-guide/api-reference.md
+++ b/general/app/development/plugins-development-guide/api-reference.md
@@ -79,7 +79,7 @@ These are the configuration options common to most handlers, you can find specif
| `styles.version` | Required | Version number used to determine if the file needs to be downloaded again. You should change the version number every time you change the contents of the CSS file. |
| `moodlecomponent` | Plugin name | Name of the component implemented by the handler.
Most of the time, this can be ignored because mobile support is usually included in the same plugin where custom components are defined, but it may be different in some cases. For example, imagine a local plugin called `local_myactivitymobile` is implementing mobile support for a `mod_myactivity` component. In that case, you would set this option to `"mod_myactivity"`. |
| `restricttocurrentuser` | `false` | Restricts the handler to appear only for the current user. For more advanced restrictions, you can use the `restrict` and `disabled` properties returned during [JavaScript initialisation](./index.md#javascript-initialisation). |
-| `restricttoenrolledcourses` | `false` | Restricts the handler to appear only for courses the user is enrolled in. For more advanced restrictions, you can use the `restrict` and `disabled` properties returned during [JavaScript initialisation](./index.md#javascript-initialisation). |
+| `restricttoenrolledcourses` | `true` | Restricts the handler to appear only for courses the user is enrolled in. For more advanced restrictions, you can use the `restrict` and `disabled` properties returned during [JavaScript initialisation](./index.md#javascript-initialisation). |
### CoreMainMenuDelegate
diff --git a/general/app/overview.md b/general/app/overview.md
index 04ea4d9b47..f54fc6be90 100644
--- a/general/app/overview.md
+++ b/general/app/overview.md
@@ -24,6 +24,14 @@ The app can also be compiled to work with a single site, or a list of approved s
Keep in mind that the application only works with moodle sites that allow it, and this is disabled by default in some sites. If you want to allow users to log into your site using the app, make sure to check that it's [enabled in the settings](https://docs.moodle.org/en/Moodle_app_guide_for_admins#Enable_mobile_services_on_your_site). If you are not the site owner, reach out to the administrators.
+### Technologies used
+
+The Moodle app is a hybrid app built using [Angular](https://angular.io/) and [Ionic Framework](https://ionicframework.com/). The main coding language used in the app is [Typescript](https://www.typescriptlang.org/).
+
+The [Cordova framework](https://cordova.apache.org/) is used to use native features and to compile the Android and iOS apps.
+
+The official app from MoodleHQ uses a server with [Airnotifier](https://github.com/dcai/airnotifier) to deliver push notifications to the app. The Moodle site sends the notifications to the Airnotifier server, and this server uses [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) to deliver the notifications to the devices using Google Cloud Messaging and Apple Push Notification service.
+
### Architecture
The code of the application follows an [hexagonal architecture](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)), with core modules that include the main functionality and addon modules that provide additional features.
diff --git a/general/app/upgrading/plugins-upgrade-guide.md b/general/app/upgrading/plugins-upgrade-guide.md
index f2e93dd570..7fdb63bcfe 100644
--- a/general/app/upgrading/plugins-upgrade-guide.md
+++ b/general/app/upgrading/plugins-upgrade-guide.md
@@ -16,7 +16,7 @@ As you can see in that repository, the JS and the templates are duplicated in or
Depending on which version of the app you're upgrading from, you'll need to go through multiple version upgrades. This guide is divided by version ranges, so you should be able to start with your current version and build up from there.
-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.
+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.md](https://github.com/moodlehq/moodleapp/blob/latest/UPGRADE.md) file for an exhaustive list with all the changes.
## 4.4 to 4.5
@@ -24,7 +24,7 @@ The Ionic version has been upgraded to v8 (from v7), make sure to check the rele
## 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.
+Starting with this release, the changes listed in [UPGRADE.md](https://github.com/moodlehq/moodleapp/blob/latest/UPGRADE.md) 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.
Also, the Ionic version has been upgraded to v7 (from v5), make sure to check the relevant upgrade guides for [v6](https://ionicframework.com/docs/updating/6-0) and [v7](https://ionicframework.com/docs/updating/7-0). In particular, the syntax to declare input labels has been refactored. The legacy syntax will continue working for the time being, but we recommend migrating to the [modern syntax](https://ionicframework.com/docs/api/input#migrating-from-legacy-input-syntax) as soon as possible.
@@ -36,7 +36,7 @@ Finally, the application now needs to run in a secure context (https://). This c
Font Awesome icons have been updated to version 6.4.0, so make sure that all the icons you're using in your plugin are still supported.
-Other than that, there have been some changes in the APIs related to analytics. Check out [upgrade.txt](https://github.com/moodlehq/moodleapp/blob/latest/upgrade.txt) to learn about the specifics.
+Other than that, there have been some changes in the APIs related to analytics. Check out [UPGRADE.md](https://github.com/moodlehq/moodleapp/blob/latest/UPGRADE.md) to learn about the specifics.
## 4.1 to 4.2
@@ -84,7 +84,7 @@ In order to avoid breaking existing styles, version 4.1 will continue adding ver
## 3.9.5 to 4.0
-There haven't been any breaking changes from 3.9.5 to 4.0, but the UI of the application has changed drastically so we recommend taking special care that the UI of your plugin is still working properly. Also, remember to double check all the changes listed in [upgrade.txt](https://github.com/moodlehq/moodleapp/blob/latest/upgrade.txt).
+There haven't been any breaking changes from 3.9.5 to 4.0, but the UI of the application has changed drastically so we recommend taking special care that the UI of your plugin is still working properly. Also, remember to double check all the changes listed in [UPGRADE.md](https://github.com/moodlehq/moodleapp/blob/latest/UPGRADE.md).
Other than that, everything should continue working as expected. If you find something that doesn't, please [let us know](https://moodle.atlassian.net/projects/MOBILE).
diff --git a/general/app_releases.md b/general/app_releases.md
index 209a07b647..9481e4276d 100644
--- a/general/app_releases.md
+++ b/general/app_releases.md
@@ -6,6 +6,12 @@ tags:
- Release notes
---
+## Moodle App 5.x
+
+| **Version name** | **Date** |
+|---|---|
+| [Moodle App 5.0.0](./app_releases/v5/v5.0.0) | 27 June 2025 |
+
## Moodle App 4.x
| **Version name** | **Date** |
diff --git a/general/app_releases/v1.x.md b/general/app_releases/v1.x.md
index 2abeac933c..3e882ecdc4 100644
--- a/general/app_releases/v1.x.md
+++ b/general/app_releases/v1.x.md
@@ -1,7 +1,7 @@
---
title: Moodle Mobile 1.x release notes
sidebar_label: Moodle Mobile 1
-sidebar_position: 4
+sidebar_position: 5
tags:
- Moodle App
- Release notes
diff --git a/general/app_releases/v2/index.md b/general/app_releases/v2/index.md
index 552a1a81e4..68bef736e9 100644
--- a/general/app_releases/v2/index.md
+++ b/general/app_releases/v2/index.md
@@ -1,6 +1,6 @@
---
title: Moodle Mobile 2
-sidebar_position: 3
+sidebar_position: 4
---
diff --git a/general/app_releases/v3/index.md b/general/app_releases/v3/index.md
index cba9241c43..dd382a64f0 100644
--- a/general/app_releases/v3/index.md
+++ b/general/app_releases/v3/index.md
@@ -1,6 +1,6 @@
---
title: Moodle App 3
-sidebar_position: 2
+sidebar_position: 3
---
diff --git a/general/app_releases/v4/index.md b/general/app_releases/v4/index.md
index cc72b4525a..61a8cb78a0 100644
--- a/general/app_releases/v4/index.md
+++ b/general/app_releases/v4/index.md
@@ -1,6 +1,6 @@
---
title: Moodle App 4
-sidebar_position: 1
+sidebar_position: 2
---
diff --git a/general/app_releases/v5/index.md b/general/app_releases/v5/index.md
new file mode 100644
index 0000000000..33da72c996
--- /dev/null
+++ b/general/app_releases/v5/index.md
@@ -0,0 +1,10 @@
+---
+title: Moodle App 5
+sidebar_position: 1
+---
+
+
+
+import { Redirect } from '@docusaurus/router';
+
+
diff --git a/general/app_releases/v5/v5.0.0.md b/general/app_releases/v5/v5.0.0.md
new file mode 100644
index 0000000000..d60d3fe506
--- /dev/null
+++ b/general/app_releases/v5/v5.0.0.md
@@ -0,0 +1,131 @@
+---
+title: Moodle App 5.0.0 release notes
+sidebar_label: Moodle App 5.0.0
+tags:
+ - Moodle App
+ - Release notes
+---
+
+Release date: 27 June 2025
+
+## New features and improvements
+
+New features:
+- Option to enable TinyMCE as the text editor.
+- Support for SCORM 2004 packages (online only).
+- Updated loading screens for a smoother experience.
+- New reading mode available in Page, Book, and Glossary activities.
+- Option to zoom in using pinch gestures.
+
+Improvements:
+- Enhanced H5P packages play support.
+- Various accessibility improvements (WCAG 2.2 AA compliance).
+- Support for groups in Choice activities.
+- Enhanced Dark Mode
+
+## Complete list of issues
+
+### Task
+
+- [MOBILE-4595](https://moodle.atlassian.net/browse/MOBILE-4595) - WCAG 2.1 AA accessibility accreditation for version 4.5
+- [MOBILE-4634](https://moodle.atlassian.net/browse/MOBILE-4634) - Adapt github repository to community standards
+- [MOBILE-4782](https://moodle.atlassian.net/browse/MOBILE-4782) - Upgrade VideoJS to 8.21.1 (mobile app)
+
+### New feature
+
+- [MOBILE-4719](https://moodle.atlassian.net/browse/MOBILE-4719) - Allow to disable features via config.json
+- [MOBILE-4749](https://moodle.atlassian.net/browse/MOBILE-4749) - Basic TinyMCE editor for old Moodle sites
+- [MOBILE-3063](https://moodle.atlassian.net/browse/MOBILE-3063) - Reading mode option for resouces such as page, book and glossary
+- [MOBILE-3812](https://moodle.atlassian.net/browse/MOBILE-3812) - Use skeleton screens where possible
+
+### Improvement
+
+- [MOBILE-4018](https://moodle.atlassian.net/browse/MOBILE-4018) - Review how links and window.open are treated in iframes
+- [MOBILE-4028](https://moodle.atlassian.net/browse/MOBILE-4028) - Improve UX of logout when there is a form active (tablet only)
+- [MOBILE-4361](https://moodle.atlassian.net/browse/MOBILE-4361) - Support groups in choice activities
+- [MOBILE-4434](https://moodle.atlassian.net/browse/MOBILE-4434) - Support absolute URLs without domain in embedded content and link handlers
+- [MOBILE-4549](https://moodle.atlassian.net/browse/MOBILE-4549) - Replace moment library
+- [MOBILE-4571](https://moodle.atlassian.net/browse/MOBILE-4571) - H5P activity reports page: Improve the design and add the total attempts
+- [MOBILE-4578](https://moodle.atlassian.net/browse/MOBILE-4578) - Quiz: essay questions are not leaved empty using the app (probably sends '
')
+- [MOBILE-4582](https://moodle.atlassian.net/browse/MOBILE-4582) - Import UX improvement from LMS to badge page
+- [MOBILE-4584](https://moodle.atlassian.net/browse/MOBILE-4584) - Consider auto-playing H5P packages (already downloaded case)
+- [MOBILE-4593](https://moodle.atlassian.net/browse/MOBILE-4593) - Support Bootstrap popovers and tooltips
+- [MOBILE-4605](https://moodle.atlassian.net/browse/MOBILE-4605) - When our iframe full screen is enabled, Android back button should only leave full screen instead of leaving page
+- [MOBILE-4614](https://moodle.atlassian.net/browse/MOBILE-4614) - Display full names instead of short names for the course filter in calendar
+- [MOBILE-4618](https://moodle.atlassian.net/browse/MOBILE-4618) - Update Android SDK to 35, cordova-android to 14, and cordova-ios to 8 if released
+- [MOBILE-4626](https://moodle.atlassian.net/browse/MOBILE-4626) - Support visualisation of generic penalties in the app
+- [MOBILE-4648](https://moodle.atlassian.net/browse/MOBILE-4648) - Drag-drop onto image question should use blog data from HTML not AMD params
+- [MOBILE-4656](https://moodle.atlassian.net/browse/MOBILE-4656) - Auto-play H5p packages when configured in that way
+- [MOBILE-4665](https://moodle.atlassian.net/browse/MOBILE-4665) - Remove location functionallity and permissions
+- [MOBILE-4668](https://moodle.atlassian.net/browse/MOBILE-4668) - Review main module pages when the activity cannot be accessed via the app
+- [MOBILE-4669](https://moodle.atlassian.net/browse/MOBILE-4669) - Allow to play remote and SCORM 2004 packages embedded in the app
+- [MOBILE-4670](https://moodle.atlassian.net/browse/MOBILE-4670) - Allow to enforce playing H5P activity modules always online when the package is not compatible with the app
+- [MOBILE-4676](https://moodle.atlassian.net/browse/MOBILE-4676) - Review mobile app strings that can be automatically translated using LMS ones
+- [MOBILE-4679](https://moodle.atlassian.net/browse/MOBILE-4679) - Display the three last characters of the user access tokens in Developer options
+- [MOBILE-4680](https://moodle.atlassian.net/browse/MOBILE-4680) - Reconnect screen should not display the password field and log-in button when a core identity provider was used for this account to log-in
+- [MOBILE-4685](https://moodle.atlassian.net/browse/MOBILE-4685) - Course download: Prioritise calculating the download status of the current section
+- [MOBILE-4693](https://moodle.atlassian.net/browse/MOBILE-4693) - Improve the error handling and messaging for errors like "The site URL is not valid"
+- [MOBILE-4712](https://moodle.atlassian.net/browse/MOBILE-4712) - Improve self-enrol message
+- [MOBILE-4713](https://moodle.atlassian.net/browse/MOBILE-4713) - New config.json option to force the collapsible text to be by default expanded
+- [MOBILE-4721](https://moodle.atlassian.net/browse/MOBILE-4721) - Manage line height of tall font languages
+- [MOBILE-4724](https://moodle.atlassian.net/browse/MOBILE-4724) - Revise warning message when you leave a form that has content (Follow-up MOBILE-4028)
+- [MOBILE-4726](https://moodle.atlassian.net/browse/MOBILE-4726) - Moodle App vulnerability report findings
+- [MOBILE-4733](https://moodle.atlassian.net/browse/MOBILE-4733) - Add course-id data attribute to course and categories
+- [MOBILE-4736](https://moodle.atlassian.net/browse/MOBILE-4736) - Update icons to match Moodle LMS 5.0
+- [MOBILE-4738](https://moodle.atlassian.net/browse/MOBILE-4738) - Fallback for playing inline H5P activities when the package download fails
+- [MOBILE-4740](https://moodle.atlassian.net/browse/MOBILE-4740) - Behat: use same tags as in Moodle LMS
+- [MOBILE-4741](https://moodle.atlassian.net/browse/MOBILE-4741) - Pass language to site pages in InAppBrowser and iframes too
+- [MOBILE-4759](https://moodle.atlassian.net/browse/MOBILE-4759) - Make all components and pages Angular standalone components
+- [MOBILE-4777](https://moodle.atlassian.net/browse/MOBILE-4777) - Support new BigBlueButton icon
+- [MOBILE-4789](https://moodle.atlassian.net/browse/MOBILE-4789) - Update purpose color for activity icons to match LMS
+- [MOBILE-4807](https://moodle.atlassian.net/browse/MOBILE-4807) - Hide question bank activities in the app
+- [MOBILE-4809](https://moodle.atlassian.net/browse/MOBILE-4809) - When clicking a push notification displayed in the notifications page, try to use savedmessageid to retrieve the notification data
+- [MOBILE-3671](https://moodle.atlassian.net/browse/MOBILE-3671) - Show previous assignment attempts
+
+### Bug
+
+- [MOBILE-3733](https://moodle.atlassian.net/browse/MOBILE-3733) - Self-XSS in DM (Mobile app)
+- [MOBILE-4024](https://moodle.atlassian.net/browse/MOBILE-4024) - File transfer in Android doesn't support redirects
+- [MOBILE-4138](https://moodle.atlassian.net/browse/MOBILE-4138) - If dashboard and site home are disabled, site plugins in home page aren't displayed
+- [MOBILE-4568](https://moodle.atlassian.net/browse/MOBILE-4568) - A teacher cannot preview a quiz that is closed on the app but they can using browser
+- [MOBILE-4603](https://moodle.atlassian.net/browse/MOBILE-4603) - Custom strings are not applied on child languages
+- [MOBILE-4611](https://moodle.atlassian.net/browse/MOBILE-4611) - Assign: when you have some feedback saved in offline in grading, trying to leave always says there are changes that will be lost
+- [MOBILE-4647](https://moodle.atlassian.net/browse/MOBILE-4647) - App edits content already filtered in some areas like glossary
+- [MOBILE-4659](https://moodle.atlassian.net/browse/MOBILE-4659) - BBB: show presentation file (follow-up MDL-82520)
+- [MOBILE-4671](https://moodle.atlassian.net/browse/MOBILE-4671) - When launching the app on iOS, the in-app browser does not automatically launch
+- [MOBILE-4675](https://moodle.atlassian.net/browse/MOBILE-4675) - Evaluate ignoring revision if we have timemodified to avoid showing files as outdated when it shouldn't
+- [MOBILE-4678](https://moodle.atlassian.net/browse/MOBILE-4678) - Courses are not displayed as "available offline/downloaded" after bulk downloaded unless the user clicks on the three dots menu
+- [MOBILE-4687](https://moodle.atlassian.net/browse/MOBILE-4687) - Weird keyboard behaviour when creating comments
+- [MOBILE-4688](https://moodle.atlassian.net/browse/MOBILE-4688) - Files whose name contains % (percent, percentage) are not downloaded
+- [MOBILE-4690](https://moodle.atlassian.net/browse/MOBILE-4690) - Quiz configured for offline with deferred feedback is not displaying question validation messages
+- [MOBILE-4692](https://moodle.atlassian.net/browse/MOBILE-4692) - Revise warning messages displayed in forums
+- [MOBILE-4694](https://moodle.atlassian.net/browse/MOBILE-4694) - App Behat tests no longer compatible with PHP 7.4
+- [MOBILE-4698](https://moodle.atlassian.net/browse/MOBILE-4698) - Description not displayed on the Feedback module page in the Moodle App
+- [MOBILE-4700](https://moodle.atlassian.net/browse/MOBILE-4700) - Feedback: Review size of labels + some questions disappeared
+- [MOBILE-4704](https://moodle.atlassian.net/browse/MOBILE-4704) - Exit from full screen mode if user navigates
+- [MOBILE-4705](https://moodle.atlassian.net/browse/MOBILE-4705) - RecordRTC does not play when added to a file resource
+- [MOBILE-4706](https://moodle.atlassian.net/browse/MOBILE-4706) - RecordRTC videos aren't reproduced in full (just first few seconds)
+- [MOBILE-4707](https://moodle.atlassian.net/browse/MOBILE-4707) - Users cannot access attemps review when a quiz is closed
+- [MOBILE-4708](https://moodle.atlassian.net/browse/MOBILE-4708) - In certain configurations 'This Quiz has offline data to be synchronised' is displayed incorrectly
+- [MOBILE-4715](https://moodle.atlassian.net/browse/MOBILE-4715) - If you disable blog for the app, the link to blogs from the activities still appears
+- [MOBILE-4716](https://moodle.atlassian.net/browse/MOBILE-4716) - data-open-in attribute in links no longer working with app 4.5
+- [MOBILE-4720](https://moodle.atlassian.net/browse/MOBILE-4720) - If you only have available a custom field as a course filter, then the filter is empty (nothing is preselected)
+- [MOBILE-4722](https://moodle.atlassian.net/browse/MOBILE-4722) - Bug in iOS 18+ due to deprecation in cordova-plugin-inappbrowser
+- [MOBILE-4723](https://moodle.atlassian.net/browse/MOBILE-4723) - Disabling all blocks makes myoverview disappear (4.4 regression)
+- [MOBILE-4728](https://moodle.atlassian.net/browse/MOBILE-4728) - Close button doesn't have good contrast
+- [MOBILE-4732](https://moodle.atlassian.net/browse/MOBILE-4732) - READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions are still present
+- [MOBILE-4743](https://moodle.atlassian.net/browse/MOBILE-4743) - If the template contains { or }, it will not be displayed as an error.
+- [MOBILE-4763](https://moodle.atlassian.net/browse/MOBILE-4763) - Notification message not seen when opening a push notification in the notifications page
+- [MOBILE-4765](https://moodle.atlassian.net/browse/MOBILE-4765) - Error displayed if links are used in database templates
+- [MOBILE-4769](https://moodle.atlassian.net/browse/MOBILE-4769) - Use MathJax 3.2 in the app
+- [MOBILE-4773](https://moodle.atlassian.net/browse/MOBILE-4773) - Database activity: creating an entry in offline says it was edited on year 57105
+- [MOBILE-4775](https://moodle.atlassian.net/browse/MOBILE-4775) - Title displays encoded HTML Entities (& instead of &) in site plugins modules
+- [MOBILE-4781](https://moodle.atlassian.net/browse/MOBILE-4781) - Allow editing assignment submission text in offline
+- [MOBILE-4784](https://moodle.atlassian.net/browse/MOBILE-4784) - two answer fields in numerical question type on phone
+- [MOBILE-4785](https://moodle.atlassian.net/browse/MOBILE-4785) - Unexpected SiteId not found message in the Account screen
+- [MOBILE-4790](https://moodle.atlassian.net/browse/MOBILE-4790) - i_enter_the_app step behat step throws an error with PHP 8.4
+- [MOBILE-4791](https://moodle.atlassian.net/browse/MOBILE-4791) - Race condition when loading remote styles
+- [MOBILE-4792](https://moodle.atlassian.net/browse/MOBILE-4792) - For large quizzes the review results in IOS do not properly load
+- [MOBILE-4804](https://moodle.atlassian.net/browse/MOBILE-4804) - Inconsistent "Site home" section title in the app: Site
+- [MOBILE-4828](https://moodle.atlassian.net/browse/MOBILE-4828) - Moodle app: Load MathJax safe extension to avoid XSS
+- [MOBILE-4836](https://moodle.atlassian.net/browse/MOBILE-4836) - User identity is revealed in Assignments when Anonymous submissions is enabled
diff --git a/general/development/process-moodleapp/release.md b/general/development/process-moodleapp/release.md
index 65aa598c5c..1f2943f24d 100644
--- a/general/development/process-moodleapp/release.md
+++ b/general/development/process-moodleapp/release.md
@@ -7,56 +7,28 @@ tags:
- Release notes
---
-## Six weeks before (Code freeze)
-
-| **#** | **Task** | **Responsible** |
-|---|---|---|
-| 1. | Force an update of the [local_moodlemobileapp](https://moodle.org/plugins/view.php?id=997) plugin (as release candidate) with new strings in [moodle.org/plugins](https://moodle.org/plugins) (only for Moodle version 3.5). | Developer |
-| 2. | Ask someone from sites or community team to review the new English strings. | Community or Sites team |
-| 3. | Announce in the [moodle translation forums](https://lang.moodle.org/mod/forum/view.php?id=5) the new strings available. This will allow translators to add the new strings during the days prior to the release. | Developer |
-| 4. | Add the release notes in the release issue created (search for the [release_notes tag](https://moodle.atlassian.net/issues/?jql=project%20%3D%20MOBILE%20AND%20labels%20%3D%20release_notes)). Ask someone from the documentation team to review the release notes. | Developer |
-| 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://moodle.atlassian.net/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, 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 [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): - Correct definitive version name displayed (and commit)
- AOT compiling worked
- Language strings synchronised from [lang.moodle.net](https://lang.moodle.net)
- New language packs added
| All the team |
-| 4. | Launch behat tests (latest branch). | Developer |
-| 5. | Send the applications to the stores for review. | Team Lead |
-| 6. | Check TAG/Release have been created in github ([moodlehq/moodleapp](https://github.com/moodlehq/moodleapp/releases)) with the version number. | Developer |
-| 7. | Update the `ci` branch in the behat tests plugin ([moodlehq/moodle-local_moodleappbehat](https://github.com/moodlehq/moodle-local_moodleappbehat/)) with the latest behat code and features. | Developer |
-| 8. | Update [upgrade guides](../../app/upgrading). | Developer |
-| 9. | Open PR with release documentation updates (from [moodlemobile/devdocs:app-docs](https://github.com/moodlemobile/devdocs/tree/app-docs) to [moodle/devdocs](https://github.com/moodle/devdocs)). | Developer |
-| 10. | Mark the issue and the [version](https://moodle.atlassian.net/projects/MOBILE?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page) as released in the tracker. | Team Lead |
-| 11. | Update [release notes](../../app_releases.md). | Team Lead |
-
-## The following days
-
-| **#** | **Task** | **Responsible** |
-|---|---|---|
-| 1. | Create an issue in the tracker for the next release, like: [MOBILE-4270](https://moodle.atlassian.net/browse/MOBILE-4270) | Developer |
-| 2. | Social media announcements (Forum and Twitter). | All the team & Marketing team |
-| 3. | Post in [moodle.org/news](https://moodle.org/news). | Team Lead |
-| 4. | Review the users and developers documentation (check that everything is in order). Review the [docs_required and dev_docs_required_tags](https://moodle.atlassian.net/issues/?jql=project%20%3D%20MOBILE%20AND%20labels%20in%20%28docs_required%2C%20dev_docs_required%29). Review the [Mobile features wiki documentation](https://docs.moodle.org/en/Moodle_Mobile_features). | All the team |
-| 5. | Update branches and tags in all repositories ([moodleapp](https://github.com/moodlehq/moodleapp), [local_moodlemobileapp](https://github.com/moodlehq/moodle-local_moodlemobileapp/), [local_moodleappbehat](https://github.com/moodlehq/moodle-local_moodleappbehat), etc.). Update github parse workflow on local_moodlemobileapp to add the new dev version. | Developer |
-| 6. | Prepare the repository for the next release: - Bump version numbers in the following files: `config.xml`, `package.json`, `package-lock.json`, and `moodle.config.json`.
- Set the version number for the next 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`
You can see an example of doing all of that in this PR: [4.3.0 version update](https://github.com/moodlehq/moodleapp/pull/3707)| Developer |
-| 7. | Check that the [Docker image](https://cloud.docker.com/u/moodlehq/repository/docker/moodlehq/moodleapp/) for the new version was successfully built. | Developer |
-| 8. | Update of the [`local_moodlemobileapp`](https://moodle.org/plugins/view.php?id=997) plugin (as final release) in [moodle.org/plugins](https://moodle.org/plugins). | Developer |
-| 9. | Update of the [`local_moodleappbehat`](https://github.com/moodlehq/moodle-local_moodleappbehat/) plugin (as final release) in [moodle.org/plugins](https://moodle.org/plugins). | Developer |
-| 10. | Check if the Android API level should be increased or not to use a recent one. | Developer |
-| 11. | Review the new features/improvements specs/shaping documents to ensure that they clearly reflect the actual implementation of the feature. | All the team |
-| 12. | Review that all the minor issues found during the QA testing have a related and triaged MOBILE issue in the tracker. | All the team |
-| 13. | Make sure that tests are passing with all the supported versions in [ci.moodle.org](https://ci.moodle.org). | Developer |
-| 14. | Update APK in [download.moodle.org/mobile](https://download.moodle.org/mobile). | Team Lead |
-| 15. | Unfreeze the dependencies in the root package.json and in cordova-plugin-moodleapp. | Developer |
+Moodle Mobile App Release Process – At a Glance
+
+## Pre-Release (Weeks Before Launch)
+- **Code Freeze**: Lock in final features.
+- **Dependency Freeze**: Update and freeze npm packages.
+- **Translation Prep**: Push new strings, notify translators.
+- **Testing**: Add required QA tests; ensure all CI tests pass.
+- **Documentation & Versioning**: Draft release notes, bump version numbers.
+- **Team Coordination**: Notify all stakeholders (Community, Docs, QA, etc.).
+
+## Release Day
+- **Trigger Builds**: Launch internal CI to build final versions.
+- **Testing**: Final tests and automation checks.
+- **Publish**: Submit to App Store and Google Play.
+
+## Post-Release
+- **Tag & Release**: Version tagging in GitHub.
+- **Docs & Notes**: Finalize user guides and release notes.
+- **New Version Prep**: Create next release tracker ticket.
+- **Announcements**: Broadcast release via channels.
+- **Cleanup**: Tag branches, unfreeze dependencies, update plugins.
+- **Verify**: CI pipelines healthy, QA complete.
## See also
diff --git a/general/development/tracker/tips/index.md b/general/development/tracker/tips/index.md
index 46a81be030..de98ad15b1 100644
--- a/general/development/tracker/tips/index.md
+++ b/general/development/tracker/tips/index.md
@@ -13,7 +13,7 @@ On every tracker page you can find search box. Quick search is much more powerfu
Examples of the quick searches:
-| Quick search | Advanced search equivalent | Description ||
+| Quick search | Advanced search equivalent | Description |
| --- | --- | --- |
| `MDL Unresolved Bug abra cadabra`  | Find all unresolved Bugs in Moodle project that contain words `abra cadabra` | `project = MDL AND issuetype = Bug AND resolution = Unresolved AND text ~ "abra cadabra"`  |
| `my Unresolved` | `resolution = Unresolved AND assignee = currentUser()` | Find all ongoing issues assigned to me |