Skip to content

soap4r-ng 2.1.0

Latest

Choose a tag to compare

@rubyjedi rubyjedi released this 08 Jul 05:45

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#kill immediately after WEBrick#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 bounded join and 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 meant Process.waitpid could 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+) from lib/soap/mapping/encodedregistry.rb, without disabling the warning for any other code.
  • The mutex_m/Thread::Mutex deprecation warning that fired on nearly every Logger instantiation on Ruby 1.9.3-2.2.10.
  • logger/getoptlong/webrick "moved to a default gem" notices on Ruby >= 3.4/4.0.

Other

  • Added an options argument to XSD Mapper/Mapping methods (#22, #29).
  • General CI/CD cleanup (#30).