Responses

Latest version: v0.25.7

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 10

0.23.1

------

* Remove `tomli` import. See 630

0.23.0

------

* Add Python 3.11 support
* Fix type annotations of `CallList`. See 593
* `request` object is attached to any custom exception provided as `Response` `body` argument. See 588
* Fixed mocked responses leaking between tests when `assert_all_requests_are_fired` and a request was not fired.
* [BETA] Default recorder format was changed to YAML. Added `responses.RequestsMock._parse_response_file` and
`responses._recorder.Recorder.dump_to_file` methods that allow users to override default parser to eg toml, json

0.22.0

------

* 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 to `BaseResponse` object. See 557
* Fix `registries` leak. See 563
* `OriginalResponseShim` is removed. See 585
* Add support for the `loose` version of `json_params_matcher` via named argument `strict_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 using `functools.partialmethod`.
* Fix `MaxRetryError` exception. Replace exception by `RetryError` according to `requests` implementation. See 572.
* Adjust error message when `Retry` is exhausted. See 580.

0.21.0

------

* Add `threading.Lock()` to allow `responses` working with `threading` 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` via `allow_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

0.20.0

------

* Deprecate `responses.assert_all_requests_are_fired`, `responses.passthru_prefixes`, `responses.target`
since they are not actual properties of the class instance.
Use `responses.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

0.19.0

------

* 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
of `responses.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 of `RequestsMock` object. Replaces internal `_get_registry()`.
* `query_param_matcher` can now accept dictionaries with `int` and `float` values.
* Add support for the `loose` version of `query_param_matcher` via named argument `strict_match`.
* Added support for `async/await` functions.
* `response_callback` is no longer executed on exceptions raised by failed `Response`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` and `headers[content-type]` are provided as parameters.
* When a request isn't matched the passthru prefixes are now included in error messages.

Page 3 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.