All Versions
46
Latest Version
Avg Release Cycle
46 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v0.23.0 Changes
- โ Add Python 3.11 support
- ๐ Fix type annotations of
CallList
. - Replaced toml with tomli and tomli-w.
-
v0.22.0 Changes
- โก๏ธ Update
requests
dependency to the version of 2.22.0 or higher. See #584. - [BETA] Added possibility to record responses to TOML files via
@_recorder.record(file_path="out.toml")
decorator. - [BETA] Added possibility to replay responses (populate registry) from TOML files
via
responses._add_from_file(file_path="out.toml")
method. - ๐ Fix type for the
mock
's patcher object. See #556 - ๐ Fix type annotation for
CallList
- โ Add
passthrough
argument toBaseResponse
object. See #557 - ๐ Fix
registries
leak. See #563 - ๐
OriginalResponseShim
is removed. See #585 - Add support for the
loose
version ofjson_params_matcher
via named argumentstrict_match
. See #551 - Add lists support as JSON objects in
json_params_matcher
. See #559 - โ Added project links to pypi listing.
delete
,get
,head
,options
,patch
,post
,put
shortcuts are now implemented usingfunctools.partialmethod
.- ๐ Fix
MaxRetryError
exception. Replace exception byRetryError
according torequests
implementation. See #572. - ๐ Adjust error message when
Retry
is exhausted. See #580.
- โก๏ธ Update
-
v0.21.0 Changes
- โ Add
threading.Lock()
to allowresponses
working withthreading
module. - โ Add
urllib3
Retry
mechanism. See #135 - Removed internal
_cookies_from_headers
function - Now
add
,upsert
,replace
methods return registered response.remove
method returns list of removed responses. - Added null value support in
urlencoded_params_matcher
viaallow_blank
keyword argument - Added strict version of decorator. Now you can apply
@responses.activate(assert_all_requests_are_fired=True)
to your function to validate that all requests were executed in the wrapped function. See #183
- โ Add
-
v0.20.0 Changes
- Deprecate
responses.assert_all_requests_are_fired
,responses.passthru_prefixes
,responses.target
since they are not actual properties of the class instance. Useresponses.mock.assert_all_requests_are_fired
,responses.mock.passthru_prefixes
,responses.mock.target
instead. - ๐ Fixed the issue when
reset()
method was called in not stopped mock. See #511
- Deprecate
-
v0.19.0 Changes
- โ Added a registry that provides more strict ordering based on the invocation index.
See
responses.registries.OrderedRegistry
. - โ Added shortcuts for each request method: delete, get, head, options, patch, post, put.
For example, to add response for POST request you can use
responses.post()
instead ofresponses.add(responses.POST)
. - Prevent
responses.activate
decorator to leak, if wrapped function called from within another wrapped function. Also, allow calling of above mentioned chain. See #481 for more details. - Expose
get_registry()
method ofRequestsMock
object. Replaces internal_get_registry()
. query_param_matcher
can now accept dictionaries withint
andfloat
values.- Add support for the
loose
version ofquery_param_matcher
via named argumentstrict_match
. - โ Added support for
async/await
functions. response_callback
is no longer executed on exceptions raised by failedResponse
s- Change logic of
_get_url_and_path
to comply with RFC 3986. Now URL match occurs by matching schema, authority and path, where path is terminated by the first question mark ("?") or number sign ("#") character, or by the end of the URI. - An error is now raised when both
content_type
andheaders[content-type]
are provided as parameters. - ๐ When a request isn't matched the passthru prefixes are now included in error messages.
- โ Added a registry that provides more strict ordering based on the invocation index.
See
-
v0.18.0 Changes
- โฌ๏ธ Dropped support of Python 2.7, 3.5, 3.6
- ๐ Fixed issue with type annotation for
responses.activate
decorator. See #468 - Removed internal
_is_string
and_ensure_str
functions - โ
Removed internal
_quote
fromtest_responses.py
- โ Removed internal
_matches
attribute ofRequestsMock
object. - Generated decorator wrapper now uses stdlib features instead of strings and exec
- ๐ Fix issue when Deprecation Warning was raised with default arguments
in
responses.add_callback
due tomatch_querystring
. See #464
-
v0.17.0 Changes
- ๐ This release is the last to support Python 2.7.
- Fixed issue when
response.iter_content
whenchunk_size=None
entered infinite loop - ๐ Fixed issue when
passthru_prefixes
persisted across tests. Nowadd_passthru
is valid only within a context manager or for a single function and cleared on exit - ๐ Deprecate
match_querystring
argument inResponse
andCallbackResponse
. Useresponses.matchers.query_param_matcher
orresponses.matchers.query_string_matcher
- โ Added support for non-UTF-8 bytes in
responses.matchers.multipart_matcher
- โ Added
responses.registries
. Now user can create custom registries to manipulate the order of responses in the match algorithmresponses.activate(registry=CustomRegistry)
- ๐ Fixed issue with response match when requests were performed between adding responses with same URL. See Issue #212
-
v0.16.0 Changes
- ๐ Fixed regression with
stream
parameter deprecation, requests.session() and cookie handling. - ๐ Replaced adhoc URL parsing with
urllib.parse
. - โ Added
match
parameter toadd_callback
method - Added
responses.matchers.fragment_identifier_matcher
. This matcher allows you to match request URL fragment identifier. - ๐ Improved test coverage.
- ๐ Fixed failing test in python 2.7 when
python-future
is also installed.
- ๐ Fixed regression with
-
v0.15.0 Changes
- โ Added
responses.PassthroughResponse
andreponses.BaseResponse.passthrough
. These features make building passthrough responses more compatible with dynamcially generated response objects. - Removed the unused
_is_redirect()
function from responses internals. - Added
responses.matchers.request_kwargs_matcher
. This matcher allows you to match additional request arguments likestream
. - โ Added
responses.matchers.multipart_matcher
. This matcher allows you to match request body and headers formultipart/form-data
data - Added
responses.matchers.query_string_matcher
. This matcher allows you to match request query string, similar toresponses.matchers.query_param_matcher
. - โ Added
responses.matchers.header_matcher()
. This matcher allows you to match request headers. By default only headers supplied toheader_matcher()
are checked. You can make header matching exhaustive by passingstrict_match=True
toheader_matcher()
. - ๐ Changed all matchers output message in case of mismatch. Now message is aligned between Python2 and Python3 versions
- ๐ Deprecate
stream
argument inResponse
andCallbackResponse
- โ Added Python 3.10 support
- โ Added
-
v0.14.0 Changes
- โ Added
responses.matchers
. - Moved
responses.json_params_matcher
toresponses.matchers.json_params_matcher
- Moved
responses.urlencoded_params_matcher
toresponses.matchers.urlencoded_params_matcher
- Added
responses.matchers.query_param_matcher
. This matcher allows you to match query strings with a dictionary. - Added
auto_calculate_content_length
option toresponses.add()
. When enabled, this option will generate aContent-Length
header based on the number of bytes in the response body.
- โ Added