Keyboard shortcuts and in-page sections

What's new

Universe Moodle™ Theme release notes

New features, improvements and fixes in Universe.

Releases
7
Changes
86
Last updated

5.0.6

Uploading a file on Moodle 5.3 no longer stops with a JavaScript error. Add and Delete stay available during the upload (Build 2026102403).

  • Fixed
    • File manager

      uploading a file on Moodle 5.3 no longer stops with a JavaScript error. Add and Delete are links, which is what Moodle 5.3 shows and hides during an upload.

5.0.5

Participants names wrap in the tertiary menu, role-editor buttons meet WCAG AAA, and the activity chooser, group-mode icons, and bulk edit bar stay usable (Build 2026102401).

  • Fixed
    • Participants menu

      a long name in the tertiary navigation selector wraps on phone, tablet, and desktop instead of being cut off. The arrow stays on the right.

    • Role editor

      Save and Cancel on the participants page meet WCAG AAA in light and dark mode.

    • Add content

      in dark mode the line behind Add content matches the section card, and the dashed line stays visible.

    • Bulk edit button

      Bulk edit stays clickable when it shares a row with the secondary navigation.

    • Activity chooser

      minimise and close line up with the title, and the selected activity shows a check.

    • Group mode

      group and visibility icons stay visible on the dark menu.

    • Bulk edit bar

      the bar stays on one row. On a phone or tablet the actions are icons and scroll sideways.

5.0.4

Folder cards, question bank, email clients, Edit mode, and Moodle 5.3 course navigation, timeline, Log in as, and feedback layout (Build 2026102300).

  • New
    • Folder

      a folder activity shows files as cards with a preview and the file size, instead of a tree of tiny icons. Search filters the folder you are in. Nested folders open on the same page, with the folder list on the side. On a narrow screen the grid has two columns. The same view is used on Moodle 5.1, 5.2, and 5.3.

  • Improved
    • Question bank

      preview actions are separate buttons. Question history has its own close bar, with space above and below, including in dark mode. "Show question text in the question list?" sits beside the list.

    • Mark as done

      the button in the activity header and the one in the sticky footer change together.

    • Question history

      the question type icon stays visible in dark mode.

    • Activity icons

      the selected style is used on activity settings as well as on the question bank.

    • Edit mode

      after you scroll, the floating Edit mode switch moves aside and Back to top appears next to it.

    • Activity icons

      a transparent question bank icon keeps a clear stroke.

    • Email logo

      the email logo upload accepts PNG, JPG, and GIF only. SVG, WebP, and AVIF are not accepted, because most mail clients do not show them. A logo already stored in another format keeps sending until you replace the file.

    • Email clients

      the button, images and logo use markup that Apple Mail, Gmail and classic Outlook draw the same way. The button is a small pill sized to its label and it stays inside the card on a narrow screen. Images stay inside the card, and the logo height is a number Outlook accepts. Below 480px the footer stacks. Classic Outlook keeps the desktop row.

    • Email preview

      the preview on the Email branding page uses the same HTML as outgoing mail and hides the scrollbar inside the frame.

    • Main navigation

      the menu method is now mainnav (mainnav_mobile on the phone bar). Saved menu builder settings stay as they are.

  • Fixed
    • Course linear navigation

      Moodle 5.3 - Previous and Next go to the neighbouring activity, not the next section page. The old Jump to activity bar is hidden while linear navigation is on. On a narrow screen Previous stays left and Next stays right. On Moodle 5.2 the jump bar is unchanged.

    • Log in as

      Moodle's Log in as and Switch role no longer stop the next page with a server error.

    • Log in as

      avatars - the user button keeps your account as the main picture and shows the account you are acting as as a small badge on the corner.

    • Timeline

      Moodle 5.3 - course names and dates use the previous timeline layout, and the search field shows its icon. Activity icons use the same tiles as Recently accessed items. A name that contains an ampersand shows the character, not the code. On Moodle 5.2 the timeline is unchanged.

    • Course completion status

      contrast - the in-progress summary uses darker text on the same light background, so it meets WCAG AAA.

    • Collapse all

      Moodle 5.3 - the course page shows one Collapse all button above the section list. It no longer repeats on every section. On Moodle 5.2 the button still appears once, above the list.

    • Developer footer

      with developer debugging on, the reactive debug panel loads without a console error.

    • Course index

      Moodle 5.3 - a subsection is one item in the course index. The section row no longer repeats that item.

    • Activity chooser

      Moodle 5.3 - an activity that cannot be added, such as BigBlueButton without a server, is dimmed and cannot be selected. The reason shows when the pointer rests on it. On Moodle 5.2 every activity can still be added.

    • Sticky footer

      Moodle 5.3 - a second line in the footer, such as "Go to all discussions" on a forum discussion, sits above Previous and Next.

    • Assignment grading

      Moodle 5.3 - Save, Save and show next, and Reset ignore a second click while the first save is still running.

    • Course navigation footer

      Mark as done sits first. Previous and Next sit together beside it, centred in the row and the same height as the drag handle. An extra link, such as "Go to all discussions", stays in that row.

    • Course tabs

      the More menu stays in front of the filter bar under the tabs.

    • Feedback

      the question editor, the print preview and the answer form use one card inset. The mode line, question titles, choices and text fields share a left edge. On the editor, the drag handle sits beside each title and Edit sits at the end of that row. On the print preview the page heading is centred. The same spacing is used on Moodle 5.1, 5.2, and 5.3.

    • Page title

      a title in the top bar has space under it before the next line.

