Skip to content

Optimization and changes for relevant issues.#4

Merged
RZEROSTERN merged 3 commits into
masterfrom
feature/tests-maintenance-april-2026
Apr 18, 2026
Merged

Optimization and changes for relevant issues.#4
RZEROSTERN merged 3 commits into
masterfrom
feature/tests-maintenance-april-2026

Conversation

@RZEROSTERN
Copy link
Copy Markdown
Contributor

This pull request introduces a major release (v1.2) with significant enhancements to reliability, configurability, and developer tooling for the notification core library. Key improvements include support for PSR-16 token caching, robust automatic retry logic for transient errors, expanded error handling, and a comprehensive CI/CD pipeline with enforced code coverage. Several breaking changes and bug fixes are also included to improve consistency and compatibility.

Major feature additions:

  • Added optional PSR-16 cache support to GoogleServiceAccountTokenProvider via a new constructor argument and config options (cache_key), enabling OAuth tokens to be shared across processes/requests. (src/Auth/GoogleServiceAccountTokenProvider.php, composer.json, README.md, CHANGELOG.md) [1] [2] [3] [4] [5] [6] [7]
  • Implemented automatic retry with exponential backoff and jitter for transient failures (HTTP 5xx, 429, PSR-18 transport errors) in both the token provider and FcmHttpV1Client, configurable via max_retries and retry_base_delay_ms. (src/Auth/GoogleServiceAccountTokenProvider.php, CHANGELOG.md) [1] [2]
  • Added a comprehensive GitHub Actions CI/CD pipeline: matrix tests on PHP 7.4–8.4, ≥80% coverage enforcement, auto-tagging on master, and coverage badge publishing. (.github/workflows/ci.yml, README.md, CHANGELOG.md) [1] [2] [3]
  • Introduced PHPUnit configuration and an initial test suite covering all major components. (phpunit.xml.dist, .phpunit.result.cache, composer.json, README.md, CHANGELOG.md) [1] [2] [3] [4] [5]

Breaking changes and enhancements:

  • PushTarget now throws on ambiguous or multiple targets; AndroidOptions::withPriority() throws on unknown values; improved error handling and return types across several classes; widened psr/log version constraint for broader compatibility. (src/Auth/GoogleServiceAccountTokenProvider.php, composer.json, CHANGELOG.md) [1] [2] [3]

Documentation and metadata:

  • Updated README.md badges, features, and roadmap to reflect new CI, coverage, and cache/retry capabilities. (README.md, CHANGELOG.md) [1] [2] [3]

Testing and developer experience:

  • Added Composer scripts and autoloading for tests; suggested psr/simple-cache for shared token caching. (composer.json, phpunit.xml.dist, CHANGELOG.md) [1] [2] [3]

These changes collectively deliver a more robust, configurable, and testable notification core library, preparing it for broader adoption and easier integration into modern PHP projects.

@RZEROSTERN RZEROSTERN merged commit 84fd05f into master Apr 18, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant