- Fix performance degradation in uWSGI preforking mode - PR #474. Thanks Jiri Horky for your contribution!
- When catching and converting exceptions, handle connection errors first - PR #469.
- Use IPv4 addresses instead of
localhostfor integration tests - PR #468.
- Drop support for Python 3.5 which is EOL end of Sept 2020.
- Switch from msgpack-python, which is deprecated, to msgpack - PR #462. Thanks Erik Cederstrand for your contribution!
- Revert the changes from 10.6.1, since those affected the swagger result of the response, which we should only set when there is a schema defined for the response. Fixes an issue with bravado crashing when an endpoint has no schema and sends no response body.
- Return the raw JSON for a response for which there is no schema, if
use_modelsis set to
False- PR #456. Thanks Terence Honles for your contribution!
- Make following redirects configurable, and off by default, in the default requests-based HTTP client - Issue #449, PR #454, #457. Thanks Matthew Dowdell for your contribution!Note that this bugfix is a behavior change of the default HTTP client, which used to always follow redirects.
- Ensure that
requst_optionsheaders are not modified while constructing request - PR #440. Thanks Nick Gaya for your contribution!
- Fix header authentication for
host:porttype - PR #444. Thanks sanda87 for your contribution!
- Reraise fido
HttpTimeoutErrorwithout modification - PR #447. Thanks Nick Gaya for your contribution!
- Documentation updates - PR #442 and PR #448. Thanks Colin Dunklau for your contribution!
- Ensure that bravado.client.SwaggerSpec is deep copyable - PR #445
- Some type annotation fixes and improvements, in particular for the response_adapter argument to
HttpFuture- PR #436
- Show the response text when an unexpected 5xx response is returned. This fixes a regression introduced in PR #32 - PR #425. Thanks Kevin Coleman for your contribution!
- Allow custom future and response adapter classes in both
FidoClient- PR #430, #431. Thanks Andrii Stepaniuk for your contribution!
HttpErrorTypetype annotations - PR #433
- Fix and re-enable integration tests on Windows - PR #417
- Ensure that bravado supports Windows platform - PR #415
- Ensure that responses with application/.* content type returns raw binary data - PR # 414. Thanks Greg Ruane for your contribution!
- Do not warn about conflicting timeouts in requests HTTP client if only one was specified - PR #411. Thanks Pokey Rule for your contribution!
- Fix bug in
bravado.fido_client.FidoResponseAdapter, it was not returning a unicode string for
text- PR #412
bravado.response.BravadoResponseMetadata.is_fallback_result, it was always
Truein 10.3.0 - Issue #409, PR #410
Noneagain if no exception was handled - PR #410
bravado.testing.response_mocksis now type-annotated - PR #410
- bravado is now fully type-annotated - PR #403
- Add ability to cancel a HttpFuture. Third-party HTTP clients will need to implement
bravado.http_future.FutureAdapterclass to support this - PR #406
- The static method
bravado.config.BravadoConfigwas removed due to compatibility issues with Python 3.5.0. This method was meant for internal use only; if you do happen to call it please switch to
bravado.config.bravado_config_from_config_dict()instead. - PR #407
- Fix issue with default (requests) HTTP client if HTTP_PROXY environment variable is set - Issue #401, PR #402. Thanks Lourens Veen for the initial report!
- Reraise network errors when unmarshalling - PR #397
- Support customizing or disabling SSL/TLS validation for the default HTTP client - Issues #278, #311, PR #392
- Use the fallback result in case of connection errors as well - PR #381
- Add support for non-callable fallback results, stabilize the response API - PR #376
- Add unified connection error handling support, introduce
bravado.exception.BravadoConnectionError- PR #377
- Support per-request API key header overwriting - PR #374. Thanks Yuliya Bagriy for your contribution!
- Extract integration testing tools to
bravado.testing.integration_testmodule - PR #378
- Add helper classes (in
bravado.testing.response_mocks) for unit testing code using bravado - PR #375
- Re-add ability to force returning fallback results - PR #372. Per-request configuration is now handled by the
bravado.config.RequestConfigclass. This change requires an updated version of bravado-asyncio in case you’re using that HTTP client.
- Revert ability to force returning fallback results which was introduced in 9.3.1, since it contains backwards-incompatible changes that break third-party HTTP clients like bravado-asyncio.
- Add ability to force returning fallback results - PR #372
Introduce the HTTPFuture.response API as well as support for returning a fallback result. - PR #365, #366, #367, #368
NOTE: Most of this API is not documented yet and is considered experimental; we’re working on stabilizing it and providing developer documentation.
- Fix msgpack import issue - PR #341. Thanks Jesse Myers for your contribution!
- The timeout exception for the requests client should inherit from
requests.exceptions.Timeout- PR #337
- Support msgpack as wire format for response data - PR #323, 328, 330, 331
- Allow client to access resources for tags which are not valid Python identifier names, by adding the
SwaggerClient.get_resourcemethod. For example,
client.get_resource('My Pets').list_pets()- PR #320. Thanks Craig Blaszczyk for your contribution!
- Unify timeout exception classes. You can now simply catch
builtins.TimeoutErrorif you’re using Python 3.3+) - PR #321
- Allow users to pass the tcp_nodelay request parameter to FidoClient requests - PR #319
- Make sure HTTP header names and values are unicode strings when using the fido HTTP client. NOTE: this is a potentially backwards incompatible change if you’re using the fido HTTP client and are working with response headers. It’s also highly advised to not upgrade to bravado-core 4.8.0+ if you’re using fido unless you’re also upgrading to a bravado version that contains this change.
- Require fido version 4.2.1 so we stay compatible to code catching crochet.TimeoutError
- Don’t mangle headers with bytestring values on Python 3
- Make sure headers passed in for fetching specs are converted to str as well
- Fix regression when passing swagger parameters of type header in
_request_optionsintroduced by PR #288
- When using the fido HTTP client and passing a timeout to
result(), make sure we throw a fido HTTPTimeoutError instead of a crochet TimeoutError when hitting the timeout.
_requests_optionsheaders are casted to
stringto support newer version of
- Convert http method to str while constructing the request to fix an issue with file uploads when using requests library versions before 2.8.
- Add API key authentication via header to RequestsClient.
- Fido client is now an optional dependency. NOTE: if you intend to use bravado with the fido client you need to install bravado with fido extras (
pip install bravado[fido])
- Remove support for Python 2.6, fixing a build failure.
- Switch from Python 3.4 to Python 3.5 for tests.
- Bravado using Fido 3.2.0 python 3 ready
- Bravado compliant to Fido 3.0.0
- Dropped use of concurrent futures in favor of crochet EventualResult
- Workaround for bypassing a unicode bug in python requests < 2.8.1
- Don’t unnecessarily constrain the version of twisted when not using python 2.6
- Removed logic to build multipart forms. Using python ‘requests’ instead to build the entire http request.
- Support for YAML Swagger specs - PR #198
- Remove pytest-mock dependency from requirements-dev.txt. No longer used and it was breaking the build.
- Requires bravado-core >= 4.2.2
- Fix unit test for default values getting sent in the request
- Require twisted < 15.5.0 since Python 2.6 support was dropped
- Support per-request response_callbacks to enable
SwaggerClientdecorators to instrument an
IncomingResponsepost-receive. This is a non-backwards compatible change iff you have implemented a custom
HttpClient. Consult the changes in signature to
- Config option
also_return_responseis supported on a per-request basis.
IncomingResponsesubclasses to provide access to the http headers.
- Requires bravado-core >= 3.1.0
- Clients can now access the HTTP response from a service call to access things like headers and status code. See Advanced Usage
- User-defined formats are no longer global. The registration mechanism has changed and is now done via configuration. See Configuration
- Update ResourceDecorator to return an operation as a CallableOperation instead of a function wrapper (for the docstring). This allows further decoration of the ResourceDecorator.
- Consistent bravado.exception.HTTPError now thrown from both Fido and Requests http clients.
- HTTPError refactored to contain an optional detailed message and Swagger response result.
- Support passing in connect_timeout and timeout via _request_options to the Fido and Requests clients
- Timeout in HTTPFuture now defaults to None (wait indefinitely) instead of 5s. You should make sure any calls to http_future.result(..) without a timeout are updated accordingly.
- Add warning for deprecated operations
- Assume responsibility for http invocation (used to be in bravado-core)
- Made bravado compatible with Py34
- Fixed petstore demo link
- Pick up bug fixes from bravado-core 1.1.0
- Renamed ResponseLike to IncomingResponse to match bravado-core
- Initial version - large refactoring/rewrite of swagger-py 0.7.5 to support Swagger 2.0