seuros / capistrano-puma

Puma integration for Capistrano
https://github.com/seuros/capistrano-puma
MIT License
618 stars 301 forks source link

support for Puma v6.0 and upwards #357

Closed jesperronn closed 1 year ago

jesperronn commented 1 year ago

currently released version 5.2.0 is constrained to puma (>= 4.0, < 6.0), which prevents Capistrano3-Puma from being upgraded.

here is the error message i see:

Bundler could not find compatible versions for gem "puma":
  In Gemfile:
    puma (~> 6.0)

    capistrano3-puma (~> 5.2) was resolved to 5.2.0, which depends on
      puma (>= 4.0, < 6.0)

Its probably a good idea to look through Puma 6.0 release notes breaking changes:

6.0.0 / 2022-10-14

  • Breaking Changes
    • Dropping Ruby 2.2 and 2.3 support (now 2.4+)
    • Remote_addr functionality has changed
    • No longer supporting Java 1.7 or below (JRuby 9.1 was the last release to support this)
    • Remove nakayoshi GC
    • wait_for_less_busy_worker is now default on
    • Prefix all environment variables with PUMA_ #2924
    • Removed some constants
    • The following classes are now part of Puma's private API: Client, Cluster::Worker, Cluster::Worker, HandleRequest.
    • Configuration constants like DefaultRackup removed
    • Extracted LogWriter from Events
    • Only accept the standard 8 HTTP methods, others rejected with 501.

investigation of actual occurrences of the deprecated items

None found in the code of the plugin for the above mentioned strings:

patterns.txt:

Client
Cluster::Worker
Cluster::Worker
HandleRequest
DefaultRackup
LogWriter
DISABLE_SSL
MAKE_WARNINGS_INTO_ERRORS
WAIT_FOR_LESS_BUSY_WORKERS
DEBUG
git grep -f patterns.txt

So, none found of the deprecated/changed strings

jesperronn commented 1 year ago

Closing this, as the beta version with support for Puma 6 is already released

In Gemfile, you can use:

  gem 'capistrano3-puma', '~> 6.0.beta'