5.0.3

Forum email branding, plus drag-and-drop question drop zones, Global Search in the top bar, assignment bulk actions, and quiz review-option columns (Build 2026100718).

  • Improved
    • Forum email

      the logo sits centred above the message card, including mail sent by the scheduled task. The message no longer shows the course breadcrumb, the opens-in-a-new-window note, or the digest-preferences line. Unsubscribe stays under a short course line. The author photo stays sharp, action buttons sit in one row and stack on a narrow screen, and an empty footer is left out.

  • Fixed
    • Drag and drop onto image

      drop zone size — file-uploader styles no longer apply to question drop zones. The boxes keep the size the question calculates, the same as Boost.

    • Drag and drop questions

      dark mode — labels on drag-and-drop onto image and into text use dark text on the light group colours.

    • File upload drop zone

      dark mode — the uploader uses a dark surface and light text instead of a light panel with light text.

    • Assignment grading

      bulk actions — selecting users shows the full bulk bar. The More menu opens above the bar. The More button shows its label, and each menu item shows its icon.

    • Quiz settings

      review options — the timing columns no longer overlap on a narrow screen. Headings stay inside their column, and extra columns wrap onto the next row.

    • Global Search

      local_globalsearch shows as one magnifier icon in the top bar. The search field takes over the whole bar. Escape, the close icon, or a click outside closes it. Install local_globalsearch 1.0.3 with this theme.

5.0.2

Moodle 5.3 compatibility, a mobile logo icon, keyboard focus colour, and profile, menu, and login-footer fixes (Build 2026092514).

  • Improved
    • Moodle 5.3 compatibility

      Bootstrap JS now resolves on both Moodle 5.2 and Moodle 5.3 (pre-release) from one package. Purge theme and JavaScript caches after deploy. Minimum requirement stays Moodle 5.2; no settings reset.

  • New
    • Mobile logo icon

      new light and dark file settings. Use them when the desktop top bar logo is a long wordmark. An empty field keeps the desktop logo on small screens.

    • Keyboard focus

      colour — new Focus color and Focus color (dark mode) settings in top bar colours. One keyboard focus ring uses that colour across the template. An empty field keeps the theme default.

  • Fixed
    • User profile

      plugin sections — sections added by other plugins, such as Learning Tool, Privacy and policies, or the mobile app, show on the profile page again.

    • Menu builder

      sticky actions — Add / Cancel sits above Save changes instead of covering it.

    • Top bar

      dropdown groups — nested items in More and the mobile menu use the top bar colours and the glossy hover chip. An open group is one chip.

    • Top bar

      mobile logo — the course index button no longer sits on top of a long wordmark. The logo stays in the middle column.

    • Mobile logo icon

      first save — uploading a file into a new logo area no longer fails with “Could not save setting:”.

    • Login

      footer — the address, contact row, language control, and copyright in the login footer are centred.

    • Dark mode logo

      alternative text — the dark-mode logo uses the same alternative text as the light logo and is no longer hidden from screen readers.

    • Screen reader text

      accesshide — .accesshide no longer sets display: none. Visually hidden labels stay available to screen readers and stay invisible on screen.

    • Help icons

      click target — each help popover link is a 40×40 px click target. The question-mark icon stays 18 px and is centred in that area.

5.0.1

