Skip to content

Releases: OpenAPITools/openapi-generator

v5.2.0 released

09 Jul 09:21
90f7bcd
Compare
Choose a tag to compare

v5.2.0, containing breaking changes with fallbacks, has been released with bug fixes, enhancements and 3 new generators:

  • cpp-tiny
  • python-fastapi
  • wsdl-schema

Please give these a try let us know if you've any feedback.

The release comes with 190+ PRs contributed by the OpenAPI Generator community. Once again, we would like to thank all contributors for their contributions.

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

  • Better null check to surpress SonarCloud warning #9888
  • operationId: Allow getting only the method name #9724
  • Avoid using Properties.clone() which is broken in Gradle plug-in #9653
  • Adds isShort + isUnboundedInteger to IJsonSchemaValidationProperties implementers #9519
  • Fix Gradle Plugin ValidateTask not working under Gradle 7.0 #9453

Android

  • [Android] update httpclient version, fix compilation issue in the sample #9728

Bash

  • [Bash] Fix matching of header parameters #9370

C

  • [C]: Fix enum values #9537

C#

  • Conditionally apply serialization on certain properties #9807
  • [aspnetcore] avoid empty string enum value in the option #9501
  • [csharp][httpclient] Introduce FileParameter as an abstraction #9426
  • [csharp][netcore] Handle Deserialization Asynchronously #9424

C++

  • [C++][pistache] string enum code generation improvement #9786
  • [cpp-ue4] API calls not return the http request for further manipulation #9693
  • [cpp-restsdk] Update json double/float parse #9577
  • [cpp][tiny] rename generator, update samples #9560
  • [C++] Rename Qt5 to Qt #9490 Breaking change (with fallback)
  • New generator | Arduino cpp #9489

Crystal

  • [crystal][client] Support authorization #9488
  • [crystal] Update crystal version 1.0.0 (from 0.35.1) #9477

Dart

  • [dart][dart-dio] Add support for query collection parameter format #9635
  • [dart][dart-dio-next] Improve support for file uploads #9542
  • [dart] Improve content-type handling #9517

Erlang

  • Fix regex in Erlang by removing the delimiter #9892
  • [erlang-server] minor bug fixes #9784

Go

  • [go-server] Add go-chi generator to go-server via a router property #9748
  • [go-gin-server] add PATCH method support #9662
  • [goserver] Fix single inheritance code generation for goserver #8356

Haskell

  • [BUG][Haskell] Fix returning NoContent #9830
  • [haskell][server]: Set "AnyType" to Aeson.Value #9733

Java

  • [Java] [Native] Unify exception messages for async, add the status code #9825
  • [Java][Feign] Skip oauth-related files when the spec has no oauth defined #9760
  • Hide buildOauthRequestInterceptor under isOAuth section #9736
  • [Java][WebClient] add ResponseEntity return for webclient #9327

Kotlin

  • Add support for generating a Set for a list with uniqueItems set to true #9849
  • [Kotlin Multiplatform] Update and fixes for Kotlin 1.5.10 and Kotlinx.serialization 1.2.1 #9755
  • [kotlin][client] fix Android crash on API level 25 and bellow #9578
  • [Kotlin][retrofit2] replace okhttpclient with callfactory #9451
  • [Kotlin] Allow optional header parameters with Kotlin and retrofit2 #9306

JavaScript

  • [JS][Flow] Better code format, update samples #943
  • [Javascript-Flowtyped] Handle joining uniqueItems in api template #9417

PHP

  • [php-mezzio-ph] PHP 8 support #9445
  • [php-slim4] Decouple Slim4 codegen from Slim3 #9208

PowerShell

  • [PowerShell] Improve generated PowerShell examples #9836

Python

  • New python-fastapi generator #9611
  • Fix python generation when custom files and templates are specified #9572
  • [python][client] allow passing floats for request timeout #9532
  • [python] readonly constructors #9409
  • [python] Fixes additional_properties_type for models #8802 Breaking change (with fallback)

R

  • Add support for Boolean in R client generator #9469

Rust

  • [rust-client]: fix reqwest not support client::options #9745

Scala

  • [Scala] better code format #9463
  • [scala][client] invoker package enhancement #9381

