mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
7.5 KiB
7.5 KiB
CHANGELOG for 2.x
Unreleased
- feature [Laravel] Improve Laravel Octane support by resetting FallbackSession static storage between requests to prevent notification leakage
- feature [Symfony] Add FrankenPHP/Swoole/RoadRunner support with WorkerListener that implements ResetInterface and is tagged with kernel.reset
- feature [Symfony] Add reset() method to FallbackSession for long-running process support
- feature [Flasher] Add Hotwire/Turbo Drive support with turbo:before-cache event listener to clean up notifications before page caching
- fix [Flasher] Fix potential runtime error in Envelope::toArray() when no PresentableStampInterface stamps exist
- fix [Flasher] Use more specific \Random\RandomException in IdStamp instead of broad \Exception
- fix [Flasher] Update Livewire navigation cleanup to use correct .fl-wrapper selector instead of unused .fl-no-cache class
- feature [Flasher] Add event dispatching system for all notification adapters and themes with Livewire integration:
- [Toastr] Dispatch events:
flasher:toastr:click,flasher:toastr:close,flasher:toastr:show,flasher:toastr:hidden - [Noty] Dispatch events:
flasher:noty:click,flasher:noty:close,flasher:noty:show,flasher:noty:hover - [Notyf] Dispatch events:
flasher:notyf:click,flasher:notyf:dismiss - [Themes] Dispatch events:
flasher:theme:click(generic) andflasher:theme:{name}:click(specific) - [Laravel] Add LivewireListener classes for all adapters and themes to enable Livewire event handling
- [Toastr] Dispatch events:
- fix [Flasher] Fix FilterCriteria uninitialized property error when constructed with empty array
- fix [Flasher] Fix null comparison issues in PriorityCriteria, HopsCriteria, and DelayCriteria that relied on PHP's implicit null-to-0 coercion
- fix [Flasher] Add type validation for callable factory return values in NotificationFactoryLocator with descriptive error messages
- fix [Flasher] Add error handling for invalid regex patterns in ResponseExtension::isPathExcluded()
- fix [Flasher] Fix ContentSecurityPolicyHandler parsing of CSP headers with trailing semicolons creating empty directive keys
- fix [Flasher] Add reset() method to ContentSecurityPolicyHandler to fix CSP state leak in long-running processes (Octane, FrankenPHP)
- fix [Flasher] Fix FilterEvent::setFilter() type inconsistency - now accepts FilterInterface instead of concrete Filter class
- fix [Flasher] Remove redundant callable check in FlasherContainer::getContainer()
- fix [Flasher] Fix NotificationStorageMethods::resolveResourceName() return type from ?string to string (never returns null)
- fix [Flasher] Fix parameter name inconsistency in NotificationBuilderInterface::options() - changed $merge to $append to match implementation
- fix [Flasher] Add type validation for callable presenter return values in ResponseManager with descriptive error messages
- fix [Flasher] Fix FlasherPlugin::normalizePlugins() losing scripts/styles when both top-level and plugin-level configs are provided - replaced array union operator with array_merge
- fix [Flasher] Simplify FlasherPlugin::normalizeFlashBag() by replacing redundant array union with direct array_merge
- fix [Flasher] Standardize exception message format in PresetNotFoundException to use brackets like other exceptions
- fix [Flasher] Standardize exception message wording in CriteriaNotRegisteredException to use "not found" instead of "is not found"
v2.1.3 - 2025-01-25
- bug #208 [Flasher] Add GitHub workflow for automatic publishing of assets to NPM. See PR #211 by ToshY
v2.1.2 - 2025-01-18
v2.1.1 - 2024-10-20
v2.1.0 - 2024-10-19
- feature [Flasher] Update laravel and symfony configuration documentation . See PR #201 by yoeunes
- feature [Flasher] Improve Type Safety and IDE Support with Enhanced PHPDoc Annotations and Stricter PHPStan Validations. See PR #200 by yoeunes
- feature [Symfony] Improve configuration descriptions and add examples. See PR #199 by yoeunes
- feature [Symfony] Add Symfony Profiler integration for PHPFlasher. See PR #198 by yoeunes
v2.0.4 - 2024-09-22
- bug [laravel] Changed HttpKernel import from
Illuminate\Foundation\Http\KerneltoIlluminate\Contracts\Http\Kernelto use the contract interface instead of the concrete implementation. See PR #197 by yoeunes
v2.0.3 - 2024-09-21
- remove border from flasher container by yoeunes
v2.0.2 - 2024-09-19
- feature [Flasher] add escapeHtml option for secure HTML escaping in notifications. See PR #196 by yoeunes
- feature [Flasher] add Default configuration options. See PR #183 by AhmedGamal
- feature [Laravel] Refactor middleware to use Symfony's base response class, addressing compatibility issues. See PR #184 by yoeunes
v2.0.1 - 2024-05-23
- bug #176 [Laravel] Correctly disable FlasherMiddleware when
inject_assetsis set to false. See PR #177 by yoeunes - bug #176 [Flasher] Ensure global
timeoutoption applies to all requests. See PR #180 by yoeunes - bug #176 [Laravel] Allow disabling of default flash replacement by setting
flash_bagto false. See PR #181 by yoeunes - bug #176 [Flasher] Ensure
flash_bagoption overrides default values instead of appending. See PR #182 by yoeunes