Skip to main content

Moodle App 4.0.0 release notes

Release date: 22 April 2022

note

This new version will only connect Moodle sites version >= 3.5 and that it won't work if your site is using the deprecated local_mobile (Mobile app additional features) plugin.

New features and improvements

  • Support Moodle 4.0 LMS new "My courses" page
  • User profile repositioned to match LMS
  • Design updated to Material design 3 matching overall Moodle style
  • Some pages now support swipe (participants, book module, grades, forum discussions,...)
  • Resuming a course or a book is now easier
  • Course main page additional options menu redesigned
  • Navigation between sections and activities improved
  • SCORM, H5P automatic full-screen mode
  • Thumbnails for videos are automatically generated
  • Content and activities pages with fewer distractions for users so they can focus on learning
  • General performance improvements
  • New notifications page (capturing all the notifications received by the user)
  • The enrolment fee plugin is now supported (launched in a browser outside the app to complete the process)
  • New 4.0 assignment time-limited submissions supported
  • Teachers can now see H5P attempt reports

Moodle.com announcement: https://moodle.com/news/moodle-app-4-0/

App Store image

Complete list of issues

New Features

  • MOBILE-3688 - Create index&list link handlers for mod site plugins
  • MOBILE-3799 - Let teachers view attempts in H5P activity
  • MOBILE-3800 - Log report_viewed when viewing H5P activity report
  • MOBILE-3873 - Support BigBlueButton (bigbluebuttonbn) activity in the app
  • MOBILE-3889 - Add development settings page
  • MOBILE-3919 - Support time-limited submission assignments (LMS 4.0)
  • MOBILE-4022 - Support new tool_mobile_autologinmintimebetweenreq setting for auto-login requests

Improvement

  • MOBILE-2848 - Language handling improvements for the mobile app
  • MOBILE-3306 - Show the titles of blocks as if they had icons
  • MOBILE-3316 - Handle user suspended use-case
  • MOBILE-3729 - Let plugins refresh the course page method data of a single module
  • MOBILE-3779 - Wiki: clicking a link to a wiki index page doesn't select the right subwiki or page
  • MOBILE-3782 - Change the string 'Download course' once the course is downloaded
  • MOBILE-3786 - Add a new setting to enable display the Course and Courses (Dashboard) download options
  • MOBILE-3792 - Use npm v7 to allow audit fix work
  • MOBILE-3793 - Forum reply/edit reply: make it more consistent
  • MOBILE-3831 - Publish cordova plugin forks in npm
  • MOBILE-3846 - Logout user if site URL is no longer one of the allowed URLs
  • MOBILE-3847 - Detect if resources are no longer accessible when offline use is disabled
  • MOBILE-3848 - Recent accessed courses block doesn't display guest access courses
  • MOBILE-3859 - Improve error message for invalid certificates
  • MOBILE-3860 - Remove calls to login/token.php just to check if site exists
  • MOBILE-3863 - Make CSP less strict to match behaviour in native devices
  • MOBILE-3881 - Timeline block improvements for 4.0
  • MOBILE-3897 - Links (<a>) to files: first time opened in browser
  • MOBILE-3898 - Remove overly generic Behat transformers
  • MOBILE-3901 - Support insights action URL
  • MOBILE-3910 - Change text to accept site policy
  • MOBILE-3913 - Add search box to timeline block
  • MOBILE-3916 - Ionic5 - header to have same color than system bar
  • MOBILE-3917 - Display a better error if a dependency isn't found when deploying an H5P package
  • MOBILE-3922 - Check userhomepage setting to show default landing page
  • MOBILE-3935 - Allow changing the InAppBrowser toolbar colors
  • MOBILE-3940 - Use new webservice on My courses page
  • MOBILE-3941 - Don't open browser automatically if URL is set and displayqroncredentialscreen is true
  • MOBILE-3950 - Restore Ionic1 Image viewer with zoom
  • MOBILE-3951 - Always handle scheduling notifications in service instead of pages
  • MOBILE-3954 - Move prefetch module and section options to storage manager
  • MOBILE-3959 - Update cordova-android to 10.1.1
  • MOBILE-3960 - New config.json setting to skip the Sites page
  • MOBILE-3961 - Include the app version number in the user agent
  • MOBILE-3962 - Support the course_list block
  • MOBILE-3966 - Adapt disabled features to changes in 4.0
  • MOBILE-3967 - Add setting to show legacy completion
  • MOBILE-3968 - Ignore fake course overview block
  • MOBILE-3971 - Optimize database usage for reading the config DB table
  • MOBILE-3975 - Move the default notification time for calendar events to config.json
  • MOBILE-3976 - Remove online-offline options on notifications
  • MOBILE-3977 - Cache database tables with different strategies
  • MOBILE-3980 - New index page for book module
  • MOBILE-3981 - Use optimized database adapter for tables used during startup
  • MOBILE-3990 - Add missing handler for notification preferences, for example: /message/notificationpreferences.php?userid=6
  • MOBILE-3993 - Identify with a class or ID all the elements displaying group info
  • MOBILE-3996 - Fix navigation bar positioning
  • MOBILE-3998 - Create a new IMSCP index/contents page to avoid having 2 nav bars
  • MOBILE-4002 - Support new option to enable/disable the Dashboard in LMS
  • MOBILE-4008 - Timeline block views should display consistent information (mobile app)
  • MOBILE-4012 - Support enrol_fee on the app
  • MOBILE-4015 - Support fallbacks for JavaScript click actions on the app via data-app-url
  • MOBILE-4017 - Unit tests and lint should work correctly on Windows

