Releases: OpenAPITools/openapi-generator
v4.1.0 released
v4.1.0 (breaking changes with fallback) released with 4 new generators/libraries:
- OCaml client generator:
ocaml
- NodeJS Express server generator (alpha):
nodejs-express-server
- Java 11 native HTTP client library:
--additional-properties library=native
- Ruby Faraday client library:
--additional-properties library=faraday
Thanks for the OpenAPI Generator community to help move the project forward with another minor release.
We've also launched a new Slack workspace. Please join to discuss OpenAPI Generator.
For a full list of changes, please refer to the Pull Request page. Below are the highlights:
General
- Better handling of dot in inline model name #3498
- [fix] Assign template directory to additional properties #3385
- Updates to address recent lodash Object prototype vulnerability #3348
- [openapi-yaml] Prerequisities for Swagger 2 template #3202
- [core] Initial implementation of a validation framework in core #3183
Bash
- Bash skip empty query param fix #3290
C#
- [C#][client][csharp-netcore] Fix csharp netcore defaultheaders #3562
- Fix logic of
getNullableType
of csharp server and client #3537 - Fix DateTimeOffset nullable issue #3530
- [aspnetcore] Support cookie parameter #3490
- Adds default property values in ASP .NET Core models #3369
C++
- [C++][Pistache] Do not use JSON for primitive types in request body #3509
- [C++][Qt5] Remove QRandomGenerator #3508
- Add modelNamePrefix option for qt5 #3431
- qt5 client: strip whitespace #3406
- [C++][Pistache] Add compatibility for nlohmann-json 3.5.0 #3306
- Fix issue deserializing to nullptr #3572
Dart
- [dart-jaguar] Fixes error accessing default converters #3361
- [dart-jaguar] Adds option to customise the generated API client name #3234
Go
- [Go][experimental-client]: make struct members pointers, provide custom marshalling #3371
Java
- [java][client][jax-rs] Add a constant for Jackson @JsonProperty #3560
- [java-client][okhttp-gson] fixes for interceptors in ApiClient.java #3502
- Expand path templates via resttemplate's uriTemplateHandler #3500
- [Java][RestTemplate] remove wrong Null Check #3481
- [Java] Replace "useNullForUnknownEnumValue" option with the nullable attribute #3455
- [Java] add nullable support to the clients #3453
- [Java] Fix numeric field names #3436
- Java 11 native HTTP client library #3434
- [Java] add nullable annotation to pojo template for non-required fields #3409
- [java rest-assured] prevent reqSpec reuse between requests #3375
- [JaxRS-Spec] add openApiSpecFileLocation parameter #3344
- [java] Support for number enum #3328
- java-springcloud: No dependency management if parent overridden #3301
- Enable async option for spring-cloud library #2670
- Fix invalid spring properties prefix #3501
- [java-client][okhttp-gson] support bearer authentication #3236
JavaScript/NodeJS
- Add a new NodeJS Express server generator #3567
- Upgrade babel packages for Javascript ES6 generator #3424
OCaml
- [OCaml] Add file post-processing #3568
- [OCaml] Response headers were not processed for enums collection #3526
- [OCaml] various enhancements #3483
- [OCaml] new client generator #3446
PHP
- Fix PHP Symfony non-primitive return type being forced to be an array #3515
Python
- [Python][server] Use range for dependencies in python-flask #3470
Rust
- [rust] Stop deriving Eq for models #3463
- [Rust][Client] Correct the Rust client generated documentation #3419
- Better Rust client imports #3332
- Fix enum types in structs #3309
- [Rust Server] Support multipart/form_data request bodies #2846
- [Rust Server] Generate valid Rustdocs for lazy_static items #3556
- [Rust Server] Allow more than 32 configured paths #3494
R
- [R] updated example in doc(.md) file #3429
Ruby
- [Ruby] clean up Ruby dev dependencies #3551
- [Ruby] remove auto-generated Gemfile.lock #3541
- [Ruby][faraday] add TLS setting support #3527
- [Ruby][Faraday] Various improvements #3520
- [Ruby] add support for "faraday" #3405
- Ruby-client: Don't encode slashes if strict-spec false #3204
Swift
- [Swift4] Introduce XcodeGen #3396
Scala
- [scala-play-server] Correct CLI option name #3340
TypeScript
- typescript-fetch: allow configuration of headers and credentials #3586
- [typescript-angular] fix string casting #3558
- [typescript] change accessToken name parameter to optional #3555
- typescript-fetch: Properly detect and encode container request body param #3517
- [typescript-rxjs]: support reponseType blob #3437
- typescript-axios string date format #3423
- [typescript-rxjs] runtime and api cleanup #3316
- [typescript-angular] use correct package with http-client #3465
- [Typescript Axios] fix Content-type not set properly #2695
- [typescript-node] fixed enum generator for top level enums #2266
- Added serialization support for typescript on complex object headers #1874
- Support importMapping definitions for TypeScriptNodeClientCodegen #3469
- [typescript-angular] add flag for using string enums #3464
- [typescript-node] Promise-based Authentication interface #3408
- Fix NPM build for Typescript-fetch #3403
- [typescript-angular] Add encoder configuration, fix default encoder #3389
- typescript-fetch: fix basic type errors #3380
- [typescript-fetch] support custom stringify for query string #3327
- [typescript-fetch] Fix collection formats reference #3324
- [typescript-fetch] Fix access token type #3323
v4.0.3 released
The last patch release before 4.1.0 (minor release). Below please find the highlight of the changes. For a full list, please refer to the Pull Request page
Once again, thanks for all the contributions from the awesome community.
Note: we'll also talk about this release in Open Summit Japan 2019. Please join our presentation on Jul 19 (Friday) 14:00 - 14:30 (GMT+9) if you want to learn more about developer experience for open-source projects.
General
- [online] Remove GENERATOR_HOST defaults #3289
- Handle discriminator mapping non-ref name #3247
- [core] consider content in parameters and headers when computing unused schemas #3243
- Update to swagger-parser to 2.0.13-OpenAPITools.org-2 #3239
- [online generator] integrate with rapidoc (interactive explorer) #3229
- Fix inheritance with modelPrefix #3151
- Update DefaultCodeGen to allow additional primitive types #2799
C++
C#
- [csharp] Adding http response details on api_docs and making example snippet compilable #3129
- [csharp-netcore] Add http response details in api_docs to make example snippet compilable #3128
- [aspnetcore] Add API key authentication support to aspnetcore server #3089
- [aspnetcore] Preliminary support for ASP.NET 3.0 Core preview 5 #2824
Dart
- [dart-jaguar] Makes converters publicly accessible #3245
Documentation
- [openapi-yaml] fix config option outputFile ignored by the generator #3199
Elm
- [elm][haskell-servant] fix StringIndexOutOfBoundsException #3262
Go
- Add new Go client (experimental) generator #3268
- [Go][Client] Use configured Scheme and Host in requests #3115
- [go] Serialize multipart array of complex objects as JSON #2965
Haskell
- [elm][haskell-servant] fix StringIndexOutOfBoundsException #3262
Java
- [Java] fix javadoc configuration #3302
- [Java][Rest-assured] Bump rest-assured version #3282
- Update dependency with jsr250-api #3279
- Added RxJava2 to java-vertx server codegen #3240
- Add missing javax dependencies for Java > 8 #3188
- Added special handling for 'string' types with format 'uri' #3161
- [java][jesery2] fix "InjectionManagerFactory not found" issue #3153
- [Spring] fix documentation containing argument "java8" twice #3122
- Check classVarName against reserved keywords, renamed snakeCase to lowerCamelCase #3079
- Only enable Spring default interface for
java8
#3022 - Add
throws Exception
directive to Spring operation methods #2482
JavaScript
- Update JS flow dependencies to fix security issues #3296
- Fix typo in Javascript generator template #3249
Kotlin
- Ktor Fix KtorExperimentalAPI import #3108
- Add Flow import to kotlin spring reactive #3107
- [KOTLIN Spring] add interfaceOnly option #3050
Perl
PHP
- Set error_reporting(E_ALL) in phpunit.xml settings, to crash on undefined variables #3266
Python
- [Python] Adds new client generator, python-experimental #3244
- [Python] configurable limit of simultaneous connections (python/asyncio) #3200
- [Python] Make example code snippet compilable #3148
R
- [R] Added handling exception with ApiException class and better documentation #3217
- [R] Alternate PR for serialization fixes along with WithHttpInfo method enhancement #3099
- [R] Inclusion of useragent, timeout and serialization #3084
Ruby
- [Ruby][Client] Add "send" to ruby reserved word list #3146
TypeScript
v4.0.2 released
Even though v4.0.2 is the regular bi-weekly patch release, it still comes with enhancements, bug fixes covering many languages. For a full list, please refer to the Pull Request page. Below please find the highlight of the changes:
General
- [gradle] Document consuming via gradle plugin portal #3125
- Import inner items for map #3123
- [maven-plugin] fix strictSpec parameter without alias #3095
- [core] GeneratorSettings, WorkflowSettings, and cleanup in CodegenConfigurator #2946
- Link query parameter to model object #2710
C#
- Update C# client dependency #2678
- [ASP.Net Core] General support to add scopes for bearer authentication #1984
C++
- [C++] [cpprestsdk] Add examples and test for cpprestsdk #3109
- [C++][Qt5] Add Q_DECLARE_METATYPE to the generated models and remove ref in signals #3091
- [C++] [Qt5] Add API timeout handling #3078
- [cpp-pistache-server] Fix wrong include path in api-header template #3062
- [C++][Qt5]Map number to double since float is also parsed as double in Qt5 #3046
Go
- refactor(golang): Use http provided constants for http methods #3028
- [Golang][client] Allow generating go client code as a submodule #3012
Java
- [Java][okhttp-gson] Update dependencies #3103
- [Java][jersey2] Making response headers case-insensitive #3072
- [Java][jersey2] Documentation changes and making example snippet compilable #3056
- [Java][jersey2] Fixing javadocs wark #3040
- [Java][okhttp-gson] Making API response headers case insensitive #3029
Javascript/NodeJS
- Bump up babel-cli version to fix security alert #3121
- Mark nodejs-server as deprecated #3083
- [JavaScript] Remove default parameters syntax as it's an ES6 feature #2848
Kotlin
- [KOTLIN Spring] fix generation with modelNamePrefix/Suffix #3038
- [Kotlin-Spring] template fixes/improvements #3007
- [Kotlin-Spring] add reactive behavior via Kotlin coroutines #2934
Ruby
- Fix rubocop obsolescence #3175
- Ruby: Avoid double escaping path items #3093
- Ruby client: escape path parameters #3039
Rust
- Idiomatic Rust returns for Error conversions #2812
- Add enum support to
rust
and skip none option serialization in clients #2244
Scala
- [scala-play-server] Fix API doc url #3096
- [scala-play-server] Fix generated enums named after a reserved word #3080
TypeScript
- [typescript-fetch] add bearer token support #3097
v.4.0.1 released
The first patch release (v4.0.1) since the major version v4.0.0 released 2 weeks ago. Please refer to the milestone for a full list of changes. Below are the highlights:
General
Apex
- [Apex] Set namedCredential file name from the property #2937
C++
- [C++][Restbed] Add handler callback methods #2911
- [C++] [Qt5] Set default base path and change constructor to const ref #2973
- [C++][Pistache] Separate exception types when handling requests #2930
C#
- [C#] Remove null checks for C# value types #2933
- [aspnetcore] Added support for patterns on model properties #2948
- [csharp] Make API response headers dictionary case insensitive #2998
- [csharp] Add an option to make API response headers dictionary case insensitive #2998
- [csharp-netcore] Enabling XML documentation on csharp-netcore client #2996
- [C#] Enabling XML documentation in the C# client #2953
Dart
- [Dart][Jaguar] fix wrong import on object #3000
- Add auto-generated tests and Travis config to Dart clients #3006
- dart2: update to work with dart 2.3.0 #2894
Elm
- Add support for enums in Elm operations #2982
F#
- [F#][Giraffe] Remove unused import #2893
Go
- [Go] Check error of XML Encode in the API client #3027
Groovy
- [Groovy] improve code parsing body/form params #2879
Java
- [java-okhttpgson]: Include API's Http response codes and their corresponding description and response headers in the documentation #2995
- Update Java Feign client to the latest stable version #2999
- Fix for Java JAX-RS tests in Windows platform #2927
- Disable jdk8 when using responseWrapper #2873
- [Spring] Disable jdk8 when using responseWrapper #2873
Kotlin
- [KOTLIN client] fix Moshi (Serializer/Deserializer) duplicated #3013
- [kotlin] add testFolder configuration for kotlin #2975
- [Kotlin client] Improve JSON parser #2981
- Improve Kotlin code quality #2988
- [Kotlin] Fix parse error when using custom field names with @JSON #2944
PHP
- [PHP] Fix group parameters in WithHttpInfo method #2951
Python
- [python-server] Support python 3.5+ for all server-generators #2884
- [Python] fix ModuleNotFoundError when packageName contains dots #2992
- [Python] Remove unnecessary if else #2985
Ruby
- Add support of Bearer Basic Authorization to Ruby client #2856
TypeScript
- [typescript-fetch] Fix uploading files #2900
- [TS][Inverisify] Adding support for RxJS 6 #2793
- [TS][Axios] To fix conflict params name 'url' #2921
- [Typescript] remove deprecated typings #2880
- [TS][Fetch] Add support for openapi maps/dictionaries to be generated as typescript map #2913
- [Typescript] gets package npm version from API specification #2920
v4.0.0 release
4.0.0 is the first major release since the project's public debate in May 2018. Once again we appreciate all the contributions from the community to make this happen. This release comes with breaking changes with fallbacks and without fallbacks. Please refer to the following lists for more information:
For a full list of changes, please refer to the "Pull requests" tab.
New Generators 🆕 :
- csharp-netcore
- fsharp-giraffe-server
- graphql-nodejs-express-server
- typescript-rxjs
Here are some highlights:
📕 = Breaking changes without fallback
📒 = Breaking changes with fallback
General
- [core] add support for model as query params #2489
- Correct issue with OAuth scopes not propogated correctly #1982
- Better handling of inline composed schemas in InlineModelResolver #2112
- Update swagger-parser-version to 2.0.13-OpenAPITools.org-1 #2775
- [docs] Document new templating engine, adding ability to reference templates #2773
- [all] Adds strict spec option #2783
- [general] Remove swagger-codegen "lang" mappings #2785 📒
- [templating] Load TemplatingEngineAdapter via Service Provider #2755
- Improve InlineModelResolver: MapSchema support #1800
- Better support for composed schema (allOf) #1842
- Better handling of OAuth security schema #1838
- Refactor InlineModelResolver #1788
- Deprecated initialCaps #1821
- Delete unused method #1744 📕
- Remove self-reference import #1758
- Better handling of allOf (composition) #1757
- Various fixes for free-form objects #1751
- [OAS 3.0] Fix composed oneOf type #1750
- Add support for multiple inheritance #1664
- Fix alias to free form object & map #1638
- Remove isNotContainer (mustache tag)#1629 📒
- Introduced GeneratorProperties as a thread-safe clone of System Properties #1598
- Delete
--lang
option #1592 📕 - Better OpenAPI spec v3 support: allOf, anyOf, oneOf #1360
Android
- [GRADLE] upgrade to 2.14.1 in java/scala/androit client to fix Vulnerability #2416
C
- [C] C generator refactored #2463 📕
C#
- Add warning about .net 2.0 framework reached EOL #2804
- [C#][.NET Core] fix map instantiation in models extending Dictionary #2776
- Remove emitDefaultValue option from C# generators #2559 📒
- [aspnetcore] Support async tasks and some code cleanups #2629
- [Aspnetcore] add nullable support to parameters and properties #2529
- [Csharp] add nullable support to API client #2528
- Rename generator: csharp-refactor => csharp-netcore #2348
- [aspnetcore] more configurable and generate abstract class library #2282
- [aspnetcore] migrate the docker image for the aspnetcore generator #2281
- C# refactor improvements: .NET Standard and .NET Core #2187
- Fix C# discriminator's mapping name #1942
- Use CompareNetObject for object comparison in C# client (refactor) #1765
C++
- [C++][Qt5] Fix generation of optional file when model name prefix is selected #2341
- [C++][Qt5] Add enum support for client and server #2339
- [C++][Qt5 Server] Add support for free form object in requests #2288
- [C++] Use super class methods for Model and Api Filenames #2787
- [C++][Pistache] Allow socket address reuse option #2780
- [C++][Qt5 Server] Process server port #2782
- [C++][RESTSDK] support enums #2749
- [C++][RestSDK] Windows vcpkg vs2017 support #2751
- [C++][Pistache]Add server port processing #2743
- [C++][QT5] Emit worker also in response signal #1829
- [C++][Pistache] Fix missing const keyword in array and maps #1828
- [cpp-qt5] client response headers and validation of properties for client and server #1508
Clojure
- [Clojure] Fix tests: stop dashizing props names #1310
- [Clojure] Add model generation and conforming #122 📕
Dart
- [Dart] Fix authentication for HTTP basic, API keys #2419
- [Dart] query arguments of requests are now url encoded #2250
- dart2: Do not add non-nullable fields to JSON string of models #2777
Elixir
- [Elixir] update to 1.6 version #2741
- [Elixir] Deserialize responses based on status code #2355
- [Elixir] Update Tesla dependency to version 1.0 #2326
Elm
- [elm] Update ISO 8601 library (fixes missing time zone designator) #2545
- [elm] Import types in operations #2488
- [Elm] Bugfix .encode in modelTypeDiscriminator #2807
- [Elm] Fix repetitive enum prefixes #2784
- [elm] Enable setting Http request trackers #1609
- [elm] Allow setting base path for each request #1538
- Add support for UUIDs #1516 📕
- Update Elm for elm/http 2.0.0 #1510 📕
Erlang
- Introduce optional weight function for commands and other improvements #1618
- Upgrade the erlang-server dependency from cowboy1.x to cowboy2.x #1364 📕
F#
Go
- [Golang][client] Make it possible to generate go.mod and go.sum files #2813
- [go] fix multipart for non-file inputs #2792
- [go] support decoding plain string responses #2414
- [Go] Fix up json check regexp and support vendor-specific mime types #2322
GraphQL
- New Generator: GraphQL Server #1603
Haskell
- [haskell-servant] Fix parsing of special characters #2676
- [haskell-servant] Add some missing types to the generated modules #2675
- [haskell-http-client] add cli option
customTestInstanceModule
#2406 - [haskell-http-client] add support for import-mappings #2381
- haskell-http-client: update katip version bound #2305
- [haskell-http-client] Allow logger selection via cabal flags. Emit Consumes / for requestBody when not specified #2258
HTML
- Update StaticHtmlGenerator to allow snake_case property names #2612
- [html] Use ModelUtils to avoid NullPointerException #1948
Java
- [JAVA][KOTLIN] fix var Naming for all uppercase with Numbers #2794
- Mark Java (jersey1) client as deprecated #2767
- [JAX-RS] Fix JSON polymorphism #2602
- Fix JaxRS-Jersey template for files upload #2570
- [Java][Feign] Support OAuth without 'expires_in' data #2563
- Update Java Vertx client dependency #2507
- [Java - OkHttp] Fix for the added interceptor and tests #2420
- [GRADLE] upgrade to 2.14.1 in java/scala/androit client to fix Vulnerability #2416
- Update Java client (okhttp-gson) dependencies #2368
- [Java][okhttp-gson] Fix incorrect use of OkHttp interceptors #2356
- rest-template: allow array parameters in path using collectionFormat #2177
- okhttp-gson: allow array parameters in path using collectionFormat #2137
- Add nullable array support in Java Spring generator #2660
- [Java] Generate OAuth related files only if OAuth security schema is used #1907
- [Java] Update okhttp version to the latest #1897
- Improve Java model with instantiated lists #1683
- Add nullable support to JAXRS-CXF parameters #1679
- Add mavenCentral to build.gradle #1674
JavaScript
- [Documentation] Add instructions to build the javascript client module #2806
- [JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (invokerPackage) #2511
- [JS][Flow] Fix body serialization when body is falsy #2499
- Add build script and remove babel #2439
- Add "servers" support to operation, path in the JS client #2060
- Add Bearer authentication support to JS client #2020
- Add multiple servers support to JS API client #1974
- Use JS ES6 as the default #1825 📒
Kotlin
- [Kotlin] add apiSuffix configuration #2690
- [Kotlin SpringBoot Server] alternative: fix optional parameter not correctly declared in service #2539
- [kotlin-spring] use spring resource for file handling #2455
- [Kotlin] Add ability to use modelNamePrefix/modelNameSuffix #2349
- [kotlin-spring] Allow DateTime to be remapped to others (LocalDateTIme) #1740
Perl
- Perl: Better Support for hash in deserialization #2713
- Use 4-space instead of tab in Perl templates #1830
- Add "nullable" support to Perl operation's parameters #1690
- Add multiple inheritance support to Perl client #1681
PHP
- [Slim] Fix AbstractAuthenticator constructor TypeError #2641
- [Symfony] Replace deprecated Controller with new one #2146
- [PHP-Symfony] Use Symfony Validator service #2143
- Add "servers" support to the operation, path in PHP API client #2072
- Add
controller.service_arguments
tag to controllers to make them public #2059 - Enable serialization of non-null negative values (array, false, etc) #2032
- Add Bearer authentication to PHP API client #2013
- Add multiple servers support to PHP client #1964
- [PHP] Bump minimum required version to PHP7.1 #1491 📕
- [Slim] Abstract API controllers #1483 📕
- [Slim] Migration to PHP7 #1263 📕
- [PHP-Lumen] Lumen 5.6 support #212 📕
PowerShell
- Add process utils class to add index to properties #1796
Python
- [Python] add the multipart files after sanitization in api_client #2122
- [Python Connexion Servers] BUGFIX: handle . in package names #2508
- Added proxy headers option for urllib3 #2467
- Adding retries option to override default value 3 of urllib3 #2460
- Adds exceptions module to python clients #2393
- [Python] add cookie support for authentication in the client #2367
- Add python-blueplanet server generator #2184
- [Python] Add "servers" support in path, o...
v4.0.0-beta3 release
General
- Update TestNG Version #2582
- Change default inline object name #2569
- Deprecate initialCaps and replace with camelize #2546 Breaking change (without fallback)
- Fix out-of-memory issue with nested objects with arrays with maxItems set #2536
- Add rule to maven-enforcer-plugin to prevent usage of SNAPSHOT versions #2509
- Better handling of operationId with slashes #2469 Breaking change (without fallback)
- Update documentation mustache templates for proper linting #2458
- Option to overwrite only changed files #2451
- Implement yamlsample config help output #2443
- Implemented yaml parsing for config file #2434
- Add packageName configuration to maven plug-in #2429
- [Maven plug-in] fix failure to read schema from the classpath #2409
- [MAVEN PLUGIN] fix javadoc, fix sonarlint issues in module openapi-generator-cli #2399
- PR for ability to easily debug newly created codegen classes #2388
- Fixing various issues reported by Sonar (part 2) #2295
- Update swagger-parser to '2.0.11-OpenAPITools.org-1' #2262
- Fix NPE when array item is undefined #2247
- Better info message about using generateAliasAsModel #2246
- Fix various issues reported by SonarCloud reports #2229
- Refactor and use some Java 7 features #2225
- Fix missing nullable #2189
- Gradle - make GenerateTask properties optional #2185
- [core] fix referenced enum case #2175
- [core] consider schema in headers when computing unused schemas #2138
- [core] Fix NullPointer when schema is not set in header #2133
- Add servers support to the path and operation #2048
- Add methods to name interfaces (allOf, anyOf, oneOf) #2046
- Fix isFreeFormObject check for allOf, oneOf, anyOf #2044
- Making completion work with openapi-generator-cli or openapi-generator #2027
Android
- [GRADLE] upgrade to 2.14.1 in java/scala/androit client to fix vulnerabilities #2416
C#
- Remove emitDefaultValue option from C# generators #2559 Breaking change (with fallback)
- [C#][ASP.NET] fix "EmitDefaultValue" default value with false #2558
- [Aspnetcore] add nullable support to parameters and properties #2529
- [Csharp] add nullable support to API client #2528
- [aspnetcore] Feature/cleanup (contributor rebase) #2506
- [Java][C#][JS] remove localVariablePrefix #2423 Breaking change (without fallback)
- Updates the toInstantiationType method in the csharp generator, Adds spec additionalProperties + nullable examples #2405
- [C#][netcore] Fix package name in the localVar types #2378
- Rename generator: csharp-refactor => csharp-netcore #2348
- [aspnetcore] more configurable and generate abstract class library #2282
- [aspnetcore] migrate the docker image for the aspnetcore generator #2281
- C# refactor improvements: .NET Standard and .NET Core #2187
C++
- [C++][Qt5] Fix generation of optional file when model name prefix is selected #2341
- [C++] [Qt5] Add enum support for client and server #2339
- [C++] [Qt5 Server] server allow api handler override of generated code #2308
- [C++] [Qt5 Server] Add support for free form object in requests #2288
- [C++][Qt5] Fix import for models with underscore #2168
Elixir
- [Elixir] Deserialize responses based on status code #2355
- [Elixir] Update Tesla dependency to version 1.0 #2326
Elm
- [elm] Update ISO 8601 library (fixes missing time zone designator) #2545
- [elm] Import types in operations #2488
Dart
- [Dart] Fix authentication for HTTP basic, API keys #2419
- [Dart] query arguments of requests are now url encoded #2250
Go
- [go] support decoding plain string responses #2414
- [Go] Fix up json check regexp and support vendor-specific mime types #2322
- Apply
GIN_MODE=release
for the Dockerfile ofgo-gin-server
#2283
Haskell
- [haskell-http-client] add cli option
customTestInstanceModule
#2406 - [haskell-http-client] fix bug in test for Maybe A.Value #2382
- [haskell-http-client] add support for import-mappings #2381
- [haskell-http-client] use a decreasing size for Gen (Maybe a), to prevent infinite recursion #2343
- haskell-http-client: fix indentation in .cabal file #2306
- haskell-http-client: update katip version bound #2305
- [haskell-http-client] Allow logger selection via cabal flags. Emit Consumes / for requestBody when not specified #2258
Java
- [Java][Feign] Support OAuth without 'expires_in' data #2563
- Minor improvements to Java API clients (feign, okhttp, retrofit, retrofit2) #2521
- Fix JavaDoc errors in ApiClient for resttemplate #2515
- Update Java Vertx client dependency #2507
- [Java] Instantiate HttpBearerToken authentications if so declared #2485
- [Java] Jersey2 - Always render setBearerToken no matter if OAuth2 is in use #2479
- [Java] Fix Javadoc issue in the client #2435
- [Java][C#][JS] remove localVariablePrefix #2423 Breaking change (without fallback)
- [Java - OkHttp] Fix for the added interceptor and tests #2420
- [GRADLE] upgrade to 2.14.1 in java/scala/androit client to fix Vulnerability #2416
- Update Java client (okhttp-gson) dependencies #2368
- Add more tests to the Java client #2365
- [Java] Update Javadocs for HttpBearerAuth #2364
- [Java][okhttp-gson] Fix incorrect use of OkHttp interceptors #2356
- [JAVA] Use specified data type in enum's fromValue instead of string #2347
- [java-server-msf4j] fix and upgrade #2303
- [Spring] fix datatype for non-multipart file request body #2271
- Java RESTEASY : fix defaultValue annotation double quoted in API operation #2268
- Java Spring : fix defaultValue annotation double quoted in api operation #2267
- [Java][JaxRs] bean validation annotation (e.g. NotNull) is applied to body param of api interface #2239
- rest-template: allow array parameters in path using collectionFormat #2177
- okhttp-gson: allow array parameters in path using collectionFormat #2137
- [Java] Bean Validation for decimalmin/max incorrect when exclusive set #2115
- [Java] Getter/Setter naming convention not followed in generated models #2095 Breaking change (without fallback)
- Remove localVarPrefix from Java client #2045 Breaking change (without fallback)
- [Java] adds snapshotVersion CLI option and uses API version as artifactVersion by default #2033
- Update CXF and Jackson to latest version #2017
JavaScript
- [JS] fix NPE for null string and improve Travis config file #2553
- [JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (invokerPackage) #2511
- [JS][Flow] Fix body serialization when body is falsy #2499
- Add build script and remove babel #2439
- [JS][Flow] various improvements #2298
- [JavaScript] Add petstore integration test to JS ES6 client (OAS3) #2245
- [JavaScript] fix JS default ot ES6 #2084
- Add "servers" support to operation, path in the JS client #2060
- Add Bearer authentication support to JS client #2020
Kotlin
- [Kotlin SpringBoot Server] alternative: fix optional parameter not correctly declared in service #2539
- [KOTLIN] fix variable name not correctly sanitized #2537
- Fix Kotlin default value #2513
- [Kotlin client] fix warning when else all covered #2470
- [kotlin-spring] use spring resource for file handling #2455
- [Kotlin] Add optional parameters to the method of api #2432
- Kotlin model name camelize #2430
- [BUG][Kotlin Client] API using case other than camelCase not generated properly #2391
- [KOTLIN Client] Update to latest kotlin version #2375 Breaking change (without fallback)
- [Kotlin] Add ability to use modelNamePrefix/modelNameSuffix #2349
- [Kotlin Server Ktor] upgrade to stable version (1.1.3) #2333
- [kotlin][client] bytearray conversion #2166
PHP
- Remove global options from PHP generators #2403
- [PHP] fix bad links in Model docs #2316
- [Symfony] Replace deprecated Controller with new one #2146
- [PHP-Symfony] Validate input objects #2144
- [PHP-Symfony] Use Symfony Validator service #2143
- [PHP] remove deprecated options #2083
- [PHP-Symfony] Catch serializer exception #2074
- [PHP-Symfony] Don't try to detect response format if method return nothing #2073
- Add "servers" support to the operation, path in PHP API client #2072
- Add
controller.service_arguments
tag to controllers to make them public #2059 - [PHP-Symfony] Fix JMSSerializerBundle version #2057
- Enable serialization of non-null negative values (array, false, etc) #2032
- [PHP] Replace File.seperator with slashes in PHP projects #2007
Python
- Added proxy headers option for urllib3 #2467
- Adding retries option to override default value 3 of urllib3 #2460
- Adds exceptions module to python clients #2393
- [python-flask] Do not skip unit tests when underlying type defines json #2390
- [Python][Flask] pythonic params #2374
- [Python] add cookie support for authentication in the client #2367
- Fix regex in Python server model code #2314
- Removal of number being default to example in python client #2228
- [Python] remove default value from being fallback to example #2213
- Add python-blueplanet server generator #2184
- [Python] Add "servers" support in path, operation #2052
- [python-flask] [python-aiohttp] [bug] Fixed handling of dotted module names #2041
- [Python] handle nullable parameters with None added to allowed_values #2034
- [python] [bug] Fixed handling of dotted module names #2016
- [python] [bug]Use actual value of generateSourceCodeOnly #2015
R
- Add better example code for R object #2492
- [R] url-encode path parameters #2397
- [R] skip error when directory already exists in the test script #2379
- [R sample] fix CircleCI error of outdated sample #2313
- [R] Fix NPE issue due to default value using example value #2231
- R client refactoring #2215 Breaking change (without fallback)
- [R] Fix query parameters in the API client #2214
Ruby
v4.0.0-beta2 release
General
- Document 'x-enum-descriptions' and 'x-enum-varnames' #2010
- [Website] Add CNAME, Google Analytics ID #1958
- Add migration note about change in basePath #1957
- [core] cleanup: remove OpenAPI parameter from CodegenConfig methods #1953
- [Swagger-Parser] Update to version 2.0.8-OpenAPITools.org-2 #1924
- Update Maven plugin README with new options #1917
- Better NPE handling for undefined request body #1896
- Clean up file output handling #1895
- [gradle] Add 4 boolean properties supported by codegenConfigurator #1881
- Add additional properties to Java CodegenModel #1854
- Fix missing RequestBody.required of inline request body #1847
- Add options to maven plugin #1845
- Update isModel flag when setting codegen parameter flags #1844
- Better support for composed schema (allOf) #1842
- Fix inline resolver in handling forward slash #1839
- Better handling of OAuth security schema #1838
- Better error message when parameter ref not defined #1837
- Delete langs command #1836
- Add primitive types support to ExampleGenerator #1835
- Add test cases for ExampleGenerator #1802
- [gradle-plugin] Array model change #1789
- Refactor InlineModelResolver #1788
- Improve test codes of InlineModelResolver #1787
C
- Minor fixes: remove unnecessary override #1906
C++
- [C++][Client][C++ Rest SDK] Fix path parameters with format #1987
- [C++] [Qt5] Update Readme for qt5 server #1912
- [C++] [Qt5] Fix typo in Qt5 Server template #1859
- [C++][QT5] Emit worker also in response signal #1829
- [C++][Pistache] Fix missing const keyword in array and maps #1828
- [C++][QT5] plain object compilation fix #1826
C#
- Fix C# discriminator's mapping name #1942
- Fix response headers in CSharp #1935
- [C#][Refactor] Fix nullable required property in the constructor #1819
- Fix various typos in the templates (Ruby, C#) #1803
Dart
- [DART2]: fix Map<String, nativeType> fromJson #1936
- [DART] fix: set fields to null if json value is null #1798
GraphQL
- Rename graphql-server to graphql-nodejs-express-server #1822 (breaking changes with fallback)
HTML (documentation)
- [html] Use ModelUtils to avoid NullPointerException #1948
Java
- Update CXF and Jackson to latest version #2017
- [core] Handle referenced enum case correctly #2001
- Fix customized source folder in Java client #1978
- [java-jaxrs] Add Javadoc to enum (x-enum-descriptions) #1951
- Update Java default value in pom.xml #1949
- SCM and license parameters are now also for resteasy clients available #1934
- [Java] Generate OAuth related files only if OAuth security schema is used #1907
- [Java] Update okhttp version to the latest #1897
- [java-client][okhttp-gson] no oauth2 usage when hasOAuthMethods is false #1872
- Fix a problem that points to a folder that doesn't exist #1863
- [JAVA][JAX-RS] don't forget to support @JsonValue for enum #1833
- Deprecated initialCaps #1821
- Fix security issue with dependencies #1820
JavaScript
- Add Bearer authentication support to JS client #2020
- Add multiple servers support to JS API client #1974
- Use JS ES6 as the default #1825 (breaking changes with fallback)
- [JavaScript][es6][promise] better error response #1814 (Breaking change without fallback)
- [JavaScript] Added plugins variable for the javascript/ES6 client #1797
Perl
- Use 4-space instead of tab in Perl templates #1830
PHP
- Add Bearer authentication to PHP API client #2013
- [Slim] Update Readme #1995
- Add multiple servers support to PHP client #1964
- [PHP][php-ze-ph] Support for PHP 7.1+, Zend Expressive 3.2 and PathHander 0.4 #1902 (breaking changes without fallback)
PowerShell
- Add process utils class to add index to properties #1796
Python
- Add Bearer authentication support to Python client #1999
- Add multiple servers support to Python client #1969
- [Python][AIOHTTP] Fix missing init.py #1933
R
- [R] various bug fixes and enhancements #1965
Ruby
- Fix Ruby invalid enum generation for numeric enums #1945
- Minor fixes: remove unnecessary override #1906
- Fix various typos in the templates (Ruby, C#) #1803
TypeScript
- Add bearer authentication support to typescript-angular package #1986
- [BUG][typescript-node] Generated package causes compilation errors #1911
- Add new generator: typescript-rxjs #1884
- [TS][Angular] fixing wrong model file suffix when identical with model suffix #1876
- [TypeScript-Node] support setting the content-type header per-call #1868
- [TS][Axios] Remove redundant right parenthesis #1864
- Minor Angular type improvements #1843
v4.0.0-beta release
4.0.0-beta is a pre-release before the official release of 4.0.0 in Jan/Feb 2019. It contains breaking changes (with or without fallback) and refactoring in the core modules to keep the project maintainable while enhancing it to support new features in OpenAPI v3 spec (e.g. nullable, oneOf, etc).
📕 = Breaking changes without fallback
📒 = Breaking changes with fallback
General
- Delete unused method #1744 📕
- Fix top-level group parameter #1779
- Add test case for InlineModelResolver: inline array response #1778
- Add test case for InlineModelResolver: inline array request body #1777
- Add test case for InlineModelResolver: inline array schema #1772
- Add test case for InlineModelResolver #1771
- Resolve inline models before preprocess #1761
- Add online generator tests #1759
- Remove self-reference import #1758
- Better handling of allOf (composition) #1757
- Minor fixes for InlineModelResolver #1756
- Maven plugins dependencies version update #1754
- Various fixes for free-form objects #1751
- [OAS 3.0] Fix composed oneOf type #1750
- Swagger parser update: 2.0.8-OpenAPITools.org-1 #1721
- Fix enum and map of enum issue (regression) #1706
- [core] support for 'x-enum-varnames' for enums in arrays #1703
- Add support for multiple inheritance #1664
- Fix alias to free form object & map #1638
- Replace a deprecated method (java.lang.Class.newInstance) #1635
- Remove isNotContainer (mustache tag)#1629 📒
- Fix NPE in ModelUtils.isFreeFormObject() #1625
- [core] Fix NPE for endpoints without responses #1617
- Introduced GeneratorProperties as a thread-safe clone of System Properties #1598
- Improve checkout script on NPMJS wrapper #1595
- Delete
--lang
option #1592 📕 - Add tests to online generator #1591
- Replace
<tt>
tags with<code>
to make new javadoc work #1585 - Better OpenAPI spec v3 support: allOf, anyOf, oneOf #1360
- Remove deprecated methods in default codegen #1031
- [cli] Don't log to STDOUT if debug flags are set #474
C
- [C] various bug fixes and enhancements #1497
C#
- Use CompareNetObject for object comparison in C# client (refactor) #1765
- Fix C# client (refactor) warnings #173
- [csharp-refactor] Minor csharp refactor changes #1723
- Various fixes, enhancements to
csharp-refactor
client #1711 - [csharp] fix bug with useDateTimeOffset due to incorrect type name #1544
- [C#] Fix non-nullable enums on operation parameters not compiling #1543
C++
- [cpp rest-sdk] Add status code to response handler #1541
- [cpp-qt5] client response headers and validation of properties for client and server #1508
- [cpp-qt5] Sanitize names in case number is present #1409
- [cpp-qt5] improvements for server and client #1284 📕
Clojure
- [Clojure] Fix tests: stop dashizing props names #1310
- [Clojure] Add model generation and conforming #122 📕
Dart
- [Dart][Jaguar] various improvements #1596
Elm
- [elm] Enable setting Http request trackers #1609
- [elm] Allow setting base path for each request #1538
- Add support for UUIDs #1516 📕
- Update Elm for elm/http 2.0.0 #1510 📕
Erlang
- Add instructions for erlang-server #1643
- Introduce optional weight function for commands and other improvements #1618
- Upgrade the erlang-server dependency from cowboy1.x to cowboy2.x #1364 📕
GraphQL
- GraphQL Server #1603
Haskell
- Upgrade haskell-servant generator to latest LTS #1469
Java
- [Java] Update dependencies to address vulnerabilities #1735
- Skip default value for container in Spring generators #1725
- Improve Java model with instantiated lists #1683
- Add nullable support to JAXRS-CXF parameters #1679
- Add mavenCentral to build.gradle #1674
- Fix the bug header bean validation is not performed #1661
- Fix serializableModel option for Java jaxrs-cxf #1656
- [Java][okhttp-gson] Fix bug when performing OAuth token retry #1576
- [JAVA][Server] Fixed issue #1525: Fix model class field initializations (Regression since 3.3.1) #1549
Kotlin
- Fix type inference error #1773
- Fix UUID support #1746
- [kotlin-spring] Allow DateTime to be remapped to others (LocalDateTIme) #1740
- Fix missing closing parenthesis #1739
Perl
- Add "nullable" support to Perl operation's parameters #1690
- Add multiple inheritance support to Perl client #1681
PHP
- [Slim] Add PHP CodeSniffer config template Breaking change (with fallback) #1764 📒
- [PHP] bugfix: Array and Map inner schema definition can be missing #1586
- [PHP] Bump minimum required version to PHP7.1 #1491 📕
- [Slim] Abstract API controllers #1483 📕
- [Slim] Migration to PHP7 #1263 📕
- [PHP-Lumen] Lumen 5.6 support #212 📕
Python
- [python/asyncio] use ssl argument instead of ssl_context (deprecated) #1724
- Fix escaped regex values in Python client (#1517) #1539
- Set Python's pool_threads default value to 1 #1403 📒
Ruby
- Improve model class of ruby-client #1670
Rust
- [Rust] Support formParams and fix list-params #1678
- Generic JSON body support in rust-server #1523
- Allow package version to be passed on CLI (Rust fix) #1286
- Better context errors #1198 📕
Swift
- [Swift 4] Use Info.version for podspec version #1760
- [Swift 4] Add
createURLRequest
method #1727 - [swift4] Use RequestBuilder directly for RxSwift and PromiseKit #1718
- Mark swift3 generator as deprecated #1675
- [Swift] Updates for Swift 4.2 #1443
TypeScript
- Add nullable support to typescript-axios #1743
- Fix discriminator name not following variable naming convention #1742
- [Typescript-Angular] add nullable support #1730
- [TS][Angular] Fix TS version detection #1616
- [typescript-angular] Angular 7 compatibility of dependencies and package generator #1613
- [TS][Angular] Avoid strictNullChecks errors for apiKeys #1611
- [Typescript][Fetch] Fix bugs with new typescript-fetch generator #1545
- [Typescript][Fetch] client refactoring #569 📕
Release 3.3.4
The bi-weekly patch release comes with the 100th generator to the project: C client generator (Thanks @PowerOfCreation and @zhemant for their contributions). This is also the last patch release before the upcoming major release v4.0.0.
Here are the highlights of the changes from the awesome community:
General
- Update NPM installation instruction #1556
- [Maven Plugin] Add option to skip maven execution if the source is older than output #1502
- Improve error message when the spec is not found #1495
- Better warning message and default value #1492
- Add utility methods for free-form objects (isFreeFormObject) #1338
- Skip model generation if it's a top-level map or array #1296
C
- Add C client generator #516
C#
- Fix NPE in the C# Nancy generator #1478
C++
Elixir
- Better handling of string type with different format #1558
- [elixir] Fixes
BadMapError
for header parameters #1537 - [elixir] Decode list with primitives #1536
- [elixir] Typespec: Fixes issue with formatted primitives as parameters #1534
- [elixir] Typespec - allow null on optional struct-attributes #1514
- Fix the function name starting with numbers #1513
- [Elixir] fix ":body" handling #1504
Elm
- [elm] Add support for nested Lists & Dicts #1528
HTML
- Fix header parameters display in the documentation #1579
Java
- [Java][okhttp-gson] Add option to employ builders for API requests #1341
- [Spring] Add an option to return success code #1197
JavaScript
- Update JS client dependency #1578
- Fix boolean value handling in HTTP request body #1515
- Fix array of enum class in JavaScript client #1484
Kotlin
- [Kotlin] support
array
,list
in collection type #1564
PHP
- [PHP client] Fix README.md template for php #1540
- [PHP-Symfony] Fix wrong PHP Symfony typehint #1453
Python
- Fix openapi_types generation error in Python Flask's models #1256
Ruby
- Fix regexp in ruby-client #1521
Scala
- Fix NPE for Scala Gatling generator #1479
TypeScript
- Bump Zone.js to remove warnings when using angular >=6 #1522
Release 3.3.3
A bi-weekly patch release covering enhancements and bug fixes for 14 different languages. A refactored C# client (csharp-refactor
) has also been added so let us know if you've any feedback or question by opening an issue. A complete list of changes can be found in the pull request page. Below are the highlights of the changes included in this release:
General
- Test all generators with fake petstore spec 2.0, 3.0 #1439
- Fix run-in-docker by disabling useSystemClassLoader #1418
- Fix NPE when the paramName is null #1416
- Add tip about running online openapi-generator via Docker #1415
- [Docker] Change entrypoint to docker-entrypoint.sh #1413
- Add top level x-group-parameters support #1405
- Improve ensure-up-to-date script #1362
- Update Gradle plugin's Readme.adoc with note about use of system properties #1356
- Feature: Run OpenApi-Generator maven plug-in from within Eclipse #1332
Android
- [Android] Fix compilation errors when there's no model defined #1438
Apex
- Fix Java exception when using Apex client generator #1395
C++
- Add file post-processing to C++ client, server generators #1440
- [cpp-qt5] Sanitize Model and API filenames #1411
- [cpp -qt5] Fixes double prefixing during model import #1398
- [cpp-pistache]Add support for map #1359
- [cpp rest-sdk]Fix precision #1293
C#
- Fix issue with C# generator when the model name is "File" #1428
- Fix incorrect pattern in ASP.NET Core generator #1371
- [C#] Fix issue #1088 with generation of enum classes referenced from other objects #1089
- C# template refactor #737
Dart
- Fix defaultValue for String schema in Dart #1342
Java
- [JAVA] generating Map with jaxrs-reasteasy does not import the hashmap #1426
- Java Spring POJO: fix javadoc comment #1384
- Fixes an issue where code generator for Java produces not compileable code #1357
- [Java][okhttp-gson] Add new ApiClient constructors for access token retry #1319
Kotlin
Lua
- Remove duplicated imports #1414
PHP
- Add file post-processing to PHP generators #1402
Python
Ruby
- Fix return_type parameter examples in ruby-client #1399
- Fix regex generated in Ruby client #1393
- Fix issue with Ruby client where strings from example properties are not wrapped with quotes #987
Rust
- [rust-server] Re-instate ApiRequestParser #1388
- Bug fix: Array and Map inner schema definition can be missing. #1363
- [rust-server] Enables the use of text/html responses as plaintext #1329
Swift
- Updates the Swift4 templates to address the warnings produced by the Swift 4.2 compiler #1407
- [Swift4] bug fix for date encoding Issues #1442
TypeScript
- Fix name sanitation when using kebab case file naming #1314