goldspecdigital/oooas
Dependency-free PHP library for building OpenAPI specs with immutable, strongly-typed objects. Compose info, paths, operations, schemas, responses, and tags in code, then export the finished specification to JSON (YAML via another package).
Schema::properties() method now accepts SchemaContract instances.ReturnTypeWillChange attributes and add workflows for PHP 8.0 and PHP 8.1.$this now have their DocBlock updated to [@return](https://github.com/return) static for better IDE handling in client code that extends these classes.validate() method to OpenApi object.Components object.Operation object.^x-).formUrlEncoded() creation method in MediaType object (for application/x-www-form-urlencoded request bodies).develop branch. Instead all feature/hotfix branches should be based off of master.test script now makes reference to the individual test:style and test:unit scripts.autoload-dev within the composer.json file.toJson() method now allows you to specify the $options parameter to proxy to the json_encode() function.$ref can now be used in place of all objects.Components object now supports all fields (with exception to callbacks).create() static method has now been moved to the BaseObject class with a return type also being BaseObject. If you are extending any object classes and overriding the create() method, then be sure to update your return type. DocBlock type hinting has been provided to indicate a static return type, so your IDE should still be able to provide autocompletion for child class members.composer.json.composer.json scripts.Operation object that it should not have any security by invoking the noSecurity() method on an instance of it.SecurityRequirement object now accepts a single SecurityScheme along with an array of scopes. This is because it was outputting incorrect data, and its purpose was misleading. It now acts as a way to specify a single SecurityScheme along with any scopes. Any object that accepts a SecurityRequirement object, always accepts an array of them, so you can still specify several SecurityScheme objects by wrapping them in a SecurityRequirement.Response class now has helper methods for common HTTP responses.3.0.2 spec.create() methods) now only accept the optional $objectId parameter which is used in several scenarios.Paths class and instead the OpenApi class has a variadic paths() method which takes any number of PathItem instances.OpenApi class is now immutable like all the other object classes.README.md.This marks the first production ready release!
name property on a schema.example property to schema.nullable property for the schema defaults to true.allOf.nullable property.How can I help you explore Laravel packages today?