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
6.0.0 #2918
6.0.0 #2918
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments, haven't done any comparison with any branch. Are we doing a release of everything in master now?
Can we hold off a day or two to see about merging either #2892 or #2896? They both fix use with Meanwhile, everyone can review HISTORY.md... |
Drop Support for older Rubies? Maybe 2.2 & 2.3? Ruby 2.6 is EOL, 2.7 is 'security maintenance' Current release support: See #2919 |
Yes |
There are three bugs in the 6.0.0 list, I believe the last two are listed in 5.6.5? I can update the link section in History... |
OK! Everything marked 6.0 is now closed... last call? Anyone? Anything else kicking around your head Greg? EDIT: obv gonna update these first :) |
Will 6.0 address #2921? |
Maybe add #2942? After that's merged, maybe add a PR that removes the following (tests may need changes): Lines 50 to 53 in 5199ff2
I thought about adding ALPN for SSL, but wrk doesn't use it, so it can't be used to see what kind of performance difference it makes. It should lessen the network traffic needed to initialize an SSL connection, but not sure whether it's significant in today's world. Regardless, it wouldn't be a breaking change, so it could be added in 6.1. |
8f4b76d
to
3b14837
Compare
A quick look thru some code showed the below:
puma/lib/puma/configuration.rb Lines 220 to 231 in 2b56d80
|
Things that will break: |
I don't think it should change name, it could be breaking in the opposite way that Puma 5.0 was. Puma 5.0 introduced the use of the |
|
Server's initialize method signature has changed between 6.0.0 and 5.6.5 6.0.0 - 5.6.5 - Wondering if we should make the |
Sounds like a good idea to me |
@dentarg & @nateberkopec - see PR #2965. |
Good catch. It's of course a major version release so we can break it if we want but it does feel unnecessary. So I'm in favor of changing the signature back. |
I was looking at that also, no time today to work on it. I believe both 6.0.0 and 5.6.5 set min & max threads from the opts parameter in Rails will need to change its code, but QED. I'll check Capybara & Rails tomorrow with master. |
Speaking of breaking changes, below is what I know of that's affected:
EDIT: Any thoughts on releasing an rc? Maybe with a caveat of 'normal CLI use'? Give more time to finish the docs and check the 'other use' repos like the above... |
The flurry of PR's resulted from running a lot of CI to address the three repos (listed above) use of Puma in a nonstandard way. |
Just piled PR's #2966, #2967, #2968, #2969, #2971 into one branch, ran the Test workflow seven times. All MRI jobs passed, with one failure in 'NON-MRI: macos-11 jruby', which was a Java SSL error (I think), and one failure in (guarded) 'NON-MRI: macos-11 truffleruby' which was 'truffleruby: Unexpected internal exception in at_exit,' Hence, I think the intermittent failure rate will drop considerably... This weekend I did see a few test timeouts, but the duration of the compile step was several times longer than normal jobs. May see if that can be picked up by Actions... Edit: I'm fine with committing the PR's, if anyone has time for a quick review, that would be appreciated. |
OK phew. I'm back, was busy moving into a new place the last two weeks. |
OK, looks good to me. Would appreciate everyone's review. |
Will review. Question - should we mark some classes as internal only? Maybe Client, Worker classes, etc? I did try to determine what repos were using Puma in a non-standard way, and all the ones I could find were creating a server to send test requests to. IOW, bypassing Launcher, Runner, etc. So, most the Config related classes and Server. I expect changes to Client (timers, IOBuffer, etc) and maybe others, and saving those changes until v7 would be a PITA... Thoughts? |
Sure, we can start doing that. What mechanism do you propose? Rails used |
See #2988 for a PR. Looking for input as to what classes/modules should be considered 'private'. |
No description provided.