First Joomla 5 native release. Nevo has been rebuilt for Joomla 5.4.10 + VirtueMart 4.8.4 + PHP 8.3 + Bootstrap 5. The Bootstrap 2 framework, the Joomla 3 class aliases and the jQuery plugin stack the previous release depended on are gone. Measured against the previous download (06.08.2025, Joomla 5.3.0 / VirtueMart 4.4.4): 33 files removed, 12 added and 68 modified, with 164 Joomla 3 static calls reduced to 0 across 39 files, 266 output-escaping and colour-validation helper calls added, and the js/ folder down from 29 files to 14.
Added
Template Options — colour pickers and a Favicon tool
All 102 colour settings now use a real colour picker with a live swatch. On Joomla 5 every one of them rendered as an empty text box, so changing a colour meant knowing its hex code and typing it correctly. The donor bootstrapped the Joomla 3-era jscolor library from a <script> buried in a settings field's label attribute, which never ran under Joomla 5; it has been retired for a self-contained picker that ships with the template, so nothing is fetched from an outside site.
New Favicon tab. Upload or pick an image and the template crops it and generates the icon set for you, rather than leaving you to produce an .ico by hand. With thanks to Gianluca, whose favicon question inspired this tool.
The Options screen's own icons load again. They were fetched from MaxCDN, which has shut down, so they failed on every visit to that screen. They now come from the same current icon set as the front end.
A JavaScript error on the Options screen is gone. Joomla's own colour field used to pull in jQuery as a side effect; with that field replaced, older admin scripts that quietly depended on it began failing with jQuery is not defined. The template now declares that dependency itself instead of relying on a coincidence.
The template's Details panel now follows whichever admin theme you have selected, instead of a hardcoded light treatment — grey text with a white shadow — that was legible on Joomla's dark admin only by accident.
88 settings that were still Joomla 3-era checkboxes are now native Joomla 5 Yes/No switches — there are none of the old style left.
Joomla 5.4's "What's New" tour no longer takes over the first admin visit. On a fresh install it was set to auto-start and to open at the dashboard, so every administrator link went to the dashboard instead of where you clicked. The tour is still there and still works — it just no longer starts by itself.
Modern social networks
Five current networks have been added — Threads, Bluesky, Mastodon, TikTok and Discord — and four dead ones retired: Google+, StumbleUpon, Digg and Blogger. Every link carries target="_blank" and rel="noopener", and the icons are drawn from the current icon set rather than the old image sprite.
Convenience
Show/hide control on every password field. Login, registration and account forms now have an eye icon to reveal what you have typed.
A Checkout button in the cart drop-down. Opening the cart from the header previously offered only a "Show Cart" text link, with no visible way to check out. It now ends with a Checkout button, which appears once the cart holds products.
The site name / logo links to the home page by default in a fresh standalone install, and the slideshow is on and advances by itself. Both previously shipped off.
Changed
Joomla 3 → Joomla 5 API migration
164 Joomla 3 static calls removed, template-wide — now 0.JRoute (64), JFactory (31), JHtml (30), JText (26), JModuleHelper (8), JLanguage (4) and JError (1) are gone in favour of the namespaced Joomla 4+ API, across index.php, component.php, error.php and the html/ overrides — 39 files in all. These aliases exist only while the Behaviour - Backward Compatibility plugin is enabled.
Error pages work again.error.php used the removed aliases, and when error.php fatals Joomla cannot render any error page — every 404 was served as a 500, with the real error never shown.
The legacy form validator is gone. The VirtueMart login override called Joomla 3's behavior.formvalidation, removed in Joomla 5, which fataled with behavior::formvalidation not found. It now uses the Joomla 5 behavior.formvalidator. With thanks to Zoltán Szász, whose report led to this fix across our templates.
Bootstrap 2 → Bootstrap 5
The bundled Bootstrap 2 framework has been removed — seven stylesheets under css/bootstrap/, the bootstrap.zip archive shipped beside them and js/bootstrap.min.js. The template now builds on the Bootstrap 5 that Joomla 5 already loads, with a compatibility layer that keeps the original design intact.
The print view, VirtueMart's pop-ups and the error page now use the same Bootstrap 5 foundation as the rest of the template. Every improvement made to this template had only ever been applied to the main page layout; these three views still carried the original pre-Joomla-5 stylesheet stack, in some cases loading files that no longer exist. They also now load Bootstrap before the template's own styles, so they use the template's colours rather than Bootstrap blue.
Stylesheets
Style changes now reach visitors immediately after an update. The template's stylesheets were served with no version marker, so browsers kept showing the previously cached copy until the visitor cleared their cache by hand. Every local stylesheet and script is now stamped with its own file date.
Stylesheet links pointing at files no longer in the template have been removed. Each returned the site's "page not found" response on every single page load, wasting a request and logging a browser warning each time.
The home-page slideshow engine is unchanged in this release. Nevo's slideshow has been kept as it is, so your existing slide settings, transitions and timings continue to behave exactly as before. The slideshow items below are fixes to its controls, not a change of engine.
Fixed
The home-page slideshow
The stray pause control has been removed — the button and the circle it sat in. It overlaid the first slide and served no purpose in the shipped design.
On phones the previous / next arrows no longer sit over the slide caption. They were pinned halfway down the slide, which put them squarely across the caption text; they now sit on the pagination row, clear of both the caption and the panel below.
The header and menus
The header could render as a white band with white text on it. The header sits fixed over a dark hero, and a shared rule painted it solid white from page load rather than only once you scroll — so the logo and menu text went white-on-white. It now keys off actual scroll state, and this template's own dark scrolled header wins as it should.
Drop-down submenus were too narrow and wrapped their longest entry onto a second line.
The mega-menu panel opened in the wrong place and closed if you walked down into it. It opened ten pixels too high, and the gap between the menu bar and the panel dropped the hover on the way down. Both are fixed, and the panel's columns have their proper gutters again instead of butting together.
Parent-menu arrows and the open-parent highlight work again. They were keyed to markers the old menu script used to add; the template now adds them itself.
Footer menu links were indented by about 32px against the rest of the footer.
Shop and product pages
The cart's address-edit page no longer fatals on PHP 8. The "Bill To / Ship To" step in guest checkout called a method that no longer exists, so editing an address during checkout produced a blank page.
Product rows could collapse to a few pixels tall, letting the content below overlap the product tiles.
At tablet width product images were being enlarged beyond their real size, from 400px to 644px, and looked soft. They now render at their natural width.
The product page's print link sat pinned over the menu bar instead of beside the product title.
"Ask a question" opens at its full size and the form fits it — labels on one line, fields inside the pop-up, and the Send button no longer overlapping the character count.
The cart
The cart drop-down is no longer far wider than its contents. The rows inside it were hard-coded to a fixed width inherited from the donor, so in the wider panel they left a broad empty band down the right-hand side. The rows now fill the panel at every width, and the panel itself has been brought back to a sensible size.
The cart panel no longer cuts off its own Checkout button — it was a fixed height; it now fits its contents.
The "added to your cart" pop-up is sized to read properly, with its two links as proper buttons, and fits small phones. It used to be either narrower than its own text or wider than the screen.
Phones and tablets
The phone header has been rebuilt. The menu button rendered two pixels wide, the row of header buttons sat off the left edge of the screen, the secondary menu and account controls were off-screen entirely, and the page could be panned sideways. The header is now in the normal page flow at full width, with the menu button and every chip on one line and no sideways pan.
Scroll-to-top works on phones again. The control existed and worked on desktop, but a phone-width rule hid it, so on the screens where a long page is hardest to scroll back up there was no way to do it.
Opening a phone panel no longer dims the logo and menu button at the top of the page.
On phones, page titles and sections now share one consistent side margin. Titles sat up to 52px in from the edge where three paddings stacked, while several sections — the product group heading, text modules, colour bands and testimonials — ran right to the screen edge.
Phone tabs show their titles instead of "0 1 2".
At tablet width the account and register icons wrapped onto a second row.
The mobile header no longer reserves an empty band above the page, the search panel no longer shows a duplicate submit button, and the cart is a proper control in the mobile toolbar.
Maintenance fixes carried across our templates
The search icon rendered as a stray character and cost a failed request on every page. The stylesheet loaded an icon font from a Joomla 3 folder that no longer exists in Joomla 4 and later. The font is no longer requested and the search icon is now a self-contained image.
Pagination arrows showed as empty squares. Joomla 4 and later emit different icon names, which the template's icon styles did not map.
Tall featured articles were clipped to their title in the featured-articles view.
The search button was detached from its input box by a global button margin.
With thanks to Michael Mullan, whose Expression bug report led to this maintenance pass across our templates.
Other
Two layout tests that could never be true have been repaired. The template asked Joomla whether two module positions were both in use by passing them as a single phrase; Joomla 4 and later read that as one position name, which never matches, so the layouts they control could never be chosen.
An empty content column on the home page collapsed to a third of its proper height.
The style 4 preset's slanted red ribbon tops are back. An automated clean-up pass matched the ribbon's style name by accident and removed it from the stylesheet and from all six presets.
Removed
The jQuery plugin stack is gone — jQuery 1.8.1 itself, together with nicescroll, slick, dropkick (both files), selectric, equalHeights, backstretch, flexibility, imgSizer, easypaginate, selectnav, superfish, supersubs, modernizr, selectivizr, jQuery Mobile, stellar and the noConflict shim. 19 scripts in all, none of which anything in the template still referenced.
The Internet Explorer stylesheetsie.css and ie6.css, the IE conditional loads that pulled them in, and the unused html/modules.php and utils/admin-js.js.
An internal development report file that was riding inside the shipped template tree.
A duplicate slideshow loading image that was never requested.
Security
Every template setting printed into the page is now escaped for where it lands — HTML text, attribute, CSS value, CSS url() and JavaScript string. Before this release a setting holding a quote or a fragment of markup could break out of the page. 266 escaping and colour-validation helper calls do that work, where the previous release had essentially none.
The two settings that are meant to contain markup, the two header titles, are filtered through Joomla's own HTML filter instead, which still strips scripts, styles, frames and inline event handlers.
Every social link carries rel="noopener".
Quickstart
Two third-party VirtueMart demo templates have been removed from the quickstart — they were not part of this product, served no purpose in a customer install, and carried broken error pages of their own, so activating either would have produced a 500 instead of an error page.
Two demo menu links that pointed nowhere — "Special Offers" and "Contact Us" — now open the shop front and the contact page.
"Ask a question" shows guests the question form, not only a login form.
Article hit counters start at zero, the copyright year is current, and the administrator's post-install messages are the five Joomla intros rather than sixteen.
Package
Built against Joomla 5.4.10 and VirtueMart 4.8.4, PHP 8.3.
Ships a proper Joomla package manifest, so the template installs and updates as a package and is offered updates through Joomla's own Update Manager.
php -l clean across all 75 PHP files; xmllint clean on the manifest.