Skip to content

Releases: OpenAPITools/openapi-generator

Release 3.3.2

31 Oct 12:50
0cc9b69
Compare
Choose a tag to compare

v3.3.2 patch release includes Angular 7.x support, Erlang (PropEr) client generator and more. For a full list of changes, please refer to the list. Below please find some highights of the changes.

General

  • Test JDK10 in Shippable, fix javadoc issue #1335
  • Fix Maven repo URL (security warnings) for openapi-generator-cli #1333
  • [CLI] Fix help command #1279
  • Fix Gradle download link #1254
  • Better handling of boolean options in the Maven plugin #1252
  • [General] fix InlineModelResolver's logic and use openapi-generator's InlineModelResolver, so that nested "required" works correctly #1200

C++

  • [cpp rest-sdk] Improve method signatures to use const when the value won't change #1295
  • [cpp-restsdk] Add ref support inside fromProperty #1235

C#

  • [csharp] Added constructor without parameter for C# template #1234

Elixir

  • removed unused import to fix build #1326

Elm

  • [elm] Add flag to prefix custom type variants #1288
  • [elm] Add support for additionalProperties (map/hash/dictionary) #1262

Erlang

  • [Erlang][Server] Add two options: packageName and openAPISpecName #1303
  • [Erlang] add PropEr (property-based testing tool) support #1102

Documentation

  • [html] fix bug in default infoUrl #1301

Go

  • [Golang][client] fix response decode error handling #1291

Java

  • Update CXF and Jackson to latest version #1343
  • Update Spring core version #1265
  • Fix jackson-databind (Java) security issue #1259
  • [Java][jaxrs-resteasy] add @Valid when bean validation is enabled #1237
  • Don't generate unused ApiException class for java/webclient #1165
  • Add support for using Spring HATEOAS to add links in the Spring generator #1130
  • [Java][Spring] Add bean validation for email data type #1115
  • Add file post-processing support for Java generators #1052

JavaScript

  • [JavaScript] Fix duplicated superclass constructor calls #1270

Lua

  • [Lua] Remove outdated comment #1268

PHP

  • Add group parameter support to PHP client #1337

Python

  • Fix W605 warning and reenable flake8 #1334

Ruby

  • Add "servers" support to Ruby API client #1280

Rust

  • [Rust] Client library choice between hyper and reqwest #1258

Scala

  • Update Scala (akka) dependencies #1294

TypeScript

  • [TypeScript] Add Angular v7 support #1297
  • [TypeScript][Axios]: Added possibility to add custom axios instance #1274

Release 3.3.1

15 Oct 15:23
0136aee
Compare
Choose a tag to compare

v3.3.1 comes with 30+ PRs for bug fixes, enhancements and more. Please to this page for a full list of PRs included in this release. Thanks again for the contributions from the awesome community.

Users using Java 9 or Java 10 can now also build the project directly (mvn clean install) without using Docker.

General

  • Add an option to enable file post-processing #1241
  • [General][CI] fix gradle build error on java9+ #1240
  • [cli] config-help writes doc-compat output #1239
  • Fix export_generator shell script on Linux #1223
  • Add JDK 9 support #1188
  • Update maven plugin version #1184
  • Improve "allOf" support #1169
  • Update (broken) Vagrant configuration #1156

