Skip to content

Releases: php-flasher/php-flasher

v2.5.0

07 Mar 19:24
df4b85c

Choose a tag to compare

v2.5.0 - 2026-03-07

Added

  • 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
  • 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) and flasher:theme:{name}:click (specific)
    • [Laravel] Add LivewireListener classes for all adapters and themes to enable Livewire event handling
  • feature [Flasher] Add 16 notification themes: Amazon, Amber, Jade, Crystal, and more
  • feature [DX] Add @method annotations to FlasherInterface and NotificationFactoryInterface for better IDE autocompletion
  • feature [DX] Add Type::all() and Type::isValid() helper methods with PHPStan type narrowing
  • feature [DX] Add @throws annotations to FlasherContainer methods for better exception documentation
  • feature [DX] Add FlasherContainer::setContainer() method as convenient alias for testing
  • feature [DX] Add PHPStan type alias NotificationType for valid notification types

Fixed

  • fix [SweetAlert] Fix SweetAlertBuilder::question() bug where options parameter was being ignored
  • 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
  • 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] Fix array_merge() syntax in InstallCommand by removing unnecessary empty array
  • fix [Flasher] Add return type validation in FilterCriteria::apply() with proper exception handling

Changed

  • refactor [Flasher] Reduce theme configuration duplication by generating themes programmatically
  • refactor [Flasher] Standardize exception message format in PresetNotFoundException to use brackets like other exceptions
  • refactor [Flasher] Standardize exception message wording in CriteriaNotRegisteredException to use "not found" instead of "is not found"
  • refactor [SweetAlert] Replace @phpstan-ignore-line suppressions with proper @var annotations

v2.3.0

10 Nov 14:28
91ab4fa

Choose a tag to compare

Full Changelog: v2.2.0...v2.3.0

v2.1.4

18 Feb 13:06
811fc1a

Choose a tag to compare

Merge pull request #215 from php-flasher/v2.1.4

chore: bump flasher dependency to v2.1.4

v2.1.3

25 Jan 13:40
f66382e

Choose a tag to compare

  • bug #208 [Flasher] Add GitHub workflow for automatic publishing of assets to NPM. See PR #211 by ToshY

Full Changelog: v2.1.2...v2.1.3

v2.1.1

20 Oct 14:15
46f2397

Choose a tag to compare

Full Changelog: v2.1.0...v2.1.1

v2.1.0

19 Oct 15:58
cdfe882

Choose a tag to compare

  • 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

Full Changelog: v2.0.4...v2.1.0

v2.0.2

19 Sep 06:47
ff2cd6e

Choose a tag to compare

  • 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

Full Changelog: v2.0.1...v2.0.2

v2.0.1

23 May 09:56
b07c52e

Choose a tag to compare

  • bug #176 [Laravel] Correctly disable FlasherMiddleware when inject_assets is set to false. See PR #177
  • bug #176 [Flasher] Ensure global timeout option applies to all requests. See PR #180
  • bug #176 [Laravel] Allow disabling of default flash replacement by setting flash_bag to false. See PR #181
  • bug #176 [Flasher] Ensure flash_bag option overrides default values instead of appending. See PR #182

Full Changelog: v2.0.0...v2.0.1

v2.0.0

05 May 19:10
3b381ec

Choose a tag to compare

Full Changelog: v1.15.14...v2.0.0

v1.15.14

16 Mar 15:28
c066247

Choose a tag to compare

Full Changelog: v1.15.13...v1.15.14