Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin openapi-core to latest version 0.18.0 #541

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Collaborator

This PR pins openapi-core to the latest release 0.18.0.

Changelog

0.18.0

This version drops support for Python 3.7

Upgrades
* Compatibility with jsonschema 4.18, jsonschema-spec 0.2, openapi-schema-validator 0.6 and openapi-spec-validator 0.6 597
* Update dependencies 616

Deprecations
* `spec_url` parameter of `Spec.from_dict` is deprecated. Use `base_uri` instead. 597
* `ref_resolver_handlers` parameter of `Spec.from_dict` is deprecated. Use `handlers` instead. 597

Backward incompatibilities
* Drop python 3.7 support 595
* Format validators ignore other types and pass (in accordance with the specification) 597
* Remove deprecated features 598
* `Spec.create` method
* `spec` as a first parameter for `validate_request` and `validate_response` shortcuts
* `validator` parameter for `validate_request` and `validate_response` shortcuts
* return unmarshalling data result for `validate_request` and `validate_response` shortcuts
* `RequestValidator`, `ResponseValidator` and `openapi_` objects
* `custom_deserializers`parameter
* `custom_formatters`parameter

0.18.0a1

This version drops support for Python 3.7

Features

* Compatibility with jsonschema 4.18, jsonschema-spec 0.2, openapi-schema-validator 0.6 and openapi-spec-validator 0.6 597
* `spec_url` parameter of `Spec.from_dict` is deprecated. Use `base_uri` instead.
* `ref_resolver_handlers` parameter of `Spec.from_dict` is deprecated. Use `handlers` instead.

Backward incompatibilities
* Drop python 3.7 support 595
* Format validators ignore other types and pass (in accordance with the specification) 597
* Remove deprecated features 598
* `Spec.create` method
* `spec` as a first parameter for `validate_request` and `validate_response` shortcuts
* `validator` parameter for `validate_request` and `validate_response` shortcuts
* return unmarshalling data result for `validate_request` and `validate_response` shortcuts
* `RequestValidator`, `ResponseValidator` and `openapi_` objects
* `custom_deserializers`parameter
* `custom_formatters`parameter

0.17.2

Features
* Integrations: Add support for aiohttp.web 571

Fixes
* Integrations: requests strip mimetype fix 553
* Unmarshalling: any unmarshaller get types fix 555
* Shortcuts: `validate_request` and `validate_response` show deprecation warning on return value use only 589

0.17.1

Changelog
* Include tests in sdist archives 537
* add python 3.11 support 538

0.17.0

Changelog
* shortcuts high level public api expose 465
* `ParametersError` context property deprecated 462
* `Spec.create` deprecated 463
* Validators refactor 457
* Webhooks support 470
* Rename `UnmarshalContext` to `ValidationContext` 472
* Fix `PATH_PARAMETER_PATTERN` for DRF default value pattern. 468
* Fix falcon response data none 471
* Shortcuts backward compatible 482
* `RequestValidator` and `ResponseValidator` backward compatibility 487
* Fix flask decorator function return other types 489
* Fix integration `Request` `Response` factories check types fix 490
* Fix Requests request dont allow fragments 491
* Fix openapi packages update and tests 498
* unmarshallers integration tests 497
* Unmarshallers and validators refactor 508
* Shortcuts refactor 517
* Media type deserializers refactor 518

Backward incompatibilities
* Schema unmarshalling/validation returns `Invalid*` exception (`InvalidData`, `InvalidParameter`, `InvalidRequestBody`, `InvalidHeader`). Use `__cause__` property to get root cause exception.
* `InvalidSecurity` exception renamed to `SecurityNotFound`

0.17.0a3

Changelog
* Fix Requests request dont allow fragments 491
* Fix openapi packages update and tests 498
* unmarshallers integration tests 497
* Unmarshallers and validators refactor 508
* Shortcuts refactor 517
* Media type deserializers refactor 518

0.17.0a2

Changelog
* Shortcuts backward compatible 482
* `RequestValidator` and `ResponseValidator` backward compatibility 487
* Fix flask decorator function return other types 489
* Fix integration `Request` `Response` factories check types fix 490

0.17.0a1

Changelog
* shortcuts high level public api expose 465
* ParametersError context property deprecated 462
* Spec.create deprecated 463
* Validators refactor 457
* Webhooks support 470
* Rename `UnmarshalContext` to `ValidationContext` 472
* Fix PATH_PARAMETER_PATTERN for DRF default value pattern. 468
* Fix falcon response data none 471

