[ANNOUNCEMENT] M2 Release Train - Swagger 2.0 Support

266 views
Skip to first unread message

Ron

unread,
Mar 31, 2015, 6:01:42 AM3/31/15
to swagger-sw...@googlegroups.com
The Swagger team is proud to announce the M2 release of three of our main libraries and tools: swagger-js, swagger-ui and swagger-core!

We would like to thank our friends at Apigee for helping us push forward these releases.

swagger-js 2.1.0-M2

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.

Usage notes

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.

Major changes

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.

Notable features

  • #160, #183, #258, #270 Added ref support for parameters, models, model properties. You can now use the Swagger 2.0 remote reference support for models, properties, paths and parameters.
  • #178 Removed global variables. You can now have multiple instances of swagger-client in your app without sharing authorizations, etc.
  • #182 merged 1.x and 2.0 support, including support for "single-file" 1.x specifications. This resulted in removing almost half the code in the project.
  • #189 Added support for in-line schemas
  • #208 Build with gulp, browserify. now a single library can be deployed for your webapps.
  • #267 Switched from shred to super-agent. Dropped need for jQuery as super-agent now has universal client support.
  • #277 Added response headers to response model description

Notable bug fixes

  • #234 deprecated is now shown correctly
  • #194 fixed issue where reserved names were clobbering functions
  • #327 auto-generate operationId if not present
  • #328 more graceful handling of CORS issues when loading swagger-client

Please open any issues directly in github and send pull-requests to the develop_2.0 branch!

Limitations

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-ui 2.1.0-M2

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.

Usage notes

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.

Notable enhancements

#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

Notable bug fixes

#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

Limitations

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 1.5.0-M2

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.

Usage notes

1.5.0-M2 is API compatible with M1. It has improved stability as well as configuration options.

Major changes

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.

Notable features

#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

Notable bug fixes

#906 http methods detected case insensitive
#886 Java 8 compilation supported


Reply all
Reply to author
Forward
0 new messages