# Ray 1.3.0 — Ray-1.3.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2021-04-22 - Version: 1.3.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-1.3.0 - Permalink: https://whatsnew.fyi/product/ray/releases/1.3.0 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'. --- - **added** — Ray's scalability limits are now tested and published with each release - **added** — Ray Client is now usable by default with any Ray cluster started by the Ray Cluster Launcher - **added** — Ray-native Python-based collective communication primitives for Ray clusters with distributed CPUs or GPUs (alpha) - **added** — Object spilling is turned on by default - **added** — Dask-on-Ray and Spark-on-Ray are fully ready to use - **added** — Dask-on-Ray is now compatible with Dask 2021.4.0 - **added** — Dask-on-Ray now works natively with dask.persist() - **added** — R2D2 implementation for torch and tf in RLlib - **added** — PlacementGroup support for all RLlib algorithms via Trainer.default_resource_request - **added** — Multi-GPU support for tf-DQN/PG/A2C in RLlib - **added** — HEBOSearcher in Tune - **changed** — Ray is now using C++14 - **changed** — Enable Ray client server by default - **changed** — Locality-aware scheduling is turned on by default - **changed** — Moved from centralized GCS-based object directory protocol to decentralized owner-to-owner protocol for better cluster scalability - **changed** — Node-type max workers defaults to infinity - **changed** — rllib rollout runs in parallel by default via Trainer's evaluation worker set - **fixed** — Worker nodes no longer killed on autoscaler failure - **fixed** — Fixed high CPU breaking raylets with heartbeat missing errors - **fixed** — Fixed high CPU issues from raylet during object transfer - **deprecated** — lru_evict flag is now deprecated in favor of using object spilling #### Release v1.3.0 Notes ##### Highlights * We are now testing and publishing Ray's scalability limits with each release, see: https://github.com/ray-project/ray/tree/releases/1.3.0/benchmarks * Ray Client is now usable by default with any Ray cluster started by the Ray Cluster Launcher. ##### Ray Cluster Launcher ###### 💫Enhancements: * Observability improvements (#14816, #14608) * Worker nodes no longer killed on autoscaler failure (#14424) * Better validation for min_workers and max_workers (#13779) * Auto detect memory resource for AWS and K8s (#14567) * On autoscaler failure, propagate error message to drivers (#14219) * Avoid launching GPU nodes when the workload only has CPU tasks (#13776) * Autoscaler/GCS compatibility (#13970, #14046, #14050) * Testing (#14488, #14713) * Migration of configs to multi-node-type format (#13814, #14239) * Better config validation (#14244, #13779) * Node-type max workers defaults infinity (#14201) ###### 🔨 Fixes: * AWS configuration (#14868, #13558, #14083, #13808) * GCP configuration (#14364, #14417) * Azure configuration (#14787, #14750, #14721) * Kubernetes (#14712, #13920, #13720, #14773, #13756, #14567, #13705, #14024, #14499, #14593, #14655) * Other (#14112, #14579, #14002, #13836, #14261, #14286, #14424, #13727, #13966, #14293, #14293, #14718, #14380, #14234, #14484) ##### Ray Client ###### 💫Enhancements: * Version checks for Python and client protocol (#13722, #13846, #13886, #13926, #14295) * Validate server port number (#14815) * Enable Ray client server by default (#13350, #13429, #13442) * Disconnect ray upon client deactivation (#13919) * Convert Ray objects to Ray client objects (#13639) * Testing (#14617, #14813, #13016, #13961, #14163, #14248, #14630, #14756, #14786) * Documentation (#14422, #14265) ###### 🔨 Fixes: * Hook runtime context (#13750) * Fix mutual recursion (#14122) * Set gRPC max message size (#14063) * Monitor stream errors (#13386) * Fix dependencies (#14654) * Fix `ray.get` ctrl-c (#14425) * Report error deserialization errors (#13749) * Named actor refcounting fix (#14753) * RayTaskError serialization (#14698) * Multithreading fixes (#14701) ##### Ray Core ###### 🎉 New Features: * We are now testing and publishing Ray's scalability limits with each release. Check out https://github.com/ray-project/ray/tree/releases/1.3.0/benchmarks. * [alpha] Ray-native Python-based collective communication primitives for Ray clusters with distributed CPUs or GPUs. ###### 🔨 Fixes: * Ray is now using c++14. * Fixed high CPU breaking raylets with heartbeat missing errors (#13963, #14301) * Fixed high CPU issues from raylet during object transfer (#13724) * Improvement in placement group APIs including better Java support (#13821, #13858, #13582, #15049, #13821) ##### Ray Data Processing ###### 🎉 New Features: * Object spilling is turned on by default. Check out the [documentation](https://docs.ray.io/en/master/memory-management.html#object-spilling). * Dask-on-Ray and Spark-on-Ray are fully ready to use. Please [try them out](https://docs.ray.io/en/master/raydp.html) and give us feedback! * Dask-on-Ray is now compatible with Dask 2021.4.0. * Dask-on-Ray now works natively with [`dask.persist()`](https://docs.dask.org/en/latest/api.html#dask.persist). ###### 🔨 Fixes: * Various improvements in object spilling and memory management layer to support large scale data processing (#13649, #14149, #13853, #13729, #14222, #13781, #13737, #14288, #14578, #15027) * `lru_evict` flag is now deprecated. Recommended solution now is to use object spilling. ###### 🏗 Architecture refactoring: * Various architectural improvements in object spilling and memory management. For more details, check out the [whitepaper](https://docs.google.com/document/d/1lAy0Owi-vPz2jEqBSaHNQcy2IBSDEHyXNOQZlGuj93c/edit#heading=h.61xcnifjkb6v). * Locality-aware scheduling is turned on by default. * M _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-1.3.0]_