Content Builder — FAQ open first; Content Builder — dark mode background; Content Builder — hero padding (Build 2026091600).

  • New
    • Content Builder

      FAQ open first — FAQ snippets get a toolbar toggle so the first accordion item can start open on the published page (data-faq-open-first).

    • Content Builder

      dark mode background — the block background editor can set a separate colour, gradient, or image for dark mode, swapped live with the theme toggle.

    • Content Builder

      hero padding — hero, testimonial, and process wrappers no longer inherit CSS default padding from the inner shell, so full-bleed backgrounds stay flush.

5.0.0

Initial release; New core, new capabilities; Moodle compatibility (Build 2026090500).

  • New
    • Initial release

      Theme Universe 5 is a completely rebuilt template on Bootstrap 5: a new core, modern layout and component stack, and a broad set of tools for site administrators, teachers, and content authors.

    • New core, new capabilities

      refreshed navigation and drawers, visual front-page and content builder, course tabs, calendar redesign, dark mode, accessibility improvements, child-theme support, and many other features developed on this new foundation.

    • Moodle compatibility

      Theme Universe 5 is built for Moodle 5.1, 5.2, and later. Install the package that matches your Moodle branch; the theme continues to track current Moodle releases.

    • Course index

      hidden item text — new Course index hidden item text colour (colordrawercourseindexdimmed / colordrawercourseindexdimmeddarkmode) on the course index settings tab. Hidden (.dimmed) rows use this solid colour instead of page tertiary text.

  • Improved
    • Bootstrap JavaScript

      one shared runtime with Moodle — loader, primary navigation, content builder, course tools, and admin modals no longer ship a duplicate Bootstrap JavaScript tree inside the theme. All call sites load through Moodle's theme_boost AMD modules, so dropdowns, tabs, tooltips, and builder dialogs share the same instance registry as core — fewer “works on click two” glitches and more reliable overlays. Custom theme styling (SCSS Bootstrap 5.3.6) is unchanged; only the JavaScript delivery path was consolidated (phases 1–3, verified on Front Page Builder and local page editor).

    • Main navigation

      admin settings — the primary navigation builder settings file was renamed from sidebar-nav.php to main-nav.php, with matching admin tab and language-string identifiers (settingsmainnav). The tab label stays Main Navigation Builder; the new name reflects that this builder drives primary navigation in the top bar and drawer, not only the sidebar.

    • Top bar

      navigation toggles — removed Top bar navigation and Front page only checkboxes from admin settings. Universe 5 always renders the top bar menu row; those options apply only to Theme Space 5, Theme Alpha 5, and Theme XY (topbarnav, topbarnavfponly under Top bar navigation).

    • Edit mode switch placement

      new Top bar → General setting (editmodeplacement): keep the switch next to the user menu, or pin it as a floating control in the bottom-right corner.

  • Fixed
    • Course sections

      multipage link area — on courses that show one section per page, the invisible “go to section” stretched-link no longer covers the whole section (including activities). The anchor now sits inside .course-section-header, so only the header row is clickable.

    • Content builder

      removed legacy modal fallbacks (phase 4) — deleted unreachable jQuery Bootstrap modal branches and manual .show / .modal-open class toggles from Simple Content Builder modules. Modals now rely on the Bootstrap AMD bridge only; modal-manager keeps a minimal manual recovery path if Bootstrap throws during show/close.

    • Content builder

      Bootstrap AMD bridge (phase 3) — Simple Content Builder modules no longer probe window.bootstrap (Moodle never exposes it). New contentbuilder/core/bootstrap-bridge registers SCB.Bootstrap.{Modal,Dropdown,Tooltip} from theme_boost/bootstrap/* at boot; modal-manager, dom-utils, and the footer logotypes admin manager import Modal directly. Modals, dropdowns, image/link pickers, and undo confirmations now use Bootstrap's real API instead of silent manual DOM fallbacks.

    • Bootstrap JS

      removed vendored amd/bootstrap tree (phase 2) — deleted the duplicate amd/src/bootstrap/ and amd/build/bootstrap/ copies (~26 modules per theme). Runtime now uses theme_boost/bootstrap/* exclusively; index, popover, toast, footer-popover, and bs4-compat re-export Boost. scripts/sync_boost_amd.sh no longer rsyncs Bootstrap JS. SCSS (scss/bootstrap 5.3.6) is unchanged.

    • Bootstrap JS

      unified AMD imports (phase 1) — loader, drawers, BS4-compat shims, course focus tooltips, course video modal, content-builder history tooltips, and the calendar day popover now import theme_boost/bootstrap/ instead of the vendored theme copy, so instances sit in the same Data registry as theme_boost/loader. Removed the unused theme_/aria AMD module. space5 and xy dropdown now re-export Boost (shim), preventing a second set of document click handlers that made [data-bs-toggle="dropdown"] flash open then close on one click.

    • Navigation dropdowns and theme-admin tabs

      dead Bootstrap code path — the primary nav panel, the mobile toolbar sheets and the theme settings tabs now go through Bootstrap's real API. These call sites were guarded by typeof bootstrap !== 'undefined', but Moodle never publishes Bootstrap as a global — it is only reachable through AMD — so every one of them was skipped and the theme fell back to jQuery or to toggling classes by hand. Dropdown and Tab now come from theme_boost/bootstrap/*, which also puts instances in the same registry Bootstrap's own data-api uses. Opening a mobile toolbar sheet now closes any other open sheet, as intended.

    • Combobox search

      result panel position — the user, grade and group search panels (.usersearchdropdown, .gradesearchdropdown, .groupsearchdropdown) no longer open on top of the search field. Core toggles these panels itself instead of through Bootstrap's dropdown, so Popper never positions them and the theme has to supply the offset — without it the panel landed at its static position, covering the input in places such as the gradebook grader report.

    • Combobox search

      picking a result with the mouse or a tap — the search input keeps focus while a result is being clicked. Core closes the panel from a capture-phase handler that runs before the option is selected, so the selection relied on the browser still delivering the final click — which it drops when the pointer drifts inside the scrollable result list, or when losing focus reflows the page on a soft keyboard.

    • Footer

      empty contact wrappers — when website, phone, email and contact info are empty, the vacant .rui-footer-contact-info / .rui-footer--icons / ul.rui-footer--contact containers are no longer rendered. The language switcher still appears when it is placed in the footer.

    • Top bar

      main nav hover contrast — hover, focus and active states on .rui-flatnavigation--topbar .rui-nav-item-link now use primary-800 on primary-100 (~10.7:1, WCAG 2.2 AAA) plus a light hairline shadow, instead of primary-600 on primary-100 (~3.8:1).

    • Footer

      empty debug wrapper — when debugging is off, the empty .rui-debug block is no longer rendered. Bootstrap .d-block had been forcing display: block !important over :empty { display: none }, which left extra space in the footer.

    • Course index

      hidden items and timeline markers — hidden activities no longer fade the whole row with opacity. Completion dots stay solid so the leading timeline line does not show through them. Text uses the new hidden-item colour instead of --bs-body-tertiary-color.

    • Sticky footer

      drag handle — dragging the sticky footer no longer throws a JavaScript error (TypeError: t is not a function) on pages such as activity settings (modedit). Language strings for the handle now load through Moodle’s core/str API.

    • Primary navigation

      multi-language titles — builder titles no longer concatenate every language (e.g. “All courses” + “Alle Kurse”). Inner multilang markup is kept, filtered with Moodle string filters (same path as the core custom menu), then stripped and escaped so the visible label is a single language.

    • Custom fonts

      file uploads — uploading .woff / .woff2 / .ttf / .otf / .eot files no longer fails with an SVG-only file type error. Moodle core does not register those font types, so the theme now registers them before the Font files picker filters uploads.

    • Edit mode switch

      top bar / sidebar colors — the unchecked switch thumb follows Button Text Color in the top bar (and hidden sidebar) and Sidebar Text in the drawer footer, including dark mode.

    • User tours admin tables

      empty fa-spacer move fillers are hidden, action icons sit in a tight row (core mx-1 /   gaps removed), and step screenshots in the Content column are capped to a compact thumbnail. The enable/disable eye toggle is green when the tour is on and red when it is off.

    • My courses user tour

      the shipped tour can find its target again. Course manage/create buttons in Course overview use .header-actions-container .btn-group.course-manage. The step bubble is no longer display: none (Boost override for .modal inside the tour container), and it sits above the theme drawers.

    • Calendar month navigation

      previous/next use Font Awesome chevrons (currentColor) instead of compiled SVG backgrounds, so the arrows keep contrast when button colours are customised.

    • Sidebar search

      placeholder contrast — the Global Search field in the navigation drawer no longer uses a faded placeholder. Placeholder text now meets WCAG AAA (7:1) against the input background in light and dark mode.

    • Grader report

      empty status icons — Moodle always outputs an empty status-icon wrapper in grade cells. That slot no longer stretches the cell: it is hidden when there is no icon, and grade values stay in a compact row.

    • Course activity

      fixed-width embeds — contain fixed-width embeds (YouTube/iframe/images) so they do not stretch the section/page layout; iframes in activity descriptions are responsive (width: 100%, aspect-ratio: 16 / 9).