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
Prevent loading with rack 3 #3166
Prevent loading with rack 3 #3166
Conversation
377c1ac
to
f4d867d
Compare
1e96087
to
f84bdb2
Compare
Monday (US) I'll add some commits (some are backports) to Puma 5 to get the CI passing. This can then be rebased. It will probably require a special test to start a sub-process with Puma loaded with Rack 3, similar to the other tests that check 'restart' functionality with changed dependencies. |
f84bdb2
to
d9fafbf
Compare
I wrote a test for it. I tried to stay as close as possible in style to other examples I could find, like the restart ones you suggested. I tested the validity of the test by commenting out the fix. I tried to reuse some existing helpers, but I had to do some small modifications. |
I think that is fine, the test suite is constantly evolving in main |
I just pushed #3167, which fixes the v5 CI. There will be conflicts with this PR. Also, I've found that rebasing someone else's PR can get messy, so if you can do so after #3167 is merged? Since some people may be pinned to 5.6, maybe this PR should be on 5-6-stable? I don't think there will be a 5.7, as that implies new features, which is unlikely. @nateberkopec ? Thanks for the PR. |
Sure! Happy to do it!
Yeah, the PR is targeting 5-7, but they are both on the same commit, I was expecting that we would merge it to one and do a fast forward merge on the other (keeping them on the same commit again). |
I merged the PR and cancelled the two frozen CI runs, apparently CI freezes when the OS platform is unknown. Kind of odd. Previous CI had macos-10.15, which is no longer available... |
There's #3055 |
Thanks, Missed that. Regardless, if people are pinned to 5.6, it would probably be a good idea to have this for 5.6.6? |
I just pushed #3167 to 5-7-stable. CI running now. |
8299aba
to
5167b71
Compare
I've got patch for this at MSP-Greg@ede389a I can push it, or you can add it. Thanks for your work on this. |
Merged! 🙌 |
Reading the patch and thinking I really forgot to rename the class ?! 🤦♂️ 😂 |
No problem. A few years ago ruby/ruby had the same issue. There were 'pure Ruby' tests files, and more files that checked the Ruby C API. There was duplication of some test class names, which resulted in squirrelly errors that were dependent on which test file was loaded last. The failure is an intermittent failure unrelated to this PR. Where should this go (5-6-stable or 5-7-stable), or both? |
I'll let @nateberkopec be the judge of that because he's the one doing releases, I have no preference |
I was multi-tasking this morning and just recalled some items. See this additional patch for changes to Several reasons for the changes, first being when I saw Anyone have any thoughts about the changes in the patch? |
LGTM |
Merged your patch |
Let's open this against 5-6-stable, I don't want this to block on #3055. |
Changed the base, but we should also push this in 5.7 before it is published. |
de11d4d
to
9e9eb73
Compare
ruby head builds had an ABI change that nio4r didn't like. It's been reverted, and the head builds have been updated in GitHub Actions. So, I reran the failing heads builds here. |
Looks like it passed the tests, ready to merge? |
I don't think we have anything else waiting for a backport to 5-6-stable? |
* Prevent booting with rack 3 * Move with_unbundled_env to integration helpers * Version restriction test environment * Allow skipping the wait period with the cli_server helper * Test for the rack version restriction * Fixup & Rename test file * Minor puma.rb and rack/version_restriction.rb changes --------- Co-authored-by: MSP-Greg <Greg.mpls@gmail.com>
Do you mean 5-7? I just opened the PR if that's the case. |
Came back to check on the PR after watching your talk at RubyConf AU. Felt like I reminder 😆 |
Sorry I was talking to myself/maintainers to see if I could release 5-6-stable as the next version |
Oops 😆 Got it |
Puma 5.x is not compatible with Rack 3 cookies. The current default new Gemfile uses puma ">= 5.0". Puma ~> 5.6 will error on start when used with Rack 3, but earlier versions will not. puma/puma#3164: Support Rack 3 cookies puma/puma#3166: Prevent loading with rack 3 phusion/passenger#2503: Related passenger ex
Description
See #3164
Puma 5 is not compatible with Rack 3. App generated with the default Rails 6.1 and 7.0 app template will hit this error when they run
bundle update
.This check ensures affected users will get a meaningful error message pointing them toward a fix.
Your checklist for this pull request
[ci skip]
to the title of the PR.#issue
" to the PR description or my commit messages.