Skip to content

Release v1.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 07:36
· 8 commits to main since this release

Release v1.1.0 - Worker process-state rules and pcntl signal hardening

Changelog

Added

  • Worker rules for process-wide state that survives FrankenPHP worker requests:
    • NoChdirRule (frankenphp.worker.noChdir)
    • NoSetLocaleRule (frankenphp.worker.noSetLocale) — queries via setlocale($category, 0|"0") allowed
    • NoLocaleSetDefaultRule (frankenphp.worker.noLocaleSetDefault) — locale_set_default() / Locale::setDefault()
    • NoDateDefaultTimezoneSetRule (frankenphp.worker.noDateDefaultTimezoneSet)
    • NoMbEncodingMutationRule (frankenphp.worker.noMbEncodingMutation) — mb_internal_encoding / mb_regex_encoding / mb_http_output / mb_language with an argument; no-arg reads allowed
    • NoErrorReportingMutationRule (frankenphp.worker.noErrorReportingMutation)
    • NoUmaskRule (frankenphp.worker.noUmask)
  • Hardening rule: NoPcntlSignalRule (frankenphp.hardening.noPcntlSignal) — pcntl_signal, pcntl_async_signals, pcntl_signal_dispatch, pcntl_signal_get_handler, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_alarm
  • Fixture demos, Symfony 8 anti-patterns, RuleTestCase coverage, and catalog updates in RULES.md
  • ROADMAP.md for planned expansions and explicit non-goals

Notes

  • Consumer action required if you already enable ruleset-worker.neon and/or ruleset-hardening.neon: re-run PHPStan and fix or baseline the new identifiers. See UPGRADING.md.
  • Continue requiring nowo-tech/phpstan-frankenphp: ^1.0 (1.1.0 is a compatible minor).

Commits

  • Release v1.1.0: worker process-state rules and pcntl signal hardening. (37c1e75)