This is a major refactor of swagger-client to add better support for Swagger 2.0 specifications and the new features that come with it. In addition, we have shrunk the library considerably, added much more robust test coverage and removed dead code. This effort was only made possible by support from Apigee and their folks @mohsen1 and @whitlockjc. Many thanks for supporting the project! The entire community benefits from your support.
Note! There are some differences in the API between 2.1.x-M1 and 2.1.x-M2. For example, 1.x version swagger specifications are now converted into 2.0 versions. That means features such as multiple base paths are no longer supported! Please do not upgrade to 2.1.x-M2 if this change isn't acceptable. It will not be coming back in subsequent releases.
In converting from 1.x specs to 2.0, the resourcePath
(location where the documentation for an Api
was declared) is now used to develop a tag
in the 2.0 specification world.
The build process is now using gulp with mocha tests. It is now
packaged in a single library (minified version available) using
browserify, and is a proper npm.js package. We have also greatly enhanced the interactive help inside the client buy supporting .help()
on the client, tags, and operations.
shred
to super-agent
. Dropped need for jQuery as super-agent now has universal client support.deprecated
is now shown correctlyPlease open any issues directly in github and send pull-requests to the develop_2.0
branch!
There are some unimplemented features of the swagger 2.0 specification in this release. Please see the Milestones and Issues for the final 2.1.0 release.
This is a major overhaul of Swagger-UI internals. Many thanks to @mohsen1 (via @Apigee) for driving this release which includes both feature work for Swagger spec 2.0 support as well as infrastructure changes to make the project both easier to enhance and maintain. Without this support, the release would not have been possible.
In 2.1.0-M2, we have moved from coffeescript to pure javascript (#961, #1027). We have also moved to gulp for building and Swagger-UI is now AMD-compliant. Much of the Swagger-UI work is delegated to the Swagger-JS project.
As with swagger-js, there are major internal changes in the handling of 1.x Swagger specifications. Now, all 1.x specifications are converted to 2.0, which means multiple base paths are no longer supported in Swagger UI. Please see the Swagger-JS release notes for more details.
#152, #498, #600 Rich response types supported, including image, audio, and download.
#199, #222, #902, #955 support for multiple instances in a single page
#618 examples for 2.0 specs now shown in sample area
#573 pass documentation location in URL for easier sharing
#463 improved model samples with deep hierarchy
#362 improved loading speed by > 1000x
#359 improved build process, now fully platform independent
#781 removed global variables
#777 refactored into single library
#683 added externalDocs into UI
#672 display enum values in models
#621, #1078 remote references for operations, responses
#1057 markdown rendering of descriptions
#524 state parameter passed in oauth2 requests
#554 fixed allowable values (enum) in parameters
#858, #802 reserved words as tag names are now gracefully handled
#696 proper sorting of response codes
#994 /
in tags breaking shebang
There are some unimplemented features of the swagger 2.0 specification in this release. Please see the Milestones and Issues for the final 2.1.0 release.
Swagger core has undergone a major update to increase support of the Swagger 2.0 specification. Major features include support for JAXRS sub resources and Bean Validations.
1.5.0-M2 is API compatible with M1. It has improved stability as well as configuration options.
Scala support has been moved to a separate project so it can evolve independently. Play! framework support will also be treated the same way.
If you need Play! support, please use swagger-core-1.3.12 until the play module is released.
#942, #925 subresource support
#936 support for example objects
#922 better support for jaxrs regex path params
#897 support for schemes, other 2.0 support in BeanConfig
#879 multiple packages can be scanned as CSV list
#878, #841 added support for tags in operations, bootstrap
#876 glassfish PATCH annotation support
#869 response headers supported
#854 read-only fields supported
#844 JAXB default value support
#836 spec filter support
#833 model converter support
#801 BeanValidations support for JSR-303, JSR-349
#519 @JsonIgnoreProperties
support
#505 @XmlElementWrapper
support
#906 http methods detected case insensitive
#886 Java 8 compilation supported