# Ray 1.4.0 — Ray-1.4.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2021-06-07 - Version: 1.4.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-1.4.0 - Permalink: https://whatsnew.fyi/product/ray/releases/1.4.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** — Support Helm Chart for deploying Ray on Kubernetes - **added** — Key Autoscaler metrics are now exported via Prometheus - **changed** — Better error messages when a node fails to come online - **fixed** — Stability and interface fixes for Kubernetes deployments - **fixed** — Fixes to Azure NodeProvider - **added** — Complete API parity with non-client mode - **added** — Experimental ClientBuilder API - **added** — Full Asyncio support - **changed** — Keep Alive for Messages for long lived connections - **changed** — Improved pickling error messages - **fixed** — Client Disconnect can be called multiple times - **fixed** — Client Reference Equality Check - **added** — Namespaces support for Ray actors - **fixed** — Support increment by arbitrary number with ray.util.metrics.Counter - **fixed** — Various bug fixes for the placement group APIs including the GPU assignment bug - **fixed** — Fixed a critical bug where the driver uses excessive memory usage when there are many objects in the cluster - **fixed** — Dask on Ray and Modin can now be run with Ray client - **added** — PyTorch multi-GPU support - **added** — CQL TensorFlow support - **added** — Task-settable Env/Curriculum Learning API #### Release 1.4.0 Notes ##### Ray Autoscaler ###### 🎉 New Features: * Support Helm Chart for deploying Ray on Kubernetes * Key Autoscaler metrics are now exported via Prometheus! ###### 💫Enhancements * Better error messages when a node fails to come online ###### 🔨 Fixes: * Stability and interface fixes for Kubernetes deployments. * Fixes to Azure NodeProvider ##### Ray Client ###### 🎉 New Features: * Complete API parity with non-client mode * Experimental ClientBuilder API (docs here) * Full Asyncio support ###### 💫Enhancements * Keep Alive for Messages for long lived connections * Improved pickling error messages ###### 🔨 Fixes: * Client Disconnect can be called multiple times * Client Reference Equality Check * Many bug fixes and tests for the complete ray API! ##### Ray Core ###### 🎉 New Features: * Namespaces ([check out the docs](https://docs.ray.io/en/master/namespaces.html))! Note: this may be a breaking change if you’re using detached actors (set ray.init(namespace=””) for backwards compatible behavior). ###### 🔨 Fixes: * Support increment by arbitrary number with ray.util.metrics.Counter * Various bug fixes for the placement group APIs including the GPU assignment bug (#15049). ###### 🏗 Architecture refactoring: * Increase the efficiency and robustness of resource reporting ##### Ray Data Processing ###### 🔨 Fixes: * Various bug fixes for better stability (#16063, #14821, #15669, #15757, #15431, #15426, #15034, #15071, #15070, #15008, #15955) * Fixed a critical bug where the driver uses excessive memory usage when there are many objects in the cluster (#14322). * Dask on Ray and Modin can now be run with Ray client ###### 🏗 Architecture refactoring: * Ray 100TB shuffle results: https://github.com/ray-project/ray/issues/15770 * More robust memory management subsystem is in progress (#15157, #15027) ##### RLlib ###### 🎉 New Features: * PyTorch multi-GPU support (#14709, #15492, #15421). * CQL TensorFlow support (#15841). * Task-settable Env/Curriculum Learning API (#15740). * Support for native tf.keras Models (no ModelV2 required) (#14684, #15273). * Trainer.train() and Trainer.evaluate() can run in parallel (optional) (#15040, #15345). ###### 💫Enhancements and documentation: * CQL: Bug fixes and confirmed MuJoCo benchmarks (#15814, #15603, #15761). * Example for differentiable neural computer (DNC) network (#14844, 15939). * Added support for int-Box action spaces. (#15012) * DDPG/TD3/A[23]C/MARWIL/BC: Code cleanup and type annotations. (#14707). * Example script for restoring 1 agent out of n * Examples for fractional GPU usage. (15334) * Enhanced documentation page describing example scripts and blog posts (15763). * Various enhancements/test coverage improvements: 15499, 15454, 15335, 14865, 15525, 15290, 15611, 14801, 14903, 15735, 15631, ###### 🔨 Fixes: * Memory Leak in multi-agent environment (#15815). Shoutout to Bam4d! * DDPG PyTorch GPU bug. (#16133) * Simple optimizer should not be used by default for tf+MA (#15365) * Various bug fixes: #15762, 14843, 15042, 15427, 15871, 15132, 14840, 14386, 15014, 14737, 15015, 15733, 15737, 15736, 15898, 16118, 15020, 15218, 15451, 15538, 15610, 15326, 15295, 15762, 15436, 15558, 15937 ###### 🏗 Architecture refactoring: * Remove atari dependency (#15292). * `Trainer._evaluate()` renamed to `Trainer.evaluate()` (backward compatible); `Trainer.evaluate()` can be called even w/o evaluation worker set, if `create_env_on_driver=True` (#15591). ##### Tune ###### 🎉 New Features: * ASHA scheduler now supports save/restore. (#15438) * Add HEBO to search algorithm shim function (#15468) * Add SkoptSearcher/Bayesopt Searcher restore functionality (#15075) ###### 💫Enhancements: * We now document scalability best practices (k8s, scalability thresholds). You can [find this here](https://docs.ray.io/en/master/tune/api_docs/scalability.html) (#14566) * _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-1.4.0]_