Serenity Virtuemart Template Changelog
- Change Log:
July 22, 2026
Version 5.4.0.3
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.
July 16, 2026Version 5.4.0.2
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 a500 - behavior::formvalidation not founderror 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-nativebehavior.formvalidator.Found during the follow-up on the 2026-07-15 report — thank you again, Zoltán!
July 15, 2026Version 5.4.0.1
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. Theedit_address.phptemplate override — and its Bootstrap-3 layout variant — now guard the optional user-fields block with!empty()instead ofcount(), 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!
June 16, 2026Version 5.4.0
Compatible with: Joomla 5.4.6 · VirtueMart 4.6.8 · PHP 8.x (verified on PHP 8.3.31) · Bootstrap 5.3.8First Joomla 5 native release of Serenity. The template has been rebuilt from the ground up for Joomla 5.x + VirtueMart 4.x + PHP 8.x + Bootstrap 5.3.8, with the Bootstrap 2 / jQuery 1.x dependencies that defined the earlier 5.x-era codebase retired in favour of a bridge-CSS aliasing layer that preserves backwards compatibility for legacy module content while the underlying rendering stack is fully modern.Added
Joomla 5 native admin form rendering
- 56 template-option toggles across
templateDetails.xmlconverted from the legacyclass="switch" type="checkbox" value="true"form to the J5-nativetype="radio" layout="joomla.form.field.radio.switcher" class="switcher"form with explicit<option>JNO</option>/<option>JYES</option>children. The Yes/No pill switcher now renders correctly across slideshow controls, font settings, EU cookie law, drop-down menu, mega menu, site-name flags, and the 5 custom-social-icon slots. templateDetails.xmlrewritten to the J5 manifest schema withtype="template",client="site",method="upgrade"so existing customers can update in place without uninstall-first.
Bootstrap 5.3.8 native rendering via bridge layer
- Template now renders directly against J5’s bundled
/media/vendor/bootstrap/css/bootstrap.min.css— no separate Bootstrap copy required. - New
css/bs2-bs5-bridge.cssaliasing layer (~500 lines, ~16 KB) loaded last in the head so it wins the cascade. The bridge aliases legacy BS2 grid classes (.row-fluid,.spanN,.offsetN,.pull-left/.pull-right,.visible-/.hidden-phone/tablet/desktop) so that custom-HTML module content stored injos_modules.content— which is data, not code, and therefore not rewritten by any template upgrade — continues to render side-by-side instead of collapsing to stacked block elements. - Bridge layer also carries defensive image aspect-ratio rules, the megamenu hover-delay fix, sticky-header background, testimonials-section min-height reset, and partners carousel spacing — all template-side fixes that would otherwise have lived scattered across the template’s own CSS files.
Universal image aspect-ratio handling
- New
img[width][height]universal CSS rule defensively caps every image atmax-width:100%; height:auto, with exceptions foricon,socicon,emoji, andseparatorclasses that need exact pixel sizing. - Container safety-net selectors cover every VirtueMart marketplace pattern:
.main-image,.vm-additional-images,.vmproduct,.productdetails-view,.category-view,.featured-view,.latest-view,.topten-view,.recent-view,.related-products-view,.browse-view,.search-result-products, plus.com-content-articleand.article-contentfor editorial pages. - Resolves the tall-narrow image stretching that affected the cart, related-products, category view, single product detail hero, and contact page when VirtueMart emitted its
_585x585.jpgresized assets with literalwidth="585" height="585"attributes under Bootstrap 5 flex parents.
Modern social-network icon set
- Font Awesome 6.5.2 social icons replacing the legacy 2014-era set. Facebook, X (the Twitter rebrand), Instagram, YouTube, LinkedIn ship as the active set.
- Legacy services (Google+, StumbleUpon, Digg, Blogger) removed from the template options panel and the rendered output.
- 5 custom-social-icon slots retained for site builders who want to add their own beyond the core 5.
Megamenu demonstration patterns
- Categories hub ships with a 4-column curated megamenu (For Man / For Woman / Shoes promo / Accessories icon list) demonstrating the editorial showcase pattern customers can adopt for their own e-commerce category hubs.
- Using Joomla! hub ships with an organic child-menu rendering its 6 real menu children (Using Extensions, Parameters, Getting Help, Getting Started, The Joomla! Project, The Joomla! Community) demonstrating the documentation-hub pattern.
- Both patterns work with the same
menu-position-N-<alias>architecture, so customers can mix and match per hub.
Changed
J5 + VirtueMart 4.6.8 compatibility
- Joomla CMS bumped from 5.1.2 to 5.4.6.
- VirtueMart bumped from 4.2.12 to 4.6.8 (istraxx channel).
- PHP supported range: 8.0–8.3 (verified end-to-end on 8.3.31).
- Bootstrap 2.3.2 → 5.3.8 (J5 bundled).
- Template version convention updated from the legacy
DD.MM.YYYY <jver>/<vmver>form to semver5.4.0, aligning with the VMT post-Avant catalogue.
Custom megamenu render loop
- Replaced legacy
$menuitem->paramsdirect property access (which throws "Cannot access protected property" under J5 because\Joomla\CMS\Menu\MenuItem::$paramsis nowprotected) with the public$menuitem->getParams()accessor that returns the sameRegistryobject. - Added a
level == 1filter to the megamenu loop because$menu->getItems('menutype', $type)now returns every menu item at every level — flat list of 88 items. Pre-J5 versions returned only level-1 items. Without the filter, the entire menu tree (categories, sub-categories, individual articles) rendered as flat siblings across the top bar. - Corrected the
selectmegamenutemplate param to point at the actual published menutype (topmenu) instead of the stale legacy value (megamenu) which referred to a non-existent menutype and silently emitted zero menu items.
Megamenu hover-gap fix
- Pure-CSS
transition: top 0s linear 500mson the dropdown’s hidden state — the dropdown stays attop: 90pxfor 500 ms after hover-out before reverting totop: -999em. This mirrors Superfish’s 500 ms hover delay (which the legacy template used for the non-mega dropdown path but never wired into the megamenu). - Resolves the long-standing UX bug where the mouse traversing the visual gap between the menu bar and the dropdown would lose
:hoverand the dropdown would vanish mid-traversal.
Layout & styling refinements
- Sticky
#top-handlernow ships with a white background and subtle shadow so the menu bar stays readable on scroll instead of fading into whatever’s behind it. - Testimonials section
.container { min-height: 460px }hard-coded value removed in favour ofmin-height: auto— resolves the over-tall gray box that the BS2-era styling produced. - Partners / manufacturers carousel padding-bottom and pagination-dot spacing tightened to match the canonical demo proportions.
- Cart product images (
span.cart-images img) now defensively constrained towidth:45px; height:auto; max-height:60px; object-fit:contain— resolves the tall-narrow stretching under BS5 flex contexts. - Breadcrumbs cleaned up: bullet markers removed, separator spacing tightened.
- Auto-generated menu-item alias
2015-02-18-10-15-06on Template Features renamed totemplate-features— cleaner admin display, SEO-safe if the item is ever wired to a real page.
Fixed
- Stale
jos_contact_details.imagereference pointing atimages/template.png(a file that never existed in any donor history) replaced with a real image, eliminating the broken-image render on the contact page. - Donor
_update_sites.locationURLs cleaned of leading-line-feed + indentation corruption that libcurl rejected as "URL contains whitespace" — this was the source of the red ❌ badge on the cpanel admin dashboard immediately after install. - Joomla 5 admin AJAX badge endpoints (
com_postinstall/getMenuBadgeData,com_installer/database.getMenuBadgeData, etc.) verified clean through the server-side WAF and rate-limiter so the cpanel ships with all-green badges.
Removed
Legacy frameworks
- Bootstrap 2.3.2 vendored CSS — J5’s bundled Bootstrap 5.3.8 covers everything, with the bridge CSS aliasing legacy BS2 class names in customer-authored module content.
- jQuery 3 compat shim for legacy plugins — the modernized template runs on J5’s bundled jQuery without the shim.
Dead JavaScript
- Backstretch jQuery plugin (used historically for slideshow background images) — replaced with CSS
background-size: cover. - Dropkick custom
<select>styling — replaced with native styled selects (light border, focus ring, SVG dropdown arrow) carried in the bridge CSS. - Superfish / supersubs JS dependency on the megamenu — pure-CSS transition-delay now handles the hover timing without any JS.
Retired social services
- Google+ (defunct since 2019)
- StumbleUpon (defunct since 2018)
- Digg (no longer relevant in current social sharing)
- Blogger (icon dropped from the active set; site builders can re-add via custom-social-icon slot)
Donor cruft
templates/horme_3/andtemplates/vmbeez3/— stale legacy donor templates left over from the 2016 origin point.templates/serenity/html/old-overrides/— superseded override stubs (com_virtuemart/cart/default_*.php,mod_virtuemart_cart/default.php) that would otherwise have triggered "overrides exist for this layout" warnings in the customer’s Override Manager.- Deprecated extensions: PayPal vmpayment plugin (manifest literally says "deprecated, please use PayPal Checkout" — superseded by
vmpayment_paypal_checkout) and file_fof30 (Akeeba FOF 3.x library, superseded by FOF 4 in 2021; Akeeba Backup 10.x doesn’t need it).
Security
- WAF false-positive resolved at server level: LiquidWeb ModSecurity rules
5000223and5000224(which were blocking the Joomla 5 admin AJAX badge endpoints with 403/411 responses) are now excluded forcom_postinstallandcom_installertask=getMenuBadgeData requests in the/etc/apache2/conf.d/modsec2.zz-cybersalt-joomla-ajax-fix.confserver-level override. - Apache
mod_evasiveDOSPageCountraised from4to30to accommodate the J5 cpanel’s 10–15 badge AJAX calls per second — the previous threshold was tripping false-positives and surfacing red badges on every install.
Quickstart improvements
- Article hits counter reset to zero across all bundled content (68 articles, 1305 accumulated hits cleared). A fresh customer install no longer ships with pre-loaded view counts on the demo articles. Automated in the closeout pipeline as Phase 5j so future templates ship clean by default.
- Post-install messages cleaned up — no spurious red badges on the admin cpanel after install.
- Update Sites scrubbed of stale and broken vendor entries (whitespace-corrupted VirtueMart URLs, istraxx’s
${PHING.NAME}/${PHING.VERSION}unreplaced build-tool placeholders that polluted the_updatestable). 4 broken sites disabled, 1 corrupted URL repaired. - Template Overrides Checker pre-checked — the admin opens without "needs review" warnings on shipped overrides.
- Discover state corrected on bundled extensions so the cpanel Discover panel doesn’t flag the install as having undiscovered components.
- Deprecated extensions removed from the bundled fileset: PayPal vmpayment plugin and FOF30 library.
- Browser-cache walkaround guidance: customers performing the test install should open the admin URL in a new incognito / private window for the first walkaround — existing browser tabs accumulate cached HTML during admin clicks and can return 404/403 from stale CSRF tokens that have nothing to do with the install itself.
Package format
pkg_serenity-5.4.0.zip— customer-facing package wrapper. Drop into Joomla’s Install → Extensions → Upload Package File. Wraps the bare template plus any related plugins/modules into a single install action.tpl_serenity.zip— bare template (flat-root), useful for J3/J4 migration paths or third-party developer integration.serenity-quickstart-J5.4.6-16.06.2026.zip— full-site quickstart bundle (~67 MB) with Joomla 5.4.6 core + VirtueMart 4.6.8 + Serenity template + bundled demo content. Unzip into a fresh hosting account, run the Joomla installer, and the demo site comes up matching the canonical demo at demo.virtuemarttemplates.net/Joomla5/Serenity/.
Upgrade path: Customers already running Serenity on a live VirtueMart store should install the standalone template packagepkg_serenity-5.4.0.zipvia Joomla → System → Install → Extensions → Upload Package File. The package ships withmethod="upgrade", so the template updates in place without affecting your existing content, modules, or settings. You’ll also want to update Joomla to 5.4.6 and VirtueMart to 4.6.8 separately (via their normal updaters) to take full advantage of this release. The quickstart bundle (serenity-quickstart-J5.4.6-16.06.2026.zip) is for fresh installs only — it installs the full demo site and is not an upgrade path for existing live stores.August 6, 2025Version 06.08.2025 5.3.0/4.4.4
- Upgraded - Now compatible Joomla 5
- Upgraded - Now compatible Virtuemart 4.4.4
- Fixed - Minor bugs
November 29, 2024Version 29.11.2024 5.1.2/4.2.12
- Fixed - Minor bugs with cart
August 8, 2024Version 08/08/2024 5.1.2/4.2.12
- Upgraded - Now compatible Joomla 5
- Upgraded - Now compatible VirtueMart 4.2.12
- Fixed - Minor bugs
June 21, 2024Version 21/06/2024 4.4.5/4.2.0
- Fixed - Tab Bug
June 13, 2024Version 13/06/2024 4.4.5/4.2.0
- Fixed - Minor Bugs
February 6, 2024Version 06/02/2024 4.2.0
- Fixed - Minor Bugs
June 30, 2023Version 26.06.2023 4.3.0/4.0.13
- Fixed - VirtueMart Products Module issue
- Fixed - Double ReCaptcha on VirtueMart Registration page
- Fixed - Template toggle button not displaying
June 23, 2023Version 16.06.2023 4.3.0/4.0.13
- Fixed - Menu Params error for adding in image on menu
May 20, 2023Version 20.05.2023 4.3.0/4.0.12
- Fixed - Template updated to be compatible with Joomla 4.3
September 9, 2022Version 09.09.2022 3.10.11/4.0.6
- Fixed - Joomla 3.10.11
- Fixed - Template updated for PHP 8.0
