Proclaim 10.2.0 Stable
Released on:
Sunday, 15 March 2026 10:00
## What's New in 10.2.0
### New Features
- **Media Chapters & Subtitles** — VTT/SRT caption file upload, per-media chapter timestamps, clickable chapter lists on frontend players (YouTube iframe + HTML5 video/audio)
- **YouTube OAuth Integration** — OAuth status field, import chapters and download captions directly from YouTube, addon-aware capability flags across 7 platforms
- **Per-Media Copy Description** — Server-configurable description format templates with placeholder replacement ({title}, {series}, {teachers}, {chapters}, etc.)
- **AI Assist Enhancements** — Chapter generation, topic saving fixes, editor API updates for Joomla 6, toggle checkboxes for selective generation
- **Google Drive Server Addon** — Document sharing and embedding for Google Drive links
- **Chunked Export/Import** — Async post-restore steps for large databases
- **YouTube Module Improvements** — Countdown timer, notify button, mini-player, smart quota optimization
- **Podcast Enhancements** — Multi-platform links with Podcast Index API, configurable iTunes settings, artwork validation
- **Schema-Driven Layout Editor** — Settings modal driven by XML schema, media icon sizing
- **Analytics Improvements** — Archived indicators, status filtering, drill-down views, printable reports
- **Social Sharing** — Dual-mode sharing with GDPR-compliant local option
- **Legacy URL Support** — Redirect old com_biblestudy URLs to com_proclaim
- **Playwright E2E Tests** — Browser-based smoke tests for Joomla 5 + 6
### Bug Fixes
- **YouTube API Quota** — Prevent quota exhaustion from search.list overuse; centralized file cache for throttle and scheduled start times; 15-minute search throttle saves ~200 units per hit
- **AI Assist** — Fix topic saving (only one topic saved instead of multiple), chapter generation not displaying, deprecated Joomla editor API warnings
- **Image Handling** — Protect source image from deletion during thumbnail cleanup; prevent File::copy error when source image is missing
- **Frontend Filters** — Series filter not clearing due to stale session state; AJAX pagination page numbers and CSS; clear button disabled; CSRF gate removed from read-only endpoint
- **SEF URLs** — Landing page URL fixes, session state bleeding, page caching; handle legacy 9.x SEF URLs and download redirects
- **Dark Mode** — Theme-aware colors throughout (tables, cards, buttons, YouTube integration, analytics); WCAG AA contrast compliance
- **Sermon Views** — Handle NULL series_id, custom not-found page with cached recent messages
- **Layout Editor** — Add missing hidden fields and option sources to mod_proclaim
- **Content Hash Versioning** — Bust browser cache for updated images
- **AI Token Limits** — Increased limits and truncated response detection
- **Validation** — Register JGLOBAL_VALIDATION_FORM_FAILED for JS; Text::sprintf() for hits/downloads strings
- **Database** — Correct AUTO_INCREMENT counters after backup restore; cast integer properties in Table bind() for PHP 8.3; add missing primary keys for sites upgraded from v7/v8/v9
- **Analytics** — Correct series thumbnail column, fix Cartesian product in getSeriesList, CSV export headers
- **Play Tracking** — Re-init YouTube players after AJAX filter, track inline mp3/Fancybox audio, use Joomla base href for multilingual sites
- **Security** — Escape exception text in innerHTML to prevent XSS (CodeQL #47)
### Testing
- 523 PHPUnit tests (1,149 assertions)
- 231 Jest tests (17 suites) — includes 45 new tests for chapters, VTT upload, AI assist, and YouTube tracks
- PHP CS Fixer: 0 issues across 373 files
- PHP syntax: 1,245 files clean
### Requirements
- PHP 8.3+
- Joomla 5.1+ (also runs on Joomla 6 without backward compatibility layer)
com_proclaim-10.2.0
| Downloaded | 0 times |
| File size | 4.63 Mb |
| MD5 Signature | 5a9d722368da0d41d0e45b629ac60032 |
| SHA1 Signature | b32f6430dd10a52ed22d4140c1a8860fa26fb36d |
| SHA-256 Signature | 7d7bc45821bf077f60b830431b8013204bfed6aced9196e0cb84f60709cd899f |
| SHA-384 Signature | 08157401b1a26341a7f61df58c138b8f6d7a4e9bded2276aef36610eb7bb3ab0a92428fd0bd2b895c07414083a7e99a3 |
| SHA-512 Signature | 602d5bfd4d444f16e4c46e4b4736794637cec7838d2e476492378e399fcf6b4343547a6d702a6609fcf5d07a76ffaf6c78770af4f3364eb74828929f7d0ea438 |
| Compatibility |
