Comments (14)
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.
from ruby-mqtt.
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
from ruby-mqtt.
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 π
from ruby-mqtt.
Is this gem still being maintained? - is there a better maintained MQTT gem out there?
from ruby-mqtt.
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
from ruby-mqtt.
@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.
from ruby-mqtt.
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).
from ruby-mqtt.
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.
from ruby-mqtt.
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.
from ruby-mqtt.
I sent a PR to port the CI setup from Travis to GitHub Actions: #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.
from ruby-mqtt.
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.
from ruby-mqtt.
@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.
from ruby-mqtt.
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:
- Port CI setup from Travis to GitHub Actions
- Add Rubocop and performed code cleanup
- Updated yard minimum version to
- Added support for clearing the queue of waiting incoming messages #117
- Wrap packet id after 0xffff (#118)
- Use a queue to wait for Puback packets rather than polling (#120)
- Filter out spec files from the coverage report
- Improvements
Packet.read_byte
performance (#134) - Use monotonic clock instead of realtime for keep_alive (#132)
- Switch to CGI.unescape instead of the deprecated URI.unescape (#136)
Given that there is some new functionality, not just bug fixes, I think the next release number should be: 0.6.0
.
from ruby-mqtt.
@lucaong Thank you very much for your help in getting this release out
from ruby-mqtt.
Related Issues (20)
- Unable to authenticate HOT 16
- Websocket support HOT 5
- Error OpenSSL alert unknown ca HOT 1
- MQTT client on weak CPU and high traffic environment
- background client
- SSL connection failing due to optimisations in PR #134 HOT 6
- I have renamed the 'master' branch to 'main'
- Drop support for ruby 1.9 HOT 2
- unable to establish QoS1 sessions
- Thread termination with exception not handled? HOT 7
- Error: can't modify frozen OpenSSL::SSL::SSLContext HOT 1
- How to handle sigterm? HOT 2
- supporting private keys other than RSA
- Need help? HOT 1
- Remove autoload HOT 1
- Is using a connection Pool Recommended?
- Major issue while using Thread to catch exception
- ruby-mqtt-271ee631f128/lib/mqtt/packet.rb:223:in `read_byte': Failed to read byte from socket (MQTT::ProtocolException) HOT 2
- Support for MQTT 5 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ruby-mqtt.