Coder Social home page Coder Social logo

Release plan about ruby-mqtt HOT 14 CLOSED

lucaong avatar lucaong commented on June 11, 2024 2
Release plan

from ruby-mqtt.

Comments (14)

lucaong avatar lucaong commented on June 11, 2024 1

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.

njh avatar njh commented on June 11, 2024 1

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.

lucaong avatar lucaong commented on June 11, 2024 1

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.

rgaufman avatar rgaufman commented on June 11, 2024

Is this gem still being maintained? - is there a better maintained MQTT gem out there?

from ruby-mqtt.

njh avatar njh commented on June 11, 2024

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.

lucaong avatar lucaong commented on June 11, 2024

@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.

lucaong avatar lucaong commented on June 11, 2024

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.

njh avatar njh commented on June 11, 2024

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.

lucaong avatar lucaong commented on June 11, 2024

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.

lucaong avatar lucaong commented on June 11, 2024

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.

njh avatar njh commented on June 11, 2024

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.

lucaong avatar lucaong commented on June 11, 2024

@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.

njh avatar njh commented on June 11, 2024

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.

njh avatar njh commented on June 11, 2024

@lucaong Thank you very much for your help in getting this release out

from ruby-mqtt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.