Echo Virtuemart Template Changelog
- Details
- Category: Template Change Log
- Change Log:
October 16, 2026
Version 5.4.10.2
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.
Articles. The Previous and Next buttons sit at opposite ends of the article.
October 16, 2026Version 5.4.10.1
Phones. New phone header: the logo with a menu button, and a row of icons for the menu, your account, registration, search, sharing and the cart. The cart icon shows how many items are in the cart.
Phones. The menu opens again, and menus, the cart and the login close when you tap outside them.
Phones. Account pages (login, registration, account details) show the form straight away, with only the store menu above it.
Desktop. The cart icon shows the number of items in the cart.
Fixed. The account details page no longer shows an error for shop owners.
October 15, 2026Version 5.4.10
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.
Phones. Page text no longer touches the screen edge.
Category pages. The category description lines up with the products (no extra space at the sides).
Quickstart. A fresh install no longer lists stale update notices.
October 13, 2026Version 5.4.9.2
Breadcrumbs. Fixed a template bug that could give the breadcrumb trail the wrong CSS class.
Quickstart. The quickstart includes MCP For J 2.8.3.
October 2, 2026Version 5.4.9.1
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.
Quickstart. Removed leftover files from the quickstart's top folder.
September 30, 2026Version 5.4.9
Joomla 5.4.9. Updated for Joomla 5.4.9, a security and bug-fix release. The quickstart now installs Joomla 5.4.9.
September 30, 2026Version 5.4.8.3
Fix for the previous update. After the security update of 28 September, pages the template shows in its "component" view stopped with a server error ("Call to undefined function phEsc()"). That view is used for print pages, pop-up windows and the VirtueMart cart and checkout steps. The helper those pages need is now included, and they work again. There are no other changes. Recommended for every site that installed the previous version.
September 28, 2026Version 5.4.8.2
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.
September 3, 2026Version 5.4.8.1
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, and will not work at all on Joomla 6. 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.
- Removed two unused third-party demo templates from the Quick Start (
horme_3andvmbeez3). They were VirtueMart demo templates that served no purpose in your site, and both had broken error pages of their own. Your site is unaffected — neither was in use.
Both the template package and the Quick Start have been rebuilt for this release. Download the latest from your member area.
August 18, 2026Version 5.4.8
Joomla 5.4.8 and the VirtueMart 4.8.0 security update.
Important — please update VirtueMart
- VirtueMart 4.8.0 is a security release from the VirtueMart team (published 12 August 2026, revision 11339, “Eagle owl”). The Quick Start in this release installs it, and the demo this template is built from has been updated to it. If you already run an Echo store, update VirtueMart yourself — installing this template package does not update your store component. Get it from virtuemart.net or your Joomla Extensions Manager.
Changed
- Version numbering has changed. From this release the template version matches the Joomla version it is built and tested against, so Echo 5.4.8 is the build for Joomla 5.4.8. The previous number for this template was 5.4.0.4. Nothing about how you install or update the template changes, and Joomla still treats 5.4.8 as newer than 5.4.0.4.
- The Quick Start now installs Joomla 5.4.8. The previous Quick Start bundled Joomla 5.4.7. Starting a new site from it now gives you the current Joomla release without an immediate update afterwards.
Fixed
- The version shown on the template's own options page was two releases out of date. The Template Options screen read “5.4.0.3 — 2026-07-22” while the template was actually 5.4.0.4. The badge, the manifest and the installer record are now all read from the same release and all say 5.4.8.
- An internal engineering report was being packaged.
security-sweep-3f-report.md, a note from our own modernization work, was inside every download even though nothing referenced it and the template's own file manifest never listed it. It has been removed from the package and the Quick Start. - The Quick Start registered a template style that pointed at nothing. A leftover “Aeon Template” style row had no matching template installed, so after a fresh Quick Start install it appeared in System → Site Template Styles with nothing behind it. It has been removed. No menu item referenced it, so nothing else changes.
No template file changed between 5.4.0.4 and 5.4.8 — this release is the current Joomla and VirtueMart, the packaging fixes above, and the new version number. No template-parameter or database changes; installs as a straight overwrite.
August 11, 2026Version 5.4.0.4
Maintenance release — one fix, found on a live customer site.
- Fixed: site-name and slogan images disappeared on deeper pages. If you use an image for your site name or slogan (Template Options → Basic), it displayed correctly on the home page but was replaced by its alt text everywhere else — category pages, product pages, paginated lists. The image address was written into the page without your site's base address, so the browser looked for the image relative to the page you were on rather than the root of your site. On a deeper page that location does not exist, and Joomla answers with a page of HTML where an image was expected — which the browser cannot draw, so it falls back to the alt text. Image addresses are now resolved against your site's base address. Complete URLs, addresses that already start with a slash, and Joomla's responsive-image information are all passed through untouched.
- Fixed: the Background Image option was hardened the same way — it could previously double up the base address if you entered a complete URL.
July 22, 2026Version 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 Echo 5.4.0.Thank you, Zoltán, for taking the time to report this!
May 31, 2026Version 5.4.0
First Joomla 5 native release. Echo has been rebuilt from the ground up for Joomla 5.4.6 + VirtueMart 4.6.8 Pro + PHP 8.3 + Bootstrap 5.3.8 + vanilla JavaScript, with no carry-over of the Bootstrap 2 / jQuery 1.x dependencies that defined the earlier 3.x-era codebase. This is the first Echo release that ships with no template-side jQuery, no BS2 markup in any rendered output, and no remnants of the deprecated Joomla 3/media/jui/library.Added
Joomla 5 native API
- Full Joomla 5 namespace compliance across all template files, overrides, and helper utilities — every
Joomla\CMS\*class accessed through its namespaced form. templateDetails.xmlrewritten to the J5 manifest schema withmethod="upgrade"declared so existing customers can update in place without uninstall-first.- VirtueMart 4 helper integration refactored end-to-end for J5 namespace resolution.
Bootstrap 5.3.8 native rendering
- Template now renders directly against J5's bundled
/media/vendor/bootstrap/css/bootstrap.min.css— no separate Bootstrap copy, no compatibility shim CSS in the final shipped tree. - Phase 3b legacy-Bootstrap purge (see Removed section below) — all BS2-era artifacts removed from the template tree.
- Phase 3d full CSS rewrite migrated 87+ grid selectors (
.spanNto.col-md-N,.row-fluidto.row) via word-boundary-protected regex. echo-fixups.cssbridge layer preserves backward compatibility for any third-party content posted by site editors using legacy BS2 markup.
Modern slideshow — Swiper
- Custom legacy
camera.jsplugin replaced with Swiper, J5's bundled slideshow library. - Per-slide CTA button styling, caption positioning, and overlay darkness now controllable from the module-edit UI rather than requiring code edits.
Vanilla JavaScript menu
- New
js/menu-vanilla.js— a self-contained IIFE replacement for the legacysuperfish.js+supersubs.js+ inline jQuery menu handlers. - WeakMap-backed 500 ms mouse-out delay preserves the original menu-hover feel without any jQuery dependency.
Modern social-network support
- Social-media set parity — added Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Discord.
- Removed dead networks: Google+, StumbleUpon, Digg, Blogger, MySpace.
- X (the Twitter rebrand) replaces the legacy Twitter icon.
Security helpers (XSS hardening)
- New escape and validation helpers added to
index.php:phEsc()— HTML attribute escaping forhref,src,alt,title, and Swiper caption output.phHexColor()— color parameter validation with fallback to#000000on bad input.phCssDim()— dimension parameter validation acceptingpx / em / rem / % / vh / vw / pt / ex / ch / cm / mm / in.
- 124
phEsc()/phHexColor()/phCssDim()wraps applied acrossindex.phptemplate parameter echoes. strip_tags()null-safety — H1Title and H2Title parameter echoes cast to string beforestrip_tags()(PHP 8.1+ deprecation fix).- Active
.htaccessat the template root replacing the historicalhtaccess.txtplaceholder, with a<FilesMatch>403 rule for backup-extension patterns.
PHP 8.x dispatcher safety
$typefallback added tomod_loginoverride — Joomla 5 splitmod_logininto separate login / logout templates and the dispatcher no longer passes$type. Fallback silences the Undefined variable $type warning while preserving the legacy logout branch.$moduleclass_sfxfallback added tomod_breadcrumbsoverride.
Changed
J3 to J5 API migration
- Every deprecated
J*static class call migrated to its namespaced equivalent:JFactory,JText,JHtml,JUri,JRoute,JComponentHelper, etc.
Modernization swaps (Phase 5)
- Phase 5b: jQuery.dropkick currency selector replaced with native
<select>and CSS-only chrome. - Phase 5c: Superfish menu replaced with vanilla
menu-vanilla.js(no jQuery dependency). - Phase 5d: jQuery.backstretch replaced with CSS
background-size: cover. - Phase 5e: Removed jQuery 3 compatibility shim (BS5 bundles its own modern jQuery).
- Camera slideshow hand-ported to Swiper.
Quickstart database hardening (Phase 5)
- Phase 5f: Update Sites Manager cache flushed (58 stale entries cleared); 41 enabled / 10 disabled update sites surveyed.
- Phase 5f.2: Pending extension updates applied. Akeeba Backup Core upgraded 9.9.5 → 10.3.3, Weblinks Extension Package upgraded 4.3.1 → 5.1.0 via Joomla CLI
extension:install --url=on the donor before quickstart export. Customers installing the 5.4.0 quickstart get current third-party extensions out of the box rather than 5–10 pending updates as their first action. Now a standard pre-export step for every VMT template modernization. - Phase 5g.1: Global check-in across 22 J5 tables (1 stale check-out cleared).
- Phase 5g.2: 11 condition-based postinstall messages hidden (5 customer-actionable kept);
robots.txtsynced torobots.txt.dist; all 11 user groups set to text-filterNH(No HTML, XSS hardening). - Phase 5j: Article hits counter reset. All
#__content.hitsvalues reset to 0 in the donor database before quickstart export. Rationale: the hits counter accumulates during development on the donor site and ships as preloaded view-counts inside the customer's freshly-installed quickstart, which is misleading at best and indistinguishable from third-party tampering at worst. Resetting the counter is now a standard pre-export step for every VMT template modernization. - Phase 5i: Footer year bumped to 2026 and centered.
- Phase 5k: 100 template overrides marked as checked-in.
Removed
Legacy Bootstrap purge (Phase 3b)
- Deleted top-level
css/bootstrap.css(119 KB) — BS2-era full stylesheet, no longer referenced byindex.php. - Deleted
css/bootstrap/subdirectory (7 BS2 split-files, ~295 KB). - Deleted
js/bootstrap.min.js(25 KB) — BS2-era jQuery-dependent JS bundle. - Patched
css/print.css— three legacy/media/jui/css/bootstrap*@importlines (which had been 404-ing since the modernization started; the JUI library was removed in Joomla 4) collapsed to a single import of J5's BS 5.3.8 bundle. - Total removed: ~440 KB of legacy Bootstrap 2 artifacts.
Legacy
/media/jui/icon residue purge- Removed IcoMoon
@font-facedeclaration and.editor .icon-*selectors that referenced the deprecated/media/jui/fonts/IcoMoon.*font files (no longer present in Joomla 4+). - Removed
.edit .icon-ok/.icon-cancelrules referencing the deprecated/media/jui/img/glyphicons-halflings-white.pngsprite. - Removed
.icon-calendar/.icon-eyerules referencing broken local-file image refs. - Swapped VirtueMart cart
+/−buttons (.vm2-add_quantity_cart,.vm2-remove_from_cart) from broken local-file image refs to FontAwesome glyphs (\f067plus /\f068minus), using FontAwesome's web font which is loaded by J5 core — zero new asset weight.
Notes- Server PHP version when this release was prepared: PHP 8.3.31.
- Joomla: 5.4.6 (current stable as of 26 May 2026). VirtueMart: 4.6.8 Pro (Revision 11258, March 12 2026). Echo template: 5.4.0 (this release).
- Maxdebug
error_reportingaudit on the Echo Quickstart's default install shows zero PHP warnings, notices, or deprecations originating from Echo template code.
Package format
- Standalone template:
pkg_echo-5.4.0.zip— Joomla package wrapper that installs thetpl_echotemplate extension and registers it under the package manager. - Quickstart bundle: Echo-J5.4.6-Quickstart — complete Joomla 5.4.6 install with VirtueMart 4.6.8 Pro and Echo pre-loaded as the active template.
- Quickstart database hardening — base install + donor REPLACE INTO pattern with leading TRUNCATE of 10 structural tables before donor data loads, eliminating the wizard-install corruption pattern where J5.4+ base-install rows persisted alongside donor rows.
September 26, 2025Version 26.09.2025 5.3.0/4.4.4
- Upgraded - Now compatible Joomla 5.3.0
- 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 15, 2024Version 14.08.2024 5.1.2/4.2.12
- Upgraded - Now compatible Joomla 5
- Upgraded - Now compatible VirtueMart 4.2.12
- Fixed - Minor bugs
January 18, 2024Version 18.01.2024 4.3.4/4.2.0
- Fixed - Minor bugs
November 1, 2023Version 31.10.2023 4.3.4/4.2.0
- Updated - Compatible with PHP 8.2
- Updated - Compatible with Joomla 4.3.4
- Updated - Compatible with VirtueMart 4.2.0
- Fixed - Minor bugs
June 30, 2023Version 26.06.2023 4.3.0/4.0.13
- Fixed - VirtueMart Products Module bug
- Fixed - Double ReCaptcha on VirtueMart Registration page
- Fixed - Template toggle button not displaying
June 27, 2023Version 26.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
