cmgmyr/laravel-messenger

Cmgmyr\Messenger\Models\Participant::thread() method signature changed in minor version

joelmellon opened this issue · 2 comments

Error:

Declaration of App\Participant::thread() must be compatible with Cmgmyr\Messenger\Models\Participant::thread()

Our code overrides the Participant::thread() method. This was compatible with versions 2.23, 2.22, etc. but is now broken with 2.24 since there used to not be a return type:

Screen Shot 2022-01-19 at 5 08 01 PM

In fact, all of the additions of return types on (public and protected) methods in PR 359 are not backward compatible.

If you're following SemVer (and I hope you are!) the 2.24 release should have been a major release, ie. 3.0.

FYI, this is my favorite explanation of SemVer ever: https://softwareengineering.stackexchange.com/a/368112

If I was maintaining this package, I would revert changes in a patch release (2.24.1) and make a 3.0 tag pointing to the 2.24 commit hash 55d73889797cab10994c7eee6d6c050b96e47bc2 to keep people's code alive. semver.org actually says to make fixes to a broken release as a minor version, but whatever.

Anyway, thanks for the great package. 🤘

@joelmellon thanks so much for reporting and I apologize for that breaking change. Can you please check your application against the new PR #378 - this should fix the BC issues.

As I mentioned in the PR I'll reintroduce these at some point in the future with a new version.

Thanks for using the package!!

Sorry, for the delay. I've tested 2.25.0 in my codebase, and it's fixed.

Thanks so much for the fix. 🙏 Amazing customer service! 😜