---
layout: post
title: "Ray: 0.5 Release"
excerpt: "This post announces the release of Ray 0.5."
date: 2018-07-06 14:00:00
---

We are pleased to announce the 0.5 release of [Ray][1]. To upgrade to the latest
version, run

```
pip install -U ray
```

## Refactoring

One primary development is a substantial refactoring of the backend, which is
currently off by default, but can be turned on by starting Ray with the
environment variable `RAY_USE_XRAY=1`. This will be turned on soon after more
testing and development and will be on by default in the next release. Some
highlights of the refactor include the following:
- Merging the "local scheduler" and the "plasma manager" into a single "raylet"
  process (consisting of a "node manager" and an "object manager").
- Faster object transfers by using multiple threads to send objects in chunks.
- The introduction of a "lineage cache" to improve latency by removing the
  global control store from the scheduling critical path.
- The removal of the global scheduler (which is replaced by direct node-manager
  to node-manager communication)
- Providing a standardized table-based interface to the Redis-backed global
  control store.
- A preliminary approach for automatically flushing global control store
  metadata to avoid out-of-memory errors for long-running jobs.

Note that the refactoring is currently under development and does not yet
support fault tolerance.

## RLlib Improvements

A number of improvements have been made to [RLlib][2]:
- Added DDPG [[1877]](https://github.com/ray-project/ray/pull/1877).
- Added a policy server example [[2232]](https://github.com/ray-project/ray/pull/2232).
- Multi-agent support [[2286]](https://github.com/ray-project/ray/pull/2286).
- Modular policy graphs [[2294]](https://github.com/ray-project/ray/pull/2294).
- RNN support [[2299]](https://github.com/ray-project/ray/pull/2299).
- Vectorized environments [[2170]](https://github.com/ray-project/ray/pull/2170).
- Many bug fixes.

## Tune

A number of improvements have been made to [Tune][3]:
- HyperOpt integration [[1763]](https://github.com/ray-project/ray/pull/1763).
- Many bug fixes and improvements.

## Pandas on Ray

Pandas on Ray has moved to the [Modin][5] project and will continue to be
developed there.

## Autoscaler

The [autoscaler][6] has grown more mature and now supports Google Cloud
Platform:
- Support for GCP [[2061]](https://github.com/ray-project/ray/pull/2061).
- Many bug fixes and additional features.

## Java

Ray now supports Java thanks to contributions from [Ant Financial][4]:
- Support for Java (e.g., [[2092]](https://github.com/ray-project/ray/pull/2092) [[2094]](https://github.com/ray-project/ray/pull/2094) [[2151]](https://github.com/ray-project/ray/pull/2151) [[2171]](https://github.com/ray-project/ray/pull/2171) [[2225]](https://github.com/ray-project/ray/pull/2225) [[2245]](https://github.com/ray-project/ray/pull/2245)).

## Other Features

- A named actors prototype [[2129]](https://github.com/ray-project/ray/pull/2129).
- Usage of airspeed velocity for regression testing [[2113]](https://github.com/ray-project/ray/pull/2113).
- More efficient serialization of numpy arrays [[1889]](https://github.com/ray-project/ray/pull/1889).


[1]: https://github.com/ray-project/ray
[2]: http://ray.readthedocs.io/en/latest/rllib.html
[3]: http://ray.readthedocs.io/en/latest/tune.html
[4]: https://www.antfin.com/
[5]: https://github.com/modin-project/modin
[6]: http://ray.readthedocs.io/en/latest/autoscaling.html