Backward incompatibilities
* `request` parameter for `validate_request` shortcut function moved to first position
* `request` and `response` parameters for `validate_response` shortcut function moved to first and second position
* Schema unmarshalling/validation returns `Invalid*` exception (`InvalidData`, `InvalidParameter`, `InvalidRequestBody`, `InvalidHeader`). Use `__cause__` property to get root cause exception.
* `InvalidSecurity` exception renamed to `SecurityNotFound`

0.16.6

Changelog
* openapi-schema-validator 0.5.2 tests compatibility fix 527

0.16.5

Changelog
* validators public api expose 455
* allow openapi-schema-validator 0.4 458

0.16.4

Changelog
* better unmarshaller finders with refactor 447

0.16.3

Changelog
* werkzeug flask root path fix 449
* additionalProperties without schema should allow null. 444

0.16.2

Changelog
* Add NullUnmarshaller 432
* Multi type unmarshaller 433
* Unmarshaller format refactor 434

0.16.1

Changelog
* lists as additional properties fix 429
* x-model extension optional 431

0.16.0

Changelog
* Switch to jsonschema-spec 416
* Use auto-detect validator proxy 418
* OpenAPI 3.1 support + Auto-detect proxies and request / response validator protocols 419
* Add py.typed to mark package as supporting typing 420
* Refuse to cast str or bytes to array 421
* x-model extension import model class 422
* Add deepObject support 379
* Add anyOf support 423
* Separate werkzeug support 426
* Starlette support 427

0.15.0

Changelog
* Parameter deserialize complex scenario support (329)
* Response headers support (332)
* Response headers support for contrib (333)
* Drop python 2.7 support (335 344 351)
* Drop python 3.5 support (339)
* Drop python 3.6 support 383
* Add python 3.10 support 383
* Falcon2 support drop (353)
* Django2 support drop (358)
* Support basic re_path for Django integration  (337)
* unused `NoValue` type removed (340)
* `attrs` remove and use `dataclasses` backport for python 3.6 (345)
* Request validation parameters dataclass (346)
* Handle missing MIME type in MediaTypeFinder (371)
* Limit openapi dependencies upper bounds 386
* switch to `pathable` 389
* Get rid of `create_spec` shortcut 393
* `Request` and `Response` protocols 407
* validator factories removed from validation shortcuts 408
* Predefined openapi validators 409
* Customization refactor 412
* Static types with mypy 414

Backward incompatibilities

* Python 3.6 and earlier no longer supported
* `headers` attribute added to `OpenAPIResponse` datatype
* `RequestParameters`' `header` attribute as `Headers` type
* `RequestParameters`' `cookie` attribute as `ImmutableMultiDict` type
* `RequestValidationResult`' `parameters` attribute as `Parameters` type
* unused `server`, `operation` and `path` attributes removed from `RequestValidationResult`
* `EmptyParameterValue` exception renamed to `EmptyQueryParameterValue`
* `FalconOpenAPIRequestFactory` requires to be instantiated
* `create_spec` shortcut replaced with `Spec.create`
* `OpenAPIRequest` and `OpenAPIResponse` removed. All backward compabilities from`contrib` removed.
* `spec_validate_*` shortcuts removed. Use `validate_request` and `validate_response` with `validator ` parameter instead.
* `validate_{parameters,body,security}` shortcuts removed. Use  predefined `openapi_request_parameters_validator`,  `openapi_request_body_validator` and `openapi_request_security_validator` from `openapi_core.validation.request` instead.
* `validate_{data,headers}` shortcuts removed. Use  predefined `openapi_response_data_validator` and  `openapi_response_headers_validator` from `openapi_core.validation.response` instead.
* `custom_media_type_deserializers ` parameter for `RequestValidator` and `ResponseValidator` removed. Use `MediaTypeDeserializersFactory` with `custom_deserializers` parameter and pass it to validator with `media_type_deserializers_factory` parameter.
* `custom_formatters ` parameter for `RequestValidator` and `ResponseValidator` removed. Use `SchemaUnmarshallersFactory` with `custom_formatters` parameter and pass it to validator.

0.15.0a2

Changelog
* `Request` and `Response` protocols 407
* validator factories removed from validation shortcuts 408
* Predefined openapi validators 409
* Customization refactor 412

