Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). It is a free web application, which educators may use to create effective online learning portals.
Key features include:
- Modern, easy to use interface.
- Personalized Dashboard.
- Collaborative tools and activities.
- All-in-one calendar.
- Simple and intuitive text editor.
- Progress tracking.
- Customizable site design and layout.
- Secure authentication and mass enrollment.
- Multilingual capability.
- Plugin management.
- Marking workflow.
The interface is clean and sleek, designed to be responsive and accessible, and is easy to navigate on both desktop and mobile devices alike. It allows you to organize and display all the courses the way you need. Moodle also has a convenient file management system that utilizes drag and drop functionality. You can use files from cloud storage services, such as Dropbox and Google Drive.
So, whether you're a teacher, student or an administrator, Moodle can meet your needs. It has an extremely customizable core that comes with stacks of standard features, a multitude of options, and a vast library of plugins to choose from.
Dashboard and Course overview
New Course overview and Timeline block.
New Recently accessed courses block.
New Recently accessed items block.
Option to hide courses in the course overview block.
Option to star/unstar courses in the course overview block.
New Starred courses block.
Dashboard retains user preferences for view options.
Course overview block retains user preferences for the number of courses to show.
Grace period when displaying "In progress" courses in course overview block.
Removal of Dashboard page header.
GDPR and Privacy
Note that some of these GDPR improvements have also been backported to Moodle 3.5.3, 3.4.6 and 3.3.9.
Data requests bulk actions.
Option to make site policies required or optional.
Capabilities for controlling who can download SAR data.
Data deletion of existing deleted users.
Pre-processing stage removed from data requests process.
Data retention summary (read-only).
Option to remove the "Data retention summary" link in the footer.
HTML data request export format.
User expiry improvements.
Data purpose and category inheritance improvements.
Different data retention strategies for different roles in a purpose.
Ability to configure data registry to use module type defaults.
Site mentioned in email notifications of data requests.
Option to hide your name in the online users block.
New messaging UI with messaging drawer.
Option to disable site-wide messaging.
Privacy setting for restricting who can message you.
Option to star messaging conversations.
Notifications not sent for group conversations.
Group members synchronised with messaging conversations members.
Assignment feedback can include media or other files.
Improved quiz statistics report usability for randomized questions.
Option to add ID numbers to questions and question categories.
Single questions can be exported from the question bank.
Teachers can specify workshop submission types.
Nextcloud integration, with a Nextcloud repository and OAuth 2 Nextcloud service.
Support for Open Badges v2.0
Performance improvements to cache flags.
Glossary auto-linking filter performance improvements.
atto_htmlplus implemented to improve Atto editor HTML indenting.
Copy and paste of images from one WYSIWYG window to another.
Forum actions announced by screen reader when completed.
Global search displays a relevant icon next to link in results.
SVG/high resolution emoticons.
Larger badge images are used.
Context freezing - setting read-only access for categories, courses, activities and their content.
'Resend confirmation email' button on login page.
IF conditions in grade calculations.
Calendar entries location support.
Images are displayed in forum notification emails.
Course format options may be specified in upload courses CSV file.
Page resource option to show/hide "Last modified".
Forum post HTML structure improvements.
Option to download the list of course participants.
Analytics models can use different machine learning backends.
User menu: customusermenuitems map Font Awesome icons for non pix/t folders.
JSON added to the default MIME types list.
Atto media plugin title global attribute support.
Shibboleth authentication identity providers.
Grader report saves after edit with multiple tabs.
Drag and drop of course events respects the course start date.
Login CSRF vulnerability in login form. Note that this fix has previously been disclosed following the release of Moodle 3.5.3, 3.4.6, 3.3.9 and 3.1.15.
'Add a new course' link in Site administration.
Admin search results provide location of the found matching page.
Capability to control use of Atto Record RTC.
New blocks supported by the mobile app can be disabled.
Legacy log store deprecation.
Log changes to site administrators.
adhoc task runner.
Site upgrades via CLI display new default settings.
Indian Rupee added to PayPal enrolment currencies.
Old Events API final deprecation.
Phase 2 of deprecation of functions in lib/deprecatedlib.php
Reusable element for drag and drop sortable table or list.
memcache session handler removal.
New Favourites subsystem.
Badges web services return new fields and data added by the Open Badges v2.0 specification.
core_useragent::get_browser_version_classes distinguishes between different browsers.
Privacy API update
In addition to existing requirements, any plugin which implements the plugin provider interface must also implement the \core_privacy\local\request\core_userlist_provider interface. Two new methods need to be implemented:
However, the two above methods are not required for plugins that implement the null_provider only (i.e. which do not store personal data).
Note that these changes are also required for latest Moodle 3.4.6 and 3.5.3 versions.
Behat scenario files
MDL-57281 - The behat step I navigate to "ITEM" node in "MAINNODE > PATH" has been deprecated and throws an exception with details on how to replace it. The recommended replacement steps work in all recent Moodle versions. The updated Behat will pass with Moodle 3.4 too.
If your plugin provides an alternative login form (e.g. it is a theme replacing the default login form template / renderer), the login form must include a new login token field. For details of required changes, see Login token. Note that this also affects latest stable branches too.
New core functions
Component APIs upgrades
Please refer to the upgrade.txt files in the relevant component directory for changes in this particular Moodle release.