Skip to content

Releases: OpenAPITools/openapi-generator

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

v4.1.0 released

09 Aug 14:35
59c4e38
Compare
Choose a tag to compare

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

09 Jul 12:47
203fc81
Compare
Choose a tag to compare

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++][Pistache] Fix warnings #3238
  • [C++][Pistache] Catch exception instead of runtime_error #3225

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

  • Perl: Generate templated travis configuration #3193
  • Perl: Basic bearer auth support #3192

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

  • Avoid nullsafe errors in typescript-rxjs runtime.ts #3255
  • [typescript-rxjs] refactor to arrow functions and short hand object creation #3077

v4.0.2 released

20 Jun 04:59
fae9d4a
Compare
Choose a tag to compare

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

31 May 21:32
39648ee
Compare
Choose a tag to compare

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

  • Add support for the URI format #3023
  • [Maven Plugin] Add properties config to Maven parameters #2963

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