Task

  • MOBILE-3802 - Moodle App navigation improvements for 4.0
  • MOBILE-3803 - Moodle App performance improvements for 4.0
  • MOBILE-3804 - Moodle App User Interface (UI) improvements for 4.0
  • MOBILE-3805 - Moodle App notifications improvements for 4.0
  • MOBILE-3865 - Add link to the "Accessibility Statement for Moodle App"
  • MOBILE-3883 - Force ITSAppUsesNonExemptEncryption to NO (false) for iOS
  • MOBILE-3926 - Add swipe navigation to pages using split view
  • MOBILE-3927 - Add swipe navigation to non-split view pages
  • MOBILE-3934 - Refactor pages with nested split views
  • MOBILE-3939 - Refactor feedback respondents navigation
  • MOBILE-3974 - Disable Paypal in the app
  • MOBILE-4010 - In-app Moodle app survey should be available only for logged-in users

Sub-task

  • MOBILE-2282 - App takes a lot to start if site is down or unreachable
  • MOBILE-2748 - Improve how activity icons are supported now
  • MOBILE-3099 - Navigation within courses in the mobile app
  • MOBILE-3103 - SCORM full screen. Full screen button to remove top and bottom bar
  • MOBILE-3148 - Switch user account should not logout until new account is selected
  • MOBILE-3149 - Main activity action should be stuck at the bottom
  • MOBILE-3153 - Support User tours in app (onboarding in screens)
  • MOBILE-3415 - Support finger/swipe gestures for browsing course contents and activities with multiple pages
  • MOBILE-3726 - Display page before opening links in the browser
  • MOBILE-3773 - Automatically display thumbnail using Media Fragments for videos without poster
  • MOBILE-3794 - Accept site policy: iframe height is too small
  • MOBILE-3798 - Duplicated "My learning plans" in "More" menu and the user profile
  • MOBILE-3806 - "My courses" option in the app
  • MOBILE-3807 - New "User profile" menu
  • MOBILE-3808 - Navigation between courses sections
  • MOBILE-3810 - Main activity/resource content visualisation
  • MOBILE-3811 - Update icons to use Moodle 4.0
  • MOBILE-3814 - Update apps design to match 4.0 overall styling and components
  • MOBILE-3819 - Moodle 3.1 and local_mobile deprecation
  • MOBILE-3821 - Review offline app
  • MOBILE-3823 - Ensure H5P, SCORM and similar packages (IMSCP) do not display the description box in landscape mode (mobile)
  • MOBILE-3828 - Evaluate if we could display the HTML version of popup notifications in the app
  • MOBILE-3829 - Default fallback for Push Notifications should also display the notification message
  • MOBILE-3875 - Integrate performance tests in CI
  • MOBILE-3876 - Improve production bundles optimization
  • MOBILE-3887 - Use core_message_get_messages to display list of notifications
  • MOBILE-3899 - Only show main menu when navigation is at level 1
  • MOBILE-3902 - In-app notification for site admins when Push Notifications are not enabled for a site
  • MOBILE-3905 - Add swipe navigation to course participants
  • MOBILE-3909 - Allow users to set the reminder at the same time the event is created
  • MOBILE-3914 - Support new block drawer
  • MOBILE-3915 - New course index menu and fab button
  • MOBILE-3930 - Start and Resume course
  • MOBILE-3931 - Re-think the activity contextual menu
  • MOBILE-3932 - File resource should display the file media type, size and other useful information in their own page
  • MOBILE-3965 - Change "Logout" and "Switch account" behaviour
  • MOBILE-3970 - Open course information on a lateral menu

Bug

  • MOBILE-3060 - Group image isn't seen in push notifications in Android 9
  • MOBILE-3289 - H5P fullscreen does not work for Mobile App
  • MOBILE-3552 - H5P ignores TEX-Formulas in App but not in Browser
  • MOBILE-3667 - "Last accessed" sort choice on the module dashboard doesn't work unless refresh the page
  • MOBILE-3676 - QR reader button should not be displayed in the credentials screen for sites that disabled it
  • MOBILE-3686 - Long lists in "Available Courses" can crash app.
  • MOBILE-3695 - Delete a site: cannot unregister device if site is configured to logout
  • MOBILE-3711 - Access rules error messages should include as part of the string (variable) the access rule name (instead concatenating it hardcoded)
  • MOBILE-3715 - Launch external app from InAppBrowser: ERR_FILE_NOT_FOUND
  • MOBILE-3763 - H5P embedded directly (using embed code) have height=0 in the app
  • MOBILE-3775 - PTR on a page doesn't update the page contents
  • MOBILE-3780 - Max size of attachment is not correctly detected (Forum and Assignment)
  • MOBILE-3785 - Assignment - visible groups: teachers on browser can select 'All participants' whereas on the app they need to select a specific group
  • MOBILE-3787 - Assignment - Submission in group status are not correct
  • MOBILE-3822 - Disable click in links in MathJax
  • MOBILE-3825 - npm run dev:ios fails with Unknown option: '--platform'
  • MOBILE-3844 - Download mp3 file outside of app's folder
  • MOBILE-3849 - Revise kebab icon being shown when loading app and show download options on site home
  • MOBILE-3855 - Manual completion cannot be changed when accessing activity via recent accessed items
  • MOBILE-3857 - Course overview selector not displayed in old Moodle sites
  • MOBILE-3868 - Badges are empty when navigating to own user profile from online users block
  • MOBILE-3877 - Revise Quiz offline - when user finishes they see the summary instead of the review
  • MOBILE-3886 - Android app can no longer connect to HTTP sites
  • MOBILE-3895 - Long MathJax equations cut off in quiz feedback and no way to scroll
  • MOBILE-3896 - Links to tokenpluginfile are opened in browser
  • MOBILE-3900 - Course overview block does not honour "coursegraceperiodbefore" and "coursegraceperiodafter"
  • MOBILE-3903 - Link to a course with self enrol doesn't work
  • MOBILE-3906 - App laggs after accepting policy
  • MOBILE-3912 - Remove needs help from login error modal
  • MOBILE-3918 - Some H5P packages display "undefined" instead of title
  • MOBILE-3923 - Courses are not correctly sorted on Starred courses block
  • MOBILE-3924 - Revise license.json generation
  • MOBILE-3944 - User interests in the user profile is not linking to tags
  • MOBILE-3946 - Automatic completion of H5P activity isn't automatically detected by the app
  • MOBILE-3948 - H5P: Apply MDL code to fix issue when users have same email address
  • MOBILE-3949 - Fix Zip Path Traversal vulnerability in Android
  • MOBILE-3952 - Kebab icon should be hidden if options menu is empty
  • MOBILE-3953 - Site plugins: override handler properties isn't working as expected
  • MOBILE-3956 - URL to Feedback on mainpage and courseid returns "module not found"
  • MOBILE-3958 - Support gradeformatted with icons in the app
  • MOBILE-3982 - Follow-up with Collapsible header issues
  • MOBILE-3997 - Revise message when links with autologin
  • MOBILE-4001 - Quiz Result percentage shown in the app should apply the same rounding as the other grades
  • MOBILE-4005 - Support domain restricted Vimeo videos new security hash parameters