Skip to content

refactor: re-enable phpstan project-wide#1971

Merged
brendt merged 134 commits into3.xfrom
phpstan
Feb 17, 2026
Merged

refactor: re-enable phpstan project-wide#1971
brendt merged 134 commits into3.xfrom
phpstan

Conversation

@xHeaven
Copy link
Member

@xHeaven xHeaven commented Feb 15, 2026

Changes that might be breaking

API changes

  • Tempest\Core\Insight
    • Removed constants: Insight::ERROR, Insight::SUCCESS, Insight::NORMAL, Insight::WARNING.
    • Constructor now takes Tempest\Core\InsightType instead of a string constant.
  • Tempest\Router\Exceptions\ConvertsToResponse
    • Now extends \Throwable.
    • Non-throwable implementations are no longer valid.
  • Tempest\Auth\Authentication\DatabaseAuthenticatableResolver
    • Unused constructor with Database dependency was removed.
    • new DatabaseAuthenticatableResolver($database) no longer works.
  • Tempest\Console\Exceptions\UnknownArgumentsException
    • Unused constructor parameter consoleCommand was removed.
  • Tempest\Http\Session\Managers\FileSessionManager
    • Constructor dependency changed from SessionConfig to FileSessionConfig.
  • Tempest\Reflection\EnumReflector
    • Constructor changed from string|object to string|UnitEnum|self|ReflectionEnum.
    • Passing arbitrary objects is no longer supported.
  • Tempest\View\Elements\PhpDataElement
    • Class removed as it was entirely dead code.
  • Tempest\View\ViewCachePool::getItem()
    • Return type changed from Symfony\Component\Cache\CacheItem to Psr\Cache\CacheItemInterface.

Positional argument changes

  • Tempest\KeyValue\Redis\Config\RedisConfig
    • Added missing $persistentId before $timeout/$options parameters. If you are using named parameters, you are unaffected.
  • Tempest\Log\Config\SlackLogConfig
    • Added missing $channels before $prefix and $tag. If you are using named parameters, you are unaffected.

Behavioral changes

  • packages/mail/src/mail.config.php
    • Invalid MAIL_SMTP_SCHEME now throws InvalidArgumentException instead of silently defaulting.
  • Tempest\DateTime\DateTime::fromParts() and Tempest\DateTime\create_intl_calendar_from_date_time()
    • Out-of-range years now consistently throw OverflowException.
  • Tempest\Storage\Config\AzureStorageConfig::createAdapter()
    • Azure client wiring changed from BlobRestProxy to BlobServiceClient.

@brendt
Copy link
Member

brendt commented Feb 16, 2026

Ok we can merge all of these in 3.x without any issues. I consider all of these bug fixes for oversights, not proper breaking changes.

Also: for the config files, our documentation always shows the named argument approach, so those are fine as well.

Copy link
Member

@brendt brendt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@innocenzi can you double-check the pluralizer stuff?

@xHeaven xHeaven changed the title wip: re-enable phpstan project-wide refactor: re-enable phpstan project-wide Feb 16, 2026
@xHeaven xHeaven marked this pull request as ready for review February 16, 2026 17:10
@brendt brendt merged commit 2c3873a into 3.x Feb 17, 2026
81 checks passed
@brendt brendt deleted the phpstan branch February 17, 2026 10:08
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.

3 participants