Some stuff to future-proof against future Ruby incompatibilities. More coming.... I've also pushed out preliminary work (started in 2021) to the `pico' branch to switch the HTTP parser from Ragel to picohttpparser. It will simplify the build + maintenance, especially when distros carry different Ragel versions (or don't package it all, as some hackers can't afford bandwidth and disk for a C++ toolchain). Other notes: New releases will probably be hosted on yhbt.net if the Rubygems.org MFA threshold is reached. Caring about the identity of hackers is totally misguided when we already show our code (and even document it!). If you can't audit the code yourself, get an actual professional to do it and don't bother amateurs like me. Eric Wong (4): t/integration: disable proxies when running curl(1) tests: port back-out-of-upgrade to Perl 5 doc: various updates and disclaimers treewide: future-proof frozen_string_literal changes HACKING | 13 +++- README | 9 +++ Rakefile | 1 + TODO | 4 +- bin/unicorn | 1 + bin/unicorn_rails | 1 + examples/big_app_gc.rb | 1 + examples/echo.ru | 1 + examples/logger_mp_safe.rb | 1 + examples/unicorn.conf.minimal.rb | 1 + examples/unicorn.conf.rb | 1 + ext/unicorn_http/extconf.rb | 1 + lib/unicorn.rb | 1 + lib/unicorn/app/old_rails.rb | 1 + lib/unicorn/app/old_rails/static.rb | 1 + lib/unicorn/cgi_wrapper.rb | 1 + lib/unicorn/configurator.rb | 1 + lib/unicorn/const.rb | 1 + lib/unicorn/http_request.rb | 1 + lib/unicorn/http_response.rb | 1 + lib/unicorn/http_server.rb | 1 + lib/unicorn/launcher.rb | 1 + lib/unicorn/oob_gc.rb | 1 + lib/unicorn/preread_input.rb | 1 + lib/unicorn/select_waiter.rb | 1 + lib/unicorn/socket_helper.rb | 1 + lib/unicorn/stream_input.rb | 1 + lib/unicorn/tee_input.rb | 1 + lib/unicorn/tmpio.rb | 1 + lib/unicorn/util.rb | 1 + lib/unicorn/worker.rb | 1 + setup.rb | 1 + t/back-out-of-upgrade.t | 44 +++++++++++ t/broken-app.ru | 1 + t/client_body_buffer_size.ru | 1 + t/detach.ru | 1 + t/env.ru | 1 + t/fails-rack-lint.ru | 1 + t/heartbeat-timeout.ru | 1 + t/integration.ru | 1 + t/integration.t | 1 + t/lib.perl | 67 ++++++++++++++--- t/listener_names.ru | 1 + t/oob_gc.ru | 1 + t/oob_gc_path.ru | 1 + t/pid.ru | 1 + t/preread_input.ru | 1 + t/reopen-logs.ru | 1 + t/t0008-back_out_of_upgrade.sh | 110 ---------------------------- t/t0013.ru | 1 + t/t0014.ru | 1 + t/t0301.ru | 1 + test/aggregate.rb | 1 + test/benchmark/dd.ru | 1 + test/benchmark/ddstream.ru | 1 + test/benchmark/readinput.ru | 1 + test/benchmark/stack.ru | 1 + test/exec/test_exec.rb | 1 + test/test_helper.rb | 1 + test/unit/test_ccc.rb | 1 + test/unit/test_configurator.rb | 1 + test/unit/test_droplet.rb | 1 + test/unit/test_http_parser.rb | 1 + test/unit/test_http_parser_ng.rb | 1 + test/unit/test_request.rb | 1 + test/unit/test_server.rb | 1 + test/unit/test_signals.rb | 1 + test/unit/test_socket_helper.rb | 1 + test/unit/test_stream_input.rb | 1 + test/unit/test_tee_input.rb | 1 + test/unit/test_util.rb | 1 + test/unit/test_waiter.rb | 1 + unicorn.gemspec | 1 + 73 files changed, 188 insertions(+), 126 deletions(-) create mode 100644 t/back-out-of-upgrade.t delete mode 100755 t/t0008-back_out_of_upgrade.sh