Clarity Changelog
Version 6.2.0.3
Collapsible modules. Modules set to the template's toggleModule or toggleModule2 style did not open or close: the script needed MooTools, which Joomla 4 and later do not load. It is now plain JavaScript, and toggleModule2 still starts collapsed.
Login fields on phones. The username and password fields were smaller than 16px on phones, so an iPhone zoomed the page in when one was tapped and did not zoom back out. Login, registration, profile and password-reset fields are now 16px on phones.
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.
Version 6.2.0.2
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.Version 6.2.0.1
Page language. The page had no opening
<html>tag, so browsers, screen readers and search engines were not told the page's language or text direction. It now declares both from the site's language settings.Version 6.2.0
Joomla 6.2.0. The Quickstart now installs Joomla 6.2.0 (Joomla 6.2.0 release notes), and the template version is now 6.2.0 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. The sidebar no longer shows an empty "Main Menu" heading (its links are in the phone menu).
Quickstart. A fresh install no longer lists stale update notices.
Version 6.1.4.1
Quickstart fix. The Quickstart no longer fails to install on MySQL hosts with a "prepared statement protocol" error. Thanks to Iryna for reporting this. The template itself is unchanged apart from its version number.
Quickstart. Removed leftover files from the quickstart's top folder.
Version 6.1.4
Joomla 6.1.4. The Quickstart now installs Joomla 6.1.4, a security and bug-fix release (Joomla 6.1.4 release notes), and the template version is now 6.1.4 to match. There are no visual changes. Installing the template update does not update Joomla itself; update Joomla from System → Update → Joomla.
Version 6.1.3.6
Fix. After the previous security update, print and email views, popup windows and the VirtueMart checkout step (pages served with
tmpl=component) could return an error page. The template'scomponent.phpnow defines the escaping helper it uses. There are no visual changes. Please update if you installed the previous version.Version 6.1.3.5
Security update. Module, menu and tab titles are now escaped wherever the template writes them into your pages (module headings, title attributes and the mega menu), so a title containing a quote or markup can no longer break out of its place in the page. There are no visual changes. Recommended for all sites.
Version 6.1.3.4
Security update. The site name and slogan are now escaped where the template writes them into image alt text, so a quote character in either can no longer break out of the attribute. No visual changes. Recommended for all sites.
Version 6.1.3.3
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), so a setting value can no longer break out of its context. The error page now escapes its message and title too. There are no visual changes. Recommended for all sites.
Version 6.1.3.2
Fixed a problem where a large logo could fill the whole screen on phones. The stylesheet that keeps this template working with current Joomla was letting the header logo draw at its own full size on small screens instead of scaling it down to fit the space, so a logo wider than the phone screen — common, since logos are usually exported at 1500 pixels or more to stay sharp — pushed the header out and showed visitors a giant close-up of one or two letters instead of the site. Logos now scale down to fit on every screen size, and a logo already small enough to fit is displayed exactly as before. Update the template to pick this up; if you built your site from the Quick Start, a rebuilt one is on your downloads page.
Version 6.1.3.1
Maintenance release.
- Fixed: paginated pages returned a 500 error on PHP 8. Any page with pagination — on a shop template that includes the category listing — could fail with a server error instead of displaying. The cause was a leftover test in the pagination override that is invalid on PHP 8; the dead code has been removed.
Both the template package and the Quick Start have been rebuilt for this release. Download the latest from your member area.
Version 6.1.3
First Joomla 6 native release, and the first release of Clarity from Cybersalt. Clarity has been brought forward from the previous download (31.07.2024 5.1.2, whose manifest also carried a second<version>3.0.1</version>; the last changelog entry was 4.2.8 from April 2023) to Joomla 6.1.3 + PHP 8 + Bootstrap 5. Every Joomla 3 class call has been replaced (51 → 0), so the template no longer needs Joomla’s Behaviour – Backward Compatibility plugin. Clarity keeps its Bootstrap 2 column classes (spanN) and renders on Joomla’s Bootstrap 5 through a compatibility stylesheet, so existing module and article markup keeps its layout. This release adds a phone layout with a menu button and slide-out menu, a 1440 px desktop page, a Swiper slideshow in place of camera.js, Font Awesome 6, current social networks, a colour picker, a favicon tool and Joomla’s own on/off switches. jQuery itself still loads through Joomla’s framework call, butindex.phpno longer contains any jQuery code. Compared with the previous download: 353 → 325 files, 11 added, 39 removed, 13 modified. The template version now matches the Joomla version it ships with.Added
Bootstrap 5 compatibility layer
- New
css/bs2-bs5-bridge.css(7,106 lines, about 358 KB), added to the document head after Joomla’s Bootstrap 5 stylesheet,template.cssand Font Awesome, with a version marker so changes reach browsers straight away. It lays out Clarity’s Bootstrap 2 classes on Bootstrap 5: the.row-fluid/.spanNgrid and offsets,hidden-phone/visible-phone, Bootstrap 2 buttons and form classes, and the modal shell. - The bridge maps about thirty of Joomla’s own
icon-*classes onto Font Awesome 6, among themicon-eye/icon-eye-slash(password show/hide) andicon-angle-left,-right,-double-leftand-double-right(pagination). The original icon set had none of them. - New
js/cs-jq-compat.js, loaded on every page: restores three jQuery 1.x calls that Joomla’s jQuery 3 dropped (.live(),.offset()on the window, and.load(fn)as a load-event shortcut), so older scripts added to a site keep working.
Phone layout
The previous download held a fixed 960 px page (890 px content box) at every screen size. Clarity now has a phone layout up to 767 px, driven by the new
js/cs-mobile.jsand the bridge:- The site name and slogan sit in a bar at the very top, title above slogan, with a 44×44 px menu button at its right edge. The bar is a flat black band that runs to both edges of the screen.
- The menu button opens a slide-out menu built from the site’s own menu, full height. Parent items carry a “+” control that opens their sub-menu in place instead of leaving the page.
- A row of 44 px controls under the brand bar, among them Search, Follow us (the social links) and Log in, spread evenly across the bar.
- Log in opens a dialog over the dimmed page holding the site’s login module, sized to the screen, with 16 px input text so phones do not zoom in on a field. The copied form gets its own
cs-lp-ids so the page’s ids stay unique. - Search opens a full-width panel under the header with a 44 px field at 16 px text.
- The search, social and log-in panels all close the same way: tap outside them, tap the dimmed background, or press Escape.
- The page cannot be dragged sideways, and the menu and panels are sized to the screen.
- Columns stack at full width. Account, registration and contact forms put the label above the field, with full-width fields and a full-width submit button. Page and module headings share the paragraphs’ side inset, and the article details line (Written by, Category, Published, Hits) wraps instead of running off the screen.
- The hover-only tools widget is hidden on phones; its social links are in the control row.
- The phone controls take Clarity’s own blue (
--cs-accent, read from the template at runtime), with the icon colour on top chosen for contrast.
Slideshow — Swiper 11
- The built-in slideshow runs on Swiper 11 (loaded from
cdn.jsdelivr.net/npm/swiper@11, only when the slideshow is switched on) instead of camera.js. The slide markup is now.swiper>.swiper-wrapper>.swiper-slide, each slide with its background image and a.ph-slide-caption. - Existing slideshow settings carry over:
cam_time→ autoplay delay,cam_transPeriod→ transition speed,cam_autoAdvance,cam_hover(pause on hover),cam_paginationandcam_navigation, with a cross-fade between slides.cam_height, which camera.js read as a percentage of the slideshow’s width, is applied as a CSSaspect-ratio.
Colour picker and Options screen
- New custom field
fields/colorpicker.phpwith the bundled Coloris picker (js/coloris.min.js,css/coloris.min.css,js/coloris.LICENSE.txt). All 24 colour settings (e.g.bodybackground,bodytextcolor,buttonscolor,buttonscolorhover,botmodsa,botmodstxt) are nowtype="colorpicker", with a live swatch, instead of text boxes that needed a typed hex code. - New
fields/adminui.php: the template’s Options screen follows Joomla’s light or dark admin theme, panel backgrounds and text alike.
Favicon tool
- New Favicon tab (fieldset
faviconsettings) with a media field (favicon) and a favicon tool (fields/favicontool.php) that builds the favicon set from one image. With thanks to Gianluca, whose favicon question inspired this tool. index.phpoutputs the set through two new helpers,phFaviconSet()andphIcoBytes(): a 16/32/48 px.ico, 32, 192 and 512 px PNG icons and a 180 px Apple touch icon.- 10 new language strings in
en-GB.tpl_clarity.ini(68 → 78), e.g.TPL_CLARITY_FAVICON_TAB,TPL_CLARITY_FAVICON_LABEL,TPL_CLARITY_FAVICONTOOL_CREATE.
Modern social network support
- Eight new social services, each with a URL field and an on/off switch: Instagram, Threads, Bluesky, Mastodon, YouTube, TikTok, Pinterest, Discord (fields
instagram/instagramON…discord/discordON). - The social links (
#social-links) cover 13 networks and draw Font Awesome 6 brand icons (fa-brands fa-x-twitter,fa-facebook-f,fa-instagram,fa-threads,fa-bluesky,fa-mastodon,fa-linkedin-in, and so on), each with atitlenaming the network. - Twitter is now X: labelled “X (formerly Twitter)” with the X logo. It keeps its
twittersetting name, so an existing address carries over.
Helpers in
index.php- Five new helper functions:
phEsc(),phCssDim(),phHexColor(),phFaviconSet()andphIcoBytes(). The oldaddLoadEvent()function is gone. Escaping details are under Security.
Changed
Joomla 6 platform
- Built for Joomla 6.1.3.
templateDetails.xmldeclares<targetplatform name="joomla" version="6.1" />and<extension version="6.1">(was3.0), so the installer and update system report it correctly. - The template loads Joomla’s bundled Bootstrap 5 (
/media/vendor/bootstrap/css/bootstrap.min.cssplusBootstrap::framework()) instead of its own Bootstrap 2 stylesheets. Inindex.phpthe 10.row-fluidrows are now.row; the 40spanNcolumn classes stay and are laid out by the bridge. - The log-in dialog for the
loginmodule position uses Bootstrap 5 modal markup:.modal-dialog.modal-dialog-centered>.modal-content,data-bs-toggle/data-bs-target/data-bs-dismiss, and a nativebtn-closeclose button. Joomla’s system-message alert closes the same way (data-bs-dismiss="alert"). Bootstrap 2 marked an open dialog.inand Bootstrap 5 marks it.show; the bridge handles both, so the dialog opens visibly. templateDetails.xml: the Joomla 2.5<!DOCTYPE install>line is gone; the two<version>tags (3.0.1and31.07.2024 5.1.2) are one,6.1.3, matching the Description panel (6.1.3 (2026-08-20)),index.php’s@versionand the package;<creationDate>29/11/2012→2026-08-20; author and copyright now read Cybersalt Consulting Ltd / energizethemes.com.method="upgrade"is kept, so an existing install updates in place.
J3 → J5/J6 API migration
- All 51 Joomla 3 static calls replaced (
JFactory→Factory,JText→Text,JHtml→HTMLHelper,JRoute→Route,JError::raiseWarning()→new \Exception(), and the rest). These aliases exist only while Joomla’s backward-compatibility plugin is on. - Files converted (calls before → after):
html/mod_login/default.php20 → 0,error.php13 → 0,index.php7 → 0,html/pagination.php3 → 0,html/mod_menu/default.php2 → 0,html/_mod_menu/default.php2 → 0,html/mod_newsflash/_item.php2 → 0,html/mod_breadcrumbs/default.php1 → 0,html/mod_search/default.php1 → 0. In all, 7 of the 38 PHP overrides underhtml/were modified.
Template Options screen
- 51 field type changes in
templateDetails.xml. The 27 remaining legacyclass="switch"checkboxes (e.g.RSSON,H1TitleImgText,H2TitleImgText,cam_autoAdvance,cam_hover,cam_fx_multiple_on) are now Joomla’s native on/off switchers (layout="joomla.form.field.radio.switcher"); with the eight new social switches the template has 35 switchers and no checkboxes. The 24 colour settings changed fromtexttocolorpicker. - Fields 111 → 120, tabs 7 → 8 (the new Favicon tab).
Wider desktop page
- The page is now 1440 px wide instead of 960 px. The header, menu bar, slideshow stage and content wrappers all follow the new measure and finish on one edge.
- The sidebar is a fixed 300 px column with a 36 px gap, and the article area takes the rest (1066 px at full width). It was a third of the page, so widening the template would otherwise have handed it 150 px it did not need. Its 40 px inner right padding is gone, so modules set to full width fill the column.
- The three Custom Bottom positions are equal widths (453 px each).
- The desktop header bar’s artwork, a graphic drawn for the 960 px bar, is scaled to fill the bar.
- The footer copyright (
#fr, a fixed 400 px box) sizes to its text and stays on one line. - Dividers are CSS rules, not tiled graphics. The line between the sidebar and the content (
col-sep2.gif, pinned 42 px into a fixed tile) is a hairline in the gutter; the lines between module positions (pinned at 268 px) are hairlines between columns that skip the first one; the rules above the content and the footer (col-line.gif) areborder-top. All use the samergba(0,0,0,.10), and on a phone, where the columns stack, the sidebar divider becomes a horizontal rule.
Menus, fonts and icons
- Drop-down menus use the new
js/menu-vanilla.js(plain JavaScript, loaded deferred) instead of the jQuery Superfish/Supersubs plug-ins, with a 500 ms grace period so a menu does not snap shut while the pointer crosses a gap. - The Cuprum web font loads through a plain Google Fonts stylesheet link in
index.phpandcomponent.phpinstead of theWebFontConfigJavaScript loader (WebFontConfig2 → 0). - The front end loads Font Awesome 6.5.2 (
all.min.css) withv4-shims.min.cssfrom cdnjs, instead of Font Awesome 4.6.3 from MaxCDN, sofa fa-*icons already in your content keep working. - The desktop tools widget’s hammer-and-wrench image is replaced with a share glyph drawn inline (an SVG in the stylesheet, no sprite or outside host). The widget’s size and fly-out are unchanged.
- Stylesheets carry version markers (
template.cssand the bridge a time stamp;text.css,layout.css,nav.css,typography.css,responsive-template.cssandprint.cssthe file’s modification time), so a template update shows at once instead of waiting for browser caches to expire.
Template overrides
html/mod_login/default.php:$type = $type ?? 'login';andhtml/mod_breadcrumbs/default.php:$moduleclass_sfx = $moduleclass_sfx ?? '';(Joomla 5 and 6 no longer pass these variables to the layouts).html/mod_menu/default.php: the inlineselectnav('nav', …)call is removed; the phone menu replaces it.
Fixed
- Error pages failed with Joomla’s backward-compatibility plugin switched off, as it is on Joomla 6.
error.phpusedJError::raiseWarning()andJText, which do not exist without that plugin, so a “page not found” could not be shown. It now uses the Joomla 4+ API. - Browser console errors on every page load are gone; the front end now reports none.
- Pagination arrows (First, Previous, Next, Last) were blank, because Joomla 4 and later emit
icon-angle-*classes the template never styled. They now draw. - The password show/hide “eye” on the log-in and registration forms was an empty square and wrapped onto its own line. It now draws in the colour of the button it sits on and stays beside its field.
- Four failed font requests on every page.
template.csspointed its IcoMoon@font-facesources atmedia/jui/fonts/, which Joomla 4 removed; those sources are gone (media/juireferences 10 → 0). - Joomla 6’s “Sign in with a passkey” button drew its icon at full container size, a large black graphic across the log-in area. Inline icons of that kind are now sized to their button and take its colour.
- “Undefined variable” warnings from the login module (
$type) and the breadcrumbs module ($moduleclass_sfx) on Joomla 5 and 6. - The slideshow overflowed tablets and phones. Its stage carried an inline
width:890px; it is now capped to its container at every width. - The desktop menu did not fit tablet screens (a 960 px bar in a 768 px window, overflowing by over 200 px on every page). Between 768 and 979 px it is now constrained to the window and allowed to wrap.
- The search box was too small to use on a phone (about 170 px wide with a 29 px field). Phones now get the full-width search panel described under Phone layout.
- Fixes from a maintenance pass across our templates:
- Tall single-column featured articles are no longer clipped to their title in Joomla 6’s featured view (
.blog-featured .blog-items/.blog-item). - The search button sits flush with its search box instead of floating away or dropping below it.
- The IcoMoon font requests and the pagination arrows above.
- Tall single-column featured articles are no longer clipped to their title in Joomla 6’s featured view (
Removed
Legacy scripts and stylesheets
- Scripts no longer loaded:
html5.js(html5shiv from googlecode.com),selectivizr-min.js,modernizr.js,imgSizer.js,selectnav.min.js,superfish.js,supersubs.js,jquery.mobile.customized.min.js,jquery.easing.1.3.js,camera.min.jsandcamera.js(both were loaded), and Google’swebfont.js. - Stylesheets no longer loaded:
css/bootstrap/bootstrap.min.css,bootstrap-responsive.min.cssandbootstrap-extended.css,css/bootstrap.css,css/responsive.css,camera.css, Font Awesome 4.6.3 from MaxCDN, and the Internet Explorer stylesheets with their conditional comments inindex.php. - All 7 inline jQuery calls in
index.phpare gone (7 → 0): the Superfish/Supersubs set-up, the social panel’s.closeMenuhandler, the camera.js set-up and thejQuery.browsershim.
Files deleted from the template (39)
- JavaScript (14):
jquery-1.8.1.min.js,jquery.noConflict.js,jquery.mobile.customized.min.js,jquery.easing.1.3.js,camera.js,camera.min.js,superfish.js,supersubs.js,hoverIntent.js,selectnav.min.js,modernizr.js,selectivizr-min.js,flexibility.js,imgSizer.js, plus the archivejs.zip. - Stylesheets (14): the Bootstrap 2 folder
css/bootstrap/(7 files),css/bootstrap.css,css/bootstrap.zip,css/responsive.css,css/camera.css,css/ie.css,css/ie6.css,css/ie8.css. - The old admin helpers in
utils/(10 files): the jscolor colour picker (utils/js_colourchanger/:jscolor.js,arrow.gif,cross.gif,hs.png,hv.png), the jQuery admin scriptutils/admin-js.js, the switch imagesswitch-background.pngandswitch-mask.png, the unusedbss_fontchanger.phpandindex.html. Thecolours_handlersfield that loaded the jscolor picker is gone with them. - Older plug-in files that nothing loads (e.g.
dropkick.js,jquery.backstretch.min.js,owl.carousel.min.js,parallax.js,tipz.js) remain injs/, which now holds 20 files (was 29).
Retired social services
- Five social slots removed with their switches: Google+ (
gplus), MySpace, StumbleUpon, Digg and Blogger.
Security
- Template settings are HTML-escaped where
index.phpwrites them into the page: 84phEsc()call sites, covering every social link address, the site-name and slogan text, images, positions, sizes and colours, the colour settings in the inline<style>block, the content font size and site width, the theme preset name, the slideshow caption class and the favicon links. - The header height (
topheight) is validated as a CSS length throughphCssDim(). - The 12 outbound social links carry
rel="noopener", so a linked page cannot control the window it was opened from. htmlspecialchars/escape calls across the template rose from 37 to 44.- The template no longer relies on Joomla’s Behaviour – Backward Compatibility plugin, which sites are encouraged to switch off.
Quickstart Installer
The Quickstart (
Clarity-6.1.3-Quickstart.zip) is a complete Joomla 6.1.3 site with Clarity installed as the active template and the demo content. It installs through Joomla’s own web installer.- Bundled extensions: Akeeba Backup 10.3.7, Weblinks 5.1.0, MCP for Joomla 2.4.0 and StageIt 5.7.3.
- Only the templates the site uses are included:
cassiopeia,cassiopeia_extended,clarityandsystemfor the site,atumfor the administrator. A leftoverexpressiontemplate style from the demo’s history is gone from the template list. - Joomla’s Behaviour – Backward Compatibility plugin is off and Behaviour – Backward Compatibility 6 is on.
- Joomla’s retired Search component, module and package are switched off and their files are not shipped. The demo’s “Search” menu item now opens Smart Search and keeps its label; the old Search menu item is in the trash.
- Joomla’s Statistics plugin is set to never send data.
- A clean starting state: the demo articles’ view counters were reset (18 views in total across the 68 articles), 11 of the 15 post-installation messages are hidden (Joomla’s action-log, privacy, multi-factor and automated-update advisories stay), the 17 template overrides are marked as reviewed (no “changes found” warning), and the copyright years in the demo modules read 2026 (they were a mix of 2022 to 2025).
Package format
- Standalone template:
pkg_clarity-6.1.3.zip, a new Joomla package (pkg_clarity.xml) that installs theclaritytemplate frompackages/tpl_clarity.zipand registers it in the package manager. It declaresmethod="upgrade", so an existing Clarity updates in place, and<blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. - Quickstart bundle:
Clarity-6.1.3-Quickstart.zip, a complete Joomla 6.1.3 install with Clarity pre-loaded as the active template. It is for new sites, not an upgrade for an existing one.
Version numbering and later releases: from this release the first three digits of Clarity’s version match the Joomla release it is built for (6.1.3 = Joomla 6.1.3); a later fix on the same Joomla release adds a fourth digit (6.1.3.1). The previous download carried31.07.2024 5.1.2. In this release colour and other settings written into the inline styles are HTML-escaped rather than escaped for CSS; escaping for each context arrived in 6.1.3.3. The pagination override’s PHP 8 error was fixed in 6.1.3.1.Version 01.04.2023 4.2.8
- Fixed - Template updated to be compatible with Joomla 4.2