Back to Blogs
Back to Blogs
Announcing Ballerina 2201.3.0 (Swan Lake Update 3)
06 December 2022
We are happy to announce a new release, Ballerina 2201.3.0 (Swan Lake Update 3), the third update release of Ballerina Swan Lake.
The main highlight of this release is the support for generating native executables with GraalVM. This introduces a new
--native option to the
bal build CLI command (i.e.,
bal build --native) to generate the GraalVM native executable. Also, the
--cloud=k8s can be combined to build a Docker image with the native executable. See Build a native executable.
The rest of the significant additions and improvements are described below.
- The Swan Lake Update 3 release allows you to use any expression as the default value of a function type parameter.
- There were also a few improvements to working with optional fields.
- An optional terminating semicolon is allowed now for module-level declarations.
- The configuration of nil, JSON, and array of table values are now supported by configurable variables through the TOML syntax. It is also improved to add filler values when configuring array values.
cloneWithTypefunctions of the
ballerina/lang.valuemodule are improved to return the value with the first matching type of the union members when cloning with a union type if multiple matching types are found. Previously, those were panicked with ambiguous errors.
Standard library updates
- Disabling introspection queries support and GraphQL interfaces support are added to the
graphqlmodule. Also, the
graphqlmodule is improved with the support for the service-level interceptor execution.
- Additions were done to the
httpmodule for having a grace period for the graceful stop of the listener. The application will exit when a resource function panics.
- Now, the HTTP resource functions support defaultable query parameters.
- Server reflection support was added for gRPC services in the
grpcmodule and the Protocol Buffers version was updated to 3.21.7.
Developer tools updates
Run-In-Terminalfeature was introduced to the debugger to accommodate Ballerina programs that take user inputs during the launch mode.
- The GraphQL tool was improved by introducing single client generation for single schema definitions and, enabling the GraphQL client config generation to support runtime configurability.
- Changed the default behavior of the OpenAPI client generation to generate resource methods instead of remote methods.
For a detailed list of what’s new in Swan Lake Update 3, see the release note.
We extend our sincerest thanks to the Ballerina community for your valuable feedback and support in making Ballerina what it is today. We hope you enjoy this release.
Cheers, The Ballerina Team