- 2201.10.1 (Swan Lake Update 10)
- 2201.10.0 (Swan Lake Update 10)
- 2201.9.4 (Swan Lake Update 9)
- 2201.9.3 (Swan Lake Update 9)
- 2201.9.2 (Swan Lake Update 9)
- 2201.9.1 (Swan Lake Update 9)
- 2201.9.0 (Swan Lake Update 9)
- 2201.8.8 (Swan Lake Update 8)
- 2201.8.7 (Swan Lake Update 8)
- 2201.8.6 (Swan Lake Update 8)
- 2201.8.5 (Swan Lake Update 8)
- 2201.8.4 (Swan Lake Update 8)
- 2201.8.3 (Swan Lake Update 8)
- 2201.8.2 (Swan Lake Update 8)
- 2201.8.1 (Swan Lake Update 8)
- 2201.8.0 (Swan Lake Update 8)
- 2201.7.5 (Swan Lake Update 7)
- 2201.7.4 (Swan Lake Update 7)
- 2201.7.3 (Swan Lake Update 7)
- 2201.7.2 (Swan Lake Update 7)
- 2201.7.1 (Swan Lake Update 7)
- 2201.7.0 (Swan Lake Update 7)
- 2201.6.3 (Swan Lake Update 6)
- 2201.6.2 (Swan Lake Update 6)
- 2201.6.1 (Swan Lake Update 6)
- 2201.6.0 (Swan Lake Update 6)
- 2201.5.5 (Swan Lake Update 5)
- 2201.5.4 (Swan Lake Update 5)
- 2201.5.3 (Swan Lake Update 5)
- 2201.5.2 (Swan Lake Update 5)
- 2201.5.1 (Swan Lake Update 5)
- 2201.5.0 (Swan Lake Update 5)
- 2201.4.3 (Swan Lake Update 4)
- 2201.4.2 (Swan Lake Update 4)
- 2201.4.1 (Swan Lake Update 4)
- 2201.4.0 (Swan Lake Update 4)
- 2201.3.5 (Swan Lake Update 3)
- 2201.3.4 (Swan Lake Update 3)
- 2201.3.3 (Swan Lake Update 3)
- 2201.3.2 (Swan Lake Update 3)
- 2201.3.1 (Swan Lake Update 3)
- 2201.3.0 (Swan Lake Update 3)
- 2201.2.4 (Swan Lake Update 2)
- 2201.2.3 (Swan Lake Update 2)
- 2201.2.2 (Swan Lake Update 2)
- 2201.2.1 (Swan Lake Update 2)
- 2201.2.0 (Swan Lake Update 2)
- 2201.1.2 (Swan Lake Update 1)
- 2201.1.1 (Swan Lake Update 1)
- 2201.1.0 (Swan Lake Update 1)
- 2201.0.5 (Swan Lake)
- 2201.0.4 (Swan Lake)
- 2201.0.3 (Swan Lake)
- 2201.0.2 (Swan Lake)
- 2201.0.1 (Swan Lake)
- 2201.0.0 (Swan Lake)
- Swan Lake Beta6
- Swan Lake Beta5
- Swan Lake Beta4
- Swan Lake Beta3
- Swan Lake Beta2
- Swan Lake Beta1
- Swan Lake Alpha5
- Swan Lake Alpha4
- Swan Lake Alpha3
- Swan Lake Alpha2
- Swan Lake Alpha1
- Swan Lake Preview 8
- Swan Lake Preview 7
- Swan Lake Preview 6
- Swan Lake Preview 5
- Swan Lake Preview 4
- Swan Lake Preview 3
- Swan Lake Preview 2
- Swan Lake Preview 1
- 1.2.54
- 1.2.53
- 1.2.52
- 1.2.51
- 1.2.50
- 1.2.49
- 1.2.48
- 1.2.47
- 1.2.46
- 1.2.45
- 1.2.44
- 1.2.43
- 1.2.42
- 1.2.41
- 1.2.40
- 1.2.39
- 1.2.38
- 1.2.37
- 1.2.36
- 1.2.35
- 1.2.34
- 1.2.33
- 1.2.32
- 1.2.31
- 1.2.30
- 1.2.29
- 1.2.28
- 1.2.27
- 1.2.26
- 1.2.25
- 1.2.24
- 1.2.23
- 1.2.22
- 1.2.21
- 1.2.20
- 1.2.19
- 1.2.18
- 1.2.17
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
Overview of Ballerina Swan Lake Update 8 (2201.8.3)
Swan Lake Update 8 (2201.8.3) is the third patch release of Ballerina 2201.8.0 (Swan Lake Update 8) and it includes a new set of bug fixes to the runtime and developer tooling.
Update Ballerina
Run the command below to update your current Ballerina installation directly to 2201.8.3 by using the Ballerina Update Tool as follows.
$ bal dist pull 2201.8.3
Install Ballerina
If you have not installed Ballerina, download the installers to install.
Runtime updates
Bug fixes
To view bug fixes, see the GitHub milestone for 2201.8.3 (Swan Lake).
Developer tools updates
Improvements
Observability
View the response_errors_total_value
metric
Ballerina observability now provides the total number of errors in responses as a metric via the response_errors_total_value
.
Define the service name
in traces
You can now add a suffix to the service name shown in the tracer providers (Jaeger, Zipkin, and New Relic) by passing an environment variable in the runtime as given below.
$ BAL_OBSERVE_SERVICE_NAME_SUFFIX=<suffix> bal run
By default, the service name will be the base path or the display name of the service.
XML to record converter
Improved the XML to Ballerina record conversion logic with enhanced support for the intersection of child nodes and XML namespaces, ensuring a more accurate and versatile experience for the Ballerina VS Code extension's Paste XML as record
feature.
Bug fixes
To view bug fixes, see the GitHub milestone for Swan Lake Update 8 (2201.8.3) of the repositories below.
Backward-incompatible changes
-
Changed the OpenAPI tool client code generation from representing the OpenAPI Specification byte format of the string type as Ballerina
byte[]
, to using Ballerinastring
type as shown in the example below, due to an issue with the previously generated code. This change will break the compatibility of any existing generated code.OpenAPI sample
components: schemas: ByteExample: type: string format: byte
Generated Ballerina code - before
type ByteExample byte[];
Generated Ballerina code - after
type ByteExample string;
-
Changed the OpenAPI tool
client resource/remote code
generation of thehttp:Response
to anil
return type when the operation in the OpenAPI specification has a response with no content. With this improvement, the already generated code will be altered when regenerated with the Ballerina Swan Lake Update 8 (2201.8.3) version as shown in the example below.OpenAPI sample
/user/draft: delete: operationId: deleteDraft parameters: - in: query name: userId schema: type: string responses: "200": description: Successful response //No content type
Generated client resource/remote function - before
resource isolated function delete user/draft(string? userId = ()) returns http:Response|error { string resourcePath = string `/users/drafts/${getEncodedUri(id)}`; map<anydata> queryParam = {"userId": userId}; resourcePath = resourcePath + check getPathForQueryParam(queryParam); http:Response response = check self.clientEp->delete(resourcePath); return response; }
Generated client resource/remote function - after
resource isolated function delete user/draft(string? userId = ()) returns error? { string resourcePath = string `/user/draft`; map<anydata> queryParam = {"userId": userId}; resourcePath = resourcePath + check getPathForQueryParam(queryParam); return self.clientEp->delete(resourcePath); }