C#

  • Add files post processing to C# generators #1238
  • [C#] Fixed issue #1126 with invalid generation of C# children models in allOf clauses #1127

C++

  • [C++][Restbed] Fix default value for Restbed #1186

Dart

  • Fix enum value without escaping HTML special characters #1193

Go

  • Verify updatePetWithForm in Go client #1212
  • [Go] Fix for form parameters (x-www-form-urlencoded) #1187
  • Improve Go code format without gofmt #1173
  • Add x-go-custom-tag to go-server generator #1146

Java

  • [Spring] Fix character conversion error #1195
  • [Spring] Update spring-cloud generator to use openfeign #1191
  • [Java][okhttp-gson] Fix bug when specifying grant-type (flow) for OAuth token retry #1183
  • [Spring] Fix false in the Maven plugin #1179
  • Allow specifying/overriding the parent in the pom file for Java and Spring #1132
  • Refactor default and example values in Java generators #1045

Perl

  • Rename perl environment variable for post-processing file #1172

Python

  • Bug fix: python/asyncio no-ssl-verify affects verification of server certs #1211
  • [Flask] Upgrade to flask connexion 2.0.0rc3 #1192

Ruby

  • Better format for Ruby tests #1166

Scala

  • Fix enum value without escaping HTML special characters #1193

Typescript

  • [TS][Axios] fix return type for API interface #1218
  • FIX: remove special quotation marks from filename generation #1157
  • Fix: allow colons in TS interface property names #1152

v3.3.0 - a minor release with 4 new generators

01 Oct 16:01
e22c7c1
Compare
Choose a tag to compare

Thanks for all the awesome contributions by the community, we've released the minor version v3.3.0 with 4 new generators: Dart Jaguar client, Go Gin server, MySQL schema, TypeScript Axios client, and many enhancements to various generators. This release contains breaking changes with fallbacks so please refer to the pull request list for more information.

❗️= Breaking change (with fallback)

General

  • Fix top-level enum class checking #1120
  • Update openapi-generator-cli dependency #1116
  • Fix alias to map response #1067
  • [All] Add leading slash in path if missing #1034
  • [gradle plugin] Support Gradle 4.10 #1011
  • Add a CLI option to control logging level #1000
  • Ignore modules/openapi-generator-gradle-plugin/bin/ #983
  • Trim trailing '/' from basePathWithoutHost #967
  • [docs] publish documentation for the generators #932
  • Refactor StringUtils functions #859
  • Set swagger-parser to version 2.0.4 #787

Ada

  • [Ada] Operation security scopes are ignored when generating the server #1044

C#

  • Update the Asp.Net core server generator to support Asp.net Core 2.1 #1008 ❗️

C++

  • [C++] [cpp-rest-sdk] Avoid use of an empty key value #991
  • [C++] [cpp-rest-sdk] Check for null values #990
  • [C++ Pistache server] Support basic query handling #943
  • [C++ Qt5 server] Improvements for Qt5 server #942
  • [C++][Restbed] Fix default values for Restbed Server generator #761

Dart

  • Rename Dart env variable for post processing file #1101
  • Fix model generator for snake case open api definition on dart-jaguar #1076
  • Minor improvement to Dart generators #1042
  • Minor fixes (dependency update, etc) for Jaguar Dart client #1016
  • Fix generation of jaguar api with auth #1009
  • [Dart2] bug fix: maps could not be deserialized #1007
  • [Dart2] improved error reporting #1006
  • New Generator: Dart (Jaguar) client generator #998
  • [Dart2] Fix petstore tests #954
  • Set Dart2 as default, better format Dart code with dartfmt #949 ❗️
  • [Dart 2] Add support for Dart 2 #754

Elm

  • [elm] Fix Byte encoder/decoder names #1151
  • [elm] Major refactoring; add discriminator support #1104 ❗️
  • Better handling of different types in Elm generator #1100
  • Rename environment variable for Elm to post-process file #1094
  • Add logic to handle uuid in Elm generator (0.19) #1075
  • Use elm-format to format Elm API client #959
  • [elm] Add support for Elm 0.19 #937 ❗️

Go

  • [Go][go-gin-server] Fix path parameter naming #1141
  • Rename environment variable for Go to post-process file #1091
  • [Go][client] fix go import issue #1083
  • [Go][server] Add a generator for the gin framework #1048
  • Better process handling in Go postProcessFile #950
  • Add postProcessFile, implement in Go generators to run gofmt #929 ❗️

Haskell

  • Add post processing to files generated by Haskell generators #968

Java

  • [Java][okhttp-gson] Add support for OAuth access token retry #1058
  • [JaxRS-Spec] Fixes in generated pom #1035
  • [Java][Retrofit2] The part name is not added to the annotation #1029
  • [Java][Jersey] add @Valid when bean validation is enabled #1019
  • [Java][Feign] Add option to set Feign version #1005
  • [Java][Feign] Add support for Feign 10 #988
  • [Java][Spring] Fix reactive + delegatePattern option #978
  • Better code format for Java (okhttp-gson) client #971
  • [Java][Webclient ]Avoid double encoding on query params #924
  • [Java][Spring] Use better return types for the reactive option #913 ❗️
  • [Java][Spring] Service Virtualization Feature enhancement #196

JavaScript/NodeJS

  • Add js-beautify support to JS generator #961
  • [JS] Fix cookie support in Node.js client #895

Kotlin

  • [KOTLIN][SPRING] Bug fix for optional / default types #1107
  • Kotlin Spring server codegen improvements #1070
  • Bug fix: Kotlin generator doesn't support inheritance #1026
  • [KOTLIN][SPRING] Minor bug fixes to generator #1001

MySQl

  • Minor enhancements to the MySQL generator #1148
  • New Generator: MySQL Schema Generator #1055

Perl

  • Add perltidy to format Perl code #970

PHP

  • Fix error when giving an array as parameter to an endpoint body request #1037
  • [PHP] Drop support for PHP5.5 on php-client #993
  • [PHP]Generated lumen code can contain dots in routes #985
  • [PHP] Add interface/abstract/trait helpers #906
  • [Slim] Add PHPLint tool to check syntax #898❗️
  • [PHP] Upgrade php-cs-fixer to 2.12, enables PHP >= 7.2 support #769 ❗️
  • [PHP] Fix deserialize ApiException as a Model #757

Python

  • Add nullable support to Python client #1073
  • Add post processing to files generated by Python generators #1072
  • Fix Python Flask connexion support #1066
  • Fix circular import issue in Python Flask #946
  • [PYTHON] Api doc python with multiple authentications #928

Ruby

  • Add file post processing to Ruby generators #1062
  • Add nullable support to Ruby client #1059
  • Add pry-byebug to make it easier to debug the Ruby client during development #979
  • Generate a Gemfile.lock for the Ruby client #966
  • Update Ruby Petstore client's Gemfile #948

Rust

  • [rust-server] Restore support for nullable #936

Scala

  • Rename Scala post processing env variable to SCALA_POST_PROCESS_FILE #1143
  • [Scala-Akka] Generate default values for optional model fields #1119
  • Add option to enable scalafmt for code formatting #1032

Swift

  • Add file post-processing to Swift 3.x, 4.x generators #1069
  • [Swift4] Use CodeableHelper's dateformatter in encode() if configured #984
  • [Swift] add default value to Swift 3.x, 4.x podspec #921
  • [Swift4] Fix default value for enums (#652) #656

TypeScript

  • Add post processing to files generated by TS generators #1063
  • [Typescript] add missing type mapping #973
  • [TypeScript] add new generator for Axios #892
  • [typescript-angular] Add fileNaming configuration property #767

Release 3.2.3

30 Aug 11:24
5745f6d
Compare
Choose a tag to compare

v3.2.3 release comes with a new generator "Kotlin Spring Boot server generator"(kotlin-spring) and more feature support for OpenAPI specification v3 such as callback and nullable.

General

  • [all] add "x-enum-varnames" extension to control enum varname #917
  • [docker] Fixes hub dockerfile for online project Docker Issue: Bug #914
  • Add a test script to detect stack overflow error #904
  • Use JsonIgnoreProperties to fix Infinite recursion (StackOverflowError) #903
  • [CI] use regex to check if TRAVIS_BRANCH is a working branch #899
  • [build] create jar without version in openapi-generator-online #876
  • Add nullable support #873, #889, #930
  • Add callback model #861
  • Refactor StringUtils functions #859
  • [CLI] Improvements for meta and list command #799

C++

  • [cpp-pistache] removed model namespace when unused for operations #775
  • [qt5 server] various improvements #725

Elm

  • Remove EOF from Elm mustache template for better code format #879

Go

  • Add XML attr support in Go client #867

Kotlin

  • [KOTLIN] Spring Boot Server Generator #820

Java

  • [Java][JAXRS] improve generated readme #920
  • Update swagger annotation version in Java clients #915
  • [Java] Retrofit2 Play! Framework 2.6.x support #901
  • [Java][Webclient] Init authentication on ApiClient instantiation #887
  • [Java][Webclient] Add constructor to allow custom WebClient to be passed into ApiClient #882

PHP

  • [Slim] Add PHP CodeSniffer to check coding style #897
  • Add support for Api key in cookie for Symfony #884

Python

  • fix: python-asyncio/aiohttp with disabled ssl verification #891

TypeScript

  • [TS][Angular] fix typo in README.md #871

Release 3.2.2

22 Aug 08:49
3259bf7
Compare
Choose a tag to compare

v3.2.2 release includes some improvements for OpenAPI Spec v3 in the Default generator, e.g. better server variable support, option to skip "form" model generation, support for Free-Form objects, referenced headers and more. Here are the highlights of the release:

General

  • Escape various descriptions in the spec #866
  • Forbiddenapis check and fixes #672
  • Consider referenced headers #863
  • Fix unescaped description in requestBody #857
  • Support for Free-Form Objects #849
  • [gradle-plugin] better README notes on multiple specs #847
  • [docker] build files for automated builds #836
  • Added server variable support #816
  • Add support for multi consumes in inline schema #789
  • Add an option to skip "form" model generation #700

C++

  • Add auto-generated readme for cpprestsdk client #814
  • [cpprestsdk] Add localVar prefix to parameterized functions variables #731

Erlang

  • Fix Erlang optional/required parameters #829

Java

  • [Vert.x] Adjust client response handler to be backward compatible with older versions (< 3.5) of Vert.x #854
  • [Rest-assured] add more information about operations using "swagger-annotations", fix generated javadoc #815, #822, #831
  • [JAXRS] use contextPath variable for @ApplicationPath in RestApplication #850
  • [JAXRS-spec] Add option useSwaggerAnnotations (for MicroProfile-OpenAPI) #813
  • [Java-server] Fix improper quoting of default values for query parameters #708
  • [java] Generated code do not use forbiddenapis #672

PHP

  • [Slim] Update main documentation #839
  • [Slim] Official htaccess #838
  • Improve Symfony 4.1 compatibility #830
  • [PHP] Add gitignore to AbstractPhpCodegen #765

Swift

  • Update swift samples #738
  • [Swift4] Use thread safe manager store dictionary #864

TypeScript

  • Fix problems in typescript jquery generator #801
  • [TS][Fetch] Add possibility to pass baseOptions to the API Configuration #642

Release 3.2.1

14 Aug 10:02
56bba88
Compare
Choose a tag to compare

v3.2.1 comes with 20+ PRs from the community as part of our regular weekly patch release. If you've any question or feedback, please open an issue with the details. Here are the higlights of the release:

General

  • [generator] Cleanup debugOpenAPI usage/display text #804
  • Correct URL for openapi-generator.cli.sh in README.md #770
  • [gradle] Support nullable system property values #764
  • [Core] Resolve Inline Models #736
  • Fixed the generation of model properties whose data type is a composed (allOf) schema #704

C++

  • [cpp-restsdk] Support multi-line descriptions #753
  • [C++][Restbed/Pistache] Added fix for byte array #752
  • [cpp pistache] use model namespace only on Model import #733
  • [cpprestsdk] Fix broken non-mockable builds due to conflicting destructors #732
  • [cpp pistache] fix leading number in model names and apply modelNamePrefix in all cases #730

C#

  • Fix float/double default value in C# generator #791
  • Fix C# client enum issue #774

HTML

  • Enhancements to documentation generators (samples, default values, etc) #790

Java

  • [Java][jaxrs-jersey] add sample with jaxrs-jersey + openapi v3 #778
  • [jaxrs-spec] fix incorrect @Path-Generation for resource-path "/" #771
  • [jaxrs-spec] setup test for samples, repair import and dependency #755

JavaScript

  • [JavaScript] Update vulnerable dependencies #784

PHP

  • [PHP][Laravel] Remove duplicate variable declaration #792

Python

  • Minor update to Python generator usage #762

Ruby

  • [Ruby] Fix method split #780

TypeScript

  • Fixed date formatting in typescript node client #786

OpenAPI Generator 3.2.0 has been released with 2 new generators!

06 Aug 14:07
f329872
Compare
Choose a tag to compare

We're glad to release v3.2.0 (minor) with 50+ PRs from the awesome community. This release comes with 2 new generators:

For a list of breaking changes with fallbacks, please refer to the list (6 PRs) and the upgrade note in the PR for more information.

General

  • Update swagger-parser #696
  • Update Q&A based on feedback from users #695
  • Use Released version in maven samples #693
  • Better handling of operationId starting with numbers #691
  • Migration Guide: add "Validate spec on generation by default" section #683
  • [all] Fix NullPointerException with list of simple types #680
  • Improve validation error message to show how to disable the validation #653
  • [all] Fix inconsistent parameter names when ensuring uniqueness #640
  • Support for discriminator.mapping #536
  • Validate spec on generation by default #251

Apex

  • Re-implementation of Apex client code gen #698
  • [Apex] migrating to OpenAPI Generator project #692

C++

  • Update cpp-tizen class to extend AbstractCppCodegen #676
  • [qt5 server] Improvement in response handling #675
  • [qt5 server] Improve qt5 server naming #655
  • [cpp] Sanitize identifier names #631
  • [C++][Pistache] Default isAddExternalLibs to true #626
  • [Qt5 Server] Add Support for Qt5 server using QHttpEngine #322

Documentation Generators

  • [html2] Various enhancements #643

Elm

  • [Elm] Template improvements #661

Go

  • [Go] Prefix enum number with _ #703

Java

  • Fix Javadoc string error in Java (rest-assured) client #702
  • [JAVA][Rest-assured] Added constants #697
  • [Java][Spring] Add stopWait to pom.xml #670
  • [Java][RestTemplate] Fixed invalid URL-encoding of query parameters #646
  • [Java] add useNullForUnknownEnumValue option #633

PHP

  • [PHP] better operationId handling, add CI for PHP slim server #723
  • [PHP] [Laravel] Fix syntax errors in models #721
  • [PHP] Decommission "packagePath", add new option "packageName" #681
  • [PHP] Escape media type #615
  • [Slim] Add Basic authentication middleware #606
  • [PHP][LARAVEL] initial PHP-laravel integration #574

Python

  • Fix operationId starting with a number for Python client #682
  • Support for python 3.7 by renaming async to async_req #519

Ruby

  • [Ruby] Better handling of operationId starting with a number #719
  • Add Dockerfile for ROR generator #718
  • Prevent throwing another exception if the request fails eg connection reset #715
  • [RubyOnRails] Add option to select DB adapter in ROR #711
  • Underscore classVarName to fix route issue in ROR #706

Rust

  • [Rust] Ignore additional properties #671
  • [rust-server] add support for '|' in path segments #667
  • [rust-server] add support for multiple samples #658
  • [rust-server] Avoid HTML escaping of output #645
  • [rust-server] Implement stack for Context #612

TypeScript

  • [typescript] allow $ in var name #694

Release 3.1.2

25 Jul 16:12
Compare
Choose a tag to compare

General

  • Parameter enhancement in PathItem #639
  • Handle variables in server declaration #614
  • Fix for arrays with maxItems 2147483647 #603
  • Add "docExtension" option to customize generated file extension for docs #591
  • Adds a simple bash completion script #277

C++

  • [C++][restsdk] Replace tab with spaces, fix empty spaces in new lines #632
  • [cpp-restsdk] Generate mockable APIs #595
  • [cpp-pistache] Various fixes for Pistache #497
  • [cpp-pistache] add the option to fetch dependencies #495

Dart

  • Dart-lang template bugs fixed with "baseName" #567

Go

  • [Golang][client] Add option for standard Go generated code comment #555

Java

  • [Java] Escaping properties to better handle special characters #628
  • [Java][Client][RestTemplate] Do not create new Object for empty body #605
  • [Java][RESTEasy] Fixed setting of custom headers #599
  • [Java][RESTEasy] Update Gradle dependency #597
  • [Java][RESTEasy] Fix version incompatibility #594

PHP

  • [PHP] Remove platform dependency from file path #610
  • [php-symfony] Fixed a bug with access of non-existing property in generated code #578

Rust

  • [rust-server] enhance support for middlewares #552
  • [rust-server] Drop file support #547
  • [Rust] Split out request logic, implement form parameters #528

TypeScript

  • [typescript][jQuery] Fix promise resolution #581
  • Multiple enhancements to typescript fetch generator #145

Release 3.1.1

18 Jul 07:34
761799a
Compare
Choose a tag to compare

General

  • Fix NPE in body parameter due to incorrect parameter/consume (#563)
  • This fix the problem of having UNKNOWN_BASE_TYPE and "Object" type (#383)
  • Add default http scheme for server URL (#498)

CLI:

  • Add --generator-name / -g to config-help (#491)
  • Add graceful error handling for unknown command (#494)

Release engineering

  • Improve CircleCI caching (#539)
  • Remove secondary dependencies in pom.xml (#529)
  • Add release checkout script (#485)
  • Regenerate haskell-http-client samples (#492)

C++

  • Fix handling of UUID types (#554)
  • Fix memory leaks in Pet Store client sample (#270)

Java

  • Java6 support: fix pom and gradle files, avoid diamond notation (#560) and CI to test it on travis (#568)
  • Spring: add check for list size before attempting to set last element field value. (#557)
  • Update CXF and Jackson to latest version (#496)

Go

  • [client] fix formData file parameter name use (#506)
  • Fx cache-expires-ineffassign (#466)
  • Add RFC-3339 formatting to parameterToString (#502)

PHP

  • Refactor php client generator (#504)
  • [Slim] Generation of UnitTest stubs (#566)

Python

  • [Client] pure library client package (#470)
  • Use local_var_params to avoid collision with api parameters (#521)
  • Improve logging in Python client (#480)
  • Update and fix python samples (#489)

Ruby

  • Abstract Ruby Codegen (#562)
  • Rename files/folders (#534)

Rust

  • Mark rust-server as migrated (#584)
  • Handle headers correctly (#549)

OpenAPI Generator 3.1.0 has been released!

06 Jul 15:39
100ec44
Compare
Choose a tag to compare

Thanks for more than 50+ PRs from the OpenAPI Generator community, we've released 3.1.0 (minor release), which contains breaking changes with fallbacks. Please refer to the migration guide when upgrading from OpenAPI Generator v3.0.x.

General

  • Sanitize pipe in var name (#461)
  • Bug fix: The values for @Produces annotation were not separated by a comma (#445)
  • Mark postProcessOperations(Map) as deprecated (#431)
  • Mock generator for tests (#429)
  • Obtain the example value from examples (#419)
  • ModelUtils: isMap only if additionalProperties is a Schema (#410)
  • Improve generation of README which has long description (#400)
  • Fix alias to map in the model's properties (#360)

Go

  • [Golang][client] update test dependencies Client: Go Enhancement: CI/Test (#468)
  • [Golang][client] fix file suffix for _test.go (#449)
  • Minor improvement to Go client generator, move test case (#430)
  • [Golang][client] fix undefined: localVarFile (#382)
  • [Golang] Fix Null pointer exception in toVarName (#377)
  • [Golang][client] fix RFC-3339 date-time query param (#325)

Kotlin

  • Fix some Kotlin formatting issues and make source more Kotlin like (#427)

Java

  • [Java] Add support for Spring 5 WebClient as new library (#435)
  • [Java] option for the prefix of boolean getters (#432)
  • [Java] version in the generated README dependent from the java8 option (#380)
  • [Java] Support for Integer, Long values in enum (#75)

PHP

  • [PHP] Remove unnecessary IF statement (#421)

Ruby

  • [Ruby] Make rake tasks required to publish gem available (#424)

TypeScript

  • [typescript][angular] Feature/model suffix (#418)
  • [typescript][angular] basePath through injected config (#367)
  • Restructure TypeScript Node generation into separate files (PHNX-1041) (#363)

Here are enhancements and bug fixes for the server generators:

C# Server

  • [aspnetcore] Add processing of Port defined in spec (#368)

Java Server

  • [java-jaxrs] Fix paths when using useTags=true in java-jersey (#215), (#437)
  • [java-jaxrs] New variable {{commonPath}} (#437)

PHP Server

  • [Slim] Improve codebase decouple (#438)
  • [Slim] Refactoring (#402)

Ruby Server

  • Eliminate MySQL dependency of Rails 5 stub server (#279)