Skip to content

Releases: prwnr/laravel-streamer

v4.4.0

08 Mar 20:10
6814a6c
Compare
Choose a tag to compare

v4.4.0 (08.03.2025)

  • compatibility with Laravel 12

4.3.0

09 Dec 13:31
d46cdb0
Compare
Choose a tag to compare

v4.3.0 (09.10.2024)

  • Converted \Throwable into \Exception to support a method signature. by @yuriy-sorokin
  • Removed xRead deprecation exceptions by @yuriy-sorokin

4.2.0

29 Aug 06:25
Compare
Choose a tag to compare

v4.2.0 (29.08.2024)

  • changed the way how consumer name is generated when only --group option is provided to stream:listen command. Previously it was timestamp-based, not it is random string. This change is to avoid generating the same names for different processes if they start at the same time.

4.1.0

27 Mar 15:08
35fdd6d
Compare
Choose a tag to compare

What's Changed

  • Add PHP 8.2 to version requirements (alongside 8.1) for a compatibility with clean Laravel 11 applications.

Full Changelog: 4.0.0...4.1.0

4.0.0

15 Mar 20:16
5f1efb6
Compare
Choose a tag to compare

v4.0.0 (15.03.2024)

  • Dropping support of Laravel 7, 8 and 9
  • Laravel 11 support added
  • Dropping support for PHP 7.4 and 8.0 and making minimum PHP requirement of v8.1
  • removed deprecated Waitable interface
  • readonly properties introduced to classes across the whole code pool
  • promoted properties introduced to classes across the whole code pool
  • added declare(strict_types=1); to all files under src and tests directories, making every part of the package strictly typed
  • all methods are now with typed parameters and return types

by @prwnr in #59

3.5.1

07 Mar 09:44
48b9d05
Compare
Choose a tag to compare

What's Changed

  • Fixed inconsistent exceptions so that printError method can also accept \Error by @yuriy-sorokin in #57

New Contributors

Full Changelog: 3.5.0...3.5.1

3.5.0

19 Feb 20:15
fdaa6a0
Compare
Choose a tag to compare
  • Laravel 10.0 support added.
  • Removed 6.0 from dependencies.

v3.4.1

14 Sep 13:57
6e83115
Compare
Choose a tag to compare

v3.4.1 (14.09.2022)

Fixed

Potential cause of uncaught errors, when phpredis lib for some reason (yet unknown to me) returns a boolean value from xRead/xReadGroup method, instead of documented array|Redis value - where my code expected array - so a bool causes a wrong return type error.
patched xRange and xRevRange just in case, as they are also expected to return arrays.

v2.7.1

14 Sep 12:04
f34d554
Compare
Choose a tag to compare

v2.7.1 (14.09.2022)

Fixed

Potential cause of uncaught errors, when phpredis lib for some reason (yet unknown to me) returns a boolean value from xRead/xReadGroup method, instead of documented array|Redis value - where my code expected array - so a bool cause a wrong return type error.
patched xRange and xRevRange just in case, as they are also expected to return arrays.

v3.4.0

31 Aug 20:03
36763ef
Compare
Choose a tag to compare

v3.4.0 (31.08.2022)

Added MultiStreams functionality

  1. Streamer dispatcher got changed that it can accept either one stream and one handler or multiple streams and multiple (or one) handler.
  2. Listen command can work in two ways:
    a) with its first arg passed as list of events like: foo.bar,foobar,some.bar
    b) skipping the arg and using option --all that will use all events that are registered in Listener Stack
    using other command arguments with multiple streams will always apply them to all of the streams (so, like last_id for example).
  3. Claiming pending messages also happens for all the streams.

This command can have bottlenecks for multiple streams, as it will have to process every message for every stream and every listener before coming back to awaiting for new messages.
There's internal sorting "algorithm" included, that sorts incoming messages by their IDs, which are timestamps. This processes the messages in order they were sent to Stream.

! Disclaimer !
This is almost 99% addition with no breaking changes.
The only thing that may require work on the user side, is when:

  • you used Waitable interface, which is now deprecated
  • you used Listener interface and now its listen method arguments dont have typings, so you will need to remove yours on your end.

Tagging final release, as no problems were seen so far with it.