Remove unused rack classes
These are no longer autoloaded so they can be removed. See: https://github.com/rack/rack/commit/fd7e0ade3ed8fc82408505f9d6069ee3384da5d1 https://github.com/rack/rack/pull/2113#issuecomment-1692438261
I don't think we can merge this as it will break compatibility. However, I'll check tomorrow.
If merged and released in a new major version of the rackup gem, this could be okay? The Rack upgrade guide does mention classes were renamed. The guide could be amended to mention in which rackup version the old classes was removed.
Yes, that would be totally fine, however my suggestion is, there is no hurry to do this, and the sooner we do it, the more pain we will cause. So, IMHO, let's wait until Rack 3.0 and Rails 7.1 is well and truly out the door, maybe even Rails 8.0 - Rack 2.x will likely be deprecated around that time, then this change will be painless. Unless there is some value in doing it sooner, I'd vote we wait to avoid creating potential pain for users.
Totally agree with that.
If we are going to keep these for a while, should the autoload logic be copied to rackup instead?
If a new version of Rack is released, the Rack::Server and Rack::Handler no longer get autoloaded.
I think that’s reasonable.
I've added both Puma and Falcon to the external test suite, and everything is passing, so I'm good to merge this now. Tangentially related, I'm happy that we gave this time to percolate through the system, so thanks for your patience.
Released in v2.2.0.