Upgrading faraday 0.17 to 1
Unknown0.17.6 → 1.10.6Security2Fixed1Other1
Fetching 29 releases from GitHub…3 / 29
SecurityHigh · CVSS 7.5Backports the GHSA-98m9-hrrm-r99r fix to 1.x by adding param_depth_limit to NestedParamsEncoder.GHSA-98m9-hrrm-r99r · CVE-2026-54297 ↗
UnknownUpgrade verdict
DepDelta is still reading the notes for 26 of 29 releases, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act 2 items need code or config changes
Ruby requirement changed in 1.9.3: >= 1.9 → >= 2.4.
What you must change
Security2
Backports the GHSA-98m9-hrrm-r99r fix to 1.x by adding param_depth_limit to NestedParamsEncoder.
NestedParamsEncoderparam_depth_limitHigh · CVSS 7.5Backports the fix for CVE-2026-25765 to the 1.10.x series.
Moderate · CVSS 5.8API changes
Generated by DepDelta from published Ruby source. Not mixed with prose notes.
- removed:
const Faraday.Parts - removed:
const Faraday.Timer - removed:
const Faraday.UploadIO - removed:
method EmHttpSslPatch.certificate_store() - removed:
method EmHttpSslPatch.host() - removed:
method EmHttpSslPatch.ssl_handshake_completed() - removed:
method EmHttpSslPatch.ssl_verify_peer(_) - removed:
method EmHttpSslPatch.verify_peer?() - removed:
module EmHttpSslPatch - removed:
static method Faraday.const_missing(_) - removed:
static method Faraday.respond_to?(_, _ = …) - added:
const Faraday.CONTENT_TYPE - added:
const Faraday.METHODS_WITH_BODY - added:
const Faraday.METHODS_WITH_QUERY
- removed:
class CompositeReadIO - removed:
constructor CompositeReadIO(*) - removed:
method CompositeReadIO.close() - removed:
method CompositeReadIO.ensure_open_and_readable() - removed:
method CompositeReadIO.length() - removed:
method CompositeReadIO.read(_ = …, _ = …) - removed:
method CompositeReadIO.rewind() - removed:
method Connection.proxy(_ = …) - removed:
method Request.http_method() - removed:
method Utils.normalize_params(_, _, _ = …) - removed:
module NestedParamsEncoder - removed:
property Connection.options: reader - removed:
static method Middleware.dependency(_ = …) - removed:
static method Middleware.loaded?() - removed:
static method Middleware.new(*) - removed:
static method NestedParamsEncoder.decode(_) - removed:
static method NestedParamsEncoder.encode(_) - changed:
class Adapter < Middleware → class Adapter - changed:
class Env < Options.new(:method, :body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase) → class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) - changed:
class Request < Struct.new(:method, :path, :params, :headers, :body, :options) → class Request < Struct.new(:http_method, :path, :params, :headers, :body, :options) - changed:
class RequestOptions < Options.new(:params_encoder, :proxy, :bind, :timeout, :open_timeout, :write_timeout, :boundary, :oauth, :context) → class RequestOptions < Options.new(:params_encoder, :proxy, :bind, :timeout, :open_timeout, :read_timeout, :write_timeout, :boundary, :oauth, :context, :on_data) - changed:
constructor Middleware(_ = …) → constructor Middleware(_ = …, _ = …) - changed:
constructor RackBuilder(_ = …) → constructor RackBuilder(_ = …, _ = …) - changed:
method RackBuilder.adapter(_, *) → method RackBuilder.adapter(_ = …, *) - changed:
method RackBuilder.to_app(_) → method RackBuilder.to_app() - changed:
method Utils.build_nested_query(_) → static method Utils.build_nested_query(_) - changed:
method Utils.build_query(_) → static method Utils.build_query(_) - changed:
method Utils.default_params_encoder() → static method Utils.default_params_encoder() - changed:
method Utils.escape(_) → static method Utils.escape(_) - changed:
method Utils.parse_nested_query(_) → static method Utils.parse_nested_query(_) - changed:
method Utils.parse_query(_) → static method Utils.parse_query(_) - changed:
method Utils.unescape(_) → static method Utils.unescape(_) - changed:
static method Deprecate.deprecate(_, _, _) → static method Deprecate.deprecate(_, _, _, _ = …) - added:
class AdapterRegistry - added:
const Adapter.TIMEOUT_KEYS - added:
const Connection.USER_AGENT - added:
const DecodeMethods.SUBKEYS_REGEX - added:
const RackBuilder.LOCK_ERR - added:
constructor AdapterRegistry() - added:
method Adapter.close() - added:
method Adapter.connection(_) - added:
method AdapterRegistry.get(_) - added:
method AdapterRegistry.set(_, _ = …) - added:
method Connection.close() - added:
method Connection.initialize_proxy(_, _) - added:
method Connection.options(*) - added:
method Connection.set_basic_auth(_, _) - added:
method Connection.support_parallel?(_) - added:
method DecodeMethods.decode(_) - added:
method DependencyLoader.dependency(_ = …) - added:
method DependencyLoader.loaded?() - added:
method DependencyLoader.new(*) - added:
method EncodeMethods.encode(_) - added:
method Env.body() - added:
method Env.current_body() - added:
method Error.response_body() - added:
method Error.response_headers() - added:
method Error.response_status() - added:
method Middleware.call(_) - added:
method Middleware.close() - added:
method MiddlewareRegistry.unregister_middleware(_) - added:
method Request.method() - added:
method RequestOptions.stream_response?() - added:
method Response.to_hash() - added:
module DecodeMethods - added:
module DependencyLoader - added:
module EncodeMethods - added:
module FlatParamsEncoder - added:
module Logging - added:
property Connection.proxy: reader - added:
property DependencyLoader.load_error: reader - added:
property Middleware.app: reader - added:
property Middleware.options: reader - added:
protected method DecodeMethods.decode_pair(_, _, _) - added:
protected method EncodeMethods.encode_array(_, _) - added:
protected method EncodeMethods.encode_hash(_, _) - added:
protected method EncodeMethods.encode_pair(_, _) - added:
set Env.body(_) - added:
static method FlatParamsEncoder.decode(_) - added:
static method FlatParamsEncoder.encode(_) - added:
static method Utils.URI(_) - added:
static method Utils.deep_merge!(_, _) - added:
static method Utils.deep_merge(_, _) - added:
static method Utils.default_space_encoding() - added:
static method Utils.default_uri_parser() - added:
static method Utils.normalize_path(_) - added:
static method Utils.sort_query_params(_) - added:
static property FlatParamsEncoder.sort_params: accessor - added:
static property Utils.default_space_encoding: writer - added:
static set Utils.default_uri_parser(_)
- removed:
class EMHttp < Faraday::Adapter - removed:
class EMSynchrony < Faraday::Adapter - removed:
class Excon < Faraday::Adapter - removed:
class HTTPClient < Faraday::Adapter - removed:
class NetHttp < Faraday::Adapter - removed:
class NetHttpPersistent < NetHttp - removed:
class Patron < Faraday::Adapter - removed:
class Rack < Faraday::Adapter - removed:
const NetHttp.NET_HTTP_EXCEPTIONS - removed:
const Patron.CURL_TIMEOUT_MESSAGES - removed:
const Rack.SPECIAL_HEADERS - removed:
constructor NetHttp(_ = …, _ = …) - removed:
constructor Rack(_, _) - removed:
method EMHttp.call(_) - removed:
method EMHttp.create_request(_) - removed:
method EMHttp.error_message(_) - removed:
method EMHttp.parallel?(_) - removed:
method EMHttp.perform_request(_) - removed:
method EMHttp.perform_single_request(_) - removed:
method EMHttp.raise_error(_) - removed:
method EMSynchrony.call(_) - removed:
method EMSynchrony.create_request(_) - removed:
method Excon.call(_) - removed:
method Excon.create_connection(_, _) - removed:
method Excon.read_body(_) - removed:
method HTTPClient.call(_) - removed:
method HTTPClient.client() - removed:
method HTTPClient.configure_client() - removed:
method HTTPClient.configure_proxy(_) - removed:
method HTTPClient.configure_socket(_) - removed:
method HTTPClient.configure_ssl(_) - removed:
method HTTPClient.configure_timeouts(_) - removed:
method HTTPClient.ssl_cert_store(_) - removed:
method HTTPClient.ssl_verify_mode(_) - removed:
method NetHttp.call(_) - removed:
method Patron.call(_) - removed:
method Patron.configure_ssl(_, _) - removed:
method Rack.call(_) - removed:
method Rack.execute_request(_, _) - removed:
static method EMHttp.setup_parallel_manager(_ = …) - removed:
static method EMSynchrony.setup_parallel_manager(_ = …)
- removed:
class Manager - removed:
constructor Manager() - removed:
method Manager.add() - removed:
method Manager.check_finished() - removed:
method Manager.perform_request() - removed:
method Manager.reset() - removed:
method Manager.run() - removed:
method Manager.running?() - removed:
method Options.configure_compression(_, _) - removed:
method Options.configure_proxy(_, _) - removed:
method Options.configure_socket(_, _) - removed:
method Options.configure_ssl(_, _) - removed:
method Options.configure_timeout(_, _) - removed:
method Options.connection_config(_) - removed:
method Options.read_body(_) - removed:
method Options.request_config(_) - removed:
method Options.request_options(_) - removed:
module Options
- removed:
class ParallelManager - removed:
method ParallelManager.add(_, _, *) - removed:
method ParallelManager.run()
- removed:
constructor Stub(_, _, _, _, _) - changed:
class Stub < Struct.new(:host, :path, :params, :headers, :body, :block) → class Stub < Struct.new(:host, :path, :query, :headers, :body, :strict_mode, :block) - changed:
constructor Stubs() → constructor Stubs(strict_mode: …) - changed:
method Stub.matches?(_, _, _, _) → method Stub.matches?(_) - changed:
method Stubs.match(_, _, _, _, _) → method Stubs.match(_) - changed:
protected method Stubs.matches?(_, _, _, _, _) → protected method Stubs.matches?(_, _) - added:
set Stubs.strict_mode(_)
- changed:
class MethodsWithBodies < Set.new → class MethodsWithBodies < Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))
- removed:
class RetriableResponse < ClientError - changed:
class ConnectionFailed < ClientError → class ConnectionFailed < Error - changed:
class ParsingError < ClientError → class ParsingError < Error - changed:
class SSLError < ClientError → class SSLError < Error - changed:
class TimeoutError < ClientError → class TimeoutError < ServerError
- added:
class Formatter - added:
const Formatter.DEFAULT_OPTIONS - added:
constructor Formatter(logger:, options:) - added:
method Formatter.filter(_, _) - added:
method Formatter.request(_) - added:
method Formatter.response(_)
- changed:
method Handler.build(_) → method Handler.build(_ = …) - added:
class NO_ARGUMENT < Object.new
- added:
class REGISTRY < Faraday::AdapterRegistry.new
- removed:
class Multipart < Request::UrlEncoded - removed:
class Retry < Faraday::Middleware - removed:
const Multipart.DEFAULT_BOUNDARY_PREFIX - removed:
const Retry.DEFAULT_EXCEPTIONS - removed:
const Retry.IDEMPOTENT_METHODS - removed:
constructor Retry(_, _ = …) - removed:
method Authorization.call(_) - removed:
method Multipart.call(_) - removed:
method Multipart.create_multipart(_, _) - removed:
method Multipart.has_multipart?(_) - removed:
method Multipart.process_params(_, _ = …, _ = …) - removed:
method Multipart.process_request?(_) - removed:
method Multipart.unique_boundary() - removed:
method Retry.build_exception_matcher(_) - removed:
method Retry.calculate_sleep_amount(_, _) - removed:
method Retry.call(_) - changed:
class BasicAuthentication < Request.load_middleware(:authorization) → class BasicAuthentication < load_middleware(:authorization) - changed:
class TokenAuthentication < Request.load_middleware(:authorization) → class TokenAuthentication < load_middleware(:authorization) - added:
class Json < Middleware - added:
const Json.MIME_TYPE - added:
const Json.MIME_TYPE_REGEX - added:
method Authorization.on_request(_) - added:
method Json.on_request(_)
- removed:
class Options < Faraday::Options.new(:max, :interval, :max_interval, :interval_randomness, :backoff_factor, :exceptions, :methods, :retry_if, :retry_block, :retry_statuses) - removed:
const Options.DEFAULT_CHECK - removed:
method Options.backoff_factor() - removed:
method Options.exceptions() - removed:
method Options.interval() - removed:
method Options.interval_randomness() - removed:
method Options.max() - removed:
method Options.max_interval() - removed:
method Options.methods() - removed:
method Options.retry_block() - removed:
method Options.retry_if() - removed:
method Options.retry_statuses() - removed:
static method Options.from(_)
- removed:
const Logger.DEFAULT_OPTIONS - removed:
method Logger.filter(_, _) - removed:
method Middleware.call(_) - changed:
class Logger < Response::Middleware → class Logger < Middleware - changed:
class RaiseError < Response::Middleware → class RaiseError < Middleware - added:
class Json < Middleware - added:
const RaiseError.ServerErrorStatuses - added:
constructor Json(_ = …, _ = …) - added:
method Json.on_complete(_)
- removed:
protected method Headers.names() - added:
protected property Headers.names: reader