Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 1, 2025

Bumps gacela-project/gacela from 1.10.0 to 1.12.0.

Release notes

Sourced from gacela-project/gacela's releases.

1.12.0

TL;DR: Introduce the #[ServiceMap] attribute, add CLI commands for production optimization, and include factory service registration. Performance improvements and enhanced caching in the renamed ServiceResolver. Static analysis tools now offer enhanced support, including the ability to suppress specific warnings.

✨ New Features

Service Resolution Improvements

  • #[ServiceMap] Attribute: New preferred method for service binding, replacing DocBlock-based resolution
  • ServiceResolverAwareTrait: Enhanced caching and performance improvements
  • Factory Services: Added GacelaConfig::addFactory() to register factory services that create new instances on each resolution

CLI Commands

  • cache:warm: Pre-resolve module classes for optimal production performance
  • validate:config: Validate Gacela configuration for errors and best practices

Performance Enhancements

  • Opcache Preload Script: 20-30% performance boost in production environments
  • Internal caching improvements in ServiceResolver

Static Analysis Support

  • PHPStan & Psalm Suppressions: Added phpstan-gacela.neon and psalm-gacela.xml with suppressions for dynamic patterns
  • Better integration with static analysis tools for projects using Gacela

🔧 Improvements

  • Renamed DocBlockResolverServiceResolver: Better reflects its actual purpose
  • Enhanced Error Messages: More actionable suggestions and examples
  • Documentation improvements for container configuration

📚 Documentation

  • New docs/container-configuration.md with factory service examples
  • Updated static analysis configuration guides

🔄 Migration Notes

  • The #[ServiceMap] attribute is now the recommended approach (DocBlock still supported)
  • ServiceResolverAwareTrait will replace DocBlockResolverAwareTrait in future versions

🫂 Contributors

📦 What's Changed in This Release

Full changelog: gacela-project/gacela@1.11.0...1.12.0

... (truncated)

Changelog

Sourced from gacela-project/gacela's changelog.

1.12.0 - 2025-11-09

  • Renamed DocBlockResolver to ServiceResolver to better reflect its purpose
  • Added ServiceResolverAwareTrait with caching improvements; will replace DocBlockResolverAwareTrait
  • Introduced the #[ServiceMap] attribute as the preferred service binding instead of DocBlock
  • Added cache:warm command to pre-resolve module classes for optimal production performance
  • Added validate:config command to validate Gacela configuration for errors and best practices
  • Added opcache preload script for 20-30% performance boost in production
  • Added suppressions to phpstan-gacela.neon and psalm-gacela.xml for dynamic resolution
  • Improved error messages with actionable suggestions and examples
  • Added GacelaConfig::addFactory() to register factory services that create new instances on each resolution

1.11.0 - 2025-10-12

  • Add phpstan-gacela.neon for reusable PHPStan rules enforcing Gacela naming conventions (Facade, Factory, Provider, Config)
  • Drop static facade magic methods; call $facade->getFactory() directly
  • Improve PHPStan generic type support
    • Replace @method annotations with @extends for better type inference
  • Improve SetupGacela; extract PropertyChangeTracker and SetupGacelaProperties
  • Run CI tests with PHP 8.4
Commits
  • 60c49f8 release: 1.12.0
  • 67326c1 Merge pull request #345 from gacela-project/feat/gacela-config-factory
  • 7354c04 docs: add factory feature to changelog
  • e083de1 feat: add factory service registration via GacelaConfig
  • 9db651b Merge pull request #344 from gacela-project/feat/static-analysis-configs
  • 43b7fb4 feat: improve Psalm suppressions with PCRE regex for AbstractConfig methods
  • 0ebeb9f feat: add PHPStan and Psalm configurations for dynamic resolution suppressions
  • 47e9744 Merge pull request #343 from gacela-project/ref/rename-DocBlockResolver
  • 2a386eb refactor: rename DocBlockResolver to ServiceResolver
  • 724a5a4 chore: ignore Console module from infection
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [gacela-project/gacela](https://github.com/gacela-project/gacela) from 1.10.0 to 1.12.0.
- [Release notes](https://github.com/gacela-project/gacela/releases)
- [Changelog](https://github.com/gacela-project/gacela/blob/main/CHANGELOG.md)
- [Commits](gacela-project/gacela@1.10.0...1.12.0)

---
updated-dependencies:
- dependency-name: gacela-project/gacela
  dependency-version: 1.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file php Pull requests that update Php code labels Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant