pusher / pusher-http-ruby

Ruby library for Pusher Channels HTTP API
https://pusher.com/channels
MIT License
664 stars 124 forks source link

changelog is not clear about breaking changes from v1.xx -> v2.xx #173

Closed swiknaba closed 3 years ago

swiknaba commented 3 years ago

The changelog for version 2 is simply:

[CHANGED] Use TLS by default.
[REMOVED] Support for Ruby 2.4 and 2.5.
[FIXED] Handle empty or nil configuration.
[REMOVED] Legacy Push Notification integration.
[ADDED] Stalebot and Github actions.

which of these changes are actually breaking changes?

It would be great if you could lay out (e.g. in the changelog), which changes require changes in "my" code if there is a major version jump.

What for example is Legacy Push Notification integration? How do I know if I use those in my codebase?

Sorry, but this changelog makes me not confident enough to upgrade the library to version 2 :(

Thanks for better changelogs! 🙂 --> https://keepachangelog.com/en/1.0.0/ FYI

elverkilde commented 3 years ago

I'm sorry about that, I thought it would be clear from the REMOVED/CHANGED categories. The breaking changes are:

If you are unable to use TLS, you will need to pass the option use_tls = false. This is not recommended though, we recommend you use TLS. One reason you may not be able to use it is if you do not have an up-to-date CA store. There's a longer troubleshooting guide here: https://bundler.io/v2.0/guides/rubygems_tls_ssl_troubleshooting_guide.html#troubleshooting-certificate-errors

If you are using Ruby version 2.4 or 2.5, the library still works, but we are not testing it anymore in the CI pipeline. It is therefore strongly recommended you upgrade to at least 2.6 if you plan to continue upgrading on the 2.x version. We may break support for 2.4 at any time. If you are unable to upgrade to 2.6 you should stay on the 1.x version.

What for example is Legacy Push Notification integration?

You are right, this looks scary and I should have been clearer about this. Really, the feature should have been clearly deprecated. I will make sure we do that in the future. It is highly unlikely you are using this feature, but if you are it has been deprecated for some time (users of this feature have been notified on email etc). Here's a migration guide for this feature:

https://pusher.com/docs/channels/push_notifications/migration-guide


There are no other breaking changes. I'm sorry you find the changelog lacking. I am reluctant to change the current format, as this is what we use for all other SDKs now. It is inspired by the format in keepachangelog.com and I believe it provides the same information. This format is simply slightly easier to parse/automate.

Thank you for raising this issue, I hope this clarifies the current concerns. I will have your feedback in mind for future releases.

swiknaba commented 3 years ago

awesome thanks!