- Fixed issue with PHP 5.5 class name resolution (ClassName::class)
- Generate ".{format}" instead of ".json" suffix when using the commandline.
- Fixed bootstrap option
- Fixed missing use statements.
- New processing architecture allowing swagger-php to act on other annotations (zircote#121)
- Improved model referencing: $ref allowed with complex modelnames (zircote#122 and zircote#123)
- Updated depedencies creating a 50% smaller swagger.phar
excludePath fixes and improvements
Extract descriptions from the docblock for model, resources, properties and apis. furter reducing duplicate descriptions. Fixes issues: #115 & #116
Detect @SWG\Parameter type and @SWG\Items based on @var Type[]
phpdoc comments.
- Compatible with swagger-ui 2.0
- Upgraded annotations to the Swagger 1.2 Specification
- Use swagger-php 0.7.x to generate 1.1 or older swagger specs.
- Simplified API.
- Removed many methods from the Swagger class.
- Swagger->getResource() and getResourceList() use an options array for defaults, etc.
- Removed caching. (Use your framework cache the json output or generate the json files in a build step)
- Added support for scanning multiple folders.
bin/swagger folder1 folder2
- Assumes SWG namespace by default.
use Swagger\Annotations as SWG;
is now optional. - Added Examples (Which are used as Fixtures in the UnitTests)
- Rewritten UnitTests
- Pretty printed json output by default.
-
Simplified CLI interface #91
- Cleaner output.
- Cleaner consistent naming of the options.
- Detects invalid options.
- Example usage:
swagger.phar project/
scans all *.php files in the "project" folder and outputs the docs in the current directory.
-
Support for partials #101
- Enables splitting an annotation.
- Reuse an Annotation (DRY).
- For examples see the tests/SwaggerTests/Fixtures3 folder.
-
Misc fixes
-
New architecture
-
Split Swagger class into Swagger & Parser. Parser focuses on extracting swagger comments and converting them into a valid Resource or Model objects. Swagger provides the public api and crawls the project folder.
-
Add Logger, instead of crashing with an Exception, Swagger now reports the error and skips entries that are invalid or incomplete.
-
Split the Annotation->toArray into:
- __contruct() import the data extracted by doctrine. (Parser might augement this data)
- validate() tries to create a optimal valid data-structure and returns false if the annotation can't be used.
- jsonSerialize() serializing the Annotation to the format expected by swagger-ui.
-
The Swagger->repository now consists of a more predictable object-tree instead of errror prone array struct.
-
-
User features
-
Running bin/swagger without arguments now shows the help.
-
All encapsulation annotations are now optional, and might be deprecated in the future. @Api(@Operations(@Operation(), @Operation())) is the same as @Api(@Operation(), @Operation())
-
Show human readable hints/notices instead of "undefined index xxxx" notices.
-
Augment Swagger comments with available data from class/property/method or remaining data in the doc-comment.
- Example @Model() used the classname as id
-
An @Api can be nested inside a @Resource and @Property can be nested inside a @Model.
-
Checkout the commit log for the changes from 0.1 to 0.4