v0.1.0
Latest
Changelog
All notable changes to crumbls/fanout will be documented in this file.
[Unreleased]
Added
- Initial release.
- HTTP receiver mounted at
POST /fanout/in/{profile}with optional signature verification. - Three-mode persistence per profile:
full,metadata,none. - Per-endpoint retry with fixed / linear / exponential backoff.
- Per-endpoint rate limiting via Laravel's
RateLimiter. - Pluggable
SignatureValidator,SignatureSigner,PayloadTransformer,PayloadFiltercontracts. - Built-in validators:
HmacSha256SignatureValidator,StripeSignatureValidator,GithubSignatureValidator,SpatieSignatureValidator. - Built-in signers:
HmacSha256Signer,PassthroughSigner. - Header templating with
{event.id},{event.type},{event.profile},{event.received_at}tokens. - Replay system:
php artisan fanout:replay {event},fanout:replay-failed, programmaticFanout::replay()andFanout::replayFailed(). - Pruning command (
fanout:purge) using pre-computedpurgeable_atcolumns. - Event payload, headers, response body all encrypted at rest by default.
- Eloquent models swappable via
config('fanout.models.*')for custom encryption strategies.