Skip to content

Upgrading faraday 0.17 to 1

Unknown0.17.6 → 1.10.6Security2Fixed1Other1

Fetching 29 releases from GitHub…3 / 29
UnknownUpgrade verdict

DepDelta is still reading the notes for 26 of 29 releases, so breaking changes can't be ruled out yet.

  • 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.
2 items need code or config changes

Ruby requirement changed in 1.9.3: >= 1.9 → >= 2.4.

Security2
Backports the GHSA-98m9-hrrm-r99r fix to 1.x by adding param_depth_limit to NestedParamsEncoder.
NestedParamsEncoderparam_depth_limitHigh · CVSS 7.5
Backports the fix for CVE-2026-25765 to the 1.10.x series.
Moderate · CVSS 5.8

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