Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could we have a new release? (0.5.4) #1179

Closed
casperisfine opened this issue Mar 24, 2021 · 34 comments
Closed

Could we have a new release? (0.5.4) #1179

casperisfine opened this issue Mar 24, 2021 · 34 comments

Comments

@casperisfine
Copy link
Contributor

Sorry for asking this, I know it's a bit annoying for maintainers. But there's a bunch of important fixes on master and there wasn't any release in over a year.

We've been using mysql2 as a git gem for a long time, and I'd love if we could finally go back to a published version.

@casperisfine casperisfine changed the title Could we have a new release? Could we have a new release? (0.5.4) Mar 24, 2021
@casperisfine
Copy link
Contributor Author

@sodabrew sorry to insist, but it's really annoying to have to use the git gem on all new projects.

@TomA-R
Copy link

TomA-R commented Aug 19, 2021

This would be really useful, maybe @brianmario or @tenderlove could help? Thanks a lot in advance

@tenderlove
Copy link
Collaborator

I have access to do a release, but I haven't committed to this project in quite a while. @sodabrew do you have time to ship a release? If not, I can take care of it (but I don't want to step on your toes 🙇🏻‍♂️)

@sodabrew
Copy link
Collaborator

Thanks for the nudge, I really do need to do this!

@polyedre
Copy link

Hi! Any update on this ? 😃

@listerino
Copy link

Happy 2 year anniversary to the last release! 🎉 57 commits and 1300 lines of change later, it seems like cutting a new release is simply too much effort. Can we get another maintainer @sodabrew? Otherwise maybe @tenderlove can take this task over?

@simi
Copy link
Contributor

simi commented Nov 26, 2021

I think we should fix master CI first. @listerino I think you're more than welcomed to help on that. I can try to spend some time on that during the weekend as well.

@listerino
Copy link

That's a fair point, @simi! I'll have a look into it, thank you for also volunteering, it's appreciated

@casperisfine
Copy link
Contributor Author

I think we should fix master CI first.

There are currently 3 issues on CI:

@casperisfine
Copy link
Contributor Author

For the datetime one: #1221

So only the session tracking one has no fix yet.

@listerino
Copy link

You're a machine, thank you, Jean. I was planning to set my weekend aside to investigate what took you ~2 hours - fingers crossed your fixes get reviewed&merged!

@casperisfine
Copy link
Contributor Author

The original problem remains though, I'll see with @tenderlove for the merges on next week, but it would be best if @sodabrew was around for the actual release.

@TomA-R
Copy link

TomA-R commented Nov 30, 2021

Seems like we owe a thank you to our friends at Shopify for looking into the CI issues - thanks guys!

@casperisfine
Copy link
Contributor Author

Looks like there's two more issues on CI:

wrong number of arguments (given 5, expected 1)
ruby/3.1.0/psych.rb:323:in `safe_load'
~/gems/rubocop-0.50.0/lib/rubocop/config_loader.rb:216:in `yaml_safe_load'
ruby/gems/3.1.0/gems/rubocop-0.50.0/lib/rubocop/config_loader.rb:199:in `load_yaml_configuration'

That's because the rubocop version is way too old to work with the YAML that ships with ruby-head. I'll submit a PR to upgrade rubocop.

Then the macos builds are failing with:

linking shared-object mysql2/mysql2.bundle
ld: warning: directory not found for option '-L/usr/local/opt/openssl@3/lib'
ld: library not found for -lssl

This one rings a bell, but these makefiles aren't exactly my forte.

@casperisfine
Copy link
Contributor Author

Oh and thanks @tenderlove for the merges.

@casperisfine
Copy link
Contributor Author

Two more CI fixes:

After these two, there are two failures left on macOS / mysql specifically:


  1) Mysql2::Client#query evented async queries should be supported
     Failure/Error: expect(loops >= 1).to be true

       expected true
            got false
     # ./spec/mysql2/client_spec.rb:756:in `block (3 levels) in <top (required)>'

  2) Mysql2::EM::Client should not raise error when closing client with no query running
     Failure/Error: expect(callbacks_run).to eq([:callback])

       expected: [:callback]
            got: []

       (compared using ==)

       Diff:
       @@ -1 +1 @@
       -[:callback]
       +[]
     # ./spec/em/em_spec.rb:124:in `block (4 levels) in <top (required)>'
     # ./spec/em/em_spec.rb:114:in `block (2 levels) in <top (required)>'

But so far I wasn't able to reproduce them so not sure what to do at this point.

