Skip to content

Releases: kirschbaum-development/pest-plugin-realtime

v0.6.2

Choose a tag to compare

@luisdalmolin luisdalmolin released this 31 Jul 14:26

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@luisdalmolin luisdalmolin released this 31 Jul 14:14

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 31 Jul 11:20
927ac22

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 19 Jul 14:35

What's changed

  • Test the Echo/Pusher driver against real Laravel Echo 2.x and pusher-js 8.x clients.
  • Treat channels absent from the current page as NotSubscribed instead of throwing.
  • Retain captured broadcasts and detailed per-channel delivery records.
  • Preserve Laravel broadcast connection and socket-exclusion metadata.
  • Wait for late Echo clients and subscriptions, with negative subscription assertions.
  • Model real Pusher connection states and emit both aggregate and named transition events.
  • Reject nested capture scopes across sessions sharing a Laravel broadcast manager.

Breaking changes

  • ConnectionStatus::Reconnecting is replaced by ConnectionStatus::Connecting for the Echo/Pusher driver.
  • Browser driver delivery scripts now return delivery outcome strings instead of booleans.

v0.4.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 18 Jul 02:42

Renames the public Pest helper from realtime() to broadcasting() so tests are explicit about the Laravel Echo broadcasting boundary. This is an intentional breaking change with no realtime() compatibility alias.

v0.3.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 16 Jul 15:36

Adds scoped Laravel broadcast capture via captureBroadcasts(), allowing tests to run real application code and automatically replay the final broadcast name, channels, and payload through the browser simulator. Includes ordered delivery summaries, explicit connection capture, guaranteed driver restoration, and Laravel 11-13 support.

v0.2.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 16 Jul 12:51

Changes

  • Accept Laravel broadcast event objects in RealtimeSession::emit().
  • Derive channels, visibility, event names, and payloads from broadcastOn(), broadcastAs(), and broadcastWith().
  • Emit event objects across public, private, and presence channels.
  • Keep low-level synthetic emission with the new event-first order: emit(event, channel, payload, visibility).

Upgrade note

The low-level emit() argument order changed from channel-first to event-first. Update positional calls when upgrading from v0.1.0.

v0.1.0

Choose a tag to compare

@luisdalmolin luisdalmolin released this 15 Jul 13:25

Initial release of Pest Plugin Realtime.\n\n- Simulate Laravel Echo/Pusher public, private, and presence channel events\n- Model connected, disconnected, failed, and reconnecting states\n- Report delivered versus dropped events\n- Assert active channel subscriptions\n- Extend through a public realtime driver contract\n- Tested with Pest Browser on PHP 8.3, 8.4, and 8.5\n\nInstall from GitHub:\n\nbash\ncomposer config repositories.pest-plugin-realtime vcs https://github.com/kirschbaum-development/pest-plugin-realtime\ncomposer require kirschbaum-development/pest-plugin-realtime:^0.1.0 --dev\n