Closed lucaong closed 1 year ago
Is this gem still being maintained? - is there a better maintained MQTT gem out there?
Making a release is currently blocked by #135 and merging in #139 But the build for #139 is currently broken - due to Rubocop style issues
@njh the RuboCop issue in #139 should be fixed by changing class OpenSSL::SSL::SSLSocket
to:
module OpenSSL
module SSL
class SSLSocket
# ...class body
end
end
end
Or, alternatively, by deactivating the RuboCop rule, which in my opinion does not contribute to readability/correctness, by adding this to .rubocop.yml
:
Style/ClassAndModuleChildren:
Enabled: false
Note that the short notation also has the advantage of not having to care whether OpenSSL
and OpenSSL:SSL
are modules or classes, so removing the RuboCop rule is actually an improvement: since OpenSSL
code does not belong to this project, it's better to make the least assumptions about it.
Probably the easiest way is for the maintainer to merge the PR, then fix the RuboCop issue as noted. Otherwise, if you prefer I can send a new PR.
Hello @njh , sorry to bother again. I am sympathetic with the huge challenge of maintaining an open source project, so please do not take this as criticism.
I just think that cutting a new release, possibly after merging #146 to fix the RuboCop issue, could be a rather easy step, and yield a lot of value. Currently, version 5.0.0
of this gem cannot be used on latest Ruby 3.2 because of using the deprecated method URI.unescape
, which does not exist anymore. That should be fixed on main
already.
Please do let us know if something else is missing in order to cut a release, and I or someone else here can dedicate some time to a PR (in #149 someone else is offering help too).
Yes, would be really good to get a release out.
Annoyingly my Travis integration seems to have broken: "Builds have been temporarily disabled for private and public repositories due to a negative credit balance. Please go to the Plan page to replenish your credit balance."
I am not sure if there is something going on with my account or if Travis generally aren't supporting Open Source anymore.
Yeah, that's annoying: Travis used to be my default choice for CI on open source projects, but since it was sold a few years back, things are not good anymore. On my open source projects, I now use the free tier of GitHub Actions. I can have a look if it's possible to easily migrate the current CI setup to GitHub Actions.
I sent a PR to port the CI setup from Travis to GitHub Actions: https://github.com/njh/ruby-mqtt/pull/150
@njh as the maintainer, if you want to require CI checks on pull requests, you will have to enable it yourself on GitHub in the project settings. On my fork, the actions run fine, and the build is green on all Ruby versions considered.
Thank you very much for your help @lucaong.
I received the following reply from Travis CI:
As you might already know, we have been making some changes to our pricing model [1] for the last year and this is also covered Free Trial Plan that is providing Travis CI for non-paid users. You can also consider them as OSS or education tier customers.
A free ‘Trial’ Plan, which any new user can select upon sign up, is a usage-based plan with an unlimited amount of users, which comes with a 10k trial pool of credits to start building right away. Once these credits run out, they are not replenished, and users must subscribe to a higher plan to continue building. Request OSS Credits allowance, or please consider one of our available plans. Trial credits are valid only for 30 days.
While we are still working on the best fit for the open-source users to benefit from our platform, we do appreciate your commitment.
It implies that it is possible to get free credits for Open Source Projects, but it sounds like a pain and I don't like the uncertainty of if they will actually give them or not.
So moving to GitHub Actions makes sense, I think. Will be great to get a new version of the gem released and get things into a better state.
@njh thanks for merging #150 , I also just sent #151 to swap the obsolete Travis CI status badge on the README with the new GitHub Actions one.
Wondering what the next release version number should be.
I have just reviewed the changelog between [v0.5.0](https://github.com/njh/ruby-mqtt/tree/v0.5.0)
and [main](https://github.com/njh/ruby-mqtt/tree/main)
and it is:
Packet.read_byte
performance (#134)Given that there is some new functionality, not just bug fixes, I think the next release number should be: 0.6.0
.
It looks like there are no breaking changes, and the changes are a mixture of bug fixes (such as #136) and new features (such as #117). So yes, I agree that 0.6.0
is the appropriate version number. I would add to the change log also the information that this release supports Ruby 3 (by virtue of #136), because that's likely what some users are waiting on.
Version 0.6.0 is now released!
https://github.com/njh/ruby-mqtt/releases/tag/v0.6.0
Hopefully I won't need to rush out a 0.6.1 😬
Next, I hope to get this released (and make this gem use it for packet parsing): https://github.com/njh/ruby-mqtt-packet
@lucaong Thank you very much for your help in getting this release out
Awesome! Thanks a lot @njh for making this happen!
This is a very useful gem, and it is great to have it running on Ruby 3 🎉
Hello, thanks a lot for the great gem :)
Is there a new released planned? The latest one is from 2017, and there were some useful fixes in the meanwhile. For example, the current release triggers a
warning: URI.unescape is obsolete
, that is fixed onmain
. Releasing a new version, even a patch one, would make it possible to upgrade and get rid of the annoying warning.