Skip to content

Releases: ballerina-platform/ballerina-lang

Ballerina 0.85

31 Mar 09:04
Compare
Choose a tag to compare
Ballerina 0.85 Pre-release
Pre-release

We are pleased to announce the 0.85 release of Ballerina.

This release contains following improvements.

  • Array of arrays support
  • Any type support
  • Ability to define Ballerina Annotations
  • Annotation attachment syntax change
  • Improve Ballerina Map semantics

More details on the improvements and bug fixes can be found on below location.

https://github.com/ballerinalang/ballerina/milestone-0.85

Getting started

You can download the Ballerina distributions, try samples, and read the documentation at http://ballerinalang.org.

Thanks,
Ballerina Team

Ballerina 0.84

30 Mar 09:22
Compare
Choose a tag to compare
Ballerina 0.84 Pre-release
Pre-release

We are pleased to announce the 0.84 release of Ballerina.

This release fixes the following issues.

https://github.com/ballerinalang/ballerina/issues_v0.84

Getting started

You can download the Ballerina distributions, try samples, and read the documentation at http://ballerinalang.org.

Thanks,
Ballerina Team

Ballerina 0.8.1

24 Feb 17:23
Compare
Choose a tag to compare
Ballerina 0.8.1 Pre-release
Pre-release

We are pleased to announce the 0.8.1 release of Ballerina Runtime. This release includes the following bug fixes.

https://github.com/ballerinalang/ballerina/milestone/6?closed=1

How to get Ballerina

You can download the ballerina 0.8.1 distribution from [1] or build from the source as mentioned in [2].

[1] https://github.com/ballerinalang/ballerina/tree/v0.8.1
[2] https://github.com/ballerinalang/ballerina#build-from-the-source

Open issues and reporting bugs

You can find the known issues in the following link and report any bugs in the same link: Known Issues

https://github.com/ballerinalang/ballerina/issues

How to contribute to ballerina

You can contribute to the ballerina development by forking the github repository and sending your pull requests to https://github.com/ballerinalang/ballerina

Ballerina Release Candidate 2

20 Feb 16:16
Compare
Choose a tag to compare
Pre-release
v0.8.0-RC2

[maven-release-plugin] copy for tag v0.8.0-RC2

Ballerina 0.8.0

20 Feb 18:23
Compare
Choose a tag to compare
Ballerina 0.8.0 Pre-release
Pre-release

Ballerina is a general purpose, concurrent, and strongly typed programming language with both textual and graphical representations. It is designed to make it easier to write programs that integrate with data sources, services, and network-connected APIs of all kinds. It is optimized primarily for such programs - while it can be use to program anything, it is not recommended to use Ballerina if a significant portion of the program is not related to integrating with data sources, services, or network-connected APIs.

Ballerina has been inspired by Java, Go, and other languages, but it has a concurrency model built around a sequence diagram metaphor.

Features

  • Complete language runtime with native data types for xml, json and datatable
  • Type system which supports implicit/explicit casting
  • Packaging system for building and running source code in a modularized way
  • Task delegation with workers and fork-join
  • Data integration support for connect with heterogeneous data sources
  • Native connectors for HTTP/S, WebSocket, JMS, File, HTTP/2

Fixed issues

This release fixes the following issues
https://github.com/ballerinalang/ballerina/issues?q=is%3Aissue+is%3Aclosed

Open issues and reporting bugs

You can find the known issues in the following link and report any bugs in the same link.
https://github.com/wso2/ballerina/issues

How to contribute to ballerina

You can contribute to the ballerina development by forking the github repository and sending your pull requests to https://github.com/wso2/ballerina

Ballerina Release Candidate (RC) 1

19 Feb 23:55
Compare
Choose a tag to compare
Pre-release

Ballerina RC1 released

This release includes bug fixes in addition to the features released with Alpha.

Main features

  • Packaging model
  • Non-blocking support
  • Worker
  • Fork-Join
  • TypeMapper
  • Native java code loading
  • Try/Catch/Exceptions

How to get Ballerina

You can download the ballerina 0.8 RC1 distribution[1] or build from the source as mentioned in [2].

[1] https://github.com/ballerinalang/ballerina/releases/tag/v0.8.0-RC1
[2] https://github.com/ballerinalang/ballerina#build-from-the-source

Open issues and reporting bugs

You can find the known issues in the following link and report any bugs in the same link: Known Issues

How to contribute to ballerina

You can contribute to the ballerina development by forking the github repository and sending your pull requests to https://github.com/ballerinalang/ballerina

Ballerina 0.8.0 ALPHA

17 Feb 06:50
Compare
Choose a tag to compare
Ballerina 0.8.0 ALPHA Pre-release
Pre-release

Main features of this release

Ballerina Commands Revamped

Commands used to run ballerina programs has been revamped with the newly added functionalities.

Usage:
  ballerina [command] [options]

Available Commands:
  run      run ballerina main/service programs
  build    create ballerina program archives

Flags:
  --help, -h    for more information

Use "ballerina help [command]" for more information about a command.

e.g.

ballerina run main test.bal (run a single file test.bal which has a main method)
ballerina run service org/wso2 (start services in org.wso2 package)

ballerina build main test/foo (This is the package with main function)
ballerina build service test/foo test/bar (These are the packages with services)

Support for Ballerina package and Ballerina program with mutiple files

Ballerina functions, services and connectors can be distributed across different files and functions can be imported from same or different packages.

Worker support

Ballerina can spawn a new worker to invoke parallel tasks and let them run while main execution flow (default worker) work on it’s on tasks and get the result whenever required.

Fork-Join support

If there are more than one parallel task to be executed for the same message, ballerina can spawn multiple workers and join them in a more controlled fashion. Join condition allows users to join either all, selected or one of the selected workers within a given time period.

Data Integration

New ballerina type called ‘datatable’ is introduced to represent the database result set. A native connector called SQLConnector is introduced to interact with SQL databases. ‘select’, ‘update’, ‘call’ actions are available to perform operation against databases. Set of native functions are available in ballerina.lang.datatables package to perform operation with datatable type.

Built-in Ballerina Constructs Support

Supports for built in Functions, Connectors, Structs and TypeMappers written in ballerina. Constructs can be written with ballerina and can be packed with the ballerina runtime environment (bre) by default. All the constructs are loaded on demand.

JMS Server Connector

JMS is a well known API for sending and receiving messages between enterprise systems. This connector provides support for listening to a queue or topic in JNDI based JMS providers such as WSO2 Message broker, Apache ActiveMQ broker, etc.

JMS Client Connector

The JMS Client Connector gives the ability to send/publish JMS messages to a destination queue/topic in a JMS provider who supports JNDI such as WSO2 Message broker, Apache ActiveMQ broker, etc.

Websocket Server Connector

WebSocket is a protocol which provides full-duplex, persistent communication channels over a single TCP connection. With Ballerina WebSocket Server connector any WebSocket client can connect and send and receive WebSocket data in a asynchronous manner.

HTTP2 Server Connector

HTTP/2 Server connector provides developers to expose their HTTP apis with both HTTP/1 and HTTP/2 clients. With multiplexing support, users can send multiple requests over a single TCP Connection.

File Server Connector

File server connector provides a way to access different type of file systems in a uniform way. It supports reading files from different file systems such as local file system, FTP, SFTP, etc.

Native Utility Functions Renamed

Package names of some of the native functions have been changed as following.

  • message -> messages
  • array -> arrays
  • json -> jsonutils
  • xml -> xmlutils
  • exception -> exceptions
  • datatable -> datatables
  • map -> maps
  • typeconvertor -> typemappers
  • string -> strings
  • util -> utils
  • system (not changed)

Ballerina Runtime 0.8.0 Milestone 4

08 Feb 21:05
Compare
Choose a tag to compare
Pre-release

This is the 4th milestone release of Ballerina runtime environment. This release supports following language features:

  • Service/Resource parameter dispatching.
  • Allow variable definitions anywhere. Lexical scoping.
  • Array/Map/Struct inline initializers.
  • Reference type initializers.
  • Type converters.
  • Service and connector level variable definitions.
  • Server connector framework.
  • Improved error handling.
  • On-demand native functions/connectors/actions/type converter loading.

Ballerina 0.8.0 Milestone 3

27 Jan 20:39
Compare
Choose a tag to compare
Pre-release

WSO2 team is please to announce the third milestone release of Ballerina development environment.

Supported language features

  • Type System
  • Implicit/Explicit casting
  • Type convertors (native/ballerina)
  • Struct Support
  • Non-OSGI Distribution
  • File explorer (Editor)
  • Open/Edit existing ballerina file(Editor)

How to get ballerina

You can download the ballerina M3 distribution[1] or build from the source[2] as mentioned below.

[1] https://github.com/wso2/ballerina/releases/tag/v0.8.0-M3
[2] https://github.com/wso2/ballerina#build-from-the-source

How to run ballerina

Once you extracted the ballerina distribution, startup scripts can be found under /bin directory. There are 2 main startup scripts.

  1. ballerina - to execute a main function of a ballerina program or start a ballerina service.
Usage:
    ballerina [options] ballerina-file [args...]

Examples:
   ballerina run hello-world.bal - to execute main function
   ballerina service passthrough.bal - to start a ballerina service

Available Option:
    --help     Print this help message.
  1. editor - to start the ballerina visual editor.

Running the editor.sh will print the URL of the micro-service which hosts the editor. You can click on the URL and access the editor.

Fixed issues

This release fixes the following issues
https://github.com/wso2/ballerina/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20updated%3A2017-01-17..2017-01-28%20

Open issues and reporting bugs

You can find the known issues in the following link and report any bugs in the same link.
https://github.com/wso2/ballerina/issues

How to contribute to ballerina

You can contribute to the ballerina development by forking the github repository and sending your pull requests to https://github.com/wso2/ballerina

Thank you,
WSO2 Team

Ballerina 0.8.0 Milestone 2

16 Jan 18:27
Compare
Choose a tag to compare
Pre-release
v0.8.0-M2

Tag for 0.8.0-M2