rackup icon indicating copy to clipboard operation
rackup copied to clipboard

Remove unused rack classes

Open p8 opened this issue 2 years ago • 6 comments

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

p8 avatar Aug 25 '23 08:08 p8

I don't think we can merge this as it will break compatibility. However, I'll check tomorrow.

ioquatix avatar Aug 25 '23 10:08 ioquatix

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.

dentarg avatar Aug 26 '23 06:08 dentarg

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.

ioquatix avatar Aug 26 '23 09:08 ioquatix

Totally agree with that.

dentarg avatar Aug 26 '23 09:08 dentarg

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.

p8 avatar Aug 28 '23 07:08 p8

I think that’s reasonable.

ioquatix avatar Aug 28 '23 09:08 ioquatix

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.

ioquatix avatar Nov 02 '24 04:11 ioquatix

Released in v2.2.0.

ioquatix avatar Nov 02 '24 04:11 ioquatix