Skip to content

Pin phpbrake to 0.8.0 for PHP 8.0 compatibility - #48

Closed
daedeloth wants to merge 1 commit into
masterfrom
fix/errbit-php80-compat
Closed

Pin phpbrake to 0.8.0 for PHP 8.0 compatibility#48
daedeloth wants to merge 1 commit into
masterfrom
fix/errbit-php80-compat

Conversation

@daedeloth

Copy link
Copy Markdown
Member

Summary

The dokku build failed because production runs PHP 8.0 and phpbrake v1.0.0 requires >= 8.1. This pins airbrake/phpbrake to 0.8.0 (the last release supporting PHP 8.0).

0.8.0 has a bug the previous version didn't: its constructor checks options with empty(), silently flipping remoteConfig => false back to true — so the notifier phones home to airbrake.io for configuration and disables all notifications when talking to a self-hosted Errbit. A small App\Errbit\Notifier subclass re-applies the option after construction; a regression test guards it.

The exact-version pin is intentional: bump to ^1.0 when production moves to PHP 8.1+ (the subclass workaround stays compatible — v1.0.0 fixed the empty() check).

Testing

  • Unit suite green (7 tests), including a new regression test asserting remoteConfig stays disabled on the resolved notifier.
  • Live smoke test on phpbrake 0.8.0 against errors.catlab.eu: notice accepted (id returned).

🤖 Generated with Claude Code

https://claude.ai/code/session_013HqprN6hPwwHLXeCRbGdgo

Production still runs PHP 8.0 and phpbrake v1.0.0 requires >= 8.1.
phpbrake 0.8.0 checks its options with empty(), which silently flips
remoteConfig=false back to true; the notifier then phones home to
airbrake.io and disables all notifications for a self-hosted Errbit.
An App\Errbit\Notifier subclass re-applies the option after
construction; verified against errors.catlab.eu.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013HqprN6hPwwHLXeCRbGdgo
@daedeloth

Copy link
Copy Markdown
Member Author

Superseded by the PHP 8.5 upgrade PR — production moves to PHP 8.5 instead of pinning phpbrake to 0.8.0. The regression test from this branch was carried over.

@daedeloth daedeloth closed this Jul 24, 2026
@daedeloth
daedeloth deleted the fix/errbit-php80-compat branch July 24, 2026 12:56
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