Proclaim
Version 10.6.3 Stable
| Maturity | Stable |
| Released on | Tuesday, 01 September 2026 |
| Viewed | 0 times |
Release notes
A patch release fixing three faults on the Servers screens, one of which stopped you setting up a server at all. If you manage servers in Proclaim, take this one.
You could not choose a server type
Picking a type when creating or editing a server replaced the screen with an error page. There was no way past it, so a new server could not be set up and an existing one could not be changed.
Two separate faults were behind it, and both are fixed. The type you choose is now stored correctly, and the form returns to your server with that platform's own settings ready to fill in.
Publishing a server from the list did nothing but show an error
Changing a server's status from the Servers list — publishing, unpublishing, archiving, trashing, or bringing a trashed server back — produced an error page instead. Checking in a server someone had left open did the same.
Every other list in Proclaim was unaffected; the Servers list alone was pointing at something that did not exist. It now works as the other lists do.
Health checks no longer report content you have thrown away
System Health counted trashed messages, media files and images as work still to do. Most visibly, a restricted media warning could be raised about a sermon that had been deleted — a security notice about content nobody can reach.
Trashed content is no longer counted. Unpublished and archived content still is, because that is content that will show again.
Findings now tell you what to do about them
Several health findings described a problem and stopped. They now say what the remedy is, and where it does not lie with Proclaim they say that too — an unenforced protected media folder is a web server setting, and the finding says so rather than implying a switch exists somewhere in the component.
The protected media folder also no longer warns that files kept there are publicly downloadable when nothing is kept there.
Finding the media a warning is about
When Proclaim reported that restricted recordings were reachable by anyone holding their address, the button opened the whole media library. On a site with thousands of files that is not something you can act on.
It now opens the list filtered to restricted media, with a Visibility filter you can see and clear like any other. On our test data that is the difference between 112 rows and 14.
Settings that were never reachable
Two fields were asked for by a screen but never declared by its form, so they simply did not appear:
- The site-wide Custom CSS tab showed a description and no editor. It never worked, no site could have saved anything in it, and it has been removed. Custom CSS on a template is unaffected and is where styling belongs.
- The Comments screen offered an Access field that could not appear. Comments take their visibility from the message they belong to, which is now also how the moderation list decides what to show you — previously it could hide comments left by visitors from anyone who was not a Super User.
Requirements
Joomla 5.4 or later, PHP 8.3 or later. Unchanged.
Changes
What's Changed
- fix(health): stop reporting trashed content as work to do by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2021
- fix(health): say what to do about a finding, and link where it can be seen by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2022
- refactor(admin): drop the site-wide Custom CSS tab, which never worked by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2026
- fix(admin): render the fields the templates ask for, and guard the whole class by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2030
- fix(site): a custom CSS sheet of "0" no longer fatals every front-end page by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2034
- fix(servers): three live bugs on the servers screens by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2036
- feat(media): filter the list to restricted files, and point the findings at it by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2032
- chore(release): open the 10.6.3 cycle, with notes by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2038
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.6.2...v10.6.3
Version 10.6.2 Stable
| Maturity | Stable |
| Released on | Friday, 28 August 2026 |
| Viewed | 0 times |
Release notes
A patch release fixing a permissions problem introduced in 10.5.8. If you use Proclaim's per-section permissions, or if the Assets screen has been showing large numbers in the Parent Drifted column, this one matters.
The Assets screen was reporting healthy records as broken
Proclaim's Permissions → Assets screen lists, per table, how many records inherit their permissions and how many carry rules of their own. Since 10.5.8 it has also been reporting almost all of them under Parent Drifted, alongside a row of Section permission records marked as needing cleanup.
Nothing was actually wrong with those records. The screen was checking them against the wrong expectation: it asked whether each record's permissions hang directly off Proclaim, when since 10.5.8 they correctly hang off their section — Messages, Teachers, Media Files and so on. Everything filed correctly was reported as misfiled.
The giveaway, if you saw it, was that the Parent Drifted number matched the Custom Rules number exactly on every row.
⚠️ Clean Up was undoing your per-section permissions
This is the part worth reading if you have pressed that button.
Because every record looked misfiled, Clean Up set about "repairing" them. It deleted the section permission records — the ones that hold your per-section settings — and moved every record's permissions back onto Proclaim itself. A rule set on, say, Messages then had nothing left to apply to.
It did this quietly, and it could run during an update as well as from the button.
Clean Up now leaves correctly filed records alone, keeps your section permission records, and repairs only what is genuinely misfiled.
If your permissions were already flattened
Updating restores the section permission records by itself. Records that were moved off them are put back the first time you run Clean Up on the Assets screen, or the migration wizard — it is not done automatically, so nothing changes underneath you without being asked for.
Your per-section settings themselves are not recoverable if the records holding them were deleted, so it is worth checking Permissions after updating and re-applying anything that has gone.
Requirements
Joomla 5.4 or later, PHP 8.3 or later. Unchanged.
Changes
What's Changed
- fix(assets): measure drift against the section a record is parented to by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2019
- chore(release): open the 10.6.2 cycle, with notes by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2020
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.6.1...v10.6.2
Version 10.6.1 Stable
| Maturity | Stable |
| Released on | Friday, 28 August 2026 |
| Viewed | 0 times |
Release notes
A patch release fixing three problems. If you have installed 10.6.0, this is worth taking.
The "servers waiting to be migrated" notice would not go away
If Proclaim told you that servers were waiting to be migrated, migrating them did not clear the message. Neither did unpublishing or deleting the servers it was pointing at. The notice appeared on the dashboard, in System Health, and at the end of a restore, and it stayed there.
The count was looking at the wrong thing. When Proclaim finishes migrating a server it retires it, but the record keeps its original type — so the count went on including every server you had already dealt with. It could only ever have reached zero if you deleted the records outright.
It now counts servers that are genuinely still waiting. Migrating them clears the notice, and servers you have trashed or unpublished yourself are no longer counted against you.
If you have been looking at that message since updating to 10.6.0 and could not work out what was left to do: the answer may well be nothing, and this release will say so.
The Assets screen showed a spinner that never finished
Opening Permissions → Assets showed a loading spinner and left it there. Pressing Refresh loaded the table, and it behaved from then on, so the problem only appeared on the first visit after an update or a new login.
Nothing was actually loading. The screen was waiting for information it had never asked for. It now requests it when you open the screen, which is what the spinner was always claiming.
Browse opened without searching for your message
On a media file, Browse is meant to start by searching for the message you are working on, rather than showing you the whole channel. It had stopped doing that and opened on an unfiltered list, so you had to type the title in yourself every time.
This affected the YouTube, Vimeo and Wistia browsers, and the series box in the message wizard alongside them. All four now fill in the title again.
Unlike the two above, this one was not introduced by 10.6.0 — it broke when the underlying Joomla field changed, and had been quietly doing nothing for some time.
Requirements
Joomla 5.4 or later, PHP 8.3 or later. Unchanged from 10.6.0.
Changes
What's Changed
- fix(health): count a legacy server as pending only while it still is by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2010
- fix(assets): load the asset table on open instead of promising to by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2011
- chore(release): open the 10.6.1 patch cycle by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2013
- chore: open the 10.6.1 release cycle by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2014
- fix(media): read the modal title from the input Joomla renders by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2016
- docs(release): add the Browse search fix to the 10.6.1 notes by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/2017
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.6.0...v10.6.1
Version 10.6.0 Stable
| Maturity | Stable |
| Released on | Friday, 28 August 2026 |
| Viewed | 0 times |
Release notes
System Health
Proclaim now has a System Health panel on its Administration screen. It runs 24 checks and shows you what it found, including the ones that are passing.
Until now the dashboard carried eight separate notices with three different ways of dismissing them, and once you cleared one the information was gone rather than merely quiet. Health checks stay put. Clearing a notice on the dashboard never removes it from Health, so "why is that field missing?" or "why did nothing sync?" always has somewhere to be answered.
What it reports on: your database schema, scheduled tasks, permissions, media protection, template files, the scripture library, server connections, YouTube quota, and configuration settings whose effects are easy to mistake for a broken feature.
Three are worth calling out because nothing reported them before:
- Restricted media that is still reachable. An access level controls the link, not the file. A restricted recording stored under your site's web root is readable by anyone who has the address, and no screen said so.
- YouTube daily quota. The quota resets on a fixed schedule, so running out is not something that retries — a sync simply stops part way and looks like a sync that found nothing.
- Backups. How long since Proclaim last took one. A restore drops every Proclaim table before it writes anything, so that is worth knowing before you need it.
Uninstalling Proclaim no longer leaves the job half done
⚠️ If you have "drop tables on uninstall" enabled, please read this.
Uninstalling would delete Proclaim's permission records and then stop, leaving every table in place. Your sermons were still there but nothing governed access to them, and the tables that should have gone remained. This had been the case since March.
It now drops the tables first and clears the permission records afterwards, so an interruption leaves the recoverable half of the job undone rather than the unrecoverable one. Three tables the uninstall had never removed are now cleaned up too.
The uninstall also no longer touches anything belonging to another extension whose name happens to begin the same way as Proclaim's.
Restores tell you what is still outstanding
A finished restore used to report one line saying it worked. It now lists what was actually restored — tables, scheduled tasks, template files, configuration — and separately what still needs your attention, or says plainly that nothing does.
It will tell you if media records were restored without their files, which is the normal state after moving to a new server: a database backup carries the records, not the recordings.
Template layouts
Custom template layouts were being written where the front end does not read them, so an edit could appear saved and change nothing. They are now written to the folder the site actually renders from, and exporting a template and importing it again produces the template you exported.
Fixes
- Playlists are now included in Proclaim's permission maintenance. Their permission records were invisible to the Assets screen and to the clean-up tools, and a backup could not reattach them.
- The layout editor's element controls no longer run off the edge of a narrow card. They collapse into a menu instead, so every control stays reachable — including by keyboard.
- The permissions Clean Up screen now shows the section rows it would remove, instead of reporting fewer than it was about to act on.
- Simple Mode no longer discards a message's description, scripture references or teachers when saving.
- One copy of each translation is shipped, rather than two that could disagree.
Accessibility
Element controls in the layout editor meet the minimum target size, and remain operable by keyboard when collapsed into a menu.
Requirements
Joomla 5.4 or later, PHP 8.3 or later.
Version 10.5.10 Stable
| Maturity | Stable |
| Released on | Wednesday, 19 August 2026 |
| Viewed | 0 times |
Release notes
Proclaim 10.5.10 is a maintenance release about installing and updating: what the installer does to your update settings, what happens when a step fails partway, and what a backup is allowed to touch.
Your site was being pointed at a channel that can never offer it an update
The Proclaim installer's finish step rewrote the component's update settings to a channel that stops at 9.2.8 — 9.x to 10.x is a migration rather than an in-place update, so that channel is not meant to announce 10.x at all. It ran on essentially every pass of the routine, including the "no database changes detected" one.
The same step also undid the cleanup that removes the old component-owned update entry, which is why the old stream kept coming back after it appeared to have been removed. It was removed, then written straight back.
Updates belong to the Proclaim package, which declares its own channel. Where the package is installed the component now keeps no update entry of its own, so your site polls once instead of twice and Proclaim stops showing up as a separate component update. Component-only installs, which predate the package, still get a channel — the one carrying current releases.
If your site accumulated a stale entry, updating removes it for you — the package's finish step retires component-owned update entries once the package holds one on the current channel. There is nothing to do by hand.
A failed step no longer throws the whole install away
If a postflight step failed, Joomla rolled the entire install back — after the files were already copied and the database already migrated. That turned a small, recoverable problem into a half-installed site.
Postflight failures are now reported rather than fatal. The install completes, and you are told what did not finish.
Relatedly, an update that finds a migration's work already done now skips it and carries on, instead of treating it as a failure and aborting.
Backups leave the scripture library alone
Proclaim's backup and restore identified tables by name prefix, which swept in four tables belonging to the CWM Scripture library. Restoring a Proclaim backup could therefore overwrite scripture data Proclaim does not own — including on sites where another extension shares that library.
Backup and restore now cover Proclaim's own tables only.
The update report covers the whole update
10.5.9 began timing and reporting migrations. That report now covers the rest of the postflight work too, so the summary at the end accounts for the whole update rather than one phase of it.
Also fixed
- Seed data aliases are written as readable text rather than hex, so they are legible in a database client.
- Table-existence checks now ask the database directly instead of matching a name pattern, which could match tables belonging to another extension.
Scripture
Ships CWM Scripture Library 1.1.18 and the CWM Scripture package 1.2.11.
For developers
Most of this release is work on the release gate itself — the install, upgrade, frontend and uninstall probes that run before every Proclaim release. Several were passing while asserting nothing, or stopping at the first failure and hiding the rest; those are fixed and are why the user-visible fixes above were found. Every migration is now executed against a scratch database on each pull request, which nothing did before.
Changes
What's Changed
- chore: record the 10.5.9 release and open the 10.5.10 cycle by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1848
- chore: remove the 10.5.9 release source text now it has shipped by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1849
- fix: stop the installer pointing sites at the 9.x update stream by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1852
- feat: time the rest of postflight, not just the migrations by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1853
- fix: a failed postflight step no longer rolls back the install by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1855
- fix: retire the component's update sites only against a working package one by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1856
- fix: let a replayed migration skip work already applied instead of aborting by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1858
- docs: record that issues are tracked on the project board, not a milestone by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1859
- fix: restore the scripture stack after clearing consumers, instead of guarding it by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1861
- docs: name the type: label namespace, since bare bug/enhancement are gone by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1863
- fix: stop the upgrade harness reporting bible data loss that never happened by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1868
- fix: report the coverage a test:upgrade run skipped, instead of passing silently by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1869
- fix: stop four more conditional blocks passing while they assert nothing by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1870
- fix(build): tell the upgrade guard which version is being released (#1871) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1873
- refactor(build): adopt cwm-reset-testsite, dropping the local copy by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1875
- fix(sql): write seed aliases as string literals, not hex (#1879) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1884
- chore(build): delete orphaned build/joomla-cms-deps.php (#1872) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1885
- fix: leave the shared scripture tables alone across a restore by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1883
- chore(deps): update cwm/build-tools to v1.23.2 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1886
- ci: drop the deleted path, trigger the install job on composer.lock by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1887
- chore(ci): add lint-workflows to the check chain by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1888
- chore(ci): drop two paths-ignore entries that exclude nothing by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1889
- ci: bump github/codeql-action from 4.37.6 to 4.37.7 in the actions-minor-and-patch group by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1878
- chore(deps-dev): bump the npm-minor-and-patch group with 4 updates by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1877
- chore(deps-dev): bump joomla/filter from 4.0.2 to 4.1.0 in the composer-minor-and-patch group by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1876
- refactor(build): migrate the API and Scripture install verifiers to TestSite by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1890
- refactor(build): migrate verify-migrations to TestSite, fixing a second-install fatal by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1891
- refactor(build): migrate verify-frontend to TestSite, fixing the same second-install fatal by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1892
- refactor(build): migrate seed-testsite-menus to TestSite, retiring esc() by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1893
- fix(build): make the scripture upgrade probe's diagnostics reachable again by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1894
- fix(build): revive 22 dead guards in the scripture uninstall probe by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1895
- chore(ci): stop writing database keys nothing reads into build.properties by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1897
- chore: drop the database keys from the committed properties template by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1898
- fix(build): report every failing check in test-install, not just the first by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1899
- ci: run the e2e job on every pull request, not an allow-list by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1900
- chore(deps): bump cwm/build-tools to ^1.27 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1901
- fix(build): make test:upgrade actually change version, and prove it did by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1902
- chore(deps): apply the available dependency updates by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1904
- chore: move the scripturelinks submodule to v1.2.11 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1905
- fix(backup): leave the shared scripture stack out of backup and restore by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1906
- refactor: ask information_schema for existence, not a LIKE pattern by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1907
- build(deps): take Babel 8, by removing the option that blocked it by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1908
- chore(deps): bump cwm/build-tools to ^1.28 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1909
- chore: sync the managed .gitignore block by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1910
- chore(deps): bump cwm/build-tools to ^1.29 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1911
- test(schema): replay every migration in CI, from a committed baseline by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1912
- fix(schema):
fromis the highest migration shipped, not the release number by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1913 - chore(deps): bump cwm/build-tools to ^1.31 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1914
- docs(release): user-facing notes for 10.5.10 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1915
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.9...v10.5.10
Version 10.5.9 Stable
| Maturity | Stable |
| Released on | Friday, 14 August 2026 |
| Viewed | 0 times |
Release notes
Proclaim 10.5.9 is a maintenance release, and its subject is the update itself. Updating Proclaim is now much faster on a site with real content, and the update tells you what it did instead of leaving you watching a spinner.
Updating is faster, and it explains itself
Every Proclaim update used to re-run every data migration written since 10.0, each one reading whole tables to discover it had nothing to do. On a site with years of sermons in it, that is what made a routine update take minutes.
Each migration is now gated on the version you are updating from. It runs once, on the update that actually needs it, and is skipped from then on.
The update also reports on itself now. When it finishes, it lists which migrations ran, which were skipped and how long each took, together with the time spent unpacking and copying files before that. The same record is written to a log file, so an update can still be looked at days later, on a site that has already been updated.
The download button may look different
If you never chose a style for the sermon download button, it was rendering as an outline button — a style the settings form does not offer and you could not have picked. It now renders solid, matching what the form says it is, and the label is readable against the button colour.
This is visible on upgrade. If you prefer a different style, Proclaim's options now offer every variant the button can actually use.
Also fixed
- Comment moderation buttons in the admin no longer depend on inline scripts, so they keep working on sites that enforce a Content Security Policy.
- Removed a superseded layout and two dialogs that nothing could open.
Scripture
Ships CWM Scripture Library 1.1.18 and the CWM Scripture package 1.2.10.
Version 10.5.8 Stable
| Maturity | Stable |
| Released on | Friday, 14 August 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- chore: open the 10.5.8 development cycle by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1702
- docs: stop the 10.5.7 notes claiming the update row now reads Package (#1700) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1703
- chore: put the scripturelinks pin back on the v1.2.2 tag by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1704
- feat: give the test site a front end, and check that it renders (#1701) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1705
- fix: stop Database Maintenance reporting an index we removed on purpose (#1706) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1707
- chore(deps): intl-tel-input 29.1.2 → 29.2.2 (#1696) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1710
- chore: pin cwm/build-tools v1.15.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1711
- chore(deps): eslint 10.8.1, terser 5.49.2 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1713
- chore(deps): retire @babel/cli and @rollup/plugin-babel, which nothing calls by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1715
- ci: bump github/codeql-action from 4.37.4 to 4.37.6 in the actions-minor-and-patch group by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1709
- chore(deps): bump core-js from 3.49.0 to 3.50.0 in the npm-minor-and-patch group across 1 directory by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1714
- fix: correct two ACL asset names, and bind the rest to access.xml (#1653 phase 0) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1669
- feat: create com_proclaim section assets, provably inert (#1653 phase 1) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1670
- feat: ask section-level permission questions in admin lists (#1653 phase 1.5) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1671
- feat: make the admin toolbars ask the section, not the component (#1653 phase 1.5b) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1716
- feat: give section permissions their own screen, so they can be saved (#1653 phase 2) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1717
- feat: gate create and edit on the section, not the component (#1653 phase 3) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1718
- fix: drop share, cssedit and style — three sections that govern nothing (#1653) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1720
- feat: parent item assets to their section, so section rules reach them (#1653) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1721
- fix: correct the three asset names that disagreed with access.xml (#1653) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1722
- feat: custom CSS for Proclaim, site-wide and per template (#1719) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1725
- fix: strip a failed save's asset, and close the gap when removing one (#1723, #1724) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1726
- fix: drop seven columns on #__bsms_studies that nothing reads or writes (#1690) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1727
- chore: bump the scripture submodule pins for the shared book-code table (#1688) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1728
- fix: retire #__bsms_books, whose rows are language keys the library already holds (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1729
- fix: make the scripture migration repeatable so stranded studies can be repaired (#1623) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1732
- feat: drive the book facets from the junction (#1623 step 2, tier 1) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1733
- feat: match the Book cross-filter against the junction (#1623 step 2, tier 2a) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1734
- fix: bracket the Book filter's disjunction so it cannot escape the query's scope by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1735
- fix: stop relying on where()'s glue argument, and pin both where() traps in a test by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1736
- feat: match the sermons book filter against the junction (#1623 step 2, tier 2b) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1737
- feat: score and index every scripture reference, not just the first (#1623 step 2, tier 3) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1738
- feat: read scriptures from the junction in the last three views (#1623 step 1) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1730
- chore(deps): allow install scripts for three packages, and dedupe fsevents by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1739
- feat: derive bookname from the junction, and fix comment search (#1623 step 2, tier 4) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1740
- feat: prefer the junction in the last flat-column readers (#1623 step 2, tier 4b) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1741
- feat: stop writing the legacy scripture columns (#1623 step 2, commit 5) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1742
- feat: drop the flat scripture columns (#1623 step 3) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1743
- fix: retire the legacy columns in PHP, where the backfill cannot be skipped (#1623) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1744
- fix: seed the study_teachers junction so no install starts out unmigrated (#1731 commit 0) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1746
- feat: read teachers from the junction only (#1731 reader conversions) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1747
- fix: one missing table no longer stops the primary-key check by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1748
- feat: stop writing teacher_id and retire the column (#1731) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1750
- fix: empty phone links, and a11y detail tests that were not running by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1751
- fix(api): stop views declaring fields the responses never contain (#1749) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1752
- fix(api): apply the five list filters that were accepted and discarded (#1753) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1754
- ci: run the API acceptance job when the API's models and tables change (#1755) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1756
- fix: build the bundled scripture package from the pinned submodule, not the newest zip by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1758
- chore: pin the scripture stack to lib 1.1.11 / pkg 1.2.3 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1759
- chore: pin the scripture stack to lib 1.1.12 / pkg 1.2.4 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1762
- feat: look scripture up from the book number, with a fallback by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1764
- fix: guard the composer install on the entry point, not its directory by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1765
- fix: ask the library for the book name instead of translating the key by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1766
- chore: pin the scripture stack to lib 1.1.13 / pkg 1.2.5 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1767
- ci: make the JS Lint job actually lint by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1768
- fix(plugin): stop the DROP TABLE guard matching the phrase in a comment by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1769
- chore: refresh cwm/build-tools to 1.18.0 for the artifact token gate by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1770
- chore: restore composer.json formatting, and move to build-tools 1.18.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1771
- chore: refresh cwm/build-tools to 1.19.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1772
- chore: pin the scripture stack to lib 1.1.14 / pkg 1.2.6 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1773
- fix(forms): point the popup-image picker at a directory that exists by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1775
- feat(media): a media file inherits the access of its message and series by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1777
- refactor(media): extract the streaming layer into CwmmediaStreamer by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1778
- feat(media): serve downloads through the shared streamer by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1779
- feat(media): warn when a restricted media file is still public on disk by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1780
- feat(podcast): the feed no longer lists items the reader cannot see by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1781
- feat(media): verify a directory is actually refused, rather than assuming by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1782
- feat(media): the protected media directory, and its verdict by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1783
- feat(media): move a self-hosted file into protected storage by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1784
- feat(media): tell the administrator what this server actually does by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1785
- chore(config): declare the protected-media state so Options does not drop it by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1786
- fix(api): do not touch the document when there is no document by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1788
- fix: remove the popup image field, which nothing has ever rendered by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1789
- chore: pin the scripture stack to lib 1.1.16 / pkg 1.2.8 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1790
- chore: pin the scripture stack to lib 1.1.17 / pkg 1.2.9 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1792
- fix: stop reading and writing the retired teacher_id column by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1791
- fix: let Batch → Teacher add rather than replace by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1794
- fix: repair the media popup, and name every embedded player frame by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1795
- fix: derive comment moderation state server-side by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1797
- fix: serve the landing page for a request with no view by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1798
- fix: keep Proclaim's buttons readable under a site template's link colour by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1799
- test: run the site views under a Gantry template by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1800
- test: remove the media dirs the YouTube cache tests create by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1801
- chore(deps): bump cwm/build-tools to 1.20.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1802
- fix: keep Proclaim's landing page legible under a site template by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1805
- fix: load cwmcore on the landing page and drop its duplicate skip link by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1809
- fix: load Proclaim's core stylesheet on every site view by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1810
- chore(deps): bump cwm/build-tools to 1.21.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1811
- fix: keep outline buttons legible under a site template by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1812
- fix: give the series podcast view a not-found page, and deliver the 404 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1816
- feat: allow custom CSS per landing section by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1817
- chore(deps): bump cwm/build-tools to 1.22.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1818
- fix: stop rendering media controls as javascript: URLs by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1819
- release: merge development into main for 10.5.8 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1821
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.7...v10.5.8
Version 10.5.7 Stable
| Maturity | Stable |
| Released on | Monday, 10 August 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- fix: retire update sites left registered against com_proclaim (#1666) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1667
- fix(deps): raise the js-yaml override floor to the patched 4.3.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1668
- feat: assert the published update stream can still reach every site (#1666) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1673
- fix: unregister the package's own consumers on uninstall (#1662) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1674
- fix: let com_proclaim actually remove its own modules and plugins (#1676) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1678
- feat: stop Proclaim's uninstaller removing the scripture stack (#1675) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1677
- fix: stop postflight running install work during an uninstall (#1679) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1680
- fix: close the playlist junction upsert race (#1658) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1682
- fix: split the compound ALTERs Joomla only half-checks, and reconcile uq_aggregate in PHP (#1664) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1683
- docs: add the 10.5.7 changelog entry by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1681
- chore: make the component-entry review date announce itself (#1666) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1684
- fix: stop the E2E API job timing out, and make a failing nightly reach a human by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1685
- test: give #1623's safety net back the two tests it was missing by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1686
- fix: read book names from the scripture library, not #__bsms_books (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1689
- fix: Shape A — stop joining #__bsms_books for a name the library already has (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1691
- fix: ask the studies which books are in use, not the books table (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1692
- chore: pin lib_cwmscripture v1.1.10-rc1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1693
- docs: note the podcast book-name fix in 10.5.7 (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1694
- fix: finish Shape B, and unbreak the landing page's Books section (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1695
- chore: pin lib_cwmscripture v1.1.10 (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1697
- chore: pin scripturelinks v1.2.2 (#1687) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1698
- docs: move the 10.5.7 release date to the day it is being cut by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1699
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.6...v10.5.7
Version 10.5.6 Stable
| Maturity | Stable |
| Released on | Saturday, 08 August 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- fix: define BIBLESTUDY_* path constants in every application by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1430
- docs: trim CLAUDE.md to non-derivable content by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1432
- fix: read Proclaim version from manifest_cache, load language files everywhere by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1433
- feat: add GET /v1/proclaim/info API endpoint by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1434
- docs: add PR Hygiene section to CONTRIBUTING.md by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1435
- fix: restore ACL check in CwmsermonController::allowEdit() by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1451
- fix: add MultiCampusAccessTrait to CwmplaylistController by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1452
- fix: CwmcommentController::batch() references nonexistent 'Comment' model by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1453
- fix: route saveChapters() through Table save instead of raw SQL by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1454
- fix: make CwmsermonController::commentsEmail() private by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1455
- fix: escape group title in FiltersField.php by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1468
- fix: replace dark-mode-unsafe classes in 5 admin fields by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1470
- chore: add missing suites to composer test:unit script by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1471
- fix: escape interpolated values in Modal/ServerTypeField.php by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1472
- fix: escape hex value in ColorPickerField.php by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1473
- fix: correct inverted conditional in MediaFileField option labels by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1474
- fix: stop TemplateListField's static cache leaking XML options across instances by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1475
- fix: derive hardcoded jform[...] names from field state in 2 fields by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1476
- chore: remove two orphaned field classes with mismatched $type by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1477
- fix: correct base class for 9 fields extending ListField without a real list by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1478
- Migrate StudyField/TeacherDisplayField to ModalSelectField; delete orphaned LocationField by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1479
- Migrate ServerTypeField to core ModalSelectField by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1481
- Drop redundant per-location usage query in LocationGroupMappingField by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1482
- Field rendering-style cleanup: fix 3 correctness bugs from #1467 audit by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1485
- Migrate PopupCodeField/DescriptionFormatField scripts to WebAssetManager by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1486
- Migrate LocationGroupMappingField's serialisation script to WebAssetManager by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1487
- Migrate CustomField/ColorPickerField script and style to WebAssetManager by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1488
- Extract BibleVersionField's business logic to CwmbibleVersionHelper by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1490
- Correct CwmcpanelController's base class to BaseController by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1491
- fix: move CwmadminController's legacy AJAX SQL into CwmadminModel by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1493
- fix: move CwmmessageController's topic tag-sync into CwmmessageModel by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1494
- fix: harden CwmaiHelper AI Assist error handling against Gemini quirks by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1496
- refactor: extract CwmscriptureController's provider-fallback chain into a helper by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1497
- refactor: extract CwmpodcastController's HTTP streaming logic into CwmpodcastTrackHelper by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1498
- refactor: hoist API preprocessSaveData() field-stripping into a shared helper by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1499
- fix: checkDeleteFiles() 500s on every call; dedupe with CwmmediafilesHelper by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1500
- fix: controller cleanup nits — legacy by-ref getModel(), duplicated shutdown handler, dead code by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1504
- feat: episode number auto-fill, duplicate detection, and audit report by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1506
- fix: cwmseriesdisplays.paginateAjax always 500'd — two distinct root causes by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1507
- fix: delete-confirm.js sends the wrong CSRF token, silently disabling the warning modal by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1508
- fix: regenerate podcast RSS feeds when podcast settings are saved by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1510
- refactor: consolidate 5 duplicate sendJsonResponse() implementations into a shared trait by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1511
- chore: enable phpdoc_scalar and normalize long-form scalar types in PHPDoc by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1512
- fix: changePlayerByMediaTypeXHR() reads mediatype correctly and matches real records by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1514
- fix: CwmpIconvert PreachIT converter — broken redirect message, malformed/mis-escaped JSON, untyped params by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1516
- chore: bump dev dependencies (globals, rollup) and patch brace-expansion advisory by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1517
- fix: CwmpIconvert validates PreachIT access codes against #__viewlevels by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1520
- chore(deps): bump guzzlehttp/guzzle from 7.15.1 to 7.15.2 in /admin/src/Addons/Servers/Youtube by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1518
- fix: Cwmbackup validates table names against Proclaim's own tables by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1529
- fix: Cwmrestore restricts executed statements to Cwmbackup's own SQL shapes by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1530
- fix: Cwmassets nested-set drift on parent-reparent and N+1 in status query by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1531
- fix: Cwmrestore reads backuprestore via getCmd(), not getWord() by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1532
- fix: Cwmssconvert stops double-escaping bios and fixes crosswalk overwrite by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1533
- fix: Cwmbackup streams exportdb() in chunks instead of buffering the dump by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1534
- fix: remove dead Cwmstats::getTopScoreSite() method by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1535
- fix: CwmpIconvert book-number mapping and 8 other logic bugs by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1536
- fix: CwmImageMigration path traversal and 2 efficiency bugs by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1543
- fix: CwmmigrationHelper batch-skip, junction-row orphaning, TOCTOU doc by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1544
- fix: CwmcsvimportHelper access-control bypass, date-parsing corruption by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1545
- fix: CwmupgradeHelper drops live table, cleanup runs on failed upgrade, guided-tour errors hidden by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1546
- fix: CwmserverMigrationHelper external-host filename corruption, legacy-ID precedence by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1547
- fix: CwmtemplatemigrationHelper rename clobbers new params, rowspan cleanup skipped by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1548
- fix: CwmyoutubeQuota fail-open write failures, TOCTOU lost-update race, DST-unsafe reset by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1554
- fix: CwmyoutubeFileCache public cache dir has no access control, silent write failures, torn reads by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1555
- fix: CwmpodcastTrackHelper proxy drops Location header, Host-header-based misrouting by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1556
- fix: CwmaiHelper Gemini API key leak, silent failure masking, JSON extraction fragility by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1557
- fix: CwmplaylistSyncHelper fatal-flag write-back stop, logger fail-open, quota/upgrade-helper fixes (#1553) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1559
- fix: multi-campus location filtering fatal-on-enable + fail-open bypass (#1561) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1592
- fix: CwmschemaorgHelper stored XSS, Smart Sync hash mismatch, divergent sync builders by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1593
- fix: CwmImageCleanup path traversal, TOCTOU races, false-positive orphan detection by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1594
- test: trim tautological/vacuous/duplicate tests, consolidate copy-paste files by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1595
- test: correctness pass — fix tests that stayed green when guarded behavior broke by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1596
- test: seed fixtures so CI-vacuous integration tests exercise their real branches by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1597
- build: raise Node floor and CI runners to 24 (active LTS; 20 is EOL) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1598
- fix: Cwmuploadscript upload() unreachable via type mismatch, Legal Extensions ignored by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1600
- fix: restrict cwmmediafile.xhr to an addon allow-list and require edit/create by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1601
- fix: Cwmalias backfill assigned duplicate aliases, serving the wrong record by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1602
- fix: CwmdbHelper execute() bool contract and unanchored table allow-list match by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1603
- fix: Cwmparams fatal on corrupt component params and on a missing admin row by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1604
- fix: correct corrupted Genesis verse-count table in BibleStructure by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1605
- fix: CwmDebug SQL buffer reachable by anonymous visitors; guard logger calls by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1606
- fix: Cwmthumbnail delete-before-write, unchecked encodes, missing resize allow-list by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1607
- fix: CwmanalyticsHelper w-domain corruption, rollup atomicity, and purge safety by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1610
- fix: honour Global Privacy Control, gate outbound clicks on consent by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1614
- fix: make topic associations atomic, unique and cascade-deleted by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1620
- fix: spellcheck addon language files — "Protocl" has been shipping since 2022 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1615
- fix: stop overwriting admin-edited guided tours on every update by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1618
- fix: make scripture reference saving atomic by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1619
- fix: make teacher associations atomic by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1621
- fix: Cwmhelper fatal on null params, missed streaming skip, CLI warning by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1624
- fix: stop one corrupted thumbnail crashing the public podcast list by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1625
- fix: keep the extension on filenames containing # or ? by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1628
- fix: survive valid-JSON-wrong-shape params in description building by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1630
- fix: validate the whole body of an uploaded WebVTT file by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1631
- fix: read each page's own filters instead of the sermons list's by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1632
- fix: make action logging actually fail open by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1633
- fix: key and daily-rotate the analytics session hash by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1616
- fix: read the Getting Started checklist from the store that holds its settings by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1634
- fix: stop offering unservable Bible versions in a servable-only field by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1635
- fix: report failed YouTube log rotation, and keep reading the rotated file by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1636
- fix: bound outbound HTTP requests that could hang a worker indefinitely by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1637
- fix: throw a RuntimeException that exists by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1638
- fix: batch list methods return arrays, and each widget labels itself by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1639
- fix: stale backup version and 'worning' alert type by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1640
- fix: make episode numbers unique within a series by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1629
- ci: bump github/codeql-action from 4.37.3 to 4.37.4 in the actions-minor-and-patch group by @dependabot[bot] in https://github.com/Joomla-Bible-Study/Proclaim/pull/1489
- perf: batch and chunk the Schema.org bulk sync (#1562) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1641
- fix: make (remote playlist, server) unique and de-dup existing rows (#1560) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1642
- fix: follow Joomla's delete flow for teachers (#1622) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1643
- fix: make the media display batch apply a whole configuration (#1627) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1644
- fix: stop storing referrer query strings, retire the dead retention setting (#1612, #1609) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1645
- test: complete the release gate for 10.5.6 and stop reset-testsite leaking rows by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1646
- fix: YouTube title matching skips the reversed reading (#1591) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1647
- fix: the Getting Started podcast step could never appear (#1626) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1648
- test: pin scripture rendering before converting the read paths (#1623) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1649
- docs: state behaviour in admin/src/Helper docblocks (#1617) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1650
- docs: finish the behaviour-first docblock sweep for this repo (#1617) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1651
- fix: count only submitted content as awaiting review, gate every cpanel tile by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1652
- fix: make admin list column sorting work (#1654) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1655
- fix: make JSON decode failures observable (#1558 tier A) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1657
- fix: stop two JSON fallbacks failing quietly (#1558 tier B) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1659
- chore: pin lib_cwmscripture v1.1.9 and scripturelinks v1.2.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1660
- test: make step 11 check its own precondition (lib_cwmscripture#37) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1663
- fix: stop an absent index aborting the update, and get test:release green by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1665
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.5...v10.5.6
Version 10.5.5 Stable
| Maturity | Stable |
| Released on | Sunday, 02 August 2026 |
| Viewed | 0 times |
Release notes
Same-day follow-up to 10.5.4: closes an SSRF (server-side request forgery) gap in the podcast download-tracking proxy introduced by that release.
10.5.4 replaced the tracking redirect with a server-side proxy for externally-hosted media, so the tracking link itself could correctly answer the Range/HEAD requests Apple Podcasts uses to validate a show. That proxy fetched the configured media URL itself and relayed the response to the caller, rather than sending the visitor's own browser/app to fetch it — a real difference in capability: an admin-configured server path pointed at an internal host (by mistake, or via a compromised admin account) could have turned the public tracking endpoint into a gateway into the site's internal network.
This release adds a guard that resolves the target host and refuses anything that isn't a public, routable address before any request is made, pins the connection to prevent DNS-rebinding around that check, stops following redirects (which could point anywhere the guard never validated), and restricts the proxy to HTTP/HTTPS only.
No action needed beyond updating. Sites that only ran 10.5.4 briefly, with no internal hosts configured as media servers, were not meaningfully exposed in practice — but updating removes the gap regardless.
Changes
What's Changed
- fix(podcast): guard the download-tracking proxy against SSRF (#1426) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1427
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.4...v10.5.5
Version 10.5.4 Stable
| Maturity | Stable |
| Released on | Sunday, 02 August 2026 |
| Viewed | 0 times |
Release notes
A bug fix release. If your podcast has download tracking enabled, this release fixes a defect that could cause Apple Podcasts to stop accepting new episodes and remove previously-published ones from your show.
Podcast download tracking broke Apple Podcasts compliance
When Track Downloads was enabled on a podcast, every episode's audio link in the RSS feed pointed to a tracking URL with no file extension (...&task=cwmpodcast.track&media_id=123) and could not itself answer the "byte-range" requests Apple's crawler uses to validate a show. Apple's own publishing guide states the file extension "determines whether or not content appears in the podcast directory" — on at least one production site this caused new episodes to stop appearing in Apple Podcasts, and earlier episodes to be shown as "no longer available."
This release fixes both issues:
- Tracked episode links now carry a real file extension (e.g.
.mp3), routed through a new, cosmetic-only URL path that still resolves to the exact same tracking/counting logic as before. - The tracking link itself now correctly answers Range and HEAD requests — the way Apple Podcasts and podcast apps check that streaming/scrubbing works — instead of only working after being redirected to the real file.
No action needed beyond updating. If your podcast previously stopped appearing correctly in Apple Podcasts, allow a few days after updating for Apple to re-crawl and restore it.
Podcast owner/identity fields were scattered and one was invisible
Author, Editor Name, Editor Email, Publisher, and Copyright — all fields describing who is behind a show — were spread across three different tabs with no indication of how they relate. The Copyright field was fully wired into the database and feed since 10.5.1 but had no visible form control at all, so it could only ever fall back to the site name. All five fields now live together in the Feed Owner tab, and Copyright is editable.
Changes
What's Changed
- fix(podcast): give tracked enclosure URLs a real file extension (#1424) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1425
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.3...v10.5.4
Version 10.5.3 Stable
| Maturity | Stable |
| Released on | Saturday, 01 August 2026 |
| Viewed | 0 times |
Release notes
A bug fix release. If your site has been running Proclaim since before March 2026, two settings screens have been silently discarding your input since then — this release repairs the database and both screens start saving correctly.
Podcasting 2.0 fields wouldn't save
Filling in Funding/Donation URL, Funding Button Text, Content License, License URL, Publisher Name, Podcast Index Verification, or Publishing Schedule on a podcast and clicking save showed "Item saved" — and then reopening the podcast showed the field empty again. The database columns for these fields were added to fresh installs back in March 2026, but sites that already existed at that point never received them, so every save of these fields was silently discarded. This update adds the missing columns; the fields will save normally afterward.
Linking a teacher to a Joomla user account had the same bug
Teachers → User Account had an identical gap: on any site that existed before March 2026, choosing a Joomla user to link to a teacher record never persisted. Fixed by the same database update.
No action needed beyond updating — both fixes are automatic once the update completes.
Changes
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.2...v10.5.3
Version 10.5.2 Stable
| Maturity | Stable |
| Released on | Saturday, 01 August 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- docs(release): announcement bullets for 10.5.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1415
- fix(podcast): include messages with no series in the podcast feed by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1420
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.1...v10.5.2
Version 10.5.1 Stable
| Maturity | Stable |
| Released on | Saturday, 01 August 2026 |
| Viewed | 0 times |
Release notes
A follow-up to 10.5.0, and worth taking if you publish a podcast. Auditing a live feed against the RSS and Apple specifications turned up five further faults in what Proclaim writes — including episode dates that were eight hours from the truth on any site whose host sits in a different time zone from the one you configured. It also settles two things 10.5.0 itself got wrong during the update.
More podcast feed corrections
- Episode dates use your time zone. Dates were written in the server's time zone rather than the one set in Global Configuration. On a site configured for Chicago but hosted on a machine set to Los Angeles, every episode was published two hours adrift on the clock and eight hours adrift as a moment in time — and podcast apps sort episodes by that moment.
- The channel address is absolute. If your podcast's link is set to a menu item, Proclaim wrote a partial address such as
/resources/sermons.html. RSS does not allow that, and feed validators reject it. - Seasons work in Apple Podcasts. Season and episode numbers were written in a form Apple ignores, so episodes never grouped into seasons there. They are now written in both forms.
- The copyright line names you. Every feed said
© (2026) All rights reserved.— stray brackets, and naming nobody. Podcasts gain a Copyright Holder field; leave it empty and Proclaim uses your site name, so existing feeds gain a real owner without you editing anything. - The feed language is no longer tied to Joomla's. The language was limited to the languages installed in Joomla, and Joomla installs British English — so every church outside the UK published its sermons as British English with no way to correct it. Podcasts now have a Feed Language covering the codes directories act on. Apple and Spotify use it for language and territory targeting, so it is worth setting.
Rebuild your feed after updating and the corrections are in it.
Two things 10.5.0 got wrong while updating
- A successful update no longer reports a failure. Updating showed a red "Could not delete folder" warning beside the success message. Joomla cannot remove a cache folder that the page doing the clearing is still using, and said so in a way that looked like something had gone wrong. Nothing had.
- The cache notice no longer repeats itself. The message naming a caching plugin Proclaim cannot clear for you listed the same plugin twice.
Changes
What's Changed
- chore: update versions.json for the v10.5.0 release by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1406
- docs(release): announcement bullets for 10.5.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1408
- fix(podcast): absolute channel link, and season/episode tags Apple reads by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1409
- fix(podcast): write feed dates in the site's time zone, not the server's by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1410
- feat(podcast): copyright holder and a feed language that is not Joomla's by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1413
- fix(install): stop the cache notice repeating itself and alarming on success by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1414
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.5.0...v10.5.1
Version 10.5.0 Stable
| Maturity | Stable |
| Released on | Saturday, 01 August 2026 |
| Viewed | 0 times |
Release notes
If you publish a podcast, this release is worth taking. An audit of a live feed found four faults that make podcast directories reject episodes or ignore their details, and all four are fixed here. Alongside them, Proclaim can now re-read a media file's size, type and length on demand — so records that were wrong, or that went stale when you replaced a file, can be put right without editing them by hand.
Your podcast feed now passes validation
Four faults, each invisible until a directory refuses the episode.
- Episode length is written correctly. A sermon of 27 minutes 7 seconds was published as
00:27:7rather than00:27:07. Apple's validator rejects that outright; several apps fall back to reading the length from the file, and some simply show nothing. Any episode whose seconds, minutes or hours were entered as a single digit was affected — in the feed we audited, one episode in eight. - Episode files are described accurately. The file type published with each episode came from whatever had been stored on the record, and the fallback value Proclaim used —
audio/mpeg3— is not a real media type. Feeds were also declaring M4A files as MP3. The type is now worked out from the file itself, so it matches what subscribers actually download. - Episode identity is declared as an identity. The tag podcast apps use to recognise an episode was being offered without saying what it is, which entitles an app to treat it as a web address and try to fetch it. It is now marked as an identifier, which is what it has been since 10.4.0.
- Addresses use https. On any site that had not changed the setting, every address in the feed — artwork, links, the episode files themselves — was written as
http://. On a secure site that means a redirect for every one, and browsers may warn about the artwork. New installs and any site that never touched the setting now usehttps://.
Nothing needs doing to pick these up: rebuild your feed after updating and the corrections are in it.
Correcting media file details
Size, type and length are detected when you add a media file. Until now, if a detail was wrong — or the file was replaced later — there was no way to ask Proclaim to look again.
- Re-detect Metadata. A button on the media file edit screen reads the size, type and length from the file again and replaces what is stored. This is the one to use when a file has been replaced but kept its name, where the stored details are stale rather than missing.
- Re-read every file. The Fix Missing Metadata tool, under Podcasts → Validate, gains a Re-read every file option that applies the same thing in bulk. It is off by default and says why: it reads every file, so it is slower, and on YouTube or similar it spends one API call per video.
- Clearing a detail asks for it again. Emptying the file size and saving now re-runs detection for it — the obvious thing to try, which previously did nothing at all.
- Mismatches are reported. Feed validation now tells you when a file's stored type disagrees with the file itself, and the fix button beside it corrects those records rather than passing over them as already set.
The sermons list
- The filter panel starts closed. It was opening on every visit, pushing the sermons themselves down the page. It now opens when you ask for it, or when a filter is actually applied — matching the rest of Joomla.
- Filtering is half the work it was. Each change of a filter was quietly asking the server for results twice. Now it asks once, so results arrive sooner on a busy site.
Smaller corrections
- Choose Playlist(s) no longer appears on media files whose server cannot hold playlists, where it could only ever be an empty box.
- Lengths entered by hand are stored properly, which also makes those records visible to the tools meant to repair them. A length typed as
7was being read as "already set" by every repair and detection routine in Proclaim, so precisely the records that needed fixing were the ones being skipped. - The file-type list no longer offers
audio/mp3, which is not a registered type and was the only MP3 choice available — which is how feeds came to publish it in the first place. Existing records keep working; re-detect them when convenient. - Caches are cleared after an update, and any third-party cache Proclaim cannot clear is named so you can clear it yourself. A page held in cache can otherwise point at script files the update replaced.
Version 10.4.1 Stable
| Maturity | Stable |
| Released on | Thursday, 30 July 2026 |
| Viewed | 0 times |
Release notes
If you have ever downloaded a Bible translation for offline use, please read the first section — earlier updates were deleting those downloads, and this release stops that. It also fixes the Bible version switcher, which has not worked on sermon pages since 10.3.0, and repairs media icons that were rendering as empty boxes.
Downloaded Bible translations are no longer lost when you update
Updating Proclaim was deleting every Bible translation you had downloaded for offline use, along with the cached passages fetched from online providers. The Local Translations panel came back looking like a fresh install, with nothing marked as downloaded.
The cause was in the scripture library rather than Proclaim itself. Joomla has no way to update a library in place — it uninstalls the old one and installs the new one — and the library's uninstall step removed its own database tables. On a real uninstall that is correct. On an update it destroyed data, silently, every time.
This release blocks that on all three paths an update can take: through the Proclaim package, through the scripture package, and through Joomla's Update Manager when only the library is updated. There is no configuration to change.
If a previous update already wiped your translations, they do not come back on their own:
- The two translations Proclaim ships with — King James Version and World English Bible — re-download by themselves shortly after this update, through the scheduled task that handles background downloads.
- Anything else you had downloaded needs downloading again, from Proclaim → Admin Center → Scripture. Your settings, API keys and provider choices were never affected — only the downloaded verse text.
Cached passages from GetBible or API.Bible are also protected now. Losing those was less serious, since they refill themselves, but each one cost a fresh request to the provider.
The Bible version switcher works again
Switching translations on a sermon page did nothing at all. The dropdown opened, you chose a version, and the passage never changed — no error, nothing in the log.
It broke in 10.3.0 when the scripture code moved into its own library and the switcher's script started looking for its settings under a different name than Proclaim was publishing. Confusingly, it did work on pages where the Scripture Links plugin had already run, which is why the fault came and went depending on the page.
The scripture autocomplete in the sermon editor was broken by the same mismatch — its book list has been empty since 10.3.0 — and is fixed too.
Both need at least one translation available: if an earlier update wiped your downloads, download one first or the switcher will still have nothing to switch to.
Media icons render properly again
YouTube, Vimeo and video icons were showing as empty boxes or blank squares on sermon pages and in the media list.
An earlier migration converted stored icon settings to Font Awesome 6 but put brand icons in the wrong font family, where the glyph simply does not exist. This release corrects the stored settings for you when you update, and Proclaim now handles the brand icons correctly whatever is in your database — including on sites whose settings were imported from another install and never converted at all.
Accessibility
Two buttons in the administrator failed the WCAG 2.2 AA contrast requirement: the Fix database action on the control panel notice, and any warning-coloured button placed inside a coloured alert. Both are corrected, and the accessibility scan now checks every button style in every alert context on each release, rather than only the ones a page happens to show.
Removing the scripture library is now refused while Proclaim needs it
If you try to uninstall CWM Scripture Library while Proclaim or the Scripture Links plugin is installed, Joomla now refuses and tells you which extension still depends on it. Previously the uninstall succeeded and took the shared Bible tables with it, leaving Proclaim unable to display scripture.
Uninstall the extensions that use it first, and removal works as before. The library also detects extensions that use it without registering, so a third-party extension's downloaded translations are protected too.
Under the hood
- Release packages are now checked against their sources, so a file left behind by an old build cannot ship in a release. The published 1.1.6 scripture library had carried three such files for months.
- The upgrade test suite now plants a downloaded translation, cached passages and an unregistered dependent extension before upgrading, and fails if any of them are harmed — including a deliberate check that the old fault is still detectable, so the protection cannot quietly stop working.
Changes
What's Changed
- fix(release): pin ars.environments so published items carry real requirements by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1360
- chore(deps): cwm/build-tools 1.9.1 — ARS publish refuses null environments by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1361
- feat(youtube): disable Direct streaming until the account is connected by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1362
- chore(language): sync the stream-mode OAuth notice to all locales by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1363
- chore(language): translate the live-broadcast strings in all six locales by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1364
- test(install): assert the scripture library actually lands on clean installs by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1365
- fix(scripture): publish script options under the keys the library JS reads by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1370
- build: fail the build when media output has no source by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1371
- fix: protect downloaded Bibles across every scripture library upgrade path by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1369
- fix(media): give Font Awesome brand icons the brand family by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1372
- chore(submodule): bump lib_cwmscripture to main (#27) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1373
- fix(submodule): point scripturelinks at main, not the deleted branch by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1374
- fix(a11y): give the schema-fix button enough contrast to pass WCAG AA by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1375
- fix(a11y): stop buttons inside alerts inheriting the alert's text colour by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1376
- chore(install): drop the dead $release property by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1377
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.4.0...v10.4.1
Version 10.4.0 Stable
| Maturity | Stable |
| Released on | Tuesday, 28 July 2026 |
| Viewed | 0 times |
Release notes
Proclaim can now run your YouTube live stream. If your church streams straight to YouTube — no restreaming service in between — Proclaim creates the weekly broadcast for you, and after this release the entire admin area also meets the WCAG 2.2 AA accessibility standard, verified by automated scans on every view.
Live broadcasts on YouTube
Set up once, then going live each week is two steps: tick a box, start your encoder.
- Proclaim schedules the broadcast. On a new media file, switch on Create Live Broadcast and save — a broadcast appears on YouTube, scheduled at the media file's date, titled after the sermon. Nothing is ever created automatically; you switch it on per sermon.
- Your encoder is configured once. Proclaim provisions one reusable stream for the server, and the connection details — RTMP address and stream key — live in the server's new Live Streaming settings, with the key kept masked until you choose to reveal it. Point OBS (or your hardware encoder) at it once and it works for every broadcast after.
- Optionally, going live is automatic. With the server's "Go live when the encoder starts" switch on, starting the encoder starts the stream — no YouTube Studio visit at any step. It is off by default so a sound check cannot go live by accident.
- The recording takes care of itself. The broadcast's address is the media file's address, so when the stream ends, your sermon page plays the recording — and playlist assignment and description sync treat it like any other video.
- No orphans left behind. Delete the media file before the stream happens and Proclaim removes the scheduled broadcast from YouTube too. A broadcast that is live or already recorded is never touched — a recording is never deleted.
- Restreaming churches are unaffected. If Resi, Restream or similar creates your broadcasts, set the server to External (the default) and none of this appears — the restreamer stays in charge.
- Uses your existing YouTube account connection — no re-authorisation needed.
Accessibility: WCAG 2.2 AA
Every administrator screen and every public page now passes automated WCAG 2.2 Level AA scans — contrast, labels, names, focus — and the scans run on every release so it stays that way.
- Reordering works without dragging. Every orderable list (sermons, teachers, locations, and the rest) has Move Up / Move Down buttons beside the drag handle, and the layout editor's blocks and landing-page sections have movement buttons too — full keyboard and single-tap support.
- Low-contrast text, unlabeled form fields, and inaccessible tooltip and dialog markup were fixed across the admin — including three problems in Joomla itself that Proclaim now repairs on its own screens and has reported to the Joomla project.
Fixed
- The media file Options tab no longer shows a stray, non-functional Live Broadcast section for YouTube servers.
- Opening a brand-new Topic no longer prints a PHP deprecation notice on servers that display errors.
- The Terms of Use page no longer prints PHP warnings when opened without a media file to download.
- Assorted spelling corrections in admin text.
For developers
- A REST API acceptance test now installs the real release package on a disposable Joomla site — in continuous integration, nightly — and proves the API answers correctly before any release ships. The same guard runs in
composer test:release. - The E2E suite's login is retried, session-cached, and scoped to the sites a test run actually uses; local prerequisites are documented in
tests/e2e/README.md.
Changes
What's Changed
- chore: bump active_development to 10.3.7 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1333
- docs(release): user-facing 10.3.6 notes, wired into the release pipeline by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1334
- chore(deps): require cwm/build-tools ^1.8.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1335
- chore(deps): require cwm/build-tools ^1.8.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1336
- chore(deps): require cwm/build-tools ^1.8.2 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1337
- fix(language): sync action-log keys into translations, and repair what the sync mangled by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1338
- fix(language): correct six typos in user-facing strings, and keep them out by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1343
- chore(deps): require cwm/build-tools ^1.9.0 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1344
- chore(submodules): bump scripture projects to their build-tools-1.9.0 mains by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1345
- feat(a11y): scan against WCAG 2.2 AA, and fix what it found by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1340
- docs(a11y): reference the filed upstream issue in the subform shim by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1347
- feat(a11y): scan every admin and site view, and fix what the wider net caught by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1348
- test(a11y): scan the quick-icons module, and cite the filed upstream issues by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1349
- fix(e2e): retry logins, authenticate only the sites in play, reuse sessions by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1351
- chore(deps): weekly dev-dependency bumps, and the cleanup eslint 10.8 demanded by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1352
- test(api): REST API acceptance on a clean package install by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1353
- feat(a11y): non-drag movement for the layout editor and list ordering by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1354
- ci(e2e): run the package-install + API acceptance chain against a disposable Joomla by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1355
- feat(youtube): create scheduled live broadcasts from the media form (#1298 phase 1) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1356
- feat(youtube): bind a persistent ingestion stream, and hand back the encoder connection (#1298 phase 2) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1357
- feat(youtube): cancel orphaned broadcasts on delete, and opt-in auto-start (#1298 phase 3) by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1358
- fix(language): Squeezebox, not Squeezbox by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1359
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.3.6...v10.4.0
Version 10.3.6 Stable
| Maturity | Stable |
| Released on | Monday, 27 July 2026 |
| Viewed | 0 times |
Release notes
Proclaim's REST API works in this release. On every earlier 10.3.x release it returned "not found" at every address, on every site — so if you tried it and gave up, that was not your configuration.
Upgrading is recommended for every site. Two admin faults below could stop you reaching Proclaim's settings at all.
The REST API
- Turning it on is one step — enable the Web Services - Proclaim plugin under System → Plugins. There is no separate Proclaim setting to hunt for.
- Reads need an API token by default. If you want an open, read-only feed, switch on Allow public reads in that same plugin. Creating, updating and deleting always require a token either way.
- Twelve kinds of content are available. Sermons, teachers, series, podcasts, media files, topics, locations and study types can be read and written. Playlists, comments, servers and templates are read-only on purpose.
- Nothing is exposed that the caller could not already see. Every response is limited to the access levels of whoever is asking, so restricted content stays restricted. Media-server credentials and commenter email addresses are never returned to anyone.
- Changes are recorded. Edits made through the API appear in Joomla's Action Logs alongside edits made in the admin, each marked with where it came from, so an audit shows both together.
Fixed
- Proclaim's Options screen could fail to open with a "Cannot access offset of type string on string" error, depending on how a site's text-filter settings were stored.
- Saving Options could lock you out of Proclaim entirely, returning you to the licence screen no matter how many times you accepted it. A site already stuck can clear the Joomla cache and accept once more.
Version 10.3.5 Stable
| Maturity | Stable |
| Released on | Monday, 27 July 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- chore: bump active_development to 10.3.5 for next cycle by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1327
- fix(admin): repair three faults that locked administrators out of Proclaim by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1329
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.3.4...v10.3.5
Version 10.3.4 Stable
| Maturity | Stable |
| Released on | Monday, 27 July 2026 |
| Viewed | 0 times |
Release notes
What's Changed
- fix(api): install webservices plugin and ship API files to the api app by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1311
- chore(deps): bump cwm/build-tools to ^1.6.1 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1312
- fix(build): don't fail the release gate on migration-free versions by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1313
- feat(api): expose 7 more resources, read-only where writes are unsafe by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1314
- feat(logging): record API activity, and make Proclaim's logging actually work by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1315
- feat(api): log authenticated callers refused an action by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1316
- chore(composer): exclude YouTube addon vendor from classmap scan by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1317
- chore(deps): refresh composer.lock by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1318
- fix(youtube): bump bundled Guzzle to 7.15.1 for 4 security advisories by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1319
- fix(deps): bump brace-expansion to 5.0.8 for GHSA-3jxr-9vmj-r5cp by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1320
- chore(deps): bump cwm/build-tools to ^1.6.2 by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1321
- docs(api): record that templatecode writes would be code execution by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1324
- chore(deps): bump cwm/build-tools to ^1.7.0 and sync build.dist.properties by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1325
- feat(api): explain why a write request will not route by @bcordis in https://github.com/Joomla-Bible-Study/Proclaim/pull/1326
Full Changelog: https://github.com/Joomla-Bible-Study/Proclaim/compare/v10.3.3...v10.3.4
Page 1 of 3
