Releases: Comms-Church/comms-church-pco
Releases · Comms-Church/comms-church-pco
Release list
v1.2.1
Full Changelog: v1.2.0...v1.2.1
v1.2.0
v1.1.0 — Compatibility, Cache & Calendar Fixes
What's Changed
This release is a full audit-and-hardening pass. Every PHP file is now lint-verified, and the cache and calendar systems are covered by functional tests.
🛡️ Compatibility & Stability
- PHP 7.4 support — Added polyfills for
str_contains()/str_ends_with(), which previously caused fatal errors on PHP < 8.0 (still common on shared church hosting). Also added aRequires PHPheader and a graceful deactivation guard, so old servers get an admin notice instead of a white screen. - Cache system rewrite — Cache flushes previously destroyed the stale fallback copies the circuit breaker depends on, along with the updater's release cache. Invalidation is now generation-based: flushes are instant, and fallback data survives by design.
- Stale data on any API failure — Visitors now see slightly-old event data instead of an error whenever Planning Center is unreachable, not just when rate-limited.
- TTL floor — An empty cache-duration setting previously created never-expiring caches. Minimum is now 60 seconds.
📅 Add to Calendar Fixes
- Fixed double URL-decoding that corrupted event titles containing
%or+ - All-day events now use the RFC 5545 exclusive end date (previously rendered a day short in some calendar apps)
- Calendar download links are now HMAC-signed — the public .ics endpoint only serves files the site itself generated
⚡ Performance
- Front-end CSS/JS now load only on pages that actually contain PCO content
- Differently-styled blocks showing the same events now share a single cached API fetch
- Category-filtered lists fetch a full API page so results aren't silently truncated
✨ Polish
- Calendar dropdown flips downward when near the top of the viewport instead of clipping offscreen
- Block editor color panels now show whether a custom or global color is active, with one-click reset to global
- Webhook endpoint throttles failed-authentication logging
- New
uninstall.php— deleting the plugin removes all stored options, API credentials, and caches - Added
prefers-reduced-motionsupport and visible keyboard-focus styles
Full Changelog: v1.0.0...v1.1.0
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Initial Release
Full Changelog: https://github.com/Comms-Church/comms-church-pco/commits/v1.0.0