@sodabrew
Copy link
Collaborator

sodabrew commented Dec 1, 2021

Million thanks for the energy this week getting the test failures cleaned up and reviewing recent PRs!

@casperisfine
Copy link
Contributor Author

Any opinions on what to do about the osx failures?

@fuegas
Copy link

fuegas commented Jan 10, 2022

It looks related to https://bugs.ruby-lang.org/issues/17865 , however, those are fixed for Ruby 2.6 and 2.7. I'm not sure if this is something you can patch before compiling the gem. The code change of the PR seems small. Is this something that can be applied before building the gem on OS-X? As Ruby 2.4 went EOL on 2020-03-31, the chance of a conflict during the apply should be minimal.

@casperisfine
Copy link
Contributor Author

It looks related to https://bugs.ruby-lang.org/issues/17865

No that's just a red herring, it's all just warnings. The actual issue is the spec failure: #1179 (comment)

@ottok
Copy link

ottok commented Jan 16, 2022

A new 0.5.4 release that includes commit cca57b9 would enable Debian to release a new version of ruby-mysql2 to fix Debian bug #1002087, which in turn would unblock MariaDB 10.6 from entering Debian testing, which in turn would unblock mariadb-10.5 10.5.13-0+deb11u1 from entering Debian Bullseye, which in turn would fix Debian#1003839 and a bunch of other issues.

Thanks everybody who are maintaining this library! Your work is important :)

@cllns
Copy link

cllns commented Jan 20, 2022

I'd also appreciate a release, since I ran into the same issue as #1096, which has been fixed in f62edc0 but not released yet.

If others are also trying to install mysql2 on Ruby 2.7 after running Homebrew's brew install mysql, I got it working by:

  1. Changing Gemfile to use github: "brianmario/mysql2" instead of default Rubygems.org source
  2. Running this command to configure bundler for Homebrew's mysql:
bundle config build.mysql2 \
  --with-mysql-lib=/opt/homebrew/opt/mysql/lib \
  --with-mysql-dir=/opt/homebrew/opt/mysql\
  --with-mysql-config=/opt/homebrew/opt/mysql/bin/mysql_config \
  --with-mysql-include=/opt/homebrew/opt/mysql/include\
  --with-ldflags=-L/opt/homebrew/opt/openssl@3/lib\
  --with-cppflags=-I/opt/homebrew/opt/openssl@3/include
  1. Running bundle install

@zenspider
Copy link

Nudge

@tenderlove
Copy link
Collaborator

Do we have any blockers left for release?

@casperisfine
Copy link
Contributor Author

@tenderlove there are two tests failing on OSX CI #1179 (comment). I tried to reproduce them but couldn't, so I have no idea what's up.

I'd be of the opinion to skip them for now, but that's not my call.

@bquorning
Copy link

#1115 (merged) added some support for Ruby 2.7’s GC.compact, but #1192 (open) claims to also add support for GC.compact. I was hoping that v0.5.4 would have full support for compacting GC, so maybe someone could take a look at #1192 and see if it’s still relevant?

I noticed that the 0.5.4 milestone has 7 open issues but whether they are truly blockers before the next release, I cannot say.

@casperisfine
Copy link
Contributor Author

so maybe someone could take a look at #1192 and see if it’s still relevant?

#1115 registered the gobal variables so that they won't move, that prevent mysql2 from hard crashing.

#1192 refactor mysql2 to use new APIs, so that's the objects it creates can be moved, it's nice but not absolutely necessary.

@tomfull123
Copy link

It looks like the outstanding issues on the 0.5.4 milestone have all come over from previous milestones, so they aren't new issues, I don't think they should block the release.

One of the issues does have an approve PR though.

@zenspider
Copy link

Should I not keep nudging on this?

@breisig
Copy link

breisig commented Apr 18, 2022

Keep nudging. We are all waiting.

@tenderlove
Copy link
Collaborator

@sodabrew I'd like to get this thing shipped. LMK if you want to do it, or if you see anything blocking. Otherwise I'll ship this next week.

Thanks!

@tenderlove
Copy link
Collaborator

Alright. I shipped 0.5.4. Please file any issues if you have problems upgrading and I'll try to get any issues shipped ASAP. Thanks for your patience everyone! ❤️

@BrianHawley
Copy link

@tenderlove could you add a new release to the Releases section here? That's where we see the changelogs.

@tenderlove
Copy link
Collaborator

@BrianHawley done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests