All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Remove indifferent access methods (Hashie) from responses
- Removed
em
andem-pooled
adapters - Require Ruby 3.1+
- ActiveSupport v7.0 issues with cache module
- Typhoeus internal exception when request timed out
- Improve memory usage when running lots of requests with typhoeus adapter
- Use hydra for synchronous requests
- Increased thread stability of typhoeus adapter (new internal queuing mechanism)
- Use Ruby 2.5 as baseline for testing and linting
- Add Ruby 3.0 to automated testing
- Changed timing behavior for multiple requests due to new internal queuing mechanism for the typhoeus adapter
- Allow making requests with non-JSON bodies and custom content types (#42)
- typhoeus: Support setting per-request libcurl options on adapter
- typhoeus: Enable short TCP keepalive probes by default (5s/5s)
- Explicit exception class for HTTP status code 410 (Gone)
GatewayError
exception classes introduced in v1.11.0 now properly inherit fromServerError
(#30)
- Explicit exception classes for HTTP status codes 500, 502, 503, 504
- Raise more specific error on a few status codes (#17)
- Complete promises with an empty list (but a list) of dependencies (#18)
- Do not raise error on 3XX responses but return responses
- Add HEAD request method (#16)
- Introduce promise dependency timeouts (#15)
- Specify headers on restify clients and individual requests (#14)
- Add MessagePack processor enabled by default
- Tune typhoeus adapter to be more race-condition resilent
- Add
#request
toNetworkError
to ease debugging
- Fix race condition in typhoeus adapter
- Add advanced logging capabilities using logging gem
- Improve compatibility with webmocks returning
nil
as headers
- Fix possible deadlock issues
- Add timeout option to requests (only supported by typhoeus adapter)
- Fix possible concurrency issue with typhoeus adapter
- Improve typhoeus adapters initial request queuing
- Disable default pipelining
- Improve typhoeus adapter to better utilize concurrency
- Default to new typhoeus adapter
- Fix issue with Ruby 2.2 compatibility
- Add experimental PooledEM adapter (#10)
- Improve marshaling of resources
- Add shortcuts for creating fulfilled / rejected promises (#6)
- Return response body if no processor matches (#7)
- Experimental cache API doing nothing for now
- Use
~> 1.0
ofconcurrent-ruby
- Add
sync
option to typhoeus adapter - Add registry for storing entry points
- Make eventmachine based adapter default
- Add method to explicit access resource data
- Use typhoeus as default adapter
Restify.new
returns relation now instead of resource
- Drop obligation in favor of simple Concurrent::IVar based promise class.
Notable changes:
- Returned object us of type
Restify::Promise
now. value
will not raise exception but returnnil
in case of failure. Usevalue!
for old behavior.
- Returned object us of type