Skip to content

Releases: OpenAPITools/openapi-generator

v5.0.0-beta release

29 Jun 15:15
a77fd44
Compare
Choose a tag to compare
v5.0.0-beta release Pre-release
Pre-release

5.0.0-beta is a pre-release before the v5.0.0 major stable release scheduled in Q3/Q4 this year. Thanks again for all the awesome contributions from the openapi-generator community.

Below are the highlights of the changes.

General

  • Fix for operation defination containing ref schema #6676
  • [docker] Tag latest-release for stable latest tagging #6573
  • Copy vendor extensions from request body #6766
  • Fix default response #6625
  • Remove localVariablePrefix #6588 (Decommission)
  • Remove deprecations 5.0 #6060 (Breaking change (with fallback))
  • [core] Refactor templating management #6357 (Breaking change (without fallback))
  • [core][general] Add metadata file tracking to aid in "Golden Tests" regeneration #6325
  • Update swagger parser to 2.0.20 #6372
  • [core] Move overwrite ownership to SupportingFile #5036 (Breaking change (with fallback))

C

  • [C][Client] Convert integer/boolean to string for query parameter in request url #6652

C#

  • [csharp] Rename v5.0 to netstandard1.3 #6460 (Breaking change (with fallback))
  • [c-sharp] generator added CancellationToken to async api calls #6243
  • [aspnetcore] Remove web.config #6214 (Breaking change (without fallback))
  • [csharp-netcore] Remove support for old .net core project type #3937 (Breaking change (without fallback))

C++

  • [C++] [restsdk]Update CMakeLists.txt for seamless building on Windows and Linux #6658
  • [C++][Pistache] Catch HttpError from user-provided handler #6520
  • [cpp][Qt5] Add the ability to pass QNetworkAccessManager as a parameter #6053
  • [C++]Enable forward declaration for C++ #6654
  • Add C++ UE4 client generator #6399

Dart

  • Dart - generate constructor with named params #6751
  • [dart-dio][client] Allow passing progress callbacks through client methods #6261
  • Dart enum toJson method #6111
  • [dart-dio] Adds support for generating inline enums #5668 (Breaking change (without fallback))

Documentation

  • Fix Basic Bearer auth examples for HTML2 Docs #6579
  • Add some AsciiDoc tweaks #6436
  • [cwiki] Show enum values for URI parameters #6174

Elm

  • [elm] Add bearer, task, and sendWithCustomError #5146
  • Elm client generator refactoring #4891 (Breaking change (without fallback))

Erlang

  • Use supplied packageName instead of hardcoded #6561

Go

  • [go] Required fields are not pointers #6698
  • [go-experimental] Fix error message when unmarshaling wrong enum value #6663
  • go: use PathEscape instead of QueryEscape to escape path params #6618
  • [Go][Experimental] add oneOf discrimistrator lookup #6517
  • [Go][Experimental] Add discriminator support to anyOf #6511
  • [go-experimental] Fix marshalling of of go oneOf structures to work on non-pointer receivers #6314
  • [go-experimental] Ensure enum deserialization checks enum values #6315
  • [Go][Experimental] better oneOf and anyOf implementation #6166

Java

  • [Java][Microprofile] JSON enum processing fix #6700
  • Decommission Retrofit play24, play25 #6665 (Decommission) Breaking change (without fallback)
  • [Java] Add add constructor to BYO OkHttpClient #6401
  • [Java][Retrofit2] deprecate RxJava 1.x #6641 (Decommission)
  • [JAVA] RxJava3 support #6622
  • [Java][Native]Add option to use the builder pattern for API parameters #5961
  • Jersey2 supports additional properties with composed schema #6523
  • [Java] Decommission Retrofit 1.x support #6447 (Decommission)(Breaking change (without fallback))
  • [Java][Feign] decommission 9.x support #6445 (Decommission)
  • [JAVA] Generate arrays with "uniqueItems" true as Sets rather than Lists #5466 (Breaking change (without fallback))
  • Set java8 to true by default #6278 (Breaking change (without fallback))
  • [Java][jersey2] replace jersey2 with jersey2-experimental #6251 (Breaking change (without fallback))
  • [Java] Enable discriminator recursive lookup #5895
  • Add full OAuth2 support to jersey2-experimental codegen #6183

JavaScript/Nodejs

  • Pass body to service #6041
  • [JS] mark ES5 as deprecated #6408 (Decommission)

K6

  • [fix] Fix delete http verb (the k6 equivalent is del) #6624

Kotlin

  • Add use-site target field for JsonProperty annotation in kotlin data classes #6186
  • Support the use of tags in the delegated Spring Kotlin generator #5499 (Breaking change (without fallback))
  • #5476 [kotlin] [spring] fix swagger and spring annotation for defaultValue #6101
  • [kotlin][client] add support for coroutines with OkHttp #6362

Lua

  • Minor improvements to the Lua client generator #6219

PlantUML

  • Add new Plantuml generator for creating a schema diagram #6255

ObjC

  • [Objective-C] Fix thread-safety in template #6725
  • Added basic bearer authentication to objc template #6640

PHP

  • [php-slim4] Move Data Mocker to external repo #5930
  • [php-slim4] Set required PHP version to 7.2 #6530
  • [php] Set required PHP version to 7.2 #6603
  • [php-lumen] Show required PHP version in docs #6501
  • [php-laravel] Show required PHP version in docs #6502
  • [php-symfony] Set required PHP version ^7.1.3 #6181 (Decommission)
  • Mark Silex server generator as deprecated #6220 (decommission)
  • [php] Set required PHP 7.1 in code comments and readme #6188

PowerShell

  • [PS] Add additional properties support #6528
  • [PowerShell] Add useOneOfDiscriminatorLookup option #6516
  • Add oneof/anyof support to PowerShell client generator #6361
  • Replace powershell generator with powershell-experimental generator #6213 (Breaking change (without fallback))
  • [powershell-experimental] http signature authentication implementation #6176

Python

  • [Python] Additional properties with array types #6594
  • [python] Fix date-time parsing #6458
  • [Python][Client] Fix delimiter collision issue #6451
  • [python-experimental] Quicken package loading #6437
  • python-experimental updates ancestor + adds descendant discriminator tests #6417
  • [codegen][python-experimental] Composed schema with additionalProperties #6290
  • [Python-experimental] Fix type error if oneof/anyof child schema is null type #6387
  • [codegen][python-experimental] Add configuration knob to disable JSON schema validation #6227
  • [Python-experimental] JSON schema 'null' type should be modeled as 'none_type' #6121
  • [codegen][Python-experimental] Discriminator NPE fix, handle 'null' type #5809

R

  • Replacing caTools dependency with base64enc #6349

Ruby

  • Remove the json dependency #6580

Rust

  • [Rust][Client] Multiple returns becomes optional #6673
  • [Core, Rust Server] Support JSON query parameters #6577
  • [Core, Rust Server] Support optional headers #6575 (Breaking change (without fallback))
  • [Rust Server] Pass context to client middleware #6574 (Breaking change (without fallback))
  • [Rust][Client][Reqwest] Better http error handling #6481
  • [Rust][reqwest] add async support #6464
  • Add "useSingleRequestParameter" option to Rust client generator #6230
  • [Rust Server] Support boolean headers, and fix panic handling headers #6056
  • [Rust Server] Support complex query parameters #5831
  • [Rust Server] Don't use structs in models #5557
  • [Rust Server] Hyper 0.12 Support #4519 (Breaking change (without fallback))

Swift

  • [SWIFT5] Add the ability to turn uniqueItems array into Set in swift #6773
  • [Swift] fix GET request with array parameter #6549
  • Mark swift4 generator as deprecated #6311 (Decommission)

TypeScript

  • Mark typescript-angularjs as deprecated #6723 (Decommission)
  • [typescript-angular] support for object query parameters as nested key/json string #5790
  • [TypeScript] Rewritten TypeScript client generator supporting fetch & jquery #6341
  • Fix typescript generator for parameter collectionFormat for pipes ssv #6553
  • [typescript-angular] drop support of angular below 6.0.0 #6360 (Breaking change (without fallback))(Decommission)
  • [typescript-axios] Implement useSingleRequestParameter option #6288

v4.3.1 released

06 May 09:17
003165c
Compare
Choose a tag to compare

v4.3.1 is the last v4.x release before the upcoming v5.0.0 major release. As always, we appreciate the contributions from the community. In this release, we added a few new generators/libraries:

  • java (library: jersey2-experimental)
  • aspnetcore (aspnetCoreVersion: 3.1, 3.0)
  • powershell-experimental
  • scala-akka-http-server

We also fixed a bug (regression) on allOf being incorrectly interpreted as the inheritance (without proper use of discriminator) instead of the model composition (correct interpretation according to the spec).

For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.

General

  • [cli][build] Relax the git id plugin #6094
  • Propagate deprecated property through $ref's #6093
  • Better "Any Type" support #6091
  • [validation] Warn on duplicate tags #6061
  • Restore allOf behaviour (model composition) for definition with a single schema reference #5977
  • Add input flag for Gradle openApiGenerate task #5966
  • Expose isDeprecated variable to model template #5964
  • [gradle] Print value of outputDir correctly in gradle plugin #5936
  • Update bitwise config #5904
  • [maven] mark Mojo threadSafe=true + fix concurrency issue in CodegenConfigurator #5898
  • [codegen] Fix 'super.HashCode' for oneOf and allOf Implementations (retry) #5830
  • Add default case to handle response code #5825
  • [codegen] Use once(LOGGER) to reduce amount of identical warning messages #5808
  • [cli][docker] Better expose version/sha information of builds #5736
  • [cli] Add --global-property for -D replacement #5687
  • [CORE] Fixes composed schema discriminator map #4906
  • Use model as body param for generateAliasAsModel #4569

C

  • [C][Client]Fix data lost when libcurl write-data callback function is called multiple times #5828
  • [C][Client] Support SSL client authentication for the c client #5719
  • Tests for models for C-libcurl generator #5699
  • [C] fix decode function #5642

C#

  • Fix bearer authentication in c# netcore client (async call) #6136
  • [csharp-netcore] Fixed handling of nullable enum values #6112
  • Implement Asp.Net Core 3.0/3.1 generator #6025
  • [C#] Add bearer support to C# client #5975
  • [C#][netcore] return a null instead of application/json when no content types are set #5941
  • Add bearer auth support to csharp netcore client generator #5921
  • [C#] dependency upgrade #5870
  • [Csharp-client] Complex form parameters are not serialized as application/json #5849
  • [csharp] Library upgrade fix #5848
  • [C#] Fixed valuetype parameters and discriminator deserialization #5680

C++

  • [C++] [Qt5] Export response code to worker #6021
  • [C++] [Qt5] Export valid and set status of properties #6020
  • [C++] [Qt5] [Client] fixed cpp-client-qt5 HttpRequestWorker contentCompression variables initialization #5834
  • [C++] [Qt5] Updates to allow the setting of the dateTime format string #5763
  • [C++] [Qt5] fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout #5651

Dart

  • [dart-dio] various improvements #6047
  • [Dart] Fix enum data type #5793
  • [Dart] Remove content type from header when content type is not specified #5752
  • [Dart] Fix "basic" auth method and Add Bearer token support #5743
  • [dart-dio] Fixes --model-name-suffix having no effect #5669
  • [dart-dio][client] Handle x-www-form-urlencoded form data #5597
  • Add listFromJson method to fix #4887 #5355

Documentation

  • [markdown] Show description when summary is missing #6159
  • [bug][html2] Fix visibility of body/response schemas #5643

Erlang

  • [Erlang-Server] security definition context changes don't propagate to handler #5751

Go

  • [go experimental] Make the array "items" attribute optional #6132
  • [Go][experimental] provide code samples in the API doc #6115
  • File return type fix #5644

Groovy

  • Fix crash issue on windows #6011

Java

  • Add HTTP signature authentication support to Java (jersey2-experimental) #6058
  • Add jersey2-experimental to Java client generator #6024
  • Fix crash issue on windows #6011
  • [Java][Client] Fix Gradle and SBT builds for REST Assured generator #5990
  • [Java][RestTempalte] Change access updateParamsForAuth to protected #5940
  • [Java] Increase java compiler stack size to handle large files #5901
  • [Java] Discriminator lookup should not be case insensitive by default #5894
  • Add date time format annotation on pojo for model query parameters #5437
  • [Java][Feign] Bug fix in @param annotation #5250
  • [BUG][JAVA][spring-mvc] Generated Code for Map of Maps #5240
  • [enhancement] [jaxrs-spec] Add builders to models #4930
  • [Java][Native] Add asyncNative option #4721

Kotlin

  • [BUG] [KOTLIN] Fix default value generation for Kotlin Strings #5776
  • [kotlin] Fix #5247 incorrect enum parameter type for arrays #5435
  • [kotlin][client] Use allVars instead of vars for Kotlin client #5396

MySQL

  • [mysql] Add OAuth2 framework tables #5807

PowerShell

  • [PS][Experimental] Add validations to model #5842
  • [PS][Experimental] use allVars to cover all properties #5835
  • [PS][Experimental] Fix array return #5822
  • [PS][Experimental] add withHttpInfo support, fix "null" return #5811
  • [PS][Experimental] Better common verb handling #5783
  • [PS][Experimental] fix passthru, use switch instead of bool #5768
  • [PS][Experimental] Add multiple server support #5741
  • [PS][Experimental] various improvements #5740

Python

  • Adds memoization and deserialization through 2 or more discriminators #6124
  • [Python][aiohttp] create venv as rule #5913
  • [Python] Fix Python UTF-8 Encoding Issue #5679

Swift

  • Fix URLSessionImplementations file upload #6043
  • Fix OpenAPI link in broken Swift4/5 README templates #6035
  • [swift5] fix warning in Swift 5.2 #5900

TypeScript

  • [TypeScript-Angular] Add AuthService example to README.md #6087
  • [typescript-fetch] Make FormData optional #6077
  • [typescript-fetch] Support deepObject query params #6075
  • [typescript-fetch] Fix map API return type #5995
  • [typescript-axios] fixed pattern data integrity #5974
  • [typescript-axios][client] Allow apiKey type Promise #5953
  • Update axios dependency to the new minor version 0.19.0 #5867
  • [typescript-axios][client] Unnecessary imports occurs when using withSeparateModelsAndApi #5797
  • Ensure model.allParents always includes model.parent #5738

Scala

  • [scala][akka-http] fix non-default packages for api, model and invoker #6129
  • [scala-akka-http] fixed date header and removed broken test due invalid v2 spec #6109
  • Fix Scala sttp generator packages #5890
  • [scala-akka-http-server] Fix a generation problem on operations with empty responses #5868
  • Minor improvements to scala akka server #5823
  • New Generator: Scala akka-http server #5758
  • Fix scala-akka java8 serializers #5742

v4.3.0 released

27 Mar 03:40
c224cf4
Compare
Choose a tag to compare

v4.3.0, the first release in 2020 containing breaking changes with fallbacks, has been released with bug fixes, enhancements, new features, new generators (powershell-experimental, javascript-apollo, k6).

Thanks for the awesome community for contributing 200+ PRs to this release.

For a full list of changes, please refer to "List of all changes"

Below are the highlights of the release:

General

  • [gradle] Include engine option for handlebars generation #5686
  • [core] Sanitize/underscore/camelize cache expiry #5484
  • [cli][gradle] Validate now uses parseOptions w/setResolve #5471
  • Fix the issue with the online service #5461
  • [all] Move feature set setter #5460 Breaking change (with fallback)
  • [hb] Honor supporting files when applying bundles #5364
  • [cli][core] Add support for dry-run and display #5332
  • [templates] Update templates vendor ext standards #5295
  • [codegen][validation] Add support for 'null' type #5290
  • [maven] Docs and minor refactoring #5251
  • [core] Log some things in model/url utils once #5233
  • [codegen] Add openAPI attribute to validation and recommendation #5216
  • [cli] Optional colorized outputs #5193
  • [core] Normalizing vendor extension naming #5192
  • [bug] fix null pointer exception while evaluating recommendation #5191
  • [docs] Initial FeatureSet generator documentation #5188
  • [gradle] Add recommendations to validate task #5183
  • [feature] Add option to disable stripping of common prefix enum #5166
  • [core] Extracting recommendations to validation framework #4979 Breaking change (without fallback)
  • Better importMapping handling when aliasing references #4350
  • Fix: "isAlias" of CodegenModel #2758

C

  • [C][Client] Check the pointer before deleting operation to avoid core dump #5626
  • [C] various bug fixes and supporting bools #5624
  • [C] fix issues on enums #5477
  • Support for additionalProperties in the C generator #5440
  • [C-libcurl] Guard memory free for query parameters to avoid coredump #5356

C#

  • [C#] add support for client certificates #5328
  • [csharp-netcore] Remove use of dynamic type and optimize reference #5206
  • [csharp][csharp-netcore][csharp-dotnet2] Convert bool value to string in lower case #5178
  • [csharp-netcore] Explicitly set netCoreProjectFile only for .NET Core target #5151
  • [csharp-netcore] Improved Multimap and ClientUtils implementation #5122
  • [csharp-netcore] Remove unnecessary legacy project definitions #5108

C++

  • [C++] [Qt5] CI Tests Handle negative response from the server #5649
  • [C++] [Qt5] Update isSet when the object is received from callback #5634
  • Added support for msvc builds in cpp-qt5-client generator #5468
  • [C++] Add an option to allow having lowercase variables in models, Pistache: allow using reservedWords in models #5434
  • [BUG][C++] Avoid using plain underscore when escaping reserved words #5269
  • [C++] [Qt5 Server] added implementation of declared function #5253
  • [C++][rest-sdk] Simplify Model templates to support nested containers, maps and bytearrays #5222
  • [cpp-restsdk] fix crashes and constness #5123

Documentation

  • [markdown] Fix broken links when generating markdown #5569
  • [asciidoc] Allow the inclusion of additional documentation to the asciidoc generated #5260
  • [bug] Templates via classpath #5164

Erlang

  • [Erlang][Server] fix import for multiple API key auth #5424
  • [erlang] Do not export function if not defined. #5394

Go

  • [go-experimental] Fix nullable support #5414
  • [Go] Fix compilation error of generated go code when schema is free form object #5391
  • [go][java] Document new parameterized server support #5380
  • [go] Fix filenames with $GOOS and $GOARCH sufixes #5283
  • [go] Add Ptr method to const enum values #5257
  • [go-experimental] Add model constructors to initialize non-container vars with defaults #5175
  • [go-experimental] Add oneOf support #5150
  • [go-experimental] Preserve capitalized acronyms in structure names #5006
  • [Go] Support HTTP signature #4959
  • [go-experimental] Support aliasing of API keys #4940
  • [Golang] Add support allOf inheritance with embedded go structs #4934

Haskell

  • [haskell-http-client] exclude bad time versions #5589

Java

  • [jaxrs-reasteasy-eap] Fix invalid Bean Validation annotations for Longs #5659
  • [jaxrs-cxf-cdi] Support PATCH httpMethod #5574
  • [Java][Native] Adding Response Interceptor #5500
  • Fix generation of oneOf interfaces for oneOf usage in properties #5400
  • [BUG] [JAVA | Spring] Cookie in parameter is not correctly generated #5393
  • [Java] mark Feign 10.x (instead of 9.x) as the default #5310 Breaking changes with fallback
  • [Java][okhttp-gson] Use builder api of OkHttpClient to avoid UnsupportedOperationException #5177
  • [java][client] oneOf support for jackson clients #5120
  • [java] Support templated servers #4998
  • [java] Support aliasing of API keys #4966

JavaScript

  • Nodejs express JS packages update #5675
  • Generator for JavaScript/Apollo Client #5645
  • Add post-processing to NodeJS express server generator #5369
  • [JavaScript] Avoid setting Content-Type header if body is not used #5344

Kotlin

  • [Kotlin][client] fix file upload #5548
  • [kotlin][client] Add Jackson to interface properties and remove extra line feed #5459
  • [kotlin][client] make base path globally configurable #5450
  • kotlin-server: fix features' imports #5404
  • [Kotlin][Client] Enum toString handling #5327
  • [kotlin]Fix ktor doesn't generate nullable types #5258
  • [kotlin][client] Add Jackson as serialization library #5236
  • [kotlin][client] make Request date converter toJson as default #4884
  • [kotlin][client] Add inheritance to Kotlin Client templates #4453

K6

  • [k6] OpenAPI code generator for k6 API load-testing tool (ES5.1+) #5300

Perl

  • [core][typescript][perl] Ensure model.parent is also added to model.allParents with multiple inheritance #5182

PHP

  • [PHP] complete support for form style #5519
  • [PHP][Symfony] Add return types to getter and fluent setter #5348
  • [PHP] Fix additionalProperties annotation in models #5318
  • [Slim4] Add Data Mocker middleware #4978
  • [PHP] Remove model prefix/suffix from inline enum var names #4489

PowerShell

  • [PowerShell][Experimental] use basic parsing #5702
  • [PowerShell][Experimental] Better docstring #5688
  • [powershell-experimental] Adds configuration option to skip certificate check #5657
  • [powershell-experimental] Protects against stackoverflow when OAS spec has circular references #5646
  • [PowerShell][Experimental] Fix map type #5638
  • [PowerShell][Experimental] minor improvements and bug fixes #5635
  • [Powershell][Experimental] refactor the client generator #5629

Python

  • [python/asyncio] explicitly close client session and asynchronous context manager #5621
  • [Python-experimental] Fix UnboundLocalError: local variable 'obj_dict' referenced before assignment #5551
  • [Python][Flask] Use the dataType if the baseType is not set #5372
  • [Python] add discard_unknown_keys parameter #5362
  • [python] Adds python oneOf/anyOf models + tests #5341
  • [python] add method to set/get default configuration #5315
  • [python] use datetime aware object #5209

R

  • [r] Handling CRAN feedback for example snippet #5345

Ruby

Rust

  • [Rust Server] Don't change the API version #5458
  • Fix NPE in rust server generator #5304
  • Add missing keywords in rust #5244

Scala

  • Scala-Akka: Add missing body to PATCH requests #5605
  • Fix default value for abstract scala and scalatra server generators #5578
  • [BUG][scala][template] scala generate java.math.BigDecimal instead of scala type #5514
  • [scala] [template] scala model property style #5486
  • [scala] strip model class name for all scala generators #5439
  • [scala] new scala-sttp client generator #5429
  • [scala][templates] java 8 dates support #5291 Breaking change (with fallback)
  • Add support for bearer token scala-akka #5069

Swift

  • [swift5] stop hiding network error #5603
  • [swift5] add option for API prefix #5567
  • [Swift5] fix URLSession file upload #5546
  • [Swift5] small improvements to Objc compatibility #5410
  • [Swift4] Expanding CodableHelper with added date and JSON customisations #3365 Breaking change (with fallback)

TypeScript

  • [typescript-fetch] add interfaces, withInterfaces #5612
  • typescript-angular: fix zone-js version for angular 8 #5585
  • [typescript-inversify] Support nullable properties #5568
  • [typescript] Clean up modelPropertyNaming across generators #5427
  • Typescript-axios: add headers from configuration object #5422
  • [typescript] Add ReadonlyArray to native types #5399
  • typescript-angular: support angular 9 #5370
  • [BUG][typescript-rxjs] Fix nully type coalescing in Configuration getters #5329
  • [typescript] Remove incomplete support of Date type #5314
  • typescript-angular: single request parameter documentation #5308
  • typescript-fetch: Base Path can't be set to empty string #5305
  • [BUG][TYPESCRIPT-RXJS] Format Date is converted to Date-Time #5287
  • [typescript] Don't hardcode the date type if user has mapped it #5266
  • typescript-angular: fix handling of date object in query parameter #5225
  • [typescript-angular] Use security scheme name for API key lookup #5220
  • [typescript] Make additional properties access safer #5207
  • [typescript-angular]: objects as query parameters no longer break when fields are null #5197
  • [core][typescript][perl] Ensure model.parent is also added to model.allParents with multiple inheritance #5182
  • [typescript] Append enum suffix without...
Read more

v4.2.3 released

31 Jan 09:26
26ace13
Compare
Choose a tag to compare

The first release in 2020 comes with lots of enhancements, bug fixes and new generators.

New Generators

  • swift5: swift 5 client generator
  • markdown: markdown documentation generator

New HTTP library support (--library option) in the existing generators:

Thanks again for all the contributions from the community.

For a full list of changes, please refer to the list below:

List of all changes

Here are the highlights:

General

  • [gradle] Clarify defining multiple tasks #5167
  • [core] Add back functionality to debug openapi spec, accidentally removed in 4.1.2 #5147
  • Fixing some issues with threading and NPE #5107
  • [test] Removes jmockit in favor of mockito #5063
  • [CORE] Add support for HTTP signature #4993
  • Use UTF-8 charset on writing files #4984
  • Include vendor extensions from security scheme #4830
  • [Core] Refactor: breaking allModels indexing apart from updateAllModels #4753
  • [core] Minor schema validations bug + add pattern property to CodegenResponse #4724
  • Add isCircularReference to properties #4553
  • Support models with multi-level hierarchy (via roxspring) #4503
  • [Java/Core] Adds properties to ComposedSchema models when they exist #4482
  • [core] Initial FeatureSet structures #3614

Ada

  • [Ada] Wrong style for generated Ada model types and missing security scopes #4863

C

  • [C-libcurl] Support HTTPS/SSL for the C client #5140
  • [C-libcurl] Support setting basePath and apiKeys when creating an apiClient #4960
  • [C-libcurl] The JSON key name in request/response body should not be escaped even though it is a C key word #4893
  • [C-libcurl] fix building error when complexType is empty #4768
  • [C-libcurl] Change baseName to name to escape the field name of struct #4735

C#

  • [csharp-netcore] Fixed compiler null-check warning #5119
  • [csharp-netcore] Support .NET Core 3.0/3.1 and .NET Standard 2.1 #5111
  • [csharp-netcore] Update RestSharp and improve async methods #5066
  • [aspnetcore] Fix duplicate enums #5059
  • [C#] allow customization of generated enum suffixes #4301

C++

  • [C++] [Qt5] Support abort operation #5114
  • [C++] [Qt5] Add request compression and handling identity #5088
  • [C++] [Qt5]Add support for response compression and various enhancements #5060
  • [C++][Pistache] Rename value holder to lower chance of collision with parameter name #4948
  • [cpp-restbed] Added "out-of-the-box" functionality #4759

Dart

  • [dart-dio] Fixes issues with DateTime import and form date paramaterToString function #4929
  • [dart-dio] Fix basepath #4911
  • [dart-dio] Adds support for multipart form data post body #4797
  • [dart][dio] add dateLibrary options ( core, timemachine ) #4716
  • [dart-dio] Fixes enum by setting the wireName to the correct value #4708
  • Added Dart config parameters to fulfill pubspec requirements for publishing to pub #3911

Documentation

  • Fix boolean option in asciidoc generator #4856
  • [asciidoc] add option to not generate metadata #4852
  • [markdown] New Markdown Generator #4811

Go

  • [go] Allow user overrides for generated outputs #5132
  • [go-experimental] Fix multiple go compilation errors and enable go integration test in pom.xml #5075
  • [go] fix compilation error in generated go code #5061
  • [go][client] fix when schema have multiple servers #4901
  • [go-experimental] Use builder pattern for requests #4787
  • [REQ][GO] add AWSv4 signature support #4784
  • [go-experimental] Fix issue with Nullable marshaling comparing value to empty string no matter the enum type #4712
  • [go] Fix multi-value path params in go #4664
  • [go-experimental] Add multiple servers support to Go(-experimental) client #4635

Java

  • [Java][jersey2] Escape query params before invoking api #5023
  • [Java] Fixes Spring generator devaultValues for int64/float/double #4969
  • [jaxrs-spec][quarkus] update to version 1.1.1.Final #4935
  • [java][client] jackson update #4907
  • [java] fix Jersey2 and resttemplate not correctly sending defaultCookies #4821
  • [Java][Spring] Fix bean Validation for type:string, format: email #4788
  • [Spring] Fix template for RequestBody, added 'required' attribute #4756
  • [REQ] Java Microprofile REST Client Template #4713
  • Error in the reactive client when the path variables are a list #4689
  • [Java] Fix serialized name of discriminator in JSON.mustache #4672
  • [Java][jersey2] Use builder pattern for requests #4666
  • Fix multi-part binary array form parameters for Spring Boot and Spring Cloud templates #4616
  • [Java] Additional annotations for model type (class level annotations) #4026

JavaScript/NodeJS

  • [HttpBasicAuth] Use positive isBasicBasic tag instead of negative isBasicBearer #5095
  • [javascript] Add npmRepository option to javascript generators #4956
  • Use correct relative paths #4677

Kotlin

  • Add deprecated annotation in kotlin-spring #5090
  • [kotlin][client] Use OffsetDateTime to represent date-time received by the server #4835
  • [kotlin][client] unify JVM libraries #4827
  • [Kotlin][Client] Added new option to enable moshi code generator #4781
  • [kotlin][client] expose http status code on errors #4742
  • [kotlin][client] make serializer configurable #4740
  • [Kotlin][Client] new library support: Retrofit 2.x #4518
  • [Kotlin] enumPropertyNaming UPPERCASE should separate words with _ #4062

Python

  • [Python] Fix operations with req enums of length one #5129
  • [python] Cleanup ThreadPool with atexit rather than del #5094
  • [Python] fix numeric enum in python flask, aiohttp #5019
  • [Python-experimental] Add python experimental openapiv3 sample and fix PEP8 formatting issues #4992
  • [Python] Conditionally set auth attributes #4988
  • [Python] Support for HTTP signature #4958
  • [python-experimental] Allow models to have properties of type self #4888
  • [Python] Fix package name in tox.ini #4776
  • [Python] Updates python test framework to pytest #4765
  • [Python] Removes mutable default argument #4665
  • [Python] Changes to the templates for test code of python client #4514
  • [Python-experimental] Adds allOf/oneOf/anyOf composed models #4446

Swift

  • [Swift5] return ErrorResponse.error when network parsing error #5068
  • [Swift] Minor improvements to swift 5 generator #4910
  • New generator swift5 #4086

PHP

  • [PHP] fix php codegen ordering issue with CodegenSecurity #5001
  • [Slim4] Data mocker for scalar types #4751
  • [PHP] ensure rewound guzzle response body #4744
  • [Slim4] Update templates to comply PSR-12 coding style #4728
  • [PHP] Preserve JSON accept header #4684

MySQL

  • [MySQL] snake_case table and column names #4860

PowerShell

  • [PowerShell] avoid using hardcode prefix in example #4917

R

  • [r] Fixing the CRAN submission issues #4828
  • [r] Adding export of ApiException class #4761
  • [r] fixing serialization bug in empty json array #4667

Ruby

  • [Ruby] remove base_object_spec.mustache from ruby client #4918

Rust

  • [Rust Server] Handle array of objects inside an object correctly #5044
  • [Rust Server] Add support for primitive arrays #5041
  • [Rust Server] Rust 1.39 compatibility #4864
  • [Rust Server] Hyper 0.12 Support #4519

Scala

  • [scala] Support for Set when array has uniqueItems=true #4926

TypeScript

  • [typescript-angular] Sanitize/transform model name after appending modelSuffix #5105
  • Typescript Axios returned types and export paths fixed #5102
  • [typescript-angular] Fix typescript model kebab-cased filenames #5085
  • [typescript-axios] Fixed call of toISOString on a string type when using string type-mapping #5057
  • [typescript-node] Added ability to work with defaultHeaders and fixed authentication #4896
  • [typescript-axios][client] Unnecessary imports occurs when using nested model in allOf #4805
  • [typescript-redux-query] Add proper modeling of allOf usage #4780
  • [typescript-angular] Control Accept header via param #4774
  • [typescript-node]: Add support for nullable #4670
  • Typescript refactor: Platform select for browser and node #4500
  • [REQ][typescript-angular]: support for object as query parameters #4407
  • [typescript-rxjs] performance improvements, bugfix for falsy parameters #4250

v4.2.2 released

02 Dec 05:13
f9662e0
Compare
Choose a tag to compare

v4.2.2, which is a backward-compatible release covering 20 languages, is the last release in 2019. It comes with 1 new generator: typescript-redux-query. We appreciate all the contributions from the community and look forward to more contributions from the awesome community in 2020.

For a full list of changes, please refer to the list below:

List of all changes

Here are the highlights:

General

  • Add net.java.dev.jna to resolve "Unable to load JNA library" #4634
  • Add openapi-generator executable to docker container #4610
  • Update kotlin version to 1.3.60 in modules/openapi-generator/pom.xml #4598
  • Maintains state of hasMore when security is filtered #4585
  • Fix isNullable in the toString method #4554
  • Update swagger parser to the latest stable version v2.0.16 #4550
  • Fix: prevent ClassCastException when handling options of #4495
  • [default codegen] Correct parent variables being duplicated in child #4253

AsciiDoctor

  • [asciidoctor] javadoc: add missing tag for declared exception #4630
  • [asciidoc] add form params and authorization headers #4505

C

  • [C] better support for additional properties #4349

C#

  • [csharp-netcore][documentation]: Adding model summary to model documentation files #4309

C++

  • [C++][Pistache] Add comparison operators #4619
  • cpp-qt5-client: fix warning reordering member initialization #4526
  • [C++] [Qt5] Clang format Code #4444

Dart

  • Add HEAD method to ApiClient of dart codegen #4504
  • [dart-dio] correctly handle Map<String, Object>, List<Object> using JsonObject #4401

Elm

  • [elm] Add support for oneOf #4434

Go

  • Add go.mod as supporting files to go-server #4592
  • Add support for dumping request and response in Go generated clients #4566
  • Add an option to prefix Go struct with the classname #4564
  • [Go] Bypass object decode in case of empty body #4546
  • [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias #4527

Haskell

  • [FIX][Haskell-servant] missing indent on the new feature pull request #4490
  • [FEATURE][Haskell] Haskell-Servant serves static files #4058
  • [FEATURE][Haskell] Add Middleware support for the haskell servant generator #4056

Kotlin

  • [Kotlin-spring] add kotlin runtime compiler #4544
  • Fixes Kotlin client property names that include a dollar sign for template overrides #4351
  • Add mutable model option to kotlin generators #4115
  • [kotlin-spring] add support for the delegate pattern #3925

Java

  • [java][client][restassured] add getAllOperations() #4631
  • [jaxrs-spec][quarkus] update to 1.0.0.FINAL #4609
  • [Java][Spring] minor bug fix on unhandledException flag #4543
  • [JAVA] Update Gradle in generated Java projects from 2.14.1 to 6.0.1 #4536
  • [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias #4527
  • [java] Fix java version defaulting #4520
  • [BUG] [Java] Client resttemplate and webclient. Form Params are badly added when they are lists #4461
  • Avoid generating uncompilable response body in Spring's API template #2903

JavaScript

  • [JS] Update package.json #4261

OCaml

  • [OCAML] Fixes cloud.drone.io ocaml-test #4501

PHP

  • [BUG][PHP] Parameter property style not fully implemented #4640
  • [PHP] Include microseconds in serialized date-time #4542

Python

  • [Python] each Configuration instance now has its own dicts #4485

R

  • [BUG][R] use loadNamespace instead of package:pkgName string #4614
  • [BUG][R] Fix documentation in R package #4580

Ruby

  • [Ruby] delete unused mustache in ruby-client #4638
  • [Ruby] Fix typo in description #4624

Rust

  • [Rust] Derive more traits #4142
  • [Core, Rust Server, ASP.NET Core] Fix Codegen Operation Scope Consistency #3495

Scala

  • Fixes issues with Scalaz outputs #4508

Swift

  • [Swift] Fix enum encodable #4594
  • [Swift] Add option parameter to select response queue #4591
  • [CI][Swift4] improve swift ci integration #4571
  • [swift 4] improve test suite #4561
  • [swift] add option for non public api #4556
  • [Swift] Enhancements to iOS tests #4521
  • [swift] Introduce result type #4511
  • [Swift] Convert default value of enum with not string type to string #4481

TypeScript

  • typescript-node: support bearer token authentication #4633
  • [typescript-rxjs][client] Unnecessary imports occurs when using allOf #4632
  • [TS] replace line comment with block comment #4540
  • New generator: typescript-redux-query #3824

v4.2.1 released

15 Nov 08:45
2683dd4
Compare
Choose a tag to compare

v4.2.1 (patch release) covers more than 10 languages with 50+ PRs. For a full list of changes, please refer to the list below:

List of all changes

Here are the highlights:

General

  • [core] Fix system properties being immutable #4447
  • [ci] Setting ensure-up-to-date to use batch option in CircleCI #4445
  • [cli][script] Fix misspelling in cli bootstrapping script #4356
  • Remove deprecated API use of ObjectFactory.property() (#2613) #4352
  • [core] consider polymorphism when computing unused schemas #4335
  • [asciidoc] fix names of parameters #4440

C

  • [C] Minor enhancement to C client generator #4457

C#

  • [csharp-netcore] Propagate raw content to the ApiException error content #4381
  • [Feature] emit default values for optional properties #4347
  • csharp-netcore: Replace null literals with default #4345

C++

  • Simpler timeout with QTimer::singleShot #4430
  • cpp qt5 client: fix prefix bug #4432
  • cpp-qt5-client: remove host since it is not well handled #4429
  • [C++][Pistache] update cpp flag for pistache #4386
  • [C++] [Qt5]Update isSet when the object is received from callback #4385
  • Fix cpp-restbed-server json field serialization #4323

Dart

  • [Dart] generate keywords as a resource #4449

Go

  • [go-server] Add featureCORS option #4400

Kotlin

  • [Kotlin][Client] Add option to make all api method return a nullable model #4422
  • [kotlin][bugfix] [maven-plugin]: prevent ClassCastException with boolean config options #4361
  • [kotlin][client] annotate API exceptions #4339
  • [kotlin][client] gson complete integration #4332
  • [meta] Support Kotlin meta generator #4156

Java

  • [Java] Recursive equal on reflection #4475
  • Replace the old ResourceSupport #4426
  • [Java][native] Re-interrupt the thread in the generated code #4382
  • [Java][resttemplate][webclient] fix array parameters of type integer in path #4379
  • Fix Jackson databind security issue #4370
  • [jaxrs-spec][quarkus] update to 0.27.0 #4360
  • Bugfix and Refactor on Java-Vertx-Web parameters #4353
  • [Java] Fix security alerts due to com.fasterxml.jackson.core:jackson-databind #4344
  • [Java][Spring] forward throws for delegate to main method #4327
  • [Java] Refactor webClient generator to use URI templates to capture correct metrics #4314

JavaScript

  • [Javascript][Flowtyped] Adding parent flow type to child type using "& ParentType" to allow flow JS access parent fields from child types #4263

Python

  • [Python-Experimental]: Remove redundant else statement #4324
  • [python][metadata] Adding license and author fields #4318
  • [Python] Avoid pep8 violation #4316
  • [Python] [Performance] Avoid unnecessary checks inside the loop #4305

Ruby

  • [Ruby][client] better nullable support #4391

TypeScript

  • feature: Typescript-angular support single request param #4479
  • typescript-fetch: Only generate npm package if npmName specified #4472
  • [typescript-rxjs]: Add support for nullable #4438
  • [typescript-fetch] Add (de)serializers for oneOfs #4387
  • typescript-angular: fix oneOf and anyOf generates incorrect model for primitive types #4341
  • [typescript-fetch] Fix discriminator mapping name #4340
  • [typescript-angular] do not call .toISOString() on a string #4337
  • [typescript-fetch] Fix for nullable enums + separate treatment of null and undefined #4315

v4.2.0 released

31 Oct 03:45
34070bd
Compare
Choose a tag to compare

v4.2.0 (containing breaking changes with fallbacks) comes with 3 new generators: dart-dio, php-slim4, java-vertx-web. As always, we're very grateful for the contributions from the awesome community.

List of breaking changes with fallbacks

List of all changes

Below is the summary:

General

  • [docs] Custom template clarifications and other minor enhancements #4167
  • [core] Update Swagger-Parser to '2.0.15' #4145
  • Sanitizes model names so they're valid class/interface names #4127
  • Fix readonly with isReadOnly #4102
  • Serializer object mapper setting fix #4093
  • Remove unused property (SecuritySchemeDefinition) #4081
  • Add style and explode #4042
  • [CLI] Initial implementation for batch generation #3789

Avro

  • Fix file type in avro template #4105
  • [AVRO] Fix the package handling for the avro generator #4078

Bash

  • [Bash] Minor improvements #4274

C

  • [C] Update build-and-test.bash to fix CI errors #4312

C#

  • [C#][NetCore] Rename local variables #4297
  • Deprecated netstandard, uwp support in csharp generator #4214
  • [CSharp] add optional flag "optionalEmitDefaultValues" and update template #4010

C++

  • [C++] Enable Qt5 Petstore tests #4164
  • [C++] [Qt5] Add generation of cmake files to qt5 client #4133
  • [C++] [Qt5] Add missing supporting files when prefix is provided #4132
  • [C++][Pistache] Use optional when required #4082

Confluence wiki

  • Fix Confluence wiki format issue #4064

Dart

  • [dart-dio] Correctly handles import of Uint8List #4313
  • [Dart] [Bug] Handle model names starting with number #4276
  • Fix conflict if paramName is data #4266
  • fix(dart-dio): enum class generation is not implemented #4235
  • Adds Dart Dio generator #4018

Elm

  • [elm] fix code generation for nullable types #4136
  • Fix NPE in Elm path parameter #4116
  • [elm] Add toString for all types #3983

Go

  • [go-server] Return Router interface from controller constructor #4196
  • Fix boolean operators precedence #4158
  • [Go] Upgrade dependencies #4126
  • [Go] Fix go.mod and go.sum for 1.13 #4084
  • [Go] Fix enum value which is not string #4077
  • [go-server] Enhance Go API server with interfaces router binding and services #4038
  • [go-experimental] export required fields without pointer #3989
  • [Golang] Allow retrieving the underlying configuration for APIClient #3976
  • Do not check status code for default response #3322

Haskell

  • [FEATURE][Haskell] Haskell-Servant serves static files #4058
  • [FEATURE][Haskell] Add Middleware support for the haskell servant generator #4056
  • [haskell-http-client] Bump deps to LTS 14.7 #4068
  • [haskell-http-client] add dateTimeParseFormat CLI option - overrides the format string used to parse a datetime #4037
  • [haskell-http-client] disable unused import warning in Core.hs #4020
  • Fix trailing comma wrong in template for haskell-http-client #4013

Java

  • Implement Server Stub Code for Vert.x Web #4286
  • Add bearer token authentication documentation to template #4278
  • okhttp-gson: fix SSL settings with okhttp3 #4226
  • [jaxrs-spec][quarkus] update to 0.25.0 #4185
  • Update to jackson-datatype-threetenbp 2.9.10 #4176
  • [Java] Support cookie-based security schemas in Java clients #4155
  • [Java] fix jackson-databind-nullable version variable due to Gradle Incompatibility (Template Update) #4148
  • [JaxRS-Java] use @FormParam for form parameters when it is not Multipart #4125
  • [Java] fix jackson-databind-nullable version variable due to Gradle Incompatibility #4092
  • [jaxrs-spec][quarkus] update to 0.23.2 and fixes for Dockerfile #4053
  • Make Java Resttemplate client thread safe by using the withHttpInfo pattern (Breaking change (with fallback)) #4049
  • [java][client] Fix regression in Java XML serialization #4023
  • [java] Don't import oltu when not necessary #3950
  • [java][client] Don't include nullable attributes twice in serialized JSON #3923
  • [java] allow to use setArtifactVersion() programmatically #3907
  • [JAVA][JAXRS] Fix parameters validation #3862
  • [Java][Fix #3310] Respect discriminator case for @JsonTypeInfo #3320

JavaScript

  • [JavaScript][ES6] Added a check if response is undefined #4298

Kotlin

  • [Kotlin][multiplatform] better authentication support #4284
  • Fix Kotlin query collection format #4248
  • [Kotlin] Add kotlin.collections.Set support for unique item arrays #4247
  • [kotlin][client] only use authentication tokens when they are not null #4238
  • Fixes Kotlin client property names that include a dollar sign #4229
  • [Kotlin][client] Add nullable query parameter support #4197
  • Update to jackson-datatype-threetenbp 2.9.10 #4176
  • [Kotlin][Client] fix missing curly bracket when the model contains enum property #4118
  • [kotlin] add option for non public API #4089
  • Add DELETE with body to kotlin client #4047
  • [kotlin-client][kotlin-server] kotlin data class serial version uid #4021
  • [kotlin-client] Add support okhttp3 and Android 4.x #4008
  • Fix generation of query parameters for optional/nullable function arguments #3903

PHP

  • Mark Slim3 server generator as deprecated #4256
  • New PHP Slim4 Server Generator #3658

PowerShell

  • Update API and model path when packageName is updated #4108
  • Fix nullable for arrays and complex types #4106

Python

  • [Python] Remove redundant else statement #4311
  • Python: Flask: Fix: Update setup.py to match requirements.txt #4205
  • [Python] Minor fix to code format #4172
  • [python] Remove post_params and body from OPTIONS request #4163
  • [python] Skip adding None value in query parameters #4161
  • [Python-experimental] types now classes, adds additionalProperties handling #4154
  • [python] Add ability to get allowed values #4138
  • [python] Add option to skip client validations #4137
  • [python] Add missing keywords python #4134
  • Test Python aiohttp first in Travis #4117
  • Fixed Readonly Docs for python #4085

R

  • [r][license]: Better license and contact information #4317

Rust

  • [Rust] Better support for optional and nullable parameters #4016
  • [Rust] Add support for discriminator #3895
  • [Rust Server] Support parameters correctly in response headers #3669
  • [Rust Server] Support types with additional properties #3666
  • [rust] Make it easier to test rust client generator #3543

Swift

  • [swift] Add missing keywords in Swift #4153
  • [swift4] Add swift package manager and update dependencies #4141

TypeScript

  • [TS] Fixes typescript-axios "File custom.d.ts not found" when building consumer TS project #4230
  • typescript-angular: Allow for custom naming of ApiModule #4209
  • [typescript-rxjs] improve HttpQuery typing #4198
  • typescript-rxjs: fix query parameters type #4160
  • [typescript-inversify] Fix multipart form uploads #4131
  • Disabling linting for typescript-fetch #4110
  • typescript-fetch: fix empty URLSearchParams request body #4103
  • [typescript-axios] Fix api generating incorrect serialization type check #4051
  • typescript-jquery: Update to work with Typescript strict mode #3969
  • typescript-angular: set angular version 8 as default for ngVersion (Breaking change (with fallback)) #3680

v4.1.3 released

04 Oct 05:54
f955966
Compare
Choose a tag to compare

v4.1.3 (last patch release before the upcoming minor release v4.2.0) comes with 4 new generators:

  • asciidoc markup generator #3845
  • Add F# Functions server generator #3933
  • [Kotlin][server] Add kotlin-vertx-server #3031
  • Add Nim client code generator #3879

As always we're grateful for all the contributions by the awesome community.

General

  • Update mockito to 3.1.0 #4035
  • [FIX][CORE] Repaired Checkstyle #4029
  • Update maven-compiler-plugin version #3956
  • Fix jackson-databind security issue #3945
  • Add a global option to customize the API name suffix #3918
  • Add gradle repository for using gralde dependency in plugin #3867

AsciiDoc

  • asciidoc markup generator #3845

C++

  • [C++] [rest-sdk] Add missing enum processing in C++ Abstract codegen #3986
  • [C++] [Pistache] Removed deprecated warnings #3985
  • [C++] [cpprest] Fixed wstring on linux #3892
  • [C++] bug fix for ishttpcontent not set properly #3888
  • [C++] [Qt5] Add initial version of File upload and download for Qt5 client #3853
  • [C++][Pistache] Simplified model template #3417

F#

  • Add F# Functions server generator #3933

Dart

  • Dart fix template tests #4015
  • Change Uint8list by List because it cause trouble with last versions of jaguar #3871

Go

  • go: add os import in case of File return type #3996
  • Import time when properties are slices of time.Time #3973
  • Support Multiple API Keys #3450

Java

  • [Java][Client][Feign] fix a bug when encoding query parameters using a parameter map #3948
  • [jaxrs-spec] add Eclipse MicroProfile file based approach #3901
  • updated google-api-client version from 1.23.0 to 1.30.2. #3882
  • java-spring: Spring Boot fails to parse LocalDate query parameter #3860
  • [spring] Resolve regression on RequestParam for non-objects #3855

Kotlin

  • [kotlin] mark 'parcelize' as a stable option #4003
  • [kotlin-client][kotlin-server] feature: allow creation of kotlin data classes that implement java.io.Serializable #3997
  • Fixes invalid Kotlin client variable names for reserved words #3993
  • [Kotlin] add multiplatform support #3900
  • [Kotlin][server] Add kotlin-vertx-server #3031

Nim

  • Add Nim client code generator #3879

PHP

  • [PHP] Correctly format JSON in headers #4024
  • Fix wrong variable name in LessThan and LessThanOrEqual asserts #3971

Scala

  • [scala][akka] Removed hardcoded baseUrl #3964
  • [scala] add [date-time] field to codegen unit test #3939
  • [scala][client] ScalaAkkaClientCodegenTest: refactor assertions #3893

Swift

  • [Swift4] update swift4 samples with swiftlint, update test scripts #4009
  • [swift4] update Alamofire from 4.7.0 to 4.9.0 #3999
  • [Swfit4] better support for type=string, format=number #3910

TypeScript

  • typescript-node: Add options to specify a form data file #3967
  • typescript-fetch: fix return type of primitive value #4028
  • [typescript][node]: Add accept header if produces is not empty #3966
  • typescript-fetch: Add application/x-www-form-urlencoded content support #3934
  • typescript-node: Fix cookie auth, fix multiple API key auth #3927
  • [typescript][fetch] Fix null typing errors #3919
  • typescript-fetch: fix missing comma in multiple imports #3881
  • typescript-node: Use HttpError class when rejecting promises #3876

v4.1.2 released

11 Sep 10:35
3ebefcc
Compare
Choose a tag to compare

Another bi-weekly patch release. v4.1.2 comes with a new generator to convert OpenAPI (v2, v3) into Protobuf schemas & gRPC service definition to help with the migration from REST APIs to gRPC services.

For a full list of changes, please refer to the Pull Request page. Below are the highlights:

General

  • Fix remote spec handling and hash calculation #3826
  • [core] do not always cast to ArraySchema #3780
  • [Maven plugin] Allow configuring User-Agent via maven plugin, update readme #3777
  • [core] [regression] set parentName when a single possible parent exists #3771
  • [core] change JSON serialisation to be deterministic #3763
  • Support custom git repository #3757

C++

  • [C++][Pistache] Add missing setter for arrays #3837

C#

  • [C#] [netcore] Add missing files to the form request #3834
  • Fix warnings in the csharp-netcore client #3831

Dart

  • Adds Http Info To Dart Api #3851
  • [Dart] Fix README template and update testing doco #3809
  • [Dart] Don't create redundant samples #3800
  • Fix Dart2 default template #3790
  • Add flutter web support on jaguar dart #3786
  • Fix dart2 custom templates #3656
  • Manage enum properly on Dart Jaguar generator #3654

Haskell

  • [haskell-http-client] bump deps to LTS 14.3 #3762

Go

  • [client][go] Avoid duplicated reflect imports #3847

Java

  • [Java][okhttp-gson] fix failure to deserialize floats #3846
  • Fixed bug where nullApi.java is generated instead of DefaultApi.java #3821
  • [java-client][rest-assured] add jackson support in addition to gson #3795
  • [java] add jackson-databind-nullable dependency to the gradle.build file #3793
  • [java-client][java-jaxrs-server][jackson] Add @JsonPropertyOrder to models #3778
  • [java] fix ClassCastException in toDefaultValue() #3765
  • [java][client] Add a "serializationLibrary" option #3759

JavaScript

  • Fix regexp fails on Windows because of backslashes in the path #3802

Kotlin

  • [Kotlin][client] Support gson and moshi as serialization libraries #3734

Protobuf

  • Add gRPC Protobuf schema generator #3818

TypeScript

  • typescript-axios: Fix base options #3866
  • typescript-inversify: improve check for required parameters, support multiple media types #3849
  • typescript-fetch: add option for TypeScript 3.6+ compatible generation #3801
  • typescript-angular: Set Content-Type for multipart requests in angular #3779
  • [typescript-fetch] fix serialization/deserialization with inheritance #3767
  • [typescript-rxjs] support HEAD method, improve formatting #3766
  • [typescript-axios] @ts-ignore possible unused imports #3742
  • [typescript-angular] allow empty string basePath #3489

v4.1.1 released

26 Aug 08:00
197294a
Compare
Choose a tag to compare

v4.1.1 (patch release) comes with 90+ PRs from the community. Thank you.

For a full list of changes, please refer to the Pull Request page. Below are the highlights:

General

  • [core] Set isMultipart=true for multipart operations, fix possible NPE #3750
  • Better support for multipart #3736
  • [core] process TRACE operation #3648
  • Fix imports and property name when using anyof/oneof in services #3639
  • autoupdating generator script: userdef cache dir #3631
  • Fix composed properties missing from allVars #3616
  • Fix callback request and response not being flattened to InlineObjects #3398
  • [CLI][GENERATOR] NullPointer when not setting outputDir (updated) #3752
  • [maven] Support user overrides for serverVariables (carryover from #3363) #3609
  • [cli][gradle] filter deprecated generators by default when listing available generators #3612
  • [core][maven][gradle] User-defined server variable substitutions #3363
  • Update to swagger-parser to 2.0.14-OpenAPITools.org-1 #3737
  • Update Mockito to the latest stable version 3.0.0 #3732

Avro Schema

  • Minor enhancements to the Avro schema generator #3728
  • Add new Apache Avro schema generator #3662

C++

  • cpp-qt5-client: Improve tests #3667
  • cpp-qt5-client: add valgrind memory test #3663
  • cpp-qt5-client: fix memory leak in api-body #3661

C#

  • [csharp] Update UserAgent in the async version of ClientAPI execute method #3723
  • [csharp-netcore] Making HTTP response headers dictionary case-insensitive #3707
  • [aspnetcore] Fix nullable enum and duplicate model #3622
  • [aspnetcore] Add max/min length attributes for models #3588
  • [aspnetcore] Add TypeConverter for enum string conversion #3557

Dart

  • [Dart] Avoid redundant null checking in fromJson #3632
  • [Dart] Make clients crossplatform #3608
  • [Dart Jaguar] manage nullable definition #3599

Go

  • [Go] add option to use class as enum prefix #3675
  • Guarantee a unique name for the constants that represent enum values #3644
  • [Go] URLEncode path parameters #3643
  • Import Go package with leading underscore #3634
  • [Golang][Client] Fix collectionFormat=multi request bug #3390

Java

  • [java][client][java11-native] Https protocol schema is not handled correctly in java 11 native code #3730
  • [java][client][resteasy] support bearer authentication #3706
  • [java][client][resteasy][jersey2][google-api-client][okhttp-json] several fixes to make sent requests more accurate #3703
  • [java][client][vertx] Two tiny fixes for Java Vertx client #3683
  • [java][client][java11-native] Use javax.annotation.processing.Generated for Java 11 native client #3637
  • [java][client] set collection to null when not required #3615
  • [java][client] make it possible to send explicit nulls for nullable fields #3474

JavaScript

  • Use the latest version of superagent #3579

Kotlin

  • [Kotlin-client] Fix null assignation to header/query param map #3749
  • [Kotlin-client] Authentication support #3722
  • [kotlin] Change Kotlin client exceptions to expose lack of support as UnsupportedOperationException rather than NotImplementedException #3611
  • Various fix for Kotlin templates #3504

PHP

  • [Slim] Distinction between basicBasic and basicBearer authentication #3621

Python

  • [BUG][Python-Flask] Primitive type bytearray deserialization missing in util.py #3642
  • [Python] support api key refresh in configuration module #3594
  • [Python] avoid unnecessary dictionary lookup in get_api_key method #3592

R

  • [R] Updating api docs to include HTTP response codes and their corresponding headers #3699
  • [R] feat(r): handling error response for 3xx cases #3571

Ruby

  • Fix runtime error in the model's valid? of Ruby client #3671
  • [Ruby][faraday] Properly pass verify_mode to faraday #3652

Rust

  • [Rust Server] Support Bearer based Authentication #3606
  • [Rust Server] Frunk - LabelledGeneric - support #3552

TypeScript

  • [typescript-fetch] prefix request interface #3740
  • [typescript-angular] Encode objects for multipart/form-data with JSON #3738
  • [typescript-fetch] namespacing the generated request object types #3695
  • [typescript-fetch] Add nullable support #3645
  • typescript-angular: Add correct library versions for Angular 8.0.0 #3619
  • typescript-axios: If the return type is empty, it should be void instead of Response #3617
  • [Typescript] Fix typescript-inversify compiler errors #3607
  • typescript-fetch: Fix type errors in generated code #3605