@JONBRWN JONBRWN released this Oct 31, 2018 · 58 commits to master since this release

Assets 2

Release Notes

We are excited to announce the release of Wallaroo 0.5.4. The highlight of 0.5.4 is support for Python 3. Users can now use machida3 to develop Wallaroo applications written in Python 3, see our latest documentation to get started. Although this is a preview release, we are very excited to get it into your hands.

This is a patch release, meaning there are no breaking changes to the existing API. This allows you to drop in your existing Python 2 application(s) into the latest release and take full advantage of bug fixes we’ve made since our last release.

We wanted to give a special shoutout to Github user caj-larsson for their contributions and for getting the ball rolling with “support for Python 3” development. We also wanted to thank Github user voxadam for their contribution to fixing a link in our README. Read on for more details about Python 3 support and other changes that happened with this release.

We would love to hear what you think and how you plan to use Wallaroo with Python 3. Please reach out to us! We’re available on Twitter, IRC, GitHub, by email, our mailing list,
or our subreddit. We love questions!

What is Wallaroo

Wallaroo is a modern, extensible framework that makes it simple to get stateful streaming data and event-driven applications to production fast, regardless of scale.

If you are interested in installing Wallaroo, our installation documentation provides the various ways you can get up and running.

Feel free to use the table of contents below to help you navigate to sections you might find relevant.

Table of Contents

  1. Added
  2. Changed
  3. Fixed
  4. Upgrading Wallaroo
  5. CHANGELOG

Added

Python 3 Support

We have added support for running Wallaroo applications that are written using Python 3. This means that you will be able to use Python 3 features and libraries when creating your applications.

The Wallaroo API remains the same for Python 3. In order to run Python 3 applications, you must use a new executable called machida3 instead of machida.

If you are interested in updating your existing Wallaroo code to use Python 3, you should do the following:
Port your code from Python 2 to Python 3.
Make sure that the encoders and partition functions return Python strings or byte arrays. In Python 2.7 some string operations (such as [...]) returned strings while in Python 3 the same operation returns a character.

Support for Python 3 has been tested to work with Python 3.5 on our Docker image, our Vagrant box, Ubuntu (Xenial, Artful, Bionic) and Debian (Stretch, Buster).

This is a preview release of the Python 3 support and may change based on feedback. Please share your thoughts, we’re available on Twitter, IRC, GitHub, by email, our mailing list,
or our subreddit.

Changed

Fedora 26 no Longer Supported

Due to Fedora 26 having reached its EOL this year and the lack of support for the latest tooling needed to run Wallaroo, we have dropped support for Fedora 26 with this release. It should be noted that you can still run Wallaroo 0.5.3 if you wish and that we continue to support Fedora 27/28.

Fixed

Upgrading Wallaroo

In all cases below, if you run into issues, please reach out to us! We’re available on twitter, IRC, Github, by email, our mailing list,
or our subreddit.
We love questions!

If you have made no changes to Wallaroo or Pony since installation, your best bet will be to start from scratch, following the instructions of your choice.

Below are instructions for Upgrading Wallaroo via Wallaroo Up, Upgrading Wallaroo in Docker, Upgrading Wallaroo in Vagrant, and Upgrading Wallaroo when compiled from source.

Upgrading Wallaroo via Wallaroo Up

The normal Wallaroo Up installation instructions will install new versions next to existing versions.

Upgrading the Wallaroo Docker image

To upgrade the Wallaroo Docker image, run the following command to get the latest image. If you don't allow a non-root user to run Docker commands, you'll need to add sudo to the front of the command.

docker pull wallaroo-labs-docker-wallaroolabs.bintray.io/release/wallaroo:0.5.4

Upgrading Wallaroo Source Code

If you mounted the Wallaroo source code to your local machine using the directory recommended in setup, in /tmp/wallaroo-docker (UNIX & MacOS users) or c:/wallaroo-docker (Windows users), then you will need to move the existing directory in order to get the latest source code. The latest Wallaroo source code will be copied to this directory automatically when a new container is started with the latest Docker image.

UNIX & MacOS Users

For UNIX users, you can move the directory with the following command:

mv /tmp/wallaroo-docker/wallaroo-src/ /tmp/wallaroo-docker/wallaroo-0.5.3-src/
Windows Users

For Windows users, you can move the directory with the following command:

move c:/wallaroo-docker/wallaroo-src/ c:/wallaroo-docker/wallaroo-0.5.3-src

Once done moving, you can re-create the wallaroo-src directory with the following command:

mkdir c:\wallaroo-docker\wallaroo-src

Upgrading Wallaroo in Vagrant

To upgrade your Wallaroo installation in Vagrant, you’ll want to follow the latest installation instructions for Wallaroo in Vagrant.

If you have modified your old Vagrant VM in any way that you intend to persist, you should persist your changes now. For example, copy any edited or new files from the old Vagrant VM to the new one.

Upgrading Wallaroo when compiled from source

These instructions are for Ubuntu Linux. It's assumed that if you are using a different operating system then you are able to translate these instructions to your OS of choice.

Upgrading ponyc to 0.25.0

ponyc can be upgraded with the following command:

sudo apt-get install --only-upgrade ponyc=0.25.0

Verify you are now on the correct version of ponyc by running:

ponyc --version

You should get the following output:

0.25.0 [release]

How to Upgrade Wallaroo

Once you're on the latest ponyc and pony stable, you're ready to switch over to Wallaroo 0.5.4.

If you have made prior changes to the Wallaroo code, you’ll need to re-implement those changes. To get the latest release, assuming that you previously installed to the directory we recommended in setup, you’ll need to run the following:

cd ~/wallaroo-tutorial/

To get a new copy of the Wallaroo repository, run the following commands:

cd ~/wallaroo-tutorial/
curl -L -o wallaroo-0.5.4.tar.gz 'https://wallaroo-labs.bintray.com/wallaroolabs-ftp/wallaroo/0.5.4/wallaroo-0.5.4.tar.gz'
mkdir wallaroo-0.5.4
tar -C wallaroo-0.5.4 --strip-components=1 -xzf wallaroo-0.5.4.tar.gz
rm wallaroo-0.5.4.tar.gz
cd wallaroo-0.5.4

You can then run the following commands to build the necessary tools to continue developing using Wallaroo 0.5.4:

cd ~/wallaroo-tutorial/wallaroo-0.5.4
make build-machida build-machida3 build-giles-all build-utils-cluster_shutdown

CHANGELOG

[0.5.4] - 2018-10-31

Added

Added Python3 support for Wallaroo in our Docker image and in installations via Vagrant, Wallaroo Up (on Ubuntu (Xenial, Artful, and Bionic) and Debian (Stretch and Buster)), as well as for installation from source on systems with Python 3.5 or higher (python3-dev is also required).

Changed

Deprecate giles receiver in favor of data receiver (PR #2341)