Backward incompatibilities
* `OpenAPIRequest` and `OpenAPIResponse` removed. All backward compabilities from`contrib` removed.
* `spec_validate_*` shortcuts removed. Use `validate_request` and `validate_response` with `validator ` parameter instead.
* `validate_{parameters,body,security}` shortcuts removed. Use  predefined `openapi_request_parameters_validator`,  `openapi_request_body_validator` and `openapi_request_security_validator` from `openapi_core.validation.request` instead.
* `validate_{data,headers}` shortcuts removed. Use  predefined `openapi_response_data_validator` and  `openapi_response_headers_validator` from `openapi_core.validation.response` instead.
* `custom_media_type_deserializers ` parameter for `RequestValidator` and `ResponseValidator` removed. Use `MediaTypeDeserializersFactory` with `custom_deserializers` parameter and pass it to validator with `media_type_deserializers_factory` parameter.
* `custom_formatters ` parameter for `RequestValidator` and `ResponseValidator` removed. Use `SchemaUnmarshallersFactory` with `custom_formatters` parameter and pass it to validator.

0.15.0a1

Changelog
* Parameter deserialize complex scenario support (329)
* Response headers support (332)
* Response headers support for contrib (333)
* Drop python 2.7 support (335 344 351)
* Drop python 3.5 support (339)
* Drop python 3.6 support 383
* Add python 3.10 support 383
* Falcon2 support drop (353)
* Django2 support drop (358)
* Support basic re_path for Django integration  (337)
* unused `NoValue` type removed (340)
* `attrs` remove and use `dataclasses` backport for python 3.6 (345)
* Request validation parameters dataclass (346)
* Handle missing MIME type in MediaTypeFinder (371)
* Limit openapi dependencies upper bounds 386
* switch to `pathable` 389
* Get rid of `create_spec` shortcut 393

Backward incompatibilities

* Python 3.6 and earlier no longer supported
* `headers` attribute added to `OpenAPIResponse` datatype
* `RequestParameters`' `header` attribute as `Headers` type
* `RequestParameters`' `cookie` attribute as `ImmutableMultiDict` type
* `RequestValidationResult`' `parameters` attribute as `Parameters` type
* unused `server`, `operation` and `path` attributes removed from `RequestValidationResult`
* `EmptyParameterValue` exception renamed to `EmptyQueryParameterValue`
* `FalconOpenAPIRequestFactory` requires to be instantiated
* `create_spec` shortcut replaced with `Spec.create`

0.14.5

Changelog
* openapi-spec-validator strict requirement fix 406

0.14.4

Changelog
* pyyaml strict requirement fix 404

0.14.3

Changelog
* pin openapi dependencies 403

0.14.2

Changelog
* Non required request body fix (325)

0.14.1

Changelog
* Parameter simple scenarion for any schema type fix (323)

0.14.0

openapi-core 0.14 is scheduled to be the last major version in the 0.x series.

This release introduces `SpecPath` which reduces spec creation time and allows to get rid of big `schema` package

Changes:
* `Spec` replaced with `SpecPath` (318)

Backward incompatibilities:
* `create_spec` shortcut returns `SpecPath` instead of `Spec`
* removed Spec-related `schema` package
* schema-related `exceptions` moved to top level `exceptions` module
* `readOnly`/`writeOnly` invalid properties raise error (before were ommitted)
* `MediaTypeDeserializersFactory.create` expects `mimetype` string instead of `media_type`
* `MediaTypeFinder.find` returns `media_type, mimetype` tuple instead of just `media_type`

0.13.8

Changelog
* use prepared request to format payload before converting (271)
* deserialize form urlencoded media type (302)
* deserialize data form media type (303)
* Media type finder (307)
* Add extensions support for the Parameter model (308)
* Response finder (309)
* Falcon3 support (316)

0.13.7

Changelog
* Any unmarshaller validate fix (295)
* Spec validation customization (290)
* Format checker deepcopy to shallowcopy (291)
* Format checker on validation scope (292)
* Basic documentation (293)

0.13.6

Changelog
* Remove security on operation level fix (284)
* AnyUnmarshaller use allOf schemas (286)

0.13.5

Changelog
* prioritize concrete paths fix (273)
* return None on nullable array type (276)

0.13.4

