# Ray 0.8.6 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2020-06-24 - Version: 0.8.6 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-0.8.6 - Permalink: https://whatsnew.fyi/product/ray/releases/0.8.6 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** — Experimental support for Windows is now available for single node Ray usage - **added** — Ray dashboard now supports GPU monitoring and a memory view - **added** — RLlib officially supports the Unity3D adapter - **added** — Automatic retry of failed actor tasks after an actor has been restarted by specifying max_restarts in @ray.remote - **added** — PyTorch IMPALA version and all rllib/examples scripts now work for either TensorFlow or PyTorch - **added** — Support for variable length observation Spaces called Repeated - **added** — Support for arbitrarily nested action spaces - **added** — Experimental GTrXL Transformer/Attention net support to RLlib with learning tests for PPO and IMPALA - **added** — QMIX now supports complex observation spaces - **added** — Dataset API for handling large datasets with RaySGD - **added** — Filter by an average of the last results using the ExperimentAnalysis tool - **added** — BayesOptSearch received preliminary random search and warm starting support - **added** — serve.list_backends and serve.list_endpoints APIs - **added** — serve.delete_backend and serve.delete_endpoint APIs - **added** — Namespacing support in serve.init API with name parameter to run multiple serve clusters on the same ray cluster - **added** — Session affinity when splitting traffic with backends using X-SERVE-SHARD-KEY HTTP header - **added** — Dashboard Machine View now shows GPU utilization and worker-level GPU assignment information - **added** — Dashboard Memory View tab for debugging memory issues with object store information and reference counts - **added** — Support for k8s services in autoscaler - **added** — ray up accepts remote URLs that point to the desired cluster YAML - **changed** — Switched to using distributed execution API by default for all RLlib algorithms instead of Policy Optimizers - **changed** — Use max_restarts in @ray.remote decorator instead of max_reconstructions to enable automatic restarts of failed actors - **changed** — Merged named and detached actor APIs to create detached actors by specifying name parameter in Actor.options - **changed** — Replaced use_pytorch and eager flags in RLlib configs with framework=[tf|tfe|torch] - **changed** — serve.create_endpoint now requires specifying the backend directly - **changed** — Improved autoscaler logging output with clearer error propagation and reduced excess output - **deprecated** — tune.track is deprecated in favor of tune.report for the Tune function API - **deprecated** — PolicyOptimizers deprecated in favor of the new distributed execution API in RLlib - **removed** — Removed blocking, ray_init_kwargs, and start_server options from serve.init API - **removed** — Retired ModelV1 class support in RLlib with warning for current usage to be changed to error in next release - **removed** — Retired TupleActions in favor of arbitrarily nested action Spaces Highlight --------- - Experimental support for Windows is now available for single node Ray usage. Check out the Windows section below for known issues and other details. - Have you had troubles monitoring GPU or memory usage while you used Ray? The Ray dashboard now supports the GPU monitoring and a memory view. - Want to use RLlib with Unity? RLlib officially supports the Unity3D adapter! Please check out the [documentation](https://docs.ray.io/en/master/rllib-env.html?highlight=unity#external-agents-and-applications). - Ray Serve is ready for feedback! We've gotten feedback from many users, and Ray Serve is already being used in production. Please reach out to us with your use cases, ideas, documentation improvements, and feedback. We'd love to hear from you. Please do so on the Ray Slack and join #serve! Please see the Serve section below for more details. Core ----- - We’ve introduced a new feature to automatically retry failed actor tasks after an actor has been restarted by Ray (by specifying `max_restarts` in `@ray.remote`). Try it out with `max_task_retries=-1` where -1 indicates that the system can retry the task until it succeeds. ###### API Change - To enable automatic restarts of a failed actor, you must now use `max_restarts` in the `@ray.remote` decorator instead of `max_reconstructions`. You can use -1 to indicate infinity, i.e., the system should always restart the actor if it fails unexpectedly. - We’ve merged the named and detached actor APIs. To create an actor that will survive past the duration of its job (a “detached” actor), specify `name=` in its remote constructor (`Actor.options(name='').remote()`). To delete the actor, you can use `ray.kill`. RLlib ----- - PyTorch: IMPALA PyTorch version and all `rllib/examples` scripts now work for either TensorFlow or PyTorch (`--torch` command line option). - Switched to using distributed execution API by default (replaces Policy Optimizers) for all algorithms. - Unity3D adapter (supports all Env types: multi-agent, external env, vectorized) with example scripts for running locally or in the cloud. - Added support for variable length observation Spaces ("Repeated"). - Added support for arbitrarily nested action spaces. - Added experimental GTrXL (Transformer/Attention net) support to RLlib + learning tests for PPO and IMPALA. - QMIX now supports complex observation spaces. ###### API Change - Retire `use_pytorch` and `eager` flags in configs and replace these with `framework=[tf|tfe|torch]`. - Deprecate PolicyOptimizers in favor of the new distributed execution API. - Retired support for Model(V1) class. Custom Models should now only use the ModelV2 API. There is still a warning when using ModelV1, which will be changed into an error message in the next release. - Retired TupleActions (in favor of arbitrarily nested action Spaces). Ray Tune / RaySGD ------------------- - There is now a Dataset API for handling large datasets with RaySGD. (#7839) - You can now filter by an average of the last results using the `ExperimentAnalysis` tool (#8445). - BayesOptSearch received numerous contributions, enabling preliminary random search and warm starting. (#8541, #8486, #8488) ###### API Changes - `tune.report` is now the right way to use the Tune function API. `tune.track` is deprecated (#8388) Serve ------ - New APIs to inspect and manage Serve objects: - `serve.list_backends` and `serve.list_endpoints` (#8737) - `serve.delete_backend` and `serve.delete_endpoint` (#8252, #8256) - `serve.create_endpoint` now requires specifying the backend directly. You can remove `serve.set_traffic` if there's only one backend per endpoint. (#8764) - `serve.init` API cleanup, the following options were removed: - `blocking`, `ray_init_kwargs`, `start_server` (#8747, #8447, #8620) - `serve.init` now supports namespacing with `name`. You can run multiple serve clusters with different names on the same ray cluster. (#8449) _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-0.8.6]_