# Ray 2.10.0 — Ray-2.10.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2024-03-21 - Version: 2.10.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.10.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.10.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 Data becomes generally available with stability improvements in streaming execution, reading and writing data, better tasks concurrency control, and debuggability improvement with dashboard, logging and metrics visualization - **added** — New API Stack officially announced as alpha for PPO and SAC in RLlib - **added** — Added default autoscaling policy set via num_replicas="auto" in Serve - **added** — Added support for active load shedding via max_queued_requests in Serve - **added** — Added replica queue length caching to the DeploymentHandle scheduler in Serve - **changed** — Renamed max_concurrent_queries to max_ongoing_requests in Serve - **changed** — Renamed target_num_ongoing_requests_per_replica to target_ongoing_requests in Serve - **changed** — Renamed downscale_smoothing_factor to downscaling_factor in Serve - **changed** — Renamed upscale_smoothing_factor to upscaling_factor in Serve - **changed** — max_ongoing_requests (max_concurrent_queries) is now strictly enforced in Serve - **added** — Autoscaler v2 is in alpha for Kuberay with improved observability and stability - **added** — Added support for accelerator types via ScalingConfig(accelerator_type) in Train - **changed** — Revamped XGBoostTrainer and LightGBMTrainer to no longer depend on xgboost_ray and lightgbm_ray - **changed** — Refactored local staging directory to remove the need for local_dir and RAY_AIR_LOCAL_CACHE_DIR in Train/Tune - **added** — Add num_rows_per_file parameter to file-based writes in Ray Data - **added** — Add DataIterator.materialize in Ray Data - **added** — Skip schema call in DataIterator.to_tf if tf.TypeSpec is provided in Ray Data - **added** — Add option to append for Dataset.write_bigquery in Ray Data - **added** — Add backend-specific context manager for train_func for setup/teardown logic in Train - **fixed** — Fix deadlocks caused by Dataset.streaming_split for job hanging #### Release Highlights Ray 2.10 release brings important stability improvements and enhancements to Ray Data, with Ray Data becoming generally available (GA). - [Data] Ray Data becomes generally available with stability improvements in streaming execution, reading and writing data, better tasks concurrency control, and debuggability improvement with dashboard, logging and metrics visualization. - [RLlib] “**New API Stack**” officially announced as alpha for PPO and SAC. - [Serve] Added a default autoscaling policy set via `num_replicas=”auto”` ([#42613](https://github.com/ray-project/ray/issues/42613)). - [Serve] Added support for active load shedding via `max_queued_requests` ([#42950](https://github.com/ray-project/ray/issues/42950)). - [Serve] Added replica queue length caching to the DeploymentHandle scheduler ([#42943](https://github.com/ray-project/ray/pull/42943)). - This should improve overhead in the Serve proxy and handles. - `max_ongoing_requests (max_concurrent_queries)` is also now strictly enforced ([#42947](https://github.com/ray-project/ray/issues/42947)). - If you see any issues, please report them on GitHub and you can disable this behavior by setting: `RAY_SERVE_ENABLE_QUEUE_LENGTH_CACHE=0`. - [Serve] Renamed the following parameters. Each of the old names will be supported for another release before removal. - `max_concurrent_queries` -> `max_ongoing_requests` - `target_num_ongoing_requests_per_replica` -> `target_ongoing_requests` - `downscale_smoothing_factor` -> `downscaling_factor` - `upscale_smoothing_factor` -> `upscaling_factor` - [Core] [Autoscaler v2](https://docs.ray.io/en/master/cluster/kubernetes/user-guides/configuring-autoscaling.html#kuberay-autoscaler-v2) is in alpha and can be tried out with Kuberay. It has improved observability and stability compared to v1. - [Train] Added support for accelerator types via `ScalingConfig(accelerator_type)`. - [Train] Revamped the `XGBoostTrainer` and `LightGBMTrainer` to no longer depend on `xgboost_ray` and `lightgbm_ray`. A new, more flexible API will be released in a future release. - [Train/Tune] Refactored local staging directory to remove the need for `local_dir` and `RAY_AIR_LOCAL_CACHE_DIR`. #### Ray Libraries ##### Ray Data 🎉 New Features: - Streaming execution stability improvement to avoid memory issue, including per-operator resource reservation, streaming generator output buffer management, and better runtime resource estimation (#43026, #43171, #43298, #43299, #42930, #42504) - Metadata read stability improvement to avoid AWS transient error, including retry on application-level exception, spread tasks across multiple nodes, and configure retry interval (#42044, #43216, #42922, #42759). - Allow tasks concurrency control for read, map, and write APIs (#42849, #43113, #43177, #42637) - Data dashboard and statistics improvement with more runtime metrics for each components (#43790, #43628, #43241, #43477, #43110, #43112) - Allow to specify application-level error to retry for actor task (#42492) - Add `num_rows_per_file` parameter to file-based writes (#42694) - Add `DataIterator.materialize` (#43210) - Skip schema call in `DataIterator.to_tf` if `tf.TypeSpec` is provided (#42917) - Add option to append for `Dataset.write_bigquery` (#42584) - Deprecate legacy components and classes (#43575, #43178, #43347, #43349, #43342, #43341, #42936, #43144, #43022, #43023) 💫 Enhancements: - Restructure stdout logging for better readability (#43360) - Add a more performant way to read large TFRecord datasets (#42277) - Modify `ImageDatasource` to use `Image.BILINEAR` as the default image resampling filter (#43484) - Reduce internal stack trace output by default (#43251) - Perform incremental writes to Parquet files (#43563) - Warn on excessive driver memory usage during shuffle ops (#42574) - Distributed reads for _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.10.0]_