Changelog
* Paths finder relative url and simple paths check fix (222)
* Add documentation for custom formatters (228)
* Fix Requests.response factory (227)
* Case insensitive headers fix (236)
* Security HTTP provider fix (225)
* Unmarshalling nullable objects (239)
* Date-time format unmarshal tz fix (237)
* Templating parser path parameter search fix (245)
* Fix the Falcon integration to properly handle URLs with query strings. (233)

0.13.3

Changelog
* Path patterns finder (202) - server and path with variables resolving
* Requests integration (209)
* b64decode issue29427 fix (210)
* Extensible schema models (211)
* Use `openapi-schema-validator` library (212)
* Fix to force ConfigParser to correctly parse extra requirements (214)
* Falcon integration (215)

0.13.2

Changelog
* werkzeug missing dependency fix (203)

0.13.1

Changelog
* Flask error handler status fix (199)
* Validators shortcuts fix (200)

0.13.0

Changelog
* Validation result datatypes (165)
* OpenAPI request/response factories introduction (166)
* Django OpenAPI request/response factories (167)
* Schema exceptions refactor (168)
* Operations fields (169)
* Validation schema errors iter fix (170)
* webob support (173)
* CVE-2019-19844 fix (182)
* Move Unmarshallers to separate subpackage (183)
* Flask OpenAPI view & decorator (177)
* Flask OpenAPI request parameters (185)
* Move casters to separate subpackage (184)
* Move schema validator to separate subpackage (186)
* Move unmarshal out of schema models (188)
* Deserialise models without schema fix (190)
* Move deserialize/cast out of schema models (191)
* Custom media type deserializers (192)
* Missing Info models (193)
* Free-form objects unmarshal (194)
* Security validation with API Key and HTTP security types support (195)
* Missing path model fields (196)
* OpenAPI request datatype refactor (197)
* readOnly and writeOnly support (152)

Backward incompatibility

* new datatype `RequestParameters`. That means `parameters` in `RequestValidationResult` is no longer `dict` type but you can still access parameter types (path, query, heder, cookie) lika a dict.
* `validate_body`, `validate_parameters` and `validate_data` no longer accept `wrapper_class`, `request_wrapper_class` and `response_wrapper_class` keyword arguments. Use `request_factory` and `response_factory` instead.
* `openapi_core.wrappers.flask` module moved to `openapi_core.contrib.flask`
* `openapi_core.wrappers.mock` module moved to `openapi_core.testing.mock`
* validation is now part of unmarshalling process
* `strict` parameter removed
* standardized formatting process with `Formatter` class. Custom formatters should inherit from the class.
* unmarshalling process no longer raise `InvalidMediaTypeValue ` and `InvalidParameterValue ` exceptions
* casting process no longer raise `InvalidParameterValue` exception
* deserializing process no longer raise `InvalidMediaTypeValue` exception
* `OpenAPIRequest `'s `host_url ` and `path_pattern ` attributes replaced with `full_url_pattern ` attribute

0.12.0

This release contains new Open API schema validation based on jsonschema (OAS Validator).

Changelog
- OAS validation with JSONSchema (157)

0.11.1

Changelog
* Path item parameter override (145)
* Separate cast and unmarshal (156)

0.11.0

openapi-core 0.11 is the last major version with schema validation based on internal validators (object validators). Next major versions  is scheduled to be based on jsonschema validators (OAS Validator).

Changelog
- End of Python 3.4 support (136)
- Add support for one-of with any type (133)
- Modify FlaskOpenAPIRequest to accommodate path variables (141)
- Primitive types unmarshallers (138)
- attr errors hashable fix (143)
- Parameters on path item object support (144)

0.10.0

openapi-core 0.10 is the last major version with Python 3.4 support

Changelog
* Fix 124: Checking "additionalProperties" in "oneOf" items. (125)
* Add support for `password` string format (132)
* Add support for path-level parameters (130)
* Add support for "links" in Response (131)
* Fix number validator (134)

0.9.0

Changelog

- Raw value type strict validation (123 
- Object additionalProperties support (121)
- Properly formatting UUID if value is already a UUID (112)
- String byte format fix (117)

0.8.0

Changelog
* byte string format (111)
* Fix import in an example (102)
* Dont use value for determining any type (106)
* Test for non utc systems fix (107)
* Accepting uuid string format and validating accordingly (109)

0.7.1

Changelog
* Python 2.7 requirements fix
Links

@stephenfin stephenfin closed this Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants