Document 0.10.0 features - #19
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Phirewall documentation for the 0.10.0 feature set, focusing on (1) new/clarified fail-open vs fail-closed behavior, (2) throttle scoping via a new scope closure parameter, and (3) updated semantics for post-handler banning/signaling.
Changes:
- Document how fail-open/fail-closed affects pattern-blocklist regex match-time engine errors.
- Add
scopeto throttle docs (add(),sliding(),multi()) and update examples to usescope:instead of “null-returning key” patterns where appropriate. - Clarify post-handler signal banning behavior and the opt-in behavior to block the banning request.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/getting-started.md | Adds fail-open/fail-closed note for pattern-blocklist regex match-time errors. |
| docs/features/rate-limiting.md | Documents new throttle scope parameter and updates guidance/examples. |
| docs/features/fail2ban.md | Clarifies signal-only rule behavior and references new “block on signal ban” option. |
| docs/faq.md | Adds a concise note about regex engine-error behavior under fail-open/fail-closed. |
| docs/examples.md | Updates multiple throttle examples to prefer scope: over custom rule construction. |
| docs/common-attacks.md | Updates attack-mitigation examples to use scope: + keyless throttles where applicable. |
| docs/advanced/request-context.md | Explains post-handler banning behavior and the new opt-in to block the banning request. |
| docs/advanced/dynamic-throttle.md | Refactors conditional throttling guidance toward scope: and keyless defaults. |
| docs/advanced/architecture.md | Updates architecture description for post-handler signal processing and optional blocking. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
sascha-egerer
force-pushed
the
docs/release-0.10
branch
from
August 7, 2026 09:51
5c54208 to
ab01411
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
Suppressed comments (2)
docs/advanced/dynamic-throttle.md:327
- This inline example uses
new ThrottleRule(...)without importing the class, which can be confusing when copy/pasting. Since the preceding text already names the fully-qualified class, prefer using the FQCN in the snippet (or add an explicitusein a code block).
For a matcher-backed scope (an `IpMatcher` instance, a preset filter), construct a `Flowd\Phirewall\Config\Rule\ThrottleRule` directly and register it via `$config->throttles->addRule(new ThrottleRule(..., scope: $matcher))`.
docs/advanced/request-context.md:49
- The text claims there is a portable option
blockOnSignalBan, butdocs/advanced/portable-config.mddoes not list such an option in its Options table. Either document this portable option there as part of the PR, or remove the portable-option mention here to avoid pointing readers to a non-existent/undocumented setting.
By default the banning signal never changes the current response: the handler's response is delivered as-is and the ban takes effect from the next request. Opt in to a 403 for the banning request itself with `$config->enableBlockOnSignalBan()` (portable option `blockOnSignalBan`) - the middleware then replaces the handler response with the regular blocked response, including `Retry-After` for allow2ban bans.
sascha-egerer
force-pushed
the
docs/release-0.10
branch
from
August 7, 2026 10:00
8e747b4 to
272727f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.