openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

APACHE-2.0 License

Downloads
51.8K
Stars
20.1K
Committers
3K

Bot releases are visible (Hide)

openapi-generator - Release 3.0.2

Published by jmini over 6 years ago

General:

  • Enable recommendations on validate command (#292)

C++:

  • Rename template dir (#332)
  • update cpp server scripts/batch files (#296)

Javascript:

  • Add fixes for es6 generator (#180)
  • Add option modelPropertyNaming to javascript generator (#299)

Java/Spring:

  • Configuration option to disable HTML escaping when using Gson (#298)
  • Fix spring controller validation (#225)

Go:

  • Go server clean up (#328)
  • Add dockerfile for building and run petstore service (#274)
  • Add Go client test - TestPlaceOrder (#321)

Rust Server:

  • Add rust-server to travis CI (#308)
  • (Re-)Adding support for rust-server (#290)

Typescript:

  • Fix cast problem (#303)

CI:

  • Various improvement to CI (#326)
  • CircleCI migration from 1.0 to 2.0 (#333)
  • Shippable changes (#305), (#319)
  • Ignore signing for other branches than master (#288)

Documentation:

  • Grammar and spelling fixes (#329)
  • Documentation improvements (#283) (#287) (#291) (#336), (#330)
openapi-generator - Release 3.0.1

Published by jimschubert over 6 years ago

This release resolves a publishing issue with the Gradle plugin in the previous release, making this the first officially functional release of the Gradle plugin. See the plugin readme for usage details.

This release also includes a handful of feature additions and bugfixes, as well as CLI and build-related improvements. See below for highlights and milestone 3.0.1 for full details.

General

  • Fix ModelUtils.getUnusedSchema() #253
  • OAS3 feature: add cookie authentication support #240
  • Make YAML serialization deterministic #233
  • [cli] Completions command for suggestions #213
  • [cli] Write to stdout/stderr, allow redirection #207
  • Build improvements #202
  • [gradle] Plugin release management #201

Ada

  • [Ada] Update the code generator for required and optional parameters #211

C++

  • [cpp-qt5] Remove std::shared_ptr from Qt5 #267

Java

  • [Java][RestTemplate] Fix query parameter URL encoding #260
  • [jaxrs-spec] fix empty openapi.yaml file #243
  • [Spring] Add apiFirst option #184
  • [JAVA][Client] New object instead of null for empty POST request #98

TypeScript

  • [typescript-angular] strict type checking #218
openapi-generator - The first stable version 3.0.0 has been released

Published by wing328 over 6 years ago

Thanks for the effort from the community, we have released a stable version 3.0.0, which supports both OpenAPI specification v2 and v3 🎉 🎊 . A good starting point is the migration guide.

For more information on why we forked Swagger Codegen to maintain a community-driven version "OpenAPI Generator", please refer to the Q&A

Public chatroom: https://gitter.im/OpenAPITools/openapi-generator

Brew formula for OpenAPI Generator: https://github.com/Homebrew/homebrew-core/pull/28584 (Pending)

For the latest update on OpenAPI Generator, please follow our Twitter account (oas_generator)

Below please find the changelog for this release (relative to v2.3.1 of Swagger Codegen)

New Generators

6debf749a Java rest-assured client - java with --library=rest-assured
6d2d4298 Scala Gatling client - scala-gatling
e2c58fad7 TypeScript Inversify client - typescript-inversify
7cad47dd3 Kotlin server - kotlin-server

Docker

7dfd94002 Docker: use correct MAVEN_CONFIG (#182)
b5a0d173d Revise the usage of OpenAPI Generator online (docker image) (#73)
e58dc2c77 Fix COPY in Dockerfile (#64)
9d7feaaeb Fix online generator (docker push) (#58)
9247cd01e Changes for Docker
64037ee59 update docker-related files to use JDK8

Plug-ins

b6b8c0db8 [gradle-plugin] Initial implementation (#162)
0a28aad73 [MAVEN PLUGIN] Checking for null configOptions before looking for property
9c79297d6 [MAVEN PLUGIN] Use latest version in dependencies snippet
9e1bbe0c1 Add maven wrapper

API Clients

Ada

edf6be8c0 [Ada] bug fix by defining x-is-model-type when property is local to the YML file
9ba74f484 [Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned
ea27924f5 [Ada] changed default project/package name, to solve circular dependencies
6b9d38d40 remove trailing spaces in ada template
0de7f972f Fix the Ada server skeleton to check the authsMethods in the Shared_Instance generic package
4bd8fc6e8 Fix 7511: [Ada] Client call is not correct with multiple parameters and application/x-www-urlencoded
3035bc629 [Ada] Hotfix/ada model sort
43f0e8692 Ada code generator corrected: "=>" instead of "->".
7d2b49085 [Ada] wrong order for generated structures in models.ads files
2b2b85eec [Ada] wrong JSON in POST operations

C#

0e34bcf4e [csharp] ctor params should always be camelCase [Breaking change with fallback]
872471996 [csharp] Support arrays of arrays for properties and models
1c4e6b7d4 [csharp] Fix ToJson to work with composition and polymorphism
ed7af73f6 [csharp] Reference this.Configuration in client API template

C++

e796e4c36 [C++] Add linux as a reserve keyword
36f69a034 remove trailing spaces in qt5 c++ templates
f192613f1 fix string type in c++ generator
409015461 fix file type in qt5cpp
a4bcb3bc7 fix datetime and map type for qt5cpp
23b31aba8 [qt5cpp] Fix crash when API return a map container
3b031ed2b [qt5cpp] delete callback data allocated before signal emission
1bb1e44d1 [qt5cpp] Remove qt5 pro.user file
194722015 Qt5cpp plug memleaks part2
12f3661d6 Qt5cpp plug memleaks
ea4b94842 [qt5cpp] Add nullptr guard to prevent crash when empty model is being serialized
0bf430a80 Qt5cpp Add support for nested containers
0b3ec6b1f fix NPE with cpp qt5, add logic to avoid NPE with composed schema
7c734445b fix file parameter in header file (cpprest)
070b5c00b fix object type declaration in cpprest
bad1885b4 [cpprest] add parameterToString for number type with unspecified format (double)
73bd24db7 [cpprest] Add support for nested vectors
ee2eb74f7 [qt] update Qt client
d82499944 Adding qt project generation fix
9bd94b4db [qt] Fix warning message

Clojure

d7e374504 [Clojure] Add util method to set the api-context globally (#93)

Dart

f1638a659 [Dart] Allow setting an accessToken for OAuth
a5e26a44f [Dart] Rework Dart client generator to be flutter-compatible [Breaking change without fallback]

Elixir

f9b2839a3 [Elixir] Check date value before calling to_iso8601

Elm

5a87fe695 [elm] Fix operations with empty responses (#171)
a5cf27b60 Fix Petstore example for Elm (#96)
c522927d5 Fix Elm generator for polymorphism (#78)
7d9fb9f51 Add CI test for Elm in travis (#40)
769a65c95 [Elm] Add support for array schemas
56a0268e3 [elm] missing '->' in Main elm template

Erlang

c73118524 [erlang-client] Erlang request utils
049eef9c5 Test erlang client, server petstore
bcc7b788e fix erlang client compilation error

Go

acb63fd5e Fix go readme, remove resty install
5d8362d85 Update go client, fix double body read
47614bb76 Properly capitalize exported go types
ee561fcd6 Add withXml option for Go language
0f6696089 [Go] Use consistent indentation in readme
72abb20f2 [Go] Fix operation files clobbering model files
d1e75b084 Golang Client Refactor (body and model in errors, typed optional parameters) [Breaking change without fallback]

Haskell

34db79b9b [haskell-http-client] update dependency versions + readme (#81)
e45b3784f Fix NPE with Haskell client generator with OAS3 spec
d3401396f [haskell-http-client] remove duplicates in produces/consumes; fix pathParam paramName issue
4bc99b9da minor fixes to haskell http client generator
2d0bafb6b [haskell-http-client] default InlineMimeTypes to true [Breaking change with fallback]
9fba9c325 [haskell-http-client] add config options: cabalPackage, cabalVersion, baseModule, requestType, configType

Kotlin

a3322fbf7 [kotlin] Add OkHttpClient.Builder to ApiClient.
3c5fb1d80 [kotlin] Add json annotation to each enum value.
39fa375e3 [kotlin] Fix NPE for POST/PUT/PATCH with empty request models.
c599906f1 [Kotlin] Correct data_class.mustache to use proper property for inner enum data type
c69925b53 [Kotlin] Fix issues with threetenbp
a811a48c3 minor fix to kotlin client generator due to merge conflict
914275fe7 [kotlin] support selection of datelibrary
a61d23265 Fixed incorrect renaming of header and query param to camel cases for Kotlin Client template

Lua

dbe78e23e [Lua] Improve auto-generated test files
6c79052ac Add auto-generated Lua spec files for APIs, models
38a2c1dde [Lua] Fix Rockpec
a2410b210 Add auto-generated rockspec file to Lua API client
df10c725a Add lua test script, minor fix to Lua API files

Java

2e69e6c03 build.gradle should not have commas
1a4e5a4e5 Java client: Add constants for libraries (#163)
7db0201a8 Fix NPEs in Java generator (#154)
4d7ff8cfb JavaDoc fixes for Java/RESTEasy client (#151)
072ce070b resteasy: fix outer enum case (#139)
ccd002966 [Java] rest-assured: fix javadoc in templates
e7410d4c8 Allow $ in Java var name
03490e923 Fix Java binary mapping
70b4b55fa Fix performance linting problem with maps in Java ApiClient template
cddcda0fe [Java][Jersey2] Make generated client code thread safe [Breaking change without fallback]
298ca8d35 use correct jackson date library when using Java 8
53eeb0c04 [Java] fix connection leak on retrofit OAuth token renewal
61c25e711 [Java] Fixes for retrofit
f02332755 [JAVA] Fix issue when codegen with parcelableMode fails to build if using arrays in OpenAPI spec
4eeb974cb [Java][google-api-client] Fix bug with empty POST request not sending content-type
d4543a99e [Java][retrofit2] file upload sets filename as baseName instead of a dynamic filename
62a930223 [JAVA][Rest-assured] reqSpec() method has been added into api.mustache for requests customization
fec0363f7 [Java] Add back byte array enhancement
59ff4c198 [Java][library: vertx] Add default value and required parameter support to vertx server
3bd2da9a8 [Java] Fix build warnings
429b96ae7 [JAVA] equals and hashCode for models with byte[] and binary strings
495971c2c [Java] use html entities in javadoc of generated code (#106)
82ee8656f [java] Enum in array of array (#66)
bf7e4e7df Java gson: add @SerializedName value as constant (#22)
30c1448d7 Fix build.gradle for Java RESTEasy client
642c0566d [Java] Use Rx2 Completalbe for Void Retrofit2 responses
72221b1cf Adding @Deprecated to retrofit2 client interfaces.
47111b324 [Java] fix gson deserialize format byte
9e06f7063 [Java] Fix assignment of new object instance to variable
006f084b5 [Java] Allow to set values with setApiPackage(..) and setModelPackage(..)

JavaScript/NodeJS

d80e29585 Fix JS test using baseName in default value (#5)
fe15f4690 fix toDefaultValueWithParam in JS
90859575e Fixing variable name typo (instane -> instance)

Objective-C

9fb2c29a4 7644 objc deprecated afnetworking datataskwithrequest
5d1874028 add class as a keyword in objc generator
1b8df5c20 Update ObjcClientCodegen.java
246ed5754 restore objc reserved word: property

PHP

3beeb4e77 [PHP] Not-required properties now shows as nullable (#129)
37df59d6f [PHP] Adjust the names (script, sample folder, generator) to lang option (#159)
4a5d16b23 [PHP] Fix string length validation
d58835e57 [PHP] Improve: Make validation strict
cf8d8d56f [PHP] Fix code example from README. Variable name was missing when using Basic auth.
0adbf7e51 [PHP] Improve: update sample tests automatically
32cf2f16f [PHP] Non required enum property
3bcf0ff76 [PHP] Add path & file separator (/) to return the correct path when deserializing a file
14e1e1980 [PHP] Improve validation on empty arrays
809e1f4c9 [PHP] Cleanup tests
76907cacd [PHP] declare property headerSelector

Python

7184f1ec6 [python] asyncio supports _preload_content; remove unused imports (#107)
d74d2ba03 fix: python clients
8e0a0ebd6 Fix python / tornado body handling
b39c35c76 Fix inconsistency between model name and file name in python client
dfbef4374 Fixed unicode error and supported allow_nonstandard_methods in tornado based python client
f6e0e297e [python-asyncio] tests and fixes

R

61e58d649 Add R namespace file

Ruby

a08164592 fix ruby parameters in documentation, fix reuqiredParams, optionalParams
8e34f9a98 update to newer version of ruby
aa6b217bb [Ruby] Add auto-generated rubocop config file

Rust

b44357394 [Rust] Implement minimal auth support
0b845a57e [Rust] Changes hard coded body to dynamic parameter name -
a3c97753f [Rust] Handles UUID as string
027df610b [Rust] Handle error response statuses
66be7a791 [Rust] Add user agent handling for rust template (master)
3029b7b0f [Rust] Format example with rustfmt

Scala

197b4481e normalize akka-scala and Java README
612cfb7af [Akka-scala] Clean unused dependencies such swagger-core [Breaking change with fallback]
86697fedb [Scala][Gatling] correct body params filename
832919b84 [Scala][Akka] Remove unused dep when model package is empty

Swift

40d5d0990 [Swift4] accept empty content with default client
3b7230b17 [Swift 4] Fix APIHelper to accept array parameter
e22faf4cd [Swift] Add public initializer for modelObject.
b184fb1d9 [Swift3] escape URL parameters
52f606b8d Fix Swift3 test cases and add pom.xml, travis config for iOS test
a3d0f1d4b Swift4: make generated models structs instead of classes

TypeScript

f615d823f update ts node dependencies
9ac9bc0dc [TypeScript] enhance ts import
009dcf009 Mark not required swagger properties as optional typescript properties
bdd2c2a4e Misc typescript Angular code generation improvements
260375c9e Fix typescript-node generation of array type models
d1933b5fc Fix a problem in the generation of typescript-jquery when we have enum in a query param [Breaking change without fallback]
20305139b [Feature][TypeScript] request param enum as literal unions
524f162e6 Use supportsES6 flag in ts compilation for language typescript-angular
9b8602311 [TypeScript] Make OpenAPI Generator serialize subclasses properly (#102)
4bc5ffe86 [typescript-angular] add provided in support (#120)
ef832e715 [Feature][TS Angular] improve docs angular import
fc7e08346 [TS][Fetch] Add interfaces option
157e6b7fa [angular] Add option to generate tagged unions
7faaa091c Fix generated module imports in Aurelia APIs
b5f0b24ba [TS] fix object declaration in model

API Servers

C++

6fef0a7ff fix string issue with restbed generator
a339422bd move get type declaration method to c++ restbed

C#

d9d653016 [aspnetcore] Make the use of Swashbuckle optional (#110)
9a8183ab0 [aspnetcore] Fix openapi.json location rename (#56)
12abfb968 [aspnetcore] Update Dockerfile
866817587 [aspnetcore] Fix string enum generation

Java

bd50d368e [JAVA - jaxrs-reasteasy-eap] Add import to models (#179)
7efda597c Fix issue with useBeanValidation option in Java server generators (#160)
71b5de3ed Do not set contextPath for spring-boot (#104)
b73ab0260 jaxrs-cxf-cdi: fix outer enum (#131)
4d7fc046f [JaxRS] Add "validation-api" dependency in jetty (#30)
ce930e7a6 [Jaxrs-cxf] Add bean-level cascaded beanvalidation for pojos (@Valid)
386b9f432 Modify "postProcessOperations" for "jaxrs-cxf-client"
5d92717dc update jaxrs to listent at port 10080
7c2031675 update artifict id for jaxrs datelib j8
88c5112f2 Adds support for returning response in jaxrs-spec interfaces
6bf84d5fa [JAXRS-SPEC] Fix lowercase enums sent as uppercase
3a1922bc9 Fix version for "spring-boot-maven-plugin" (#85)
161948657 Add reactive option for Spring Boot (webflux)
ff1178ad7 [Java][Spring] fix missing optional query params
2103fadab Fix package declaration for play-framework
2c6380c84 fix inner item (list, map) for play framework
e33b350c8 Fix an issue in Play Framework generator where a CSV is empty and transferred to the controllerImp with an empty item.
99fc27246 [JAX-RS][Spec] Removes throws Exception.
fe2a44339 Fixes issue (SpringCodeGen dateLibrary "java8-localdatetime" option is ignored).
d890d733f [JaxRS][Java] issue with implFolder on windows, and required fields generation for containers (#88)
c91ce17ae Feature/javaPlayWithAsynchronousControllers
f00a1ef52 [JAVA] Correct consumes/produces attributes for Spring Controllers
d14318cf2 [JAVA][Spring] Optional params with delegate
3f81378d7 [java resteasy] fix string comparison (#134)
5ea3d3bb1 [JAX-RS][SPEC] Bug fix that prevents generating interfaces when interfaceOnly is false.

Kotlin

7cad47dd3 [kotlin-server] --library=ktor (barebones implementation)
752b36e66 [Kotlin] Sanitize enumeration name to add underscore when it starts with digits (#77)

NodeJS

6d88d073c [NodeJS] make serverPort configurable via CLI option
e7f4fb3c4 Fix nodejs-server path issue in windows platform

PHP

d30fcbabb Fixes for php-ze-ph generator
60e3339aa [Feature][PHP] Update for ze-ph generator

Python

62b93fc5c [Python][Flask] Handles UUID format -
9999eac52 fix python flask parameter naming

Scala

d5c355a59 [Scalatra] Updated the version of Scalatra to the latest (2.6.2)
52322c47c [finch] Allow finch server to compile for CI checks (#7)

Ruby

dcad9ae80 [Rails5] make version of the generated Rails stub server to strict Rails 5.0

Rust

37faaf926 [rust-server] API version constant and composite version support
6c7813e79 [rust-server] asynchronous support via hyper v0.11

Documentation

25a6a9d44 html: fix typo in class name

Miscellaneous

f04213285 Cli error message improvements (#172)
0ece706a4 Remove CodegenConfig.fromModel(String, Schema) method (#90)
64f2bea37 Fix getReferenced...() methods in ModelUtils (#157)
16ff5174e Update swagger-parser to 2.0.1 (#123)
76b7307a6 DefaultGenerator: ignore only form param schemas (#74)
a3aabd390 Create a default implementation of delegate if none could be autowired (#92)
ca89af808 Switch to Java 8
27426f7b5 Cli generator name option, replaces 'language' options in CLI and Maven Plugin (#57)
a1ff50241 Rename datatype to dataType in CodegenProperty (#69)
3b9a2a7c3 CaseFormatLambda has been added, params for Rest-assured client has been refactored (#91)
488910362 Set parameters allowableValues dynamically (#65)
2821f18b9 Meta: set version for "build-helper-maven-plugin" (#89)
82d9e935e Add CORS configuration to openapi-generator-online (#71)
e3814f51d Improvements to online codegen (#55)
6b8079808 Consider minLength, maxLength and pattern in referenced schema (#45)
7c5dfbfa0 Minor improvements to OpenAPI Generator Online (#54)
8dd46a3fb Move online gen from jersey to spring boot (#44)
803821e21 Fix an issue with example generator when array is too large (#46)
673f2bc46 Add CodegenProperty.nameInSnakeCase (#42)
67ebe17dd Fix isPrimitiveType flag for array of form parameters (#38)
10ac4024d Code clean-up: remove field declaration hiding existing fields (#35)
ab9c4b5a6 Code clean-up: Add own private static final LOGGER in each class (#26)
41b0ff351 Code clean-up: remove DefaultCodegen#getSimpleRef(String) (#19)
13f084e7b Fix dataTypeWithEnum for array of form parameters
fd3b883e8 [DefaultCodegen] Fill CodegenOperation::produces with unique media types
db9a899a0 update getSchemaType variable, remove unused import
d74b4cdf8 fix map type and collection format for form parameter (array)
d99f46cff Revise how to obtain the example value
b1eac05b2 Fix form datatype (array of string)
3c666a6d4 Fix array of form parameters
1492df6ce Override server port for Jetty configuration
622a75b2c Fix data type shadowing
861d11d01 use vendor extension in operation to set the body parameter name
80c8b92cb add postProcessParamter for body, form parameter
7fe555a51 Set collectionFormat default only for array
16589de97 default collection format to csv according to the spec
edbe4902a Consider '$ref' for consumes and produces in CodegenOperation
e24238a35 Improve getter name handling for boolean properties
6e2ca294b update discriminator to discriminatorName
74075c087 Primitive datatype in Schema components
d8abd4a14 support map in body parameter
186594115 Update swagger-core to 2.0.1
2034f61e5 Add HideGenerationTimestamp getter and setter in the CodegenConfig interface
d0e2d7684 Getter and Setter for hideGenerationTimestamp
adbde2fb6 replace fromOperation with postProcessOperations
9d1ae0dd2 fix bigdecimal in default codegen
ffa0e115d fix default value and type declaration
0e744adb8 Apply collection format to SIMPLE enum style
36ed29852 Tweak tests according to the parameter order changes
17b082793 Move 'enum_query_double' to parameters section
28fcf48f4 Add a method returns discriminator name
7daa2ec5d Fix broken discriminator
faa901640 Replace with the helper function: getTypeDeclaration
c8650d0e3 Make optional properties in models optional parameters
40c30dd2f Fix inputSpec for multi module builds
5326152cc add option to reorder form/body parameter
d1850091a Improve JMeter Template
fedfb0cda Factorize addOption/addSwitch method
e73eeb4fd fix for stripping prefix on single enums
13e3db59e Add operationIdOriginal to store the original operationId
0b2d80569 Expose getter/setter for serverPort to facilitate testing
8e270f465 add vendorExtensions field in CodegenSecurity class
1ee85de94 Added Intelli J ignore
7b8e409cf Added gitignore generation function

Package Rankings
Top 1.33% on Repo1.maven.org
Top 4.1% on Pypi.org
Top 3.04% on Proxy.golang.org
Badges
Extracted from project README
Stable releases in Maven Central Apache 2.0 License Open Collective backers Join the Slack chat room Follow OpenAPI Generator Twitter account to get the latest update Contribute with Gitpod Conan Center Revved up by Develocity Build Status Integration Test2 Windows Test Bitrise NamSor LightBow Linode Linode Logo