Skip to main content

68 templates now rebuilt for Joomla 5 + VirtueMart 4 on Bootstrap 5. See what changed

  • Change Log:
    • Release Date: 2026-10-29, Version: 5.4.10.5, Notes:

      The shop menus stay open while you move into them. Hovering Categories or Using Joomla! opens a wide menu panel 25 pixels below the menu bar. The template’s original menu script kept a panel open while the pointer crossed that gap; the Joomla 5 version opens the panels with CSS alone, so once the pointer left the menu item the panel jumped off the side of the screen at once and could not be reached. (The template already delayed the panel’s vertical move, but it hides a closed panel by moving it sideways, and that still happened immediately.) The panels now wait half a second before closing — long enough to move into them — and close normally once the pointer leaves.

      The error page no longer shows server details. Some errors — for example a link to a news feed that does not exist — printed Joomla’s internal error message on the public error page, and that message contains the folder path of the site on the server and a programmer’s stack trace. Unless the site is in debug mode, the page now shows Joomla’s standard “An error has occurred” message instead, with the same status code. Separately, a link to an article or contact that does not exist (by its number) now gets the template’s 404 page; before, it could end in a 500 server error.

    • Release Date: 2026-10-19, Version: 5.4.10.4, Notes:

      Template Options screen. The icons on the template's Options screen came from Font Awesome 4.6.3 on MaxCDN, which no longer serves it, so they were missing. They now load Font Awesome 6.5.2 with its version 4 name shims from cdnjs.

      Quickstart. Joomla's Language Overrides search list shipped filled with several thousand strings indexed on the original developer's computer, file paths included. It is now empty; Joomla fills it again when you refresh it in Language Overrides.

    • Release Date: 2026-10-19, Version: 5.4.10.3, Notes:

      Security. The template's menu layouts printed a menu item's note and link exactly as entered, so markup typed into a menu item's Note or Link field reached the page. Both are now escaped, as Joomla's own menu layouts do.

      Colours with transparency. A colour chosen with the colour picker's opacity slider (saved as an 8-digit colour such as #rrggbbaa) was replaced with black. Colours with transparency are now used as chosen.

    • Release Date: 2026-10-16, Version: 5.4.10.2, Notes:

      Store owners. The account page no longer shows an error when a store owner or vendor is logged in.

      Cart. The cart icon always shows how many items are in the cart, not only on mouse-over.

      Phones. The show-password button stays on the same line as the password field.

      Articles. The Previous and Next buttons sit at opposite ends of the article.

      Categories. The category description no longer has side padding.

    • Release Date: 2026-10-15, Version: 5.4.10.1, Notes:

      Phones. New phone header: the logo with a menu button, and a row of icons for the store menu, your account, search, sharing and the cart. The cart icon shows how many items are in the cart.

      Phones. The slideshow shows full size, and the header stays in place while the slides change.

      Phones. A store categories menu, with sub-categories that open with a tap.

      Phones. Tapping the account icon opens the login form. The cart and login panels close when you tap outside them.

      Phones. Product lists no longer show stray bullets, product tabs show their titles, and the testimonial text is readable over its photo.

      Tablets. The header stays on one row, and the "See Collection" button no longer wraps.

      Layout. The testimonial text sits beside its photo again, and the footer columns fill the page width.

      Favicon. New Favicon tab: pick an image, crop it, and the template creates every icon size for you. With thanks to Gianluca, whose favicon question inspired this tool.

      Template settings. Shorter, clearer tab names.

      Checkout. Checkout messages no longer show an empty box in the corner.

    • Release Date: 2026-10-15, Version: 5.4.10, Notes:

      Joomla 5.4.10. The Quickstart now installs Joomla 5.4.10 (Joomla 5.4.10 release notes), and the template version is now 5.4.10 to match.

      Error pages. "Page not found" and "access denied" pages now show inside the template, with its header, menus and footer, and fit a phone screen.

      Security. The template's main file can no longer be run on its own outside Joomla.

      Fixed. Stray code text (*/ ?>) no longer shows at the top of every page.

      Phones. Inner pages (login, account, shop and error pages) use the full screen width again instead of a narrow strip, and forms no longer run off the right edge.

      Phones. The footer text no longer touches the screen edge.

      Quickstart. A fresh install no longer lists stale update notices. Includes MCP for Joomla 2.8.3.

    • Release Date: 2026-10-02, Version: 5.4.9.1, Notes:

      Quickstart install fix. The quickstart now installs completely on MySQL databases. Before, the Joomla installer stopped part-way through on MySQL hosts; MariaDB hosts were not affected. Thanks to Iryna for reporting this.

    • Release Date: 2026-09-30, Version: 5.4.9, Notes:

      Joomla 5.4.9. Updated for Joomla 5.4.9, a security and bug-fix release. The quickstart now installs Joomla 5.4.9.

    • Release Date: 2026-09-28, Version: 5.4.8.2, Notes:

      Security update. Every template setting that is written into your pages is now escaped for the place it lands in (HTML, attributes, CSS and JavaScript), including the site name and slogan in image alt text, and module, menu and tab titles wherever the template prints them (module headings, title attributes and the mega menu). A setting or title containing a quote or markup can no longer break out of its place in the page. The error page escapes its message and title too. There are no visual changes. Recommended for all sites.

    • Release Date: 2026-09-03, Version: 5.4.8.1, Notes:

      Maintenance release.

      • Joomla 3 compatibility code removed throughout the template. The template's PHP now uses Joomla's current API everywhere — the template files, the component override and every layout override (cart, checkout, product details, login and the modules). The old code only worked while Joomla's Behaviour – Backward Compatibility plugin was switched on. The most serious case was the error page: when it failed, Joomla could not display any error page, so an ordinary “page not found” was served to your visitors as a 500 server error.

      Both the template package and the Quick Start have been rebuilt for this release. Download the latest from your member area.

    • Release Date: 2026-08-18, Version: 5.4.8, Notes:

      Maintenance and security release. It carries the current Joomla and VirtueMart updates, plus a set of JavaScript fixes that were prepared on 11 August 2026 but had not been published until now.

      Security

      • VirtueMart updated to 4.8.0 (from 4.6.8). VirtueMart 4.8.0 is an upstream security release from the VirtueMart project. The Serenity quickstart package now bundles it. If you already have a Serenity site running, please update VirtueMart on your own installation as well — those fixes live in the VirtueMart component itself, so installing the template package does not deliver them.
      • Joomla core updated to 5.4.8 (from 5.4.7). The quickstart package now bundles Joomla 5.4.8. Existing sites should apply Joomla 5.4.8 through Joomla's own Update component.

      Fixed

      • A JavaScript error broke the drop-down menu script block. With "use dropdown" enabled, index.php still called two jQuery menu plugins whose loaders had been removed in an earlier modernization pass. The call threw immediately and took the rest of that script block down with it, including the handler that closes the social-links panel. The dead calls are gone; the drop-down is CSS-driven through nav.css and the compatibility bridge.
      • A legacy browser-sniffing shim (jQuery.browser) was removed. It was dropped from jQuery in version 1.9 and only existed to support the plugins above.
      • A jQuery Mobile touch bundle was no longer safe to load. It threw during its own module definition under jQuery 3.7 and nothing consumed its events. The reference has been removed.
      • Google Fonts are now requested with a plain stylesheet link. The template previously injected a third-party font-loader script from ajax.googleapis.com, which caused a flash of unstyled text while it initialised. Fonts are now requested directly with preconnect hints, so text renders sooner. Your font choices in the template settings are unchanged.

      Changed

      • A leftover backup file was removed from the template folder. index.php.pre-surgical.bak had been left inside templates/serenity/ by an earlier maintenance pass. It is no longer present.
      • The bundled quickstart no longer installs the retired vmbasic template. Previous Serenity quickstarts carried a copy of VirtueMart's old vmbasic site template, which the VirtueMart installer reinstates. It served no purpose in a Serenity install and has been removed.
      • The template's index.php now carries a version header, and every version surface reads 5.4.8.
    • Release Date: 2026-07-22, Version: 5.4.0.3, Notes:

      Maintenance release — fixes for issues found in real-world use on a live production site. With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.

      • Fixed: search-module icon rendered as a stray character — the Joomla 3 jui icon font was removed from Joomla core in Joomla 4, so the glyph fell back to a literal character and the dead font reference 404'd on every page. The icon is now a self-contained SVG.
      • Fixed: pagination arrows (first/previous/next/last) rendered as empty squares — Joomla 4+ uses newer icon class names the template never mapped. Now self-contained SVGs.
      • Fixed: featured/blog articles showing only their title — tall single-column intro articles were clipped by the blog layout CSS.
      • Improved: search button sits snug against the search input.
      • Fixed: the template version shown after install now tracks the real release version.
    • Release Date: 2026-07-16, Version: 5.4.0.2, Notes:

      Bugfix release. Fixes a legacy Joomla 3 form-validation call (behavior.formvalidation, removed in Joomla 5) in the VirtueMart login template override, which could cause a 500 - behavior::formvalidation not found error on pages where the login block is shown to guests — for example the cart, depending on your VirtueMart settings. The override now uses the Joomla 5-native behavior.formvalidator.

      Found during the follow-up on the 2026-07-15 report — thank you again, Zoltán!

    • Release Date: 2026-07-15, Version: 5.4.0.1, Notes:

      Bugfix release. Fixes a PHP 8 fatal error (count(): Argument #1 ($value) must be of type Countable|array, null given) on the cart "Bill To / Ship To" address edit page. The edit_address.php template override — and its Bootstrap-3 layout variant — now guard the optional user-fields block with !empty() instead of count(), so guest checkout address editing works on all PHP 8 versions. Recommended update for everyone running Serenity 5.4.0.

      Thank you, Zoltán, for taking the time to report this!

    • Release Date: 2026-06-16, Version: 5.4.0, Notes:
      First Joomla 5 native release. Serenity has been brought forward from the previous download (06.08.2025 5.3.0/4.4.4, built on Joomla 5.3.0 and VirtueMart 4.4.4) to Joomla 5.4.6 + VirtueMart 4.6.8 + PHP 8. The template no longer loads its own Bootstrap 2 stylesheets. It keeps its Bootstrap 2 column classes in module content and VirtueMart output, and a new compatibility stylesheet lays them out, so existing content keeps its layout. This release adds current social networks with Font Awesome 6 icons, Joomla’s own on/off switches in place of all 69 old checkboxes, escaping or validation at 211 places where template settings are written into the page, mega-menu fixes for Joomla 5, and fixes for stretched product and cart images. jQuery still loads for the camera slideshow, the carousels and the other effects; the Superfish/Supersubs menu scripts, Backstretch and the Internet Explorer scripts are no longer loaded. Compared with the previous download: 260 → 264 files, 4 added, none removed, 8 modified. The template version is now 5.4.0.

      Added

      Bootstrap 5 compatibility layer

      • New css/bs2-bs5-bridge.css (496 lines, about 16 KB). It is added after the template’s other stylesheets (template.css, blog.css, the colour preset, Font Awesome and the right-to-left sheet), so its rules win. It lays out Serenity’s Bootstrap 2 classes without the Bootstrap 2 stylesheets:
        • .row-fluid becomes a wrapping flex row, and .span1–.span12 inside it get their twelve-column percentage widths with 15 px side padding. .offset1–.offset11 work inside .row-fluid.
        • Standalone .spanN columns keep Bootstrap 2’s floated layout and fixed widths (60 px to 940 px).
        • The Bootstrap 2 helpers pull-left / pull-right, hidden-phone / visible-phone and the btn-inverse / btn-default buttons.
        • Below 768 px every .row-fluid column stacks at full width.
      • The same file carries the header, testimonial, carousel, breadcrumb, mega-menu and image fixes listed under Fixed.

      Modern social network support

      • Five new social services in the template options, each with a URL field and an on/off switch, off by default: Threads, Bluesky, Mastodon, TikTok and Discord (threads/threadsON, bluesky/blueskyON, mastodon/mastodonON, tiktok/tiktokON, discord/discordON).
      • Twitter is now X: the setting is labelled “X (formerly Twitter)” and shows the X logo. It keeps its twitter setting name, so an existing address carries over.
      • The social links (#social-links) now draw Font Awesome 6 brand icons (fab fa-x-twitter, fa-facebook-f, fa-instagram, fa-threads, fa-bluesky, fa-mastodon, fa-linkedin-in, fa-youtube, fa-tiktok, fa-vimeo-v, fa-pinterest-p, fa-discord, fas fa-rss) instead of the Socicon font classes. Each link has a title with the network’s name. The five custom social slots (customSoc1–customSoc5) stay.
      • The network URL fields default to the placeholder #TYPE-URL-HERE, so an unfilled link is easy to spot.

      Security helpers

      • Three new helper functions at the top of index.php: phEsc(), phHexColor() and phCssDim(), used at 211 places. Details under Security.

      Template folder

      • An active .htaccess in the template folder refuses web requests for editor and backup copies (.bak, .bak-*, .orig, .old, .swp, .swo, .tmp, pre-*, ~).
      • CHANGELOG.md and CHANGELOG.html ship in the template folder.

      Changed

      Joomla 5 platform

      • Built for Joomla 5.4.6 and VirtueMart 4.6.8 (the previous download was labelled for Joomla 5.3.0 and VirtueMart 4.4.4).
      • The template no longer loads its Bootstrap 2 files css/bootstrap/bootstrap.min.css, bootstrap-responsive.min.css and bootstrap-extended.css. Joomla 5’s Bootstrap 5 JavaScript and jQuery load as before.
      • Layout markup in index.php: 19 .row-fluid rows are now .row, and the page’s own columns use Bootstrap 5 classes: the left and right columns (span3 → col-md-3, twice), the breadcrumb and footer module rows (span12 → col-md-12) and the Customers box (span6 offset6 → col-md-6 offset-md-6). Module-position widths stay spanN and are laid out by the bridge.
      • The tabs module labels use Bootstrap 5 display classes (d-inline d-sm-none / d-none d-sm-inline) instead of visible-phone / hidden-phone: phones show the tab number, larger screens the tab title.
      • templateDetails.xml: version 06.08.2025 5.3.0/4.4.4 → 5.4.0, also in the Description tab. method="upgrade" is kept, so an existing install updates in place.

      Template Options screen

      • 69 legacy checkbox switches (class="switch" type="checkbox") are now Joomla’s native on/off switchers (type="radio", layout="joomla.form.field.radio.switcher", with JNO / JYES options). They cover the slideshow (cam_autoAdvance, cam_hover, cam_navigation and the rest), fonts (AdditionalGFontON), the EU cookie law window, the drop-down and mega menus, the site name and slogan (H1TitleImgText, H2TitleImgText), OverrideDefaultSettings, RSSON, the social switches and customSoc1ON–customSoc5ON. With the five new social switches the template has 74 switchers and no checkboxes.
      • Fields 288 → 290, still in 13 tabs. The language file drops the two Blogger strings (74 → 72).

      Icons

      • Front end: Font Awesome 4.6.3 from the shut-down MaxCDN (font-awesome.min.css) and a second copy of Font Awesome 5.0.1 (use.fontawesome.com) → one Font Awesome 6.5.2 stylesheet from cdnjs (all.min.css).

      Mega menu on Joomla 5

      • The mega-menu loop in index.php reads each menu item’s settings through the public $menuitem->getParams() instead of the item’s protected params property.
      • The loop now takes only level-1 items. Joomla 5’s $menu->getItems('menutype', …) returns every level, so without the filter every sub-item showed as another top-level item across the header bar.
      • Drop-down panels still come from the menu-position-1/2/3-<alias> module positions; their rows use .row instead of .row-fluid.

      Template overrides

      • html/mod_login/default.php: $type = $type ?? 'login'; (Joomla 5 no longer passes $type to this layout).
      • html/mod_breadcrumbs/default.php: $moduleclass_sfx = $moduleclass_sfx ?? ''; (same reason).
      • html/com_virtuemart/askquestion/view.html.php: the view declares its 10 properties ($captcha, $comment, $isMail, $login, $product, $show_prices, $subject, $user, $vendor, $vendorEmail).

      Fixed

      • “Undefined variable” warnings from the login module ($type) and the breadcrumbs module ($moduleclass_sfx) on Joomla 5.
      • PHP 8.2 “creation of dynamic property” notices on the “Ask a question” form.
      • Mega menu: every child menu item appeared as an extra top-level item (see Changed).
      • Mega-menu drop-downs vanished while the pointer crossed the gap between the menu bar and the panel. The panel now stays at top: 90px for 500 ms after the pointer leaves (CSS transition: top 0s linear 500ms on #mega-menu.menu-nav > li > ul.ul-container), with no script.
      • Stretched images. Under the new layout, VirtueMart images with width and height attributes stretched into tall, narrow strips. Now:
        • Every img[width][height] gets max-width: 100%; height: auto, except images whose class names an icon, Socicon or emoji and separator images.
        • Images inside the VirtueMart and article containers do the same: .main-image, .vm-additional-images, .vm-product-media-container, .productdetails-view, .vmproduct, .category-view, .featured-view, .latest-view, .topten-view, .recent-view, .related-products-view, .browse-view, .search-result-products, .com-content-article, .article-content and others.
        • Product-module, related-product and category images keep a square frame (aspect-ratio: 1 / 1, object-fit: contain).
        • Cart and mini-cart thumbnails are 45 px wide and at most 60 px high (span.cart-images img, .cartpanel img).
      • The fixed header was see-through while scrolling: #top-handler now has a white background and a light shadow.
      • The testimonials box was far taller than its text: its hard-coded min-height: 460px is now auto.
      • The manufacturers carousel had a large gap above its pagination dots; the padding is tightened (.moduletable_manufacturers).
      • Breadcrumbs showed a list bullet before each crumb with Joomla 5’s list markup. They now show as one inline trail with even spacing around the divider.

      Removed

      Legacy scripts and stylesheets no longer loaded

      • Scripts: superfish.js, supersubs.js, jquery.backstretch.min.js (loaded twice before), modernizr.js, selectivizr-min.js and html5.js (html5shiv from googlecode.com). The template’s own files remain in js/ (still 29 files) but nothing loads them.
      • Stylesheets: the Bootstrap 2 files in css/bootstrap/ (they remain in the folder in this release), Font Awesome 4.6.3 from MaxCDN, Font Awesome 5.0.1, and the Internet Explorer files ie.css and ie6.css with their conditional comments.

      Retired social services

      • Four social services removed from the template options and the page, with their switches: Google+ (gplus), StumbleUpon (stumbleupon), Digg (digg) and Blogger (blogger), plus the language strings TPL_SERENITY_BLOGGER_LABEL and TPL_SERENITY_BLOGGER_DESC.

      Security

      • Template settings are escaped or validated at 211 places where index.php writes them into the page, through the new helpers:
        • phEsc() (79) for HTML text and attributes, and for setting values inside inline <style> and JavaScript: the content font size and extra Google font family, the logo area width, the site-name and slogan positions, colours and font sizes, the site-name and slogan image paths, the header side-panel positions, sizes and speed, drop-down column widths, the slideshow minimum height and caption position, the cookie-law window’s position class, title, text, button labels, link, link target, opacity and colours, the testimonials title and description, every social link address (13 networks and 5 custom slots) and the custom icon classes.
        • phHexColor() (127) for the 75 colour settings color1–color77 in the inline colour stylesheet. Anything that is not a hex colour falls back to #000000.
        • phCssDim() (5) for the header height (topheight) wherever it is written as a CSS length.
      • The Site Name and Slogan text (H1Title / H2Title) is escaped when it is printed as text.
      • The template folder’s .htaccess refuses requests for backup copies of template files (see Added).

      Quickstart Installer

      The Quickstart (serenity-quickstart-J5.4.6-16.06.2026.zip) is a complete Joomla 5.4.6 site with VirtueMart 4.6.8 and Serenity installed as the active template, with the demo content.

      • It installs through Joomla’s standard web installer, replacing the previous Akeeba Backup archive (.jpa).
      • Bundled extensions: Akeeba Backup 10.3.4, Weblinks 5.1.0 and the Search package 4.0.0.
      • Only the templates the site uses are included: cassiopeia, serenity and system for the site, atum and vmadmin for the administrator. VirtueMart’s demo templates horme_3, vmbeez3 and vmbasic are not installed.
      • Two outdated extensions are not installed: VirtueMart’s deprecated PayPal payment plugin (vmpayment/paypal; PayPal Checkout stays) and Akeeba’s FOF 3 library (file_fof30), with its update site.
      • Mega menu demo: Select a menu for Mega Menu (selectmegamenu) now points at the site’s topmenu. It pointed at a menu called megamenu that does not exist, so the mega menu had no items. Categories opens a four-column panel (For Man, For Woman, a Shoes promotion and an Accessories list, in menu-position-1-online-store), and Using Joomla! opens a list of its six sub-pages (menu-position-1-using-joomla). Template Features stays a plain link, and its menu alias is template-features instead of the generated 2015-02-18-10-15-06.
      • The contact page no longer points at an image that does not exist (images/template.png).
      • Update sites: the VirtueMart eWay and Realex addresses, which began with a line break and spaces, are repaired; two broken VirtueMart update sites are switched off.
      • A clean starting state: article view counters start at zero (69 articles), 11 of the 15 post-installation messages are hidden, the template overrides are marked as reviewed (no “changes found” warning), and the footer copyright reads 2026.

      Package format

      • Standalone template: pkg_serenity-5.4.0.zip, a Joomla package (pkg_serenity.xml) that installs the serenity template and registers it in the package manager. It declares method="upgrade", so an existing Serenity updates in place, <blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own, and an update server (https://virtuemarttemplates.net/updates/pkg_serenity.xml).
      • Bare template: tpl_serenity.zip.
      • Quickstart bundle: serenity-quickstart-J5.4.6-16.06.2026.zip, a complete Joomla 5.4.6 install with VirtueMart 4.6.8 and Serenity pre-loaded as the active template. It is for new sites only, not an upgrade for an existing store.
      Upgrading and later releases: on a live store, install pkg_serenity-5.4.0.zip through System → Install → Extensions; it updates the template in place and keeps your content, modules and settings. Update Joomla and VirtueMart separately through their own updaters. From this release Serenity uses a plain version number (5.4.0) that Joomla’s updater can compare; the previous download carried 06.08.2025 5.3.0/4.4.4. In this release the slideshow is still camera.js and the template still used Joomla 3 class names such as JURI, JHtml and JModuleHelper (248 calls), which need Joomla’s Behaviour – Backward Compatibility plugin; they were replaced throughout in 5.4.8.1. The background images that had used Backstretch moved to CSS in 5.4.8, and Joomla 5’s Bootstrap 5 stylesheet was first loaded in 5.4.10.1.
    • Release Date: 2025-08-06, Version: 06.08.2025 5.3.0/4.4.4, Notes:
      • Upgraded - Now compatible Joomla 5
      • Upgraded - Now compatible Virtuemart 4.4.4
      • Fixed - Minor bugs
    • Release Date: 2024-11-29, Version: 29.11.2024 5.1.2/4.2.12, Notes:
      • Fixed - Minor bugs with cart
    • Release Date: 2024-08-08, Version: 08/08/2024 5.1.2/4.2.12, Notes:
      • Upgraded - Now compatible Joomla 5
      • Upgraded - Now compatible VirtueMart 4.2.12
      • Fixed - Minor bugs
    • Release Date: 2024-06-21, Version: 21/06/2024 4.4.5/4.2.0, Notes:
      • Fixed - Tab Bug
    • Release Date: 2024-06-13, Version: 13/06/2024 4.4.5/4.2.0, Notes:
      • Fixed - Minor Bugs
    • Release Date: 2024-02-06, Version: 06/02/2024 4.2.0, Notes:
      • Fixed - Minor Bugs
    • Release Date: 2023-06-30, Version: 26.06.2023 4.3.0/4.0.13, Notes:
      • Fixed - VirtueMart Products Module issue
      • Fixed - Double ReCaptcha on VirtueMart Registration page
      • Fixed - Template toggle button not displaying
    • Release Date: 2023-06-23, Version: 16.06.2023 4.3.0/4.0.13, Notes:
      • Fixed - Menu Params error for adding in image on menu
    • Release Date: 2023-05-20, Version: 20.05.2023 4.3.0/4.0.12, Notes:
      • Fixed - Template updated to be compatible with Joomla 4.3
    • Release Date: 2022-09-09, Version: 09.09.2022 3.10.11/4.0.6, Notes:
      • Fixed - Joomla 3.10.11
      • Fixed - Template updated for PHP 8.0