v1.0.0 - Major Release 🚀
What's Changed
Version 1.0.0 represents a complete architectural overhaul of the OpenID Connect library with significant breaking changes and new features.
🔄 Breaking Changes
- Complete library restructure with new Factory → Facade → Services architecture
- Replace
ClientFactorywithOidcFactoryfor client instantiation - Remove parameter objects (
AuthorizationParams,CallbackParams, etc.) - use arrays instead - Update token access methods:
accessToken()instead ofgetAccessToken() - Enhance exception hierarchy with granular, domain-specific exceptions by @spajxo in #46
- Rename ParamsTrait to ClaimsTrait for semantic accuracy by @spajxo in #44
✨ New Features
- Resource Server Support - Built-in JWT and opaque token validation
- Enhanced Caching - HMAC-based secure caching with configurable secrets
- Logout URL Generation - Support for OIDC logout flows
- User Info Endpoint - Direct access to user information
- Refresh Token Support - Built-in token refresh capabilities
- Add consistent factory methods to token classes by @spajxo in #45
- Add createLogoutUrl method to AuthorizationCode by @spajxo in #42
🏗️ Architecture Improvements
- Refactor OidcFactory to static factory pattern by @spajxo in #41
- Remove refreshToken method from ClientCredentials by @spajxo in #43
- Overhaul library structure by @spajxo in #39
📚 Documentation
- Add comprehensive UPGRADE.md guide for 0.x to 1.x migration by @spajxo in #47
- Add input validation to examples and extend PHPStan coverage
- Update project description for clarity and consistency
🛠️ Developer Experience
- PHP 8.4+ Support - Modern PHP features and improved type safety
- Symfony Contracts - Uses
symfony/http-clientandsymfony/cachecontracts - Better Testing - Enhanced test coverage and examples
- Add Claude Code GitHub Workflow by @spajxo in #40
🚨 Migration Required
This is a major breaking release. Please read the UPGRADE.md guide before upgrading from 0.x versions.
Key Migration Steps:
- Update to PHP 8.4+
- Replace
ClientFactory::create()withOidcFactory::create() - Update authorization flow to use new API methods
- Replace parameter objects with arrays
- Update exception handling for new exception hierarchy
📖 Documentation
- UPGRADE.md - Complete migration guide
- README.md - Updated usage examples
- examples/ - Working code samples
Full Changelog: v0.4.0...v1.0.0