v2.16.0
Restore compatibility
If you stayed on 2.12.1 because a later version broke something, this release is for you. The fixes below target the most commonly reported upgrade blockers. Existing code should work without modification.
- Fix: Restore
Savon::Response#hashremoved in 2.14.0 (#985). Callers on 2.12.1 that useresponse.hashget the soap body back instead of Ruby's integer object id. A deprecation warning is emitted on each call. Use#full_hashgoing forward. - Fix: Require wasabi >= 5.1.0 (#1015, #1016). Wasabi 4.x used message names as soap body element names and SOAPAction header values instead of operation names (savonrb/wasabi#122), causing servers to return a fault or reject the action for operations whose message name carried an
Insuffix. - Fix: Stop dumping all WSDL namespaces into every soap envelope (#1014, #942). 2.13.0 injected every namespace from the entire WSDL document into each request, including structural ones that have no place in a request body. Strict servers reject envelopes with unexpected or duplicate declarations.
- Fix: Raise a proper
SOAPFaultinstead of a raw exception whensoap:Faultcontains invalid encoding (#923). - Fix:
SOAPFault.present?was ignoring itsxmlargument and always operating on the instance's own body. - Change: Added Ruby 3.4 (#1024) and Ruby 4.0 (#1039) to the CI test matrix.
Changelog: https://github.com/savonrb/savon/blob/v2.x/CHANGELOG.md
Commits: v2.15.1...v2.16.0