soap4r-ng 2.1.0
CI/CD: full version matrix now green
- CI now runs inside the exact same Docker images used for local validation (Ruby 1.8.7 through 4.0.5, plus JRuby 9.4.15.0/10.1.0.0), replacing an
ruby/setup-ruby-based runner matrix that kept drifting out from under local testing. - Ruby 1.9.3 and 2.0.0 (whose official Docker Hub images are no longer pullable) are now built from source via rbenv; Ruby 1.8.7 is built from source against a vendored OpenSSL.
- Every version in the matrix is now either fully passing or limited to a small set of specific, documented, non-soap4r-bug exceptions (see the README's "Known Test Suite Exceptions").
Reliability fixes
- Fixed the intermittent "stuck"/hung CI runs caused by test teardown calling
Thread#killimmediately afterWEBrick#shutdown, which raced WEBrick's own async listener cleanup and could leak a bound port for the rest of the run. Teardown now does a boundedjoinand only kills as a genuine last resort, across 54 test files. - Fixed
test/soap/ssl/test_ssl.rb: the spawned SSL test server was launched through an unnecessary shell hop, which meantProcess.waitpidcould never actually find its child and silently slept 5 seconds on every single SSL test, every run, while printing a misleading "no Child Process found to wait on" warning.
Noise cleanup
Removed several classes of spurious warnings that had been cluttering CI logs across the Ruby version matrix:
frozen_string_literal/chilled-string warnings (Ruby 3.4+) fromlib/soap/mapping/encodedregistry.rb, without disabling the warning for any other code.- The
mutex_m/Thread::Mutexdeprecation warning that fired on nearly everyLoggerinstantiation on Ruby 1.9.3-2.2.10. logger/getoptlong/webrick"moved to a default gem" notices on Ruby >= 3.4/4.0.