Skip to content

Releases: ballerina-platform/ballerina-lang

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

Introducing Ballerina (Milestone 1)

06 Jan 05:07
Compare
Choose a tag to compare
Pre-release

WSO2 team is pleased to announce the first milestone release of the ballerina development environment.

Ballerina is a new programming language for integration, built on a sequence diagram metaphor. Ballerina is:

  • Simple
  • Intuitive
  • Visual
  • Powerful
  • Lightweight
  • Cloud Native
  • Container Native
  • Fun

The conceptual model of Ballerina is that of a sequence diagram. Each participant in the integration gets its own lifeline and Ballerina defines a complete syntax and semantics for how the sequence diagram works and execute the desired integration.

How to get ballerina

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

[1] https://github.com/wso2/ballerina/releases
[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 3 main startup scripts.

  1. ballerina.sh - can be used to execute a main function of a ballerina program

This command mainly used to execute the main function of a ballerina program.

Usage:
    ballerina.sh [options] ballerina-file [args...]

Examples:
    ballerina.sh hello-world.bal WSO2
    ballerina.sh hello-world.bal "WSO2 Inc"  (If the argument value contains a space, use double quote to enclose it)
    ballerina.sh multiplier.bal 5 10

Available Options are:
    -version     Print Ballerina version.
    -help        Print this help message.
  1. ballerinaserver.sh - can be used to start the ballerina in server mode
This command is mainly used to start the ballerina in server mode.

Usage:
    ballerinaserver.sh [option] command ballerina-file1 ballerina-file2 ...

Examples:
    ballerinaserver.sh passthrough.bal
    ballerinaserver.sh passthrough.bal echo.bal


Available Commands
    start       Start Ballerina Server in background.
    stop        Stop Ballerina Server which is running in the background.
    restart     Restart Ballerina Server which is running in the background.

Available Options:
    -version     Print Ballerina version.
    -help        Print this help message.


3) editor.sh - can be used 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.


You can run the pre-built samples[3] as mentioned in the following link.
[3] https://github.com/wso2/ballerina/tree/master/samples/getting_started

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

Open issues and reporting bugs

You can find the known issues in the following link[5] and report any bugs in the same link.
[5] 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 [6].
[6] https://github.com/wso2/ballerina

Thank you,
WSO2 Team