CiviCRM 6.19 is a feature release with two changes that matter specifically for Joomla sites. Here is what is in it, from the Joomla side, and how we would update.
At a glance
| Security fixes | No |
|---|---|
| Database schema change | Yes – run the database upgrade |
| API change | Yes – check custom integrations |
| New features | Yes |
| Joomla 6 support | Still "Joomla 5+" – see status |
For Joomla sites
The separate-database upgrade bug is fixed
If CiviCRM keeps its data in its own database, earlier upgrades through the Joomla installer could rewrite its settings with the Joomla database credentials (dev/joomla#60). 6.19.0 fixes that. Background and clean-up steps: CiviCRM with a separate database on Joomla.
The fix is in the installer of 6.19.0 itself, so this is the first upgrade where you shouldn't need to restore CIVICRM_DSN by hand. Back up both settings files anyway.
Fewer "class not found" errors on install and upgrade
As part of the Joomla 5 compatibility work (dev/joomla#54), 6.19.0 fixes class-not-found errors during Joomla installation and upgrade and removes legacy code. It doesn't add Joomla 6 support, but it is the same area of code that Joomla 6 support will build on.
Other changes worth knowing
- CiviMail: custom fields can now be used in mailing tokens, and FlexMailer supports CC and BCC.
- Message templates: send yourself a preview email from the message admin screen.
- Search: full-text search can power the contact quick search, with better matching and speed.
- SearchKit and FormBuilder: several improvements, including smarter smart-group handling and more filters.
- Longer fields: custom group titles and tag names can be longer (schema change).
6.19.1 (13 Oct 2026)
A bug-fix release, no schema or API changes and no security fixes. It fixes recurring contributions created through FormBuilder, a CKEditor 4 status popup, SearchKit dropdown options in conditions, APIv4 performance with hierarchical entities, a CiviContribute warning and KCFinder file icons. If you are going to 6.19, go straight to 6.19.1.
Our verdict
- Separate CiviCRM database? Worth updating soon – the upgrade-bug fix alone is reason enough.
- Everyone else: a normal feature update. Do it on staging first because of the schema change, run the database upgrade, and test custom integrations that use the API.
- On Joomla 6 with a compatibility layer: install on staging and check the user–contact sync and cron before live, as with every release.
Our routine is in A safe CiviCRM update routine for Joomla sites. Full official notes: 6.19.0, 6.19.1.
For developers
- Schema change: run
cv upgrade:db(or the browser upgrade) right after installing the package, before anyone uses the site. - API change: grep your extensions and integrations for the entities you call, and run their tests. For APIv4 callers, property names are case-sensitive since 6.17.1.
- CiviMail tokens with custom fields: if you added custom-field tokens through a hook before, check for duplicates in the token list after updating.
# terminal – where does our own code call the API?
grep -rnE 'civicrm_api3?\(|Civi\\Api4|api4\(' /path/to/civicrm/ext/org.example.* --include=*.php | cut -c1-140
We test every CiviCRM release on Joomla 6 before it goes on client sites. The result per release is on our service page.
See Release watch →