Swift

  • [Swift5] support Vapor 4 client library #9625
  • [Swift5] namespace changes #9624
  • [Swift5] Add useClasses cli option #9608
  • Add hashableModels to additional properties #9495
  • [swift5][client] make AnyCodable optional #9479
  • [swift5] Map file and binary to Data #9419
  • [swift5][client] add option to generate or not the model additional properties #9375
  • [swift5] Add support for oneOfs #8714

TypeScript

  • [typescript-fetch] Support for async accessToken #9659
  • Typescript: add paramPropertyNaming #9546
  • [typescript-axios] properly mark 'deprecated' routes in #9505
  • Add OAuth2 to typescript template #9466
  • [typescript] Fix uncompilable output when using allOf #9275
  • [Typescript Fetch] New optional mode with redux saga & immutablejs (saga & records) #8578

WSDL

  • New generator: WSDL #9545

v5.1.1 released

07 May 02:02
560bf7e
Compare
Choose a tag to compare

v5.1.1 is a patch release with enhancements, bug fixes covering 15+ programming languages. As always, we appreciate the contributions from the awesome OpenAPI Generator community. In this release, we've added a new go-echo-server generator.

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

  • [Enhancement] added support for custom type & format mapping #9285
  • [Docker] support multi-arch build #9246
  • Gradle plugin - @Input and @Internal should not be apply on the same property #9059
  • [core] Allow using lists as globalProperty in config files #8339
  • Add executionId to filehash in OpenAPI Generator Maven Plugin #7848

Bash

  • [bash] Update Bash Client Dockerfile.mustache #9310
  • [Bash] escape tabs properly #8970

C#

  • [csharp-netcore][httpclient] Issues managing error statuses #9389
  • [csharp][netcore-httpclient] Refactor of constructors: removed obsolete attribute #9373
  • [C#][netcore] Add multiple frameworks support #9196
  • [C#] fix integer enum without format #9136
  • [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient, Fix Socket Exhaustion, Alternative With Constructor Injection #9085
  • [csharp][aspnetcore] Fix FileUpload Parameter Generation for aspnetcore #9000

C++

  • [cpp-ue4] Improved retry system to use Unreal's FHttpRetrySystem #9382
  • UE4 - Support FGuid with in/out Helpers #9291
  • C++ Qt5 support date format enum #9283
  • Include QVariant helpers header #9161
  • [C++] remove pthread from CMakeLists.txt #9130

Dart

  • [dart][dart-dio] Add built_value date support w/o timemachine #9180
  • [dart] Improve types & imports #9167
  • [Dart2] Add initial support to use an isolate to offload JSON serialization/deserialization #9100
  • [Dart] Use interrupted exception instead of just exception #9092

Go

  • Add Go echo server codegen #9224
  • [Go][server] parse bool in query parameter #9171
  • [Go] Parse int arrays and respect the 'required' property #9120
  • [go] Add constructor and IsValid method to enum types #8224

Java

  • [java][okhttp] Default Java client to Java 8 instead of Java 7 #9344
  • [Java][Spring] Different in-parameter types generated for api and delegate for binary (application/octet-stream) #9331
  • [Java][JavaJaxRS] Respect readOnly/writeOnly attribute markers #9276
  • [Java] [Native] Add response body to exception message #9169
  • [BUG] Java (jersey2) ApiClient debug cannot be enabled #8756
  • [JAVA][jaxrs-spec] Added custom methods to add/remove elements from java collections #6468

Javascript

  • Use prepare script instead of prepack in Javascript package.json #7807

Kotlin

  • [Kotlin] Make ApiClient in jvm-retrofit2 be able to add additional retrofit Converter Factory #9316
  • Kotlin jvm-retrofit2: Add missing ResponseBody import for binary responses #9239
  • [Kotlin] add BigDecimal, BigInteger support #8880

Nim

  • [nim] camelize names #9255

PHP

  • [php-symfony] remove nested Valid constrain #8994
  • [PHP] Fix parentSchema conditional causing parent call when parent isn't present #8705

PowerShell

  • [PS] minor improvements to the auto-generated appveyor.yml #9300
  • [PowerShell] improve return type documentation #9295

Python

  • [Python] Fix exclusive min and max #9340
  • Fixes serialization of array items in model_to_dict [python] #9153

Ruby

  • Dockerfile for the Ruby-Sinatra generator #9299
  • [Ruby] postpone require models with parent #9103

Rust

  • [Rust] Add enum suffix support #9107
  • [rust-server] Update templating docs to correct the name of x-response-id #7839

Scala

  • [Scala][Akka] Use Files.createTempFile to address security concerns #9348
  • [scala-akka-http-server] allows generation of managed sources only #9012

Swift

  • Swift5 models improvements #9205
  • Add Hashable for Struct #9166
  • [swift5] Add useSPMFileStructure #9074

TypeScript

  • [typescript-axios] add missing baseName for array params #9273
  • typescript-angular: Fix Cannot read property 'apiKey' of undefined #9260
  • Resolve response type name conflict in angular typescript lib #9216
  • Resolve responseType name conflict in Angular Typescript lib #9202
  • [typescript-angular] Provide return value for all code paths #9176
  • [typescript-axios] handle uniqueItems in query and header parameters #8965

v5.1.0 released

20 Mar 08:46
e023eaa
Compare
Choose a tag to compare

v5.1.0, the first minor release after the v5.0.0 major release, contains breaking changes with fallbacks, security fixes, new generators and more. For a full list of changes, please refer to https://github.com/OpenAPITools/openapi-generator/pulls?q=is%3Amerged+is%3Apr+milestone%3A5.1.0+

Below are some highlights of the changes:

General

  • Adds getAdditionalPropertiesIsAnyType to java schema classes #8908
  • Correct use of loggers with placeholders and remove some redundant operations #8842
  • [maven plugin] fix security issues #8795
  • [online] use Files.createTempFile to address security concerns #8788
  • Add an option to skip operation examples #8731
  • [Gradle Plugin] Allow to set additional property of any type. Useful for Boolean values #8507

Documentation

  • Use Files.createTempFile in asciidoc generator tests if possible #8794

Android

  • [android][volley] various improvements #8968

C

  • [C][Client] Generate API and module documents automatically #8981

C#

  • [C#][netcore] Call static method without creating instance #8889
  • [csharp-netcore] Make Blazor Webassembly compatible #8876
  • [C#][netcore] update dependencies to newer versions #8872
  • [csharp-netcore] Fix handling of Dictionary query parameters and fix deepObject style parameter handling #8848
  • C# Netcore WebRequest and HttpClient functionality #8821
  • Add ASP.NET Core 5.0 support #8717
  • [aspnetcore] Improve model inheritance support by including JsonSubTypes to properly handle serialization #8384

C++

  • [C++][Qt]Replace usage of QVariant with a more intuitive optional wrapper #8960
  • Fix not processing enums in cpp-pistache-server #8886
  • Qt client handle deprecated #8766
  • [cpp-qt5-client ] Improve CMake #8724
  • [Qt5][C++] Adding Parameter Styling Support for Qt5 #8587

Dart

  • [dart][dart-dio] Next-gen dart-dio generator #8869
  • [dart][dart-dio] Lower upper bound for built_value #8947
  • [dart] Fix api client deserialization for json_serializable #8882
  • [dart][dart-dio] Nullable support/improvements #8727 Breaking change (with fallback)
  • [dart][dart-dio] Raise min Dart to 2.7.0 & update built_value constraint #8684

Erlang

  • [Erlang][Client] better code, update sample #8853

Go

  • [Go] bug fix (breaking), minor code format enhancement #8715
  • [GO] Add additional AWS v4 signature config options to go client generator #8706
  • [REQ] [GO] Added enumClassPrefix option to go-gin-server #8681
  • Fix generated go client cannot upload file #8393

Flash/ActionScript

  • Remove flash templates #8741

Java

  • [JaxRS] Fix ambiguous dependency #8923
  • Changed virtualan version from 1.0.0 to 2.1.7 #8910
  • [Java] use Files.createTempFile instead #8787
  • Update jackson dependencies to address security issues #8778
  • [Java][Client] JSON-B serialization support #8729
  • [webclient] bug fix to double URL encoding #8660
  • [java native][dotnetcore] Implement QueryParameter deepObject style #8563

JavaScript

  • Make JS client case sensitive wrt. reserved words #8905
  • [JS] the replace statement in parseDate is too greedy #8633

JMeter

  • [JMeter] fix header parameter naming #8861

Kotlin

  • [Kotlin][Client] create request config method #8617
  • Replace deprecated import for kotlin Parcelize annotation #8590

OCaml

  • [OCaml] Fix enum returnType in of_json.mustache for Api Impl #8631

Perl

  • [Perl] minor improvements #8967

PHP

  • [PHP] Use a valid php type for maps #8718

PowerShell

  • [REQ][PowerShell] Add additional reserved words list for parameter name in PowerShell #8935

Python

  • [python][template] move _path_to_item of simple init to avoid name error #8737

Ruby

  • [ruby] Fix syntax error #8675

Rust

  • [Rust Client] several small fixes to code generation errors #8845
  • Rust: Add support for lists (and sets) of enum values #8693
  • [rust client] upgrade reqwest crate to 0.11 #8603

Scala

  • [Scala][Finch] use Files.createTempFile to avoid potential security issues #8791

Swift

  • Fix for StackOverflow in Swift5 CodeGeneration #8672

TypeScript

  • typescript-nestjs: removed unused basePath from api.service template #8811
  • [typescript-axios] Support array query arguments #8772
  • [typescript-fetch] handle uniqueItems correctly in model and api #8695
  • typescript-node: Fixed models.mustache with for...in on an empty array #8575

v5.0.1 released

06 Feb 08:38
c7fcb39
Compare
Choose a tag to compare

v5.0.1, the first patch release after v5.0.0 major release, comes with 2 new generators: crystal client generator and ktorm-schema generator.

For a full list of changes (150+ PRs), please refer to the Pull requests tab

Below are some highlights of the changes:

General

  • Adds hasValidation to all java core Schema classes #8474
  • Adds isNull to codegenX java core classes that represent schemas #8462
  • To fix model selection using ":" as the separator #8388
  • Update maven wrapper #8305
  • Tweak regexp in underscore method #8230
  • Make frequently used IO resources autoclosable #8181
  • Remove servers urls with trailing slash #7940

Crystal

  • Add a new crystal client generator (beta) #8304

C

  • [C][Client] Fix the memory leak when a JSON of model fails to parse #8390
  • [C][Client] Disable escaping the parameter name in URL path string #8243
  • [C][Client] Add C++ reserved keywords to C-libcurl client generator #8205

C#

  • [csharp-netcore] add .Net 5.0 support #8467
  • Style fix: use correct package name in tests #8451
  • [csharp-netcore] Fixed ApiClient code generation not respecting modelPackage settings #8272
  • Fix csharp-netcore enum var name underscore and space handling #8213

C++

  • [Qt5][C++] Fixed QByteArray::toUtf8 with FILE as request body #8550
  • [Qt][C++] Updated cpp-qt5-client doc #8251
  • [Qt5][C++] Removed deprecated functions to support Qt6 #8234

Dart

  • [dart][dart-dio] Improve API & API-Client field initialization #8589
  • [dart][dart-dio] Add missing isRedirect parameter to response #8588
  • Add getters for private default Headers and authentications #8509
  • [feature][dart] Add support for uniqueItems/sets #8375
  • [dart][dart-dio] Generate the correct serializers #8357
  • [dart][dart-dio] Add missing imports for container parameters #8355
  • [dart][dart-dio] Fix collection and date default values not compiling #8306
  • [dart][dart-dio] Enable strong-mode and strict types #8231
  • [dart-dio] Serializes request bodies using a specific serializer #6384

Documentation

  • [cwiki] Added Enum documentation and fix newline problem for description #8338

Elixir

  • Add .t in spec generation of Elixir structs #8159
  • [Elixir] Adds workaround for httpc for post/put/patch requests #5682

Elm

  • Fix bugs with duplicated data type #8223

Go

  • [Go] Fix response body #8439

Java

  • Upgraded dependency versions in Java (okhttp) client generator #8604
  • Bumped Vert.x template to Vert.x 4 GA #8528
  • Remove supportJava6 option #8514
  • [Java][Client][Vertx] Use Vertx reference instead of static class in ApiImpl template #8501
  • [Play Framework] Update the bean validation to use version 2.0 #8354
  • [Java] fix generation for JavaTimeFormatter #8348
  • Javadoc + operations interface + provider for state(ful/less) handlers #8346
  • Spring codegen - fix equals and hashCode methods for byte array and binary #8345
  • [JAVA][Feign] Replace Apache oltu with scribejava #8318
  • Implement useAbstractionForFiles for webclient library #7567

JavaScript/NodeJS

  • --http-user-agent arg support in javascript generator #8531

JMeter

  • [JMeter] Support json data in csv #8461
  • [Jmeter] Support securityDefinitions #8459

Kotlin

  • [kotlin] fix Date types usages #8594
  • [Kotlin-Spring] Fix properties default value #8373
  • [Kotlin-Spring] Fix required model property deserialization #8337
  • [Kotlin-Spring] Fix optional requestBody with delegate #8299
  • Add Ktorm schema generator #7759

Nim

  • [Nim] test the petstore client in drone.io #8466
  • [Nim] bugfix for the case when path contains multiple parameters #8402

PowerShell

  • [PowerShell] minor fix to API doc #8496
  • [powershell] Fix fields null check in powershell model template #8323
  • [powershell] Fix error message templates for some field names #8321
  • Implement optional powershell verb parsing #8252

Python

  • Removes nulltype from python, updates samples #8555
  • [PYTHON] use customized default Configuration() objects if available #8500
  • [feature][python-flask] Add CORS support to python-flask server #8472
  • [python] Fixes file upload + download, adds tests #8437
  • [PYTHON] use _Endoint to allow apis to have Endpoint #8405
  • Fixes object serialization when there is an inline array property which contains a refed enum #8387
  • Stackoverflow in toExampleValue() for python client #8326

R

  • Fix auto-generated R doc #8584

Ruby

  • [ruby] Support aliasing of API keys #8124

Rust

  • Fix handling of 1xx and 3xx in Rust Reqwest #8574
  • [Core, Rust Server] anyOf / oneOf support for Rust Server #6690

Scala

  • Renamed basic authentication function in sttp client #8396

Swift

  • [swift5] URLSession: Fix memory leak of SessionDelegate #8558
  • [swift5] Fix request closure not being called #8537
  • [swift5] Fix target SDKs for Combine option #8476
  • [Swift 5] fix XcodeGen deploy target to match cocoapods #8279
  • [Swift 5] fix Multipart FormData encoding, add support for Form encoding #8275

TypeScript

  • Add typescript-nestjs client generator #8522
  • [typescript-axios] bump axios version to 0.21.1 to fix vulnerability #8445
  • typescript-fetch: fix isCollectionFormatMulti for arrays of files #8376
  • typescript-angular: add providedIn for Angular 9+ #8324
  • [typescript(experimental)] fix for Deno v1.6 #8265

v5.0.0 released

21 Dec 05:06
d7d5e53
Compare
Choose a tag to compare

We're happy to announce the release of v5.0.0 - another major release with lots of enhancements, new generators and bug fixes. More than 1000 PRs contributed by the awesome OpenAPI Generator community have been included in this release.

For a list of breaking changes, please refer to the following:

Here are some new generators added to the v5.0.0 release:

  • C++ UE4 client generator: cpp-ue4
  • A rewritten TypeScript client generator supporting fetch & jquery: typescript
  • A Plantuml generator for creating a schema diagram: plantuml

Here are some generators that have been refactored:

  • dart
  • dart-dio
  • elm
  • go
  • java (jersey2)
  • php-ze-ph => php-mezzio-ph
  • powershell
  • python

To view the enhancements, bug fixes for a particular generator, please go to the list of changes and apply "Label" to filter out changes accordingly.

v5.0.0-beta3 released

20 Nov 09:02
2715f13
Compare
Choose a tag to compare
v5.0.0-beta3 released Pre-release
Pre-release

5.0.0-beta3 is the last beta release before the v5.0.0 major stable release scheduled next month (Dec 2020). Thanks again for all the awesome contributions from the openapi-generator community.

Full list of changes (including breaking changes with or without fallback)

Below are the highlights of the changes.

General

  • Add "decimal" support #7808 Breaking change (with fallback)
  • Adds additionalProperties to core schema classes #7761
  • Changes lingering isMapContainer to isMap #7747 Breaking change (without fallback)
  • Unifies naming for isArray in Schema class properties #7691 Breaking change (without fallback)
  • Adds isDateTime to CodegenModel #7657 Breaking change (without fallback)
  • Adds isDate to CodegenModel #7652 Breaking change (without fallback)
  • Unifies naming for isMap in Schema class properties #7640 Breaking change (without fallback)
  • Fix scopes generation for multiple oauth flows #7615
  • Expose batch subcommand #7608
  • Replace deprecated methods #7600 Breaking change (with fallback)
  • [bug][maven] Fix custom windows classpaths in maven plugin #7587
  • [core] Enable multiple oauth2 flows #7570 Breaking change (with fallback)
  • [maven] environmentVariables -> globalProperties #7559
  • [batch] Option to clean files before generation #7465
  • [core][feature] User custom added templates #7366 Breaking change (with fallback)
  • [core] Add model cache to speed up code generation #7250
  • Removes secondaryParam and hasMore #7882 Breaking change (without fallback)

Ada

  • [BUG][Ada] Incorrect client Ada code generated #7719

Apex

  • Updated keywords to be aligned with the official ones #7522
  • [Apex] better handling of different content-type in the response #7515

C

  • [C][Client]Fix coredump in multi-thread environment #7835
  • [C][Client]Support data callback function #7467

C++

  • [cpp-restbed-server] make the restbed SERVER generator more extensible #7679
  • [cpp-ue4] add support for Content-Type containing charset #7379

C#

  • [C#] support .NET framework 4.7 #7833
  • [C#][netcore] Add anyOf support #7801
  • [C#][netcore] Rename HTTPSigningConfiguration.cs to HttpSigningConfiguration.cs #7630
  • [C#][netcore] Add discriminator support to oneOf lookup #7626
  • [C#][netcore] Add oneOf support to C# .NET Core client #7607
  • [C#][netcore] Default OverrideSpecifiedNames to false #7583 Breaking change (with fallback)
  • [Aspnetcore] use the term openapi #7540 Breaking change (without fallback)
  • [C#][NetCore] add multi-server support #7433
  • [C#][netcore] better support for additional properties in the payload #7396
  • [C#][Nancyfx] fix incorrect import #7907

Dart

  • [Dart] map AnyType to Object #7822
  • Upgrade Dart2 template to advertised best-practices, plenty of additions too #7585
  • [Dart][Client] Fix default value of enum variables #7496
  • Adds cookie auth support to ApiKeyAuth in dart2 templates #7346

Documentation

  • [Core, HTML2] Rendered docs are incomplete #7510
  • [cwiki] Path parameter generation fix for split rows #6894

Elixir

  • [Elixir] Fixes optional body mapping #7606
  • [Elixir] Fixes Typespec for multiple return definitions #7604

Go

  • [go] Improve examples generation #7576
  • [GO][SERVER] Implement response code #7397 Breaking change (without fallback)
  • [Go] minor format change, deprecate "withGoCodegenComment" option #7375 Breaking change (without fallback)

Haskell

  • [haskell-http-client] have applyOptionalParemeter (-&-) append values in headers or querystrings instead of replacing values #7805

Java

  • [JAXRS-CXF] Improve handling of additional properties #7866
  • [Play Framework] Update Play Framework Generator to latest version #7860 Breaking change (without fallback)
  • [java][jersey2] add proxy support #7752 Breaking change (without fallback)
  • [java][groovy] Fix mangled src paths in some outputs on Windows #7487
  • [Java][vertx] Use typeMapping instead of postProcessParameter #7457
  • [Play Framework] Fix the configuration package #7391
  • Update Vert.x Web template to Vert.x 4 #7364
  • Fix multi-part binary form parameters for jaxrs-jersey templates #7363
  • [Java][Native] Support oneOf/anyOf schemas #7263
  • [Java][Spring] Add Spring pagination with vendor extension x-spring-paginated #5022
  • [bug][Java] Honor instantiationMap for default values for array, map, set #4982

JS/NodeJS

  • [javascript-flowtyped] Fix Flow error #7786
  • [JS] Allow auth.accessToken to be either function or string #7484

Kotlin

  • [Kotlin] Fix Spring Kotlin generation of array/map models #7829
  • [kotlin] Fix optional header params in openhttp client #7341
  • [kotlin] Fix imports of generated class #7314

ObjC

  • Update of Objective-C model-body.mustache to support discriminator.mappedModels #7471

OCaml

  • Replace '.' characters by '_' in enum type names since OCaml doesn't allow to use '.' in any kind of identifiers #7767
  • [Ocaml] Fix missing space on models #7742

PHP

  • [php] Implement JsonSerializable in php Model class #7768
  • Small tweaks for php generator, PHPStan level 3, Psalm level 7 #7616
  • [PHP] Small tweaks for php generator, PHPStan level 1 #7528
  • Tweaks for php generator, based on issues reported by PHP static analysis tools (PHPStan) #7376

PowerShell

  • [PS] Add proxy support #7739
  • [PowerShell] Fixed the empty string issue when server returns null #7633
  • [PowerShell] Fixed the maximum minimum range check condition #7482
  • Fix the ECDSA signature issue for PowerShellSDK #7386

Protobuf

  • [Protobuf] Fix support for AllOf in protobuf-schema #7813

Python

  • [python] Renames python generators #7965 Breaking change (with fallback)
  • [python] add socket_options to configuration for the rest client #7795
  • [python] Add option to return None instead of raising exception when accessing unset attribute #7784
  • [python-experimental] implement in operator for model classes #7637
  • Add option to set recursion limit #7491
  • [Python] correct return types if multiple responses are defined #7427 Breaking change (with fallback)
  • Adds free form model generation in python-experimental #7373
  • Subclass Python exceptions #7321

R

  • feat(r): retry configuration for status codes #5925

Ruby

  • [Ruby][faraday] fix response streaming #7734
  • [Ruby] Replace DateTime with Time #7656 Breaking change (without fallback)
  • Update default ruby, faraday versions #7538
  • [ruby] Support for per-operation servers #7415

Rust

  • Add impls for Error trait for Rust reqwest #7462
  • Fix Rust codegen for AnyType #7461
  • [rust-server] Fix server example on non-Linux #7399
  • [Rust][reqwest] Fixed parameters of Array type #7049

Scala

  • Better decimal support in Scala generators #7876
  • Update junit to newer version (4.13.1) #7690
  • Fix scala-sttp enum generation #7432

Swift

  • Add AnyType support to Swift generators #7644
  • [Swift5][URLSession] Fix handling of customHeaders between retries #7527
  • [Swift5] fix issues causing stack overflow #7301

TypeScript

  • typescript-angular: Angular 11 support #7937 Breaking change (with fallback)
  • [typescript-rxjs] Added support for servers #7771
  • [TYPESCRIPT-ANGULAR] Add configurationPrefix option #7731
  • [typescript-inversify] bug fix for array type #7636
  • [typescript-axios]: Only call JSON.stringify on JSON request bodies #7580
  • [typescript] Fix generation of enum models #7529
  • [typescript-axios] replace optional-chaining #7476
  • [typescript] Fix incorrect enum literal case #7378 (Breaking change (with fallback)

v5.0.0-beta2 released

04 Sep 05:04
212b4f7
Compare
Choose a tag to compare
v5.0.0-beta2 released Pre-release
Pre-release

5.0.0-beta2 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.

Full list of changes (including breaking changes with or without fallback)

Below are the highlights of the changes.

General

  • Adds generator unaliasSchema method, uses it to refactor python-experimental #7274
  • [core][bug] FILES is now path relative with no prefixes #7271
  • [bug][core] Copy all attributes (not properties) on composed schemas when flattening models #7106
  • fix: update base image to maven supported #7001
  • Add 'x-generate-alias-as-model' extension to allow enabling generating alias as model per-schema #6937
  • [core] Add x-is-free-form vendor extension #6849
  • [core] Add type and format properties to model of inline response #6153
  • [online] Fix for version conflicts with springfox/boot #7102

Arvo

  • [Avro] Default value for no required fields to null #7006

C

  • [C][Client][Clang Static Analyzer] Remove the useless free operation for buffContent #7309
  • [C][Client][Clang Static Analyzer] Fix uninitialized argument value #7305
  • Fix a missing return in the C client sslConfig_create function #7217
  • C-Libcurl client: fix enum model generation #5604

C#

  • [csharp-netcore] Adding ConfigureAwait(false) using async methods call #7234
  • [ASP.Net Core] Better wordings for 'classModifier' option #7233
  • [C#][csharp-netcore] Improvement to standard code format #7206
  • Update csharp-netcore dependencies to the latest stable version #7194
  • [csharp-netcore] added cancellation tokens to async calls #7077
  • [csharp-netcore] renamed async methods to end with async #7062 Breaking change (without fallback)

C++

  • Fix string comparison in C++ UE4 client generator #7029
  • [cpp-restsdk] Enabling forward declarations also for cpp-restsdk generator #6996

Dart

  • [Dart] Treat float as double #6924
  • [dart] fix toJson does not handle complex type #6730
  • [Dart] Fix enum generation #6729

Documentation

  • [MARKDOWN] fix property and parameter names #6105

F#

  • Fix string comparison in fsharp generator tests #7052

Flash/ActionScript

  • Deprecate Flash (ActionScript) client generator #7231

Go

  • [Go] replace go generator with go-experimental generator #7337
  • Fix http bear auth documentation for go clients #7312 Breaking change (with fallback)
  • [go-server] Modified go-server templates to allow services to receive http request's context #7214 Breaking change (without fallback)
  • [REQ] Added enumClassPrefix option to Go server generation #7008
  • [Go] fix unmarshal for models with parents #6946
  • [Go]: Interface definitions for api functions #5914

Haskell

  • [haskell-http-client] avoid depending on ParseTime,FormatTime #6861

Java

  • [Spring Boot] update dependencies, mark java8 option as deprecated #7306
  • [Java] remove deprecated jackson classes #7304 Breaking change (without fallback)
  • [Java][jersey2]Support enum discriminator value in child objects #7267
  • [Play Framework] Update minor version + scala version + swagger-ui version #7200
  • [Java][Client] Use java8 OffsetDateTime for clients #7190
  • [jaxrs-spec] Fix JaxRS Spec generator additional model types #7180
  • [Java][Spring] Additional annotations with String params #7117
  • [Java][RestTemplate] useAbstractionForFiles - Use Resource interface instead of AbstractResource #7051
  • [Java] Rollback Feign version to 10.11 #7012
  • [Java] Add JsonTypeName to clients using Jackson #6995
  • [Java][RestTemplate] Use abstraction for files #6912
  • [Java] Deprecate feignVersion option #6824 Breaking change (without fallback)
  • [java][jersey2-client] Disable coercion of scalars #6811
  • Make ApiClient in retrofit2 be able to use own OkHttpClient #6699
  • [java] Intro openApiNullable property to enable/disable OpenAPI Jackson Nullable library #6154
  • Support for KumuluzEE microprofile runtime #5944

Kotlin

  • [Kotlin] Make ApiClient in jvm-retrofit2 be able to use own OkHttpClient #6999
  • [Kotlin] Rxjava3 support #6998

NodeJS/JavaScript

  • [NodeJS] Auto populate config using schema servers.url #6980
  • Update JS dependencies #6867
  • [JS] adding handling for epoch dates #6504

PHP

  • [php-slim4] Move config to a separate file #6971
  • [php-lumen] Set required PHP version to ^7.2.5 #6949
  • [php-ze-ph] Set required PHP version to ^7.2 #6763
  • [php-laravel] Upgrade php-laravel to 7.x #6346 Breaking change (without fallback)

PlantUML

  • Surpress warnings in the plantuml generator #7071

PowerShell

  • [PS] Allow CI to publish the module #7091
  • [PS] add nullable body support #6930
  • [PowerShell] support default value in models #6920

Protobuf

  • [Protobuf] Generate enum fields #7073 Breaking change (without fallback)
  • [Protobuf] Make it possible to override field numbers using x-protobuf-index #7002

Python

  • [fix][python-flask] add missing space for flask basic auth header #7031
  • [python-experimental] Removes python2 support #6991
  • Mark python2 support in Flask as deprecated #6653 Breaking change (without fallback)

R

  • [R] skip test for enum model #6936
  • [R] Enum R6Class Support #5728

Ruby

  • [Ruby] ruby client build from hash nullable #6945

Rust

  • [Rust][reqwest] prefix local variables with "local_var" #7299
  • [Rust][Client] Unify sync/async client structure #6753 Breaking change (without fallback)

Scala

  • Fix header issues for akka-scala client #7259
  • [scala][play] Update apiTrait.scala.mustache #6891
  • Sttp - wrap query params #6884
  • Improve sttpOpenApiClient generator #6684 Breaking change (without fallback)

Swift

  • [swift5] Add extension for hashable #7300
  • [Swift5] Fix Datetime default value #7003
  • Fix - Provides a default value for optional init parameters #6827

TypeScript

  • [Typescript-redux-query] Fix issue on api template when we have non empty header #7179
  • [Typescript] Import path is invalid in windows #7175
  • [typescript-axios] add promise to bearer and oauth tokens #7132
  • typescript-angular: Angular 10 support #7037
  • [TS] Fix string comparison #7027
  • [typescript-axios] switched to new URL API #6960 Breaking change (without fallback)
  • [typescript-angular] Unify authorization lookup #6953
  • [typescript-rxjs] add support for raw response and progressSubscriber #5465 Breaking change (without fallback)

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