Crystal Changelog
Version 6.2.0.4
Login form. The username box was narrower than the password field beside it; every field now takes the full row.
Phone header. The phone menu script is updated to the current version: opening a phone panel no longer dims the logo and menu buttons, and tapping outside an open panel closes it.
Print view colours. The print view's colour-preset stylesheet link was broken (an extra pair of quotes cut it short), so the print view showed no preset colours; it loads again.
Template options screen. The Options screen loaded a helper script from another template, which threw an error there; the reference is removed.
Tablet and phone layout rules. One block of the template's own tablet and phone styles was written with
&&instead ofand, so browsers ignored it; it now applies as designed.Print view on phones. The print view had no mobile viewport, so on a phone it showed a shrunken desktop page; it now fits the screen.
Error page. An error caused by a missing item no longer prints the server's file paths.
Defaults for a fresh install. The site name / logo now links to the home page and the slideshow is switched on with autoplay (
logoLinked,cam_turnOn,cam_autoAdvancedefault to on). Existing sites keep their saved settings.Quickstart. The search box returned No Results for everything (the search index was empty); it is built. The Most Read module showed nothing (a Joomla 3 empty category filter) and now lists articles. The sample Atomic, Beez 20 and Beez 5 category pages showed broken thumbnails of Joomla 3 templates; the broken images are removed. A leftover backup table is removed from the database.
Shared stylesheet. The template's Bootstrap compatibility stylesheet is updated to the current version used across our templates. Your own template settings are not changed.
Removed. 30 JavaScript and CSS files nothing loads (506 KB), among them Superfish, Modernizr, MooTools tooltip and parallax scripts and old Internet Explorer stylesheets; an override folder Joomla never reads (
html/mod_menu_); 33 template options nothing read (old drop-down menu effect settings, and camera-slideshow settings - effects, slicing, loader, thumbnails, heights - that the template's current slideshow never used); a reference to a module style the template does not have (login pop-up); stylesheet references to 2 images that do not exist, and links to stylesheets that do not exist.Version 6.2.0.3
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.
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.
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.7
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.6
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.5
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.4
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.3
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.2
Maintenance release.
- Updated the Bootstrap 2→5 compatibility stylesheet to the current version, bringing this template in line with the rest of the range.
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.1
Please update if you downloaded Crystal on 18 or 19 August 2026. The 6.1.3 package went out with a copy of our shared Bootstrap 2 to Bootstrap 5 compatibility stylesheet that was a week out of date, with the older mobile-header script, and with two stray build archives left inside the template folder. Its release notes described fixes that were not actually inside the file you received. 6.1.3.1 is that same release with the correct files in it. Nothing you have configured changes; install it over the top as usual.
This is a packaging correction plus a substantial catch-up of the shared stylesheet. Crystal goes from 92 to 108 layout-guard blocks, covering everything found across our template range between 11 and 19 August. Several of the items below were measured on Crystal itself. Every one was measured on a rendered page, not inferred from a file.
Fixed
- Every icon button in the phone header was invisible. Measured at 375 px on Crystal, on the home, account, search and social controls alike: white icon on a white button, a contrast ratio of 1.00:1. That is not "low contrast", it is a control that is present, sized 44 × 44 px on the right of the header, and paints nothing. Icon colour is now decided by the button's own background rather than inherited from the template's header rules.
- A dead "Follow Us" bar sat across the foot of every page on a phone. Crystal's slide-out social tab is a desktop hover affordance — there is no click handler, so on a touch screen it can never do anything. Measured at 375 px: a 371 × 99 px block near the bottom of the document holding a rotated "Follow Us" pill that could not be tapped, duplicating the social button already in the header thousands of pixels above it. It is now collapsed at phone width, as the template's own responsive rules always intended, and unchanged on desktop.
- The "+" expanders in the phone menu drawer were close to unreadable — measured on Crystal as white text on the template's orange at 2.55:1. They now take a colour derived from their own background.
- Pages could be scrolled sideways at tablet widths even though nothing visible overflowed. Measured on Crystal: 61 px of phantom width at 1024 px and 57 px at 768 px, on the home, interior and account pages alike. The cause is the drop-down menu panels, which are parked out of sight above the page but only vertically — horizontally they still sat inside it and still counted towards the page's width. They are now parked out of the way in both directions. This survived every visual review precisely because nothing visible was overflowing.
- The FAQ / Help / Support links in the top bar sat above the bar's own midline. Measured on Crystal at 1400 px: the group's centre was 5.2 px high against the bar it sits in, because a floated group takes the top of its line box and can never centre itself. The group is now centred without any change to the order or spacing of the links.
- The log-in dialog's close button was a solid coloured block sitting on top of the "Login Form" heading. The Bootstrap 5 close control draws its × from Bootstrap 5's own stylesheet, which these templates deliberately do not ship — so it painted an empty box with no cross in it. The dialog now closes from a proper ×, and the button no longer covers the title.
- Joomla 6's passkey button drew an enormous black graphic across the log-in page. The "Sign in with a passkey" icon is supplied by Joomla as a drawing with no size of its own, and no template in this generation sizes one, so it expanded to fill whatever space it could find. It is now capped to a normal icon and takes the button's own colour.
- The article information line ran off the side of the page. Written by, parent category, category, published, created, last updated and hits were laid out on one line that was not allowed to wrap, so on a phone the later items simply ran past the edge of the screen. The line now wraps.
- The phone header icon row was unevenly spaced and clipped at both ends. Two spacing systems were fighting; the row now uses one, and the whole set fits and centres on a 375 px screen.
- The slideshow's previous and next arrows were too small to hit reliably on a touch screen and the chevron sat off-centre inside them. They are now a 44 × 44 px target with the arrow drawn centred.
- The controls at the top right of the desktop header were different sizes on different midlines. Register, account and cart now share one box, one icon size and one baseline.
- The legacy search field collapsed and cut off its own submit button. Bootstrap 5 measures boxes differently from Bootstrap 2, so a field sized the old way lost its padding out of its declared height and the row it sets was no longer tall enough to hold the button.
- A navigation bar containing a floated item no longer pushes the next row of content sideways. Bootstrap 2 shipped a clear-fix on navigation lists that Bootstrap 5 dropped; without it the row below snagged on the menu and lost a column.
- Breadcrumbs could run off the right edge on interior pages at 1024 and 768 px. The row holding them resolved to zero width, so the links had nothing to wrap inside.
- Old-style grid rows on category and blog pages no longer collapse. Rows whose children are all floated took no height at all, so the row's own background painted as a thin sliver and whatever followed rode up into it.
- Registration and account fields were unusably narrow on a phone. Several were about a third of the screen wide with the rest of the width empty beside them. They now use the full width.
- A stray
?>was being emitted into the page head. A leftover PHP close tag in the template's head section printed two literal characters into every page's source. Harmless to render, but invalid, and it is gone. - Tooltips, popovers, mobile menu and drop-down behaviour, phone header spacing, non-responsive page bands and full-height column panels all pick up further guards added across the range in this period.
Removed
- Two stray build archives shipped inside the template.
html/mod_breadcrumbs.zipandhtml/mod_menu.zip— zipped copies of the template's own override folders, left behind by an earlier build — were present in the 6.1.3 package and are gone from 6.1.3.1. They were never used by Joomla, but they sat inside your site's template folder and duplicated template source in a publicly-addressable location. If you installed 6.1.3, updating removes them.
Changed
- The compatibility stylesheet is now loaded after every other template stylesheet. It was previously registered through Joomla's document head, which placed it above the template's own hard-coded stylesheet links — so a large number of its corrections silently lost to the template's original rules and never took effect. This is the single change most likely to alter what you see, and it is the reason several fixes listed in earlier releases were not visible.
- Crystal-specific layout rules have been consolidated. Corrections that had been carried privately for this template — the mobile header, the social row, several walkaround rounds — are now supplied by the shared build, which is maintained across the whole range and tested on more templates. The genuinely Crystal-specific rules that rendering proved are still needed — the desktop Home-tab underline clearing the slogan, the top-right log-in cluster's placement, the vertical social list, the "Follow Us" tab's height — are unchanged and still ship.
- The mobile header and menu script is now the shared build used across the whole range (
js/cs-mobile-generic.js, replacingjs/cs-mobile.js). Behaviour is the same; the template now receives improvements to the phone header at the same time as every other template we publish. - The Bootstrap 2 to Bootstrap 5 compatibility stylesheet moves from the 11 August build to the 19 August build — 92 guard blocks to 108.
Unchanged
- The Quick Start still installs Joomla 6.1.3. Nothing in the sample site, its content or its extensions changed in this release — but the Quick Start has been rebuilt so that a new site started from it gets the corrected template files rather than the 18 August ones.
- No template setting, colour parameter, module position or override changed.
The remaining items were found by walking rendered pages across our template range during August — Encore, Energize, Oxygen, Vision, Progressive, Impulsa and Diversity — and applied here preventatively as well as where they were measured on Crystal itself.
Version 6.1.3
Crystal 6.1.3 is a maintenance release. It renumbers the template to match the Joomla version it is built and tested against, refreshes the Quick Start onto the current Joomla release, and brings the Bootstrap compatibility stylesheet up to the current shared build. There are no changes you need to make after updating — your settings, colours and menu choices carry over.
Version numbering
- The template version now matches the Joomla version it ships against. Crystal 6.1.3 is the build for Joomla 6.1.3. The previous release of this template was numbered 6.1.2.5. This is a numbering change only — Joomla still treats 6.1.3 as newer than 6.1.2.5, so the update comparison in your Extensions Manager behaves normally, and nothing about how you install or update the template changes. We are applying the same convention across the whole template range so that the number on the download tells you at a glance which Joomla release it was tested against.
Quick Start
- The Quick Start package now installs Joomla 6.1.3. The previous Quick Start bundled Joomla 6.1.2. If you are building a new site from the Quick Start you now get the current Joomla release straight away, instead of installing and then immediately having to run a core update.
- The Quick Start is a standard Joomla installation package — upload it, extract it, and run the normal Joomla installer in your browser. Akeeba Kickstart is not needed.
Bootstrap 2 to Bootstrap 5 compatibility stylesheet
- Brought up to the current shared build, adding twenty-five further layout guards since 6.1.2.5. These were found and fixed on other templates in our range during August, and are included here as a preventative update so that Crystal is protected against the same classes of problem rather than waiting for one of them to surface on your site. The areas covered are: drop-down menu behaviour and flow; mobile header layout, ordering and spacing; slideshow controls on touch screens, which are revealed on hover and so were unreachable by tap; social icon rendering where a template's own image sprite competed with the Font Awesome 6 glyphs that replaced it; tooltips and popovers becoming visible on the page before they were triggered; page bands that pin themselves to a fixed desktop width and so scroll sideways on a phone; grid children that lost their block display; and full-height column panels that clipped the content they were meant to wrap.
What is not in this release
- No template file other than the Bootstrap compatibility stylesheet changed between 6.1.2.5 and 6.1.3. Everything shipped in the 6.1.2.x line — the Joomla 6 native rebuild, the removal of the JavaScript errors that fired on every page load, the jQuery compatibility layer that keeps the slideshow and parallax bands working, the log-in dialog that now opens fully visible, the mobile overflow and drawer fixes, and the drop-down menu positioning corrections — is carried forward unchanged in this package.
- Known limitation, unchanged and disclosed: the template still loads jQuery and a number of carried-forward jQuery plug-ins. These are dependencies the template genuinely uses, not dead code, and removing them is a larger piece of work than a maintenance release should carry.
With thanks to Michael Mullan, whose Expression bug report led to the maintenance pass across our templates that several of these compatibility-stylesheet guards came out of.
Version 6.1.2.5
- Drop-down menus no longer appear open before you hover them. On some templates every sub-menu was drawn on the page from the moment it loaded. They are hidden again until you move the mouse over the menu.
- Drop-downs sit directly beneath the menu they open from. They previously appeared a short distance below, and moving the mouse across that space closed the menu before you arrived. Sub-menus that open to the side are likewise flush against the column they come from.
Version 6.1.2.4
- Drop-down menus now sit directly beneath the menu they open from. They previously appeared a short distance below, and moving the mouse across that space closed the menu before you arrived. Sub-menus that open to the side are likewise flush against the column they come from.
Version 6.1.2.3
Maintenance release. This update is recommended for all users — it removes JavaScript errors that could stop other features on the page from working, and improves the template's behaviour on phones.
- Removed leftover calls to jQuery plugins that are no longer bundled. A call to a missing plugin stops every remaining script in the same block from running, so this can affect features that look unrelated.
- Added a small compatibility layer for three jQuery methods that were removed before the version Joomla 6 ships, so slideshow controls and parallax backgrounds keep working.
- Updated the Bootstrap 2 to Bootstrap 5 compatibility stylesheet to the current build.
- The log-in dialog now always opens fully visible. Previously it could open with the page dimmed behind it but the dialog itself invisible.
- Pages no longer scroll sideways on a phone, and the mobile menu, search and social panels are now sized to the screen rather than to the full page width.
Version 6.1.2.2
Maintenance release — layout and icon corrections shared across our template range. Several fixes were developed while working on our other templates over the past week. This release brings Crystal up to the same level. Nothing in the design changes and your settings are untouched.
Fixed
- Pages could scroll sideways slightly on a phone. Rows carried over from the older layout system were given spacing the original design never had, which pushed content a little wider than the screen and produced a small horizontal drag.
- Uneven left and right margins on some pages. Full-width bands relied on a behaviour the newer layout framework changed, so content could sit closer to one edge than the other — most visible on interior pages rather than the home page.
- Some small icons could be painted over by an old graphic. The original design pack drew its icons by cropping one large picture file, and a copy of that instruction survived in the stylesheet, laying the old blurry image on top of the modern icon underneath.
- Multi-column module rows did not always collapse cleanly to full width on phones, leaving columns narrow and crowded instead of stacking.
- Drop-down menu items could be cut off on phones where a sub-menu ran past the edge of the screen.
- The fixed header could be painted underneath the slideshow on some screen sizes, making it appear to vanish.
Note
- These are corrections rather than changes — if your site looks right today, it will still look right after updating, with the rough edges above smoothed out. Ships in both the template package and the quickstart.
Version 6.1.2.1
Maintenance release — one visible correction. This updates the show/hide button on password fields, which appears on the login, registration and password-reset forms. No other part of Crystal changes, and your settings are untouched.
Fixed
- The password show/hide button showed an eye looking off to one side. An earlier release corrected this control from an empty square to an eye, but the icon set we draw from has no version of that symbol with a centred pupil — so it was perfectly usable, yet visibly lopsided against the neat alignment of the form around it. It is now a purpose-drawn eye with the pupil dead centre, and being drawn rather than taken from a font it stays sharp at any size and on any screen.
Note
- Updating is optional if the off-centre eye does not bother you — nothing else in this release affects how your site works. It ships in both the template package and the quickstart.
Version 6.1.2
First Joomla 6 native release. Crystal has been brought forward from the previous download (04.11.2025 6.0.0) to Joomla 6.1 + PHP 8, and the Quickstart now installs Joomla 6.1.2. Every Joomla 3 class call is gone (17 → 0), so the template no longer needs the old class names from Joomla’s backward-compatibility plugin, which Joomla 6 switches off by default. Crystal keeps its own Bootstrap 2 layout classes: its bundled Bootstrap 2 stylesheets are gone, and Joomla’s Bootstrap 5 stylesheet plus a compatibility stylesheet now lay those classes out. jQuery still loads (Joomla’s own copy); the old menu, background, slideshow and Internet Explorer plug-ins are no longer loaded. This release adds a phone header with a menu button, an icon row and phone search, a new slideshow engine (Swiper 11), a favicon tool, a colour picker for all 68 colour settings, Joomla’s own on/off switches in the template options, and HTML escaping at 120 places where a template setting is written into the page. Across the template, 21 files were added, 15 removed and 12 modified (197 → 203 files). The template version now matches the Joomla version it ships with.Added
Bootstrap 2 layout on Joomla 6
- New
css/bs2-bs5-bridge.css, loaded with a version marker. It takes over what the removed Bootstrap 2 stylesheets did for Crystal’s markup:.row-fluidrows with.spanNcolumns, standalone.spanN, offsets,pull-left/pull-right, thehidden-phone/visible-phoneutilities, the Bootstrap 2 button classes, and stacking of multi-column rows on phones. - The bridge lays out
.spanNcolumns inside a Bootstrap 5.rowas well as inside.row-fluid, so module rows and the main content column sit side by side as before. - Joomla’s own
icon-*classes (about 55 of them, e.g.icon-eye,icon-eye-slash,icon-angle-left,icon-angle-double-right) are mapped onto Font Awesome 6, so the icons Joomla prints in forms and pagination show up (see Fixed). index.php: the 13.row-fluidwrappers became.row(13 → 0), and the header, sidebar, breadcrumb, newsflash, bottom-long and footer columns use Bootstrap 5 column classes (.span3→.col-md-3,.span7→.col-md-7,.span12→.col-md-12).
Phone header and menu
- New
js/cs-mobile.js. On screens up to 767 px Crystal gets a menu button (#cs-menu-toggle, 44×44 px) at the top right of the logo row. It opens the site’s main menu as a full-width panel below the header. - Menu items with sub-pages get a round + / − button; tapping the item opens its sub-menu, and opening one section closes the others.
- An icon row under the header (
#cs-utility-row) with labelled buttons on one line: Site Map, Account, Register, Search and Share. Account opens the login dialog; Register goes to the registration page. - Site Map opens a panel with the page’s sidebar modules, or the Quick Menu on pages without a sidebar. On phones the sidebar column itself no longer stacks under the page content.
- Search opens a full-width search panel with a search field and an orange Search button.
- Share opens the “Follow Us” social links as one centred row of icons. On phones the side “Follow Us” panel is hidden until then.
- The top bar (
#top-nav-line), the header’s Login Form / Register links and the old#menupanelmenu button are hidden on phones; the new row and panels replace them. - Open panels close when you tap the same button again, tap outside them or press Escape, and close when the window is widened to desktop size.
Favicon tool
- New Favicon tab (fieldset
faviconsettings, first in the template options) with a media field (favicon) and a crop tool (favicontool, field classfields/favicontool.php): load the chosen image, drag or resize a square over the part you want, and the cropped image is saved. With thanks to Gianluca, whose favicon question inspired this tool. - On the front end,
index.phpbuilds the full icon set from that one image with two new helpers,phFaviconSet()andphIcoBytes(): a realfavicon.ico(16, 32 and 48 px), 32, 192 and 512 px PNGs and a 180 px Apple touch icon, written toimages/favicon-generated/. The.icois also copied to the site root, where browsers look for it. - The generated file names change whenever the image changes, so browsers pick up a new icon instead of holding on to the old one. With no image chosen, the template’s own
favicon.icois used, with a version marker. - New
fields/adminui.php: a hidden field that styles the template’s Options screen only, so the Favicon tab’s help text runs across the full width of the page. - 10 new language strings in
en-GB.tpl_crystal.ini, e.g.TPL_CRYSTAL_FAVICON_TAB,TPL_CRYSTAL_FAVICON_HELP,TPL_CRYSTAL_FAVICONTOOL_CREATE.
Colour picker
- New custom field
fields/colorpicker.phpwith the bundled Coloris picker (js/coloris.min.js,css/coloris.min.css). All 68 colour settings are nowtype="colorpicker", with a swatch in the field, preset swatches, an optional transparency slider and keyboard support. Nothing is loaded from an outside site. - Colours are still stored as hex codes, so every colour you had set carries over unchanged. The picker follows Joomla’s light or dark admin theme.
Security helpers
- New helpers in
index.php:phEsc()(HTML escaping),phCssDim()(a number with a CSS unit) andphCB()(a version marker from a file’s modification time), each declared only if not already defined. Details under Security.
Changed
Joomla 6 platform
templateDetails.xmldrops the Joomla 2.5<!DOCTYPE>, goes from<extension version="2.5">to"6.1"and declares<targetplatform name="joomla" version="6.1" />.method="upgrade"is kept, so an existing install updates in place.templateDetails.xmlversion04.11.2025 6.0.0→6.1.2, creation date17/01/2014→2026-08-06, author URL nowhttps. The version shown in the template’s Details panel reads6.1.2 — 2026-08-06, with a short changelog under it.
J3 → Joomla 6 API migration
- All 17 Joomla 3 class calls removed (calls before → after):
error_.php(nowerror.php) 13 → 0 (JFactory→Factory,JText→Text),html/mod_breadcrumbs/default.php1 → 0 (JText),html/mod_search/default.php1 → 0 (JRoute→Route), and two commented-outJHtmllines inindex.php. These old names exist only while Joomla’s Behaviour – Backward Compatibility plugin provides them. - The deprecated
Factory::getDocument()(inindex.phpand the error page) andFactory::getUser()calls now go throughFactory::getApplication()(->getDocument(),->getIdentity()). Thejimport()call inindex.phpis gone, and the slideshow counts its modules withcountModules(). - The 4
HtmlHelper::_()calls inindex.phpandhtml/mod_login/default.phpuse the correct class nameHTMLHelper.html/mod_login/default.phpnow defaults$typeto'login'when Joomla does not pass it.
Error page
- The template’s error page was shipped as
error_.php, a name Joomla never loads. It is nowerror.php, on the Joomla 4+ API, so “page not found” and other error pages use the template’s own error layout (css/presets/style-error.css) instead of Joomla’s plain system page.
Template Options screen
- All 32 legacy on/off checkboxes (
class="admincheckbox" type="checkbox") are now Joomla’s native switchers, for exampleusetheme,usedropdown,logoLinked,H1TitleImgText,RSSON,cam_turnOn,cam_autoAdvanceandcam_navigation. - 100 field type changes in all (the 68 colour settings plus the 32 switches). Fields 157 → 161, tabs 7 → 8.
- The tabs now read Favicon / Basics / Site Name and Slogan / Social Icons / Drop-Down Menu / Custom Code / Built-in Slideshow / Theme Colors. Before: Basic Settings, Site Name And Slogan Settings, Community Links, Drop Down Menu Settings, Template Header And Footer Custom Code, Built-in Slideshow Settings, Theme Settings. The Social Icons tab (fieldset
communitysettings→socialicons) has a short description (TPL_CRYSTAL_SOCIALICONS_TAB,TPL_CRYSTAL_SOCIALICONS_TAB_DESC). - The site-name image field (
H1Titleimage) is labelled Site Name Image instead of “Built-in Site Name”, and the “Selecr” typo in the site-name and slogan image descriptions is fixed. - The Built-in Slideshow tab opens with a note naming the seven settings that still take effect with the new slideshow (see Slideshow). The other slideshow fields stay, so values saved from earlier versions are kept.
Theme colours
- The Theme Colors settings now always apply. Before, the whole colour block in
index.phpwas skipped while Built-in Theme (usetheme) was on, so changing a colour did nothing. The Built-in Theme switch still decides whether one of the six preset stylesheets (css/presets/style1.css…style6.css) loads; the colour settings are applied on top of it (see the note at the end).
Slideshow
- The built-in slideshow now runs on Swiper 11 instead of
camera.js: slides cross-fade and loop, with previous/next arrows as 44×44 px round buttons and clickable dots. Swiper is loaded from the jsDelivr CDN. - The slideshow is 3:1 on desktop (280 to 480 px tall) and 4:3 on phones. Each slide’s background image and caption come from its module, as before.
- Seven settings still take effect:
cam_turnOn,cam_autoAdvance,cam_time(slide duration),cam_transPeriod(animation speed),cam_hover(pause on hover),cam_navigationandcam_pagination. Camera’s effects, thumbnails, loader and play/pause settings no longer have an effect.
Menus, background and login dialog
- Desktop drop-down menus open on hover with a small built-in script instead of the Superfish/Supersubs plug-ins, with the same 500 ms delay before a menu closes. The drop-down sits directly under its menu item, with an invisible hover strip between them so the menu stays open on the way down. The drop-down animation settings (
dropopacity,dropheight,dropwidth,dropspeed) and the minimum width (dropdownhandler1) no longer have an effect. - The
#menupanelpanel and the social panel’s close button open and close with plain JavaScript and CSS transitions instead of jQuery animations. - The body background image (
bodybackgroundimage) is sized with CSS (cover, centred, fixed) instead of the Backstretch plug-in. - The login window is a Bootstrap 5 dialog, centred on the screen (
modal fade+modal-dialog-centered+modal-content), opened and closed withdata-bs-toggle/data-bs-target/data-bs-dismissand a Bootstrap 5btn-closebutton. The jQuery.toggle()handler and the inlinejQuery('#LoginForm').hide()calls are gone.
Icons and fonts
- The front end now loads Font Awesome 6.5.2 from cdnjs (
all.min.css+v4-shims.min.css), sofa fa-*class names work. - The ten social links in the “Follow Us” panel (Twitter, Google+, Facebook, RSS, LinkedIn, MySpace, Vimeo, StumbleUpon, Digg, Blogger) are drawn as Font Awesome 6 brand icons instead of an image sprite.
Header and “Follow Us” panel (desktop)
- The empty band at the top of every page is gone (the page’s top padding is now 10 px).
- The main menu sits 40 px lower in the header, so the active item’s underline clears the slogan. The header and menu bar have a solid white background, so menu text stays readable above the slideshow.
- The Login Form and Register links sit side by side in the top-right corner of the header.
- The “Follow Us” tab on the right edge is taller (at least 84 px) with its label centred on it, and the icons in the open panel have 6 px between them.
Stylesheets
- The ten local stylesheet links in
index.php(responsive,text,layout,nav,typography,template,responsive-template,print,blogand the colour preset) carry a version marker taken from the file’s modification time, and the compatibility stylesheet andcs-mobile.jscarry one too. Style changes show straight after an update instead of waiting for visitors’ browser caches to expire.
Fixed
- The slideshow did not show on phones. The bundled
jquery.mobile.customized.min.jsthrew a JavaScript error on every page with the slideshow, and the slideshow area stayed empty on current mobile browsers. The new Swiper slideshow does not use it. - The colour settings were plain text boxes. The Options screen called the old jscolor picker 68 times, but its script was never loaded, so a colour could only be changed by typing its hex code. All 68 now have the colour picker.
- A module style could take the page down.
html/layouts/chromes/slides.phpended with a stray closing brace, a PHP parse error that blanked any page with a module set to the Slides style. Fixed. - Fixes from a maintenance pass across our templates:
- The password show/hide button on the login and registration forms was an empty box, and the Previous / Next / First / Last pagination buttons were blank. Joomla prints its own
icon-*classes there, and nothing mapped them to an icon font; the bridge now does. - Featured-article intro text in a one-column layout is no longer clipped to its title (
.blog-featured .blog-items.columns-1).
- The password show/hide button on the login and registration forms was an empty box, and the Previous / Next / First / Last pagination buttons were blank. Joomla prints its own
Removed
Legacy scripts and stylesheets no longer loaded
- Scripts:
camera.js,camera.min.js,jquery.mobile.customized.min.js,jquery.easing.1.3.js,superfish.js,supersubs.js,jquery.backstretch.min.js,selectnav.min.js, and the Internet Explorer scriptsmodernizr.js,selectivizr-min.js,imgSizer.jsand the html5shiv from Google Code, plus the inlinejQuery.browsershim. The files that came with the template remain injs/but nothing loads them. The direct<script>tag for Joomla’s jQuery is replaced by Joomla’s ownJquery::framework()call. - The
selectnav()call inhtml/mod_menu/default.php, which built the old phone drop-down menu, is gone with the script. - Stylesheets:
camera.css(it remains incss/), the bundled Bootstrap 2 files and the Internet Explorer files below, with their conditional comments.
Files removed from the package
- Bundled Bootstrap 2: the
css/bootstrap/folder (bootstrap.css,bootstrap.min.css,bootstrap-responsive.css,bootstrap-responsive.min.css,bootstrap-extended.css,bootstrap-rtl.css,bootstrap-tooltip-extended.css), pluscss/bootstrap.cssand the archivecss/bootstrap.zip. - Internet Explorer stylesheets
css/ie.css,css/ie6.cssandcss/ie9-10.css. error_.php(replaced byerror.php).
MooTools module styles
- The two collapsible module styles toggleModule and toggleModule2 are removed: their functions in
html/modules.phpand the layoutshtml/layouts/chromes/toggleModule.phpandtoggleModule2.php. They were written for MooTools (window.addEvent,Fx.Slide,$$()), which Joomla dropped after version 3, so they no longer worked (MooTools calls 6 → 2; the remaining two are in unloaded files). The vmdefault and slides styles stay.
Security
- 120 places in
index.phpwhere a template setting is written into the page now go throughphEsc()(HTML escaping), including the ten social link URLs, the site-name and slogan text and images, the colour settings, positions, sizes and fonts in the page’s inline CSS, the “Follow Us” label, the colour preset name and the favicon links. phCssDim()accepts the header height setting (topheight) only as a number with a CSS unit (2 places).- The slideshow slide images and the body background image URL are escaped where they are written into the page.
- The module class suffix in the vmdefault module style (
html/modules.php) is escaped. - The site name and slogan text fields (
H1Title/H2Title) are escaped, so HTML typed into them now shows as text.
Quickstart Installer
The Quickstart is a complete Joomla 6.1.2 site with Crystal installed as the active template and the demo content. It is now a standard Joomla installation package; the previous Quickstart was an Akeeba backup archive (
.jpa) that needed Kickstart.- Bundled extensions: Akeeba Backup 10.3.7, MCP For J 2.4.0, Weblinks 5.1.0, StageIt 5.7.3. The
templates/folder holdscassiopeia,cassiopeia_extended,crystalandsystem. - Joomla’s legacy Search component, module, package and its six search plugins are disabled. They do not work on Joomla 6; the “Search” item in the About Joomla menu now opens Smart Search.
- The sample categories under “Extensions” (Components, Modules, Templates, Languages, Plugins) showed five icons from
administrator/templates/bluestork/, an admin template Joomla removed long ago, so each one was a broken image. The five icons now ship intemplates/crystal/images/legacy-bluestork/and the descriptions point there. - Footer: the duplicate main menu (the “Footer Menu” module) is unpublished, the copyright line reads 2026 and is centred, and the “Contact Us” block is centred.
- A clean starting state: the post-install messages are trimmed to Joomla’s four new-site advisories (action logs, privacy, multi-factor authentication, automated updates), the template overrides are marked as reviewed (no “changes found” warning), and Joomla’s Statistics plugin is switched off.
Package format
- Standalone template:
pkg_crystal-6.1.2.zip, a Joomla package (pkg_crystal.xml) that installs thecrystaltemplate and registers it in the package manager. Before, the download was a bare template zip (crystal.zip). It declaresmethod="upgrade", so an existing Crystal updates in place, and<blockChildUninstall>true</blockChildUninstall>, so the template is removed through the package rather than on its own. - Quickstart bundle:
crystal-quickstart-J6.1.2-06.08.2026.zip, a complete Joomla 6.1.2 install with Crystal pre-loaded as the active template.
If you use a built-in theme: from this release the colours in Theme Colors are applied on top of the preset chosen under Built-in Theme. If your accents change colour after updating, set the Theme Colors to the colours you want (or to match your preset) and save.
Version numbering and earlier history: from this release the first three digits of Crystal’s version match the Joomla release it is built for (6.1.2 = Joomla 6.1.2); a later fix on the same Joomla release adds a fourth digit (6.1.2.1). The previous download was dated 04.11.2025 (version string6.0.0). It installed on Joomla 6 but still carried its own Bootstrap 2 stylesheets, Joomla 3 class calls and an error page Joomla never loaded. This 6.1.2 release is the first one rebuilt natively for Joomla 6.Version 04.11.2025 6.0.0
- Upgraded: Template Ccompatatible 6.0.0
- Fixed: Minor Bugs
Version 24.06.2025 5.3.0
- Upgraded: Template Ccompatatible 5.3.0
- Fixed: Minor Bugs
Version 18.03.2025 5.2.5
- Upgraded: Template Ccompatatible 5.2.5
- Security Fix: XSS Vulnerabilities in Menu Override
Version 05.03.2024 5.2.0
- Updated - Updated to Joomla 5
Version 13.10.2023 4.3.4
- Fixed: Minor Bugs
Version 13.10.2023 4.3.4
- Upgraded - Now compatible with PHP 8.2
- Upgraded - Now compatible Joomla 4.3.4
Version 01.04.2023 4.2.8
- Fixed - Template updated to be compatible with Joomla 4.2