This release introduces a comprehensive testing setup and fixes several critical issues around oEmbed handling.
Fixed
- Broken URL notifications now include the invalid URL (fixes #170)
- GraphQL TypeError when querying entries with empty oEmbed URLs (fixes #156)
- Cookie file accumulation via automatic cleanup (fixes #152)
Added
- Docker-based test environment with PostgreSQL
- Codeception + Craft CMS testing integration
- Unit + functional test coverage across services, models, jobs, and providers
- CI pipeline for automated testing and coverage reporting
Improvements
- Defensive validation throughout the notification pipeline with XSS protection
- URL normalization at entry points to prevent null/empty URL issues
- Configurable cookie cleanup with console command and throttling