# Ray 0.8.2 — Ray 0.8.2 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2020-02-24 - Version: 0.8.2 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-0.8.2 - Permalink: https://whatsnew.fyi/product/ray/releases/0.8.2 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Pyarrow is no longer vendored and Ray directly uses the C++ Arrow API, allowing any version of pyarrow to be used with Ray - **added** — The dashboard is turned on by default and shows node and process information, actor information, and Ray Tune trials information - **added** — Add ray.show_in_webui to display custom messages for actors - **added** — Distributed reference counting feature flag available via _internal_config for precise distributed garbage collection - **changed** — Many experimental Ray libraries moved to the util namespace: ray.experimental.multiprocessing to ray.util.multiprocessing, ray.experimental.joblib to ray.util.joblib, ray.experimental.iter to ray.util.iter, ray.experimental.serve to ray.serve, and ray.experimental.sgd to ray.util.sgd - **changed** — Tasks and actors are now cleaned up if their owner process dies - **changed** — The OMP_NUM_THREADS environment variable defaults to 1 if unset to improve training performance and reduce resource contention - **added** — Ray now vendors psutil and setproctitle to support the dashboard functionality - **removed** — The Python raylet client has been removed and all raylet communication now goes through the core worker - **changed** — Calling delete() will not delete objects in the in-memory store - **removed** — Vanilla pickle serialization for task arguments has been removed - **fixed** — Fix bug passing empty bytes into Python tasks - **added** — PyTorch version of PPO with improved PyTorch support in RLlib - **added** — Distributed SGD for PPO in RLlib - **added** — Exploration API for controlling epsilon greedy and stochastic exploration in RLlib - **fixed** — Fix schedule values going negative past the end of the schedule in RLlib - **added** — Support for histogram outputs in TensorBoard in RLlib - **added** — Support for parallel and customizable evaluation step in RLlib - **added** — Experiment stopping API in Tune - **changed** — Process saves asynchronously in Tune - **changed** — Default to tensorboardx and include it in requirements for Tune ##### Highlights - Pyarrow is no longer vendored. Ray directly uses the C++ Arrow API. You can use any version of pyarrow with ray. (#7233) - The dashboard is turned on by default. It shows node and process information, actor information, and Ray Tune trials information. You can also use `ray.show_in_webui` to display custom messages for actors. Please try it out and send us feedback! (#6705, #6820, #6822, #6911, #6932, #6955, #7028, #7034) - We have made progress on distributed reference counting (behind a feature flag). You can try it out with `ray.init(_internal_config=json.dumps({"distributed_ref_counting_enabled": 1}))`. It is designed to help manage memory using precise distributed garbage collection. (#6945, #6946, #7029, #7075, #7218, #7220, #7222, #7235, #7249) ##### Breaking changes - Many experimental Ray libraries are moved to the util namespace. (#7100) - `ray.experimental.multiprocessing` => `ray.util.multiprocessing` - `ray.experimental.joblib` => `ray.util.joblib` - `ray.experimental.iter` => `ray.util.iter` - `ray.experimental.serve` => `ray.serve` - `ray.experimental.sgd` => `ray.util.sgd` - Tasks and actors are cleaned up if their owner process dies. (#6818) - The `OMP_NUM_THREADS` environment variable defaults to 1 if unset. This improves training performance and reduces resource contention. (#6998) - We now vendor `psutil` and `setproctitle` to support turning the dashboard on by default. Running `import psutil` after `import ray` will use the version of psutil that ships with Ray. (#7031) ##### Core - The Python raylet client is removed. All raylet communication now goes through the core worker. (#6018) - Calling `delete()` will not delete objects in the in-memory store. (#7117) - Removed vanilla pickle serialization for task arguments. (#6948) - Fix bug passing empty bytes into Python tasks. (#7045) - Progress toward next generation ray scheduler. (#6913) - Progress toward service based global control store (GCS). (#6686, #7041) ##### RLlib - Improved PyTorch support, including a PyTorch version of PPO. (#6826, #6770) - Added distributed SGD for PPO. (#6918, #7084) - Added an exploration API for controlling epsilon greedy and stochastic exploration. (#6974, #7155) - Fixed schedule values going negative past the end of the schedule. (#6971, #6973) - Added support for histogram outputs in TensorBoard. (#6942) - Added support for parallel and customizable evaluation step. (#6981) ##### Tune - Improved Ax Example. (#7012) - Process saves asynchronously. (#6912) - Default to tensorboardx and include it in requirements. (#6836) - Added experiment stopping api. (#6886) - Expose progress reporter to users. (#6915) - Fix directory naming regression. (#6839) - Handles nan case for asynchyperband. (#6916) - Prevent memory checkpoints from breaking trial fault tolerance. (#6691) - Remove keras dependency. (#6827) - Remove unused tf loggers. (#7090) - Set correct path when deleting checkpoint folder. (#6758) - Support callable objects in variant generation. (#6849) ##### Autoscaler - Ray nodes now respect docker limits. (#7039) - Add `--all-nodes` option to rsync-up. (#7065) - Add port-forwarding support for attach. (#7145) - For AWS, default to latest deep learning AMI. (#6922) - Added 'ray dashboard' command to proxy ray dashboard in remote machine. (#6959) ##### Utility libraries - Support of scikit-learn with Ray joblib backend. (#6925) - Parallel iterator support local shuffle. (#6921) - [Serve] support no http headless services. (#7010) - [Serve] refactor router to use Ray asyncio support. (#6873) - [Serve] support composing arbitrary dags. (#7015) - [RaySGD] support fp16 via PyTorch apex. (#7061) - [RaySGD] refactor PyTorch sgd documentation. (#6910) - Improvement in Ray Streaming. (#7043, #6666, #7071) ##### Other improvements - Progress toward Windows compatibility. (#6882, #6823) - Ray Kubernetes operator improvements. (#6852, # _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-0.8.2]_