# Ray 2.51.0 — Ray-2.51.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2025-10-29 - Version: 2.51.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.51.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.51.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'. --- - **changed** — Ray Train v2 is now enabled by default, providing usability and stability improvements and new features - **added** — Application-level autoscaling in Ray Serve with custom autoscaling policies that operate across all deployments in an application - **added** — Enhanced autoscaling context with replica-level metrics including total_running_requests, total_queued_requests, and total_num_requests - **added** — Autoscaling metrics aggregation functions supporting min, max, and time-weighted average aggregation - **added** — Support for multiple task consumers in a single Ray Serve application - **added** — Enhanced support for Unity Catalog integration in Ray Data - **added** — New expression evaluator infrastructure for improved query optimization in Ray Data - **added** — Support for SaveMode in Ray Data write operations - **added** — Approximate quantile aggregator in Ray Data - **added** — MCAP datasource support for robotics data in Ray Data - **added** — Callback-based stat computation for preprocessors and ValueCounter in Ray Data - **added** — Support for multiple download URIs with improved error handling in Ray Data - **added** — Top-level ray.train aliases for public APIs - **changed** — Improved projection pushdown handling with renamed columns in Ray Data - **changed** — Enhanced hash-shuffle performance with better retry policies in Ray Data - **changed** — Reduced memory usage with improved streaming generator backpressure in Ray Data - **fixed** — Fixed renamed columns to be appropriately dropped from output in Ray Data - **fixed** — Fixed driver hang during streaming generator block metadata retrieval in Ray Data - **fixed** — Fixed ControllerError triggered by after_worker_group_poll_status errors in Ray Train - **fixed** — Fixed iter_torch_batches use of ray.train.torch.get_device outside Train #### Release Highlights **Ray Train:** - Ray Train v2 is now enabled by default! Ray Train v2 provides usability and stability improvements, as well as new features. For more details, see the [REP](https://github.com/ray-project/enhancements/blob/main/reps/2024-10-18-train-tune-api-revamp/2024-10-18-train-tune-api-revamp.md) and [Migration Guide](https://github.com/ray-project/ray/issues/49454). To disable Ray Train v2, set the environment variable `RAY_TRAIN_V2_ENABLED=0`. **Ray Serve:** - Application-level autoscaling: Introduces custom autoscaling policies that operate across all deployments in an application, enabling coordinated scaling decisions based on aggregate metrics. This is a significant advancement over per-deployment autoscaling, allowing for more intelligent resource management at the application level. - Enhanced autoscaling capabilities with replica-level metrics: Wires up `AutoscalingContext` with `total_running_requests`, `total_queued_requests`, and `total_num_requests`, plus adds support for min, max, and time-weighted average aggregation functions. These improvements give users fine-grained control to implement sophisticated custom autoscaling policies based on real-time workload metrics. #### Ray Libraries ##### Ray Data 🎉 New Features: - Added enhanced support for Unity Catalog integration (#57954, #58049) - New expression evaluator infrastructure for improved query optimization (#57778, #57855) - Support for SaveMode in write operations (#57946) - Added approximate quantile aggregator (#57598) - MCAP datasource support for robotics data (#55716) - Callback-based stat computation for preprocessors and ValueCounter (#56848) - Support for multiple download URIs with improved error handling (#57775) 💫 Enhancements: - Improved projection pushdown handling with renamed columns (#58033, #58037, #58040, #58071) - Enhanced hash-shuffle performance with better retry policies (#57572) - Streamlined concurrency parameter semantics (#57035) - Improved execution progress rendering (#56992) - Better handling of empty columns in pandas blocks (#57740) - Enhanced support for complex data types and column operations (#57271) - Reduced memory usage with improved streaming generator backpressure (#57688) - Enhanced preemption testing and utilities (#57883) - Improved Download operator display names (#57773) - Better handling of variable-shaped tensors and tensor columns (#57240) - Optimized aggregator execution with out-of-order processing by default (#57753) 🔨 Fixes: - Fixed renamed columns to be appropriately dropped from output (#58040, #58071) - Fixed handling of renames in projection pushdown (#58033, #58037) - Fixed vLLMEngineStage field name inconsistency for images (#57980) - Fixed driver hang during streaming generator block metadata retrieval (#56451) - Fixed retry policy for hash-shuffle tasks (#57572) - Fixed prefetch loop to avoid blocking on fetches (#57613) - Fixed empty projection handling (#57740) - Fixed errors with concatenation of mixed pyarrow native and extension types (#56811) 📖 Documentation: - Updated document embedding benchmark to use canonical Ray Data API (#57977) - Improved concurrency-related documentation (#57658) - Updated preprocessing and data handling examples ##### Ray Train 🎉 New features - Turn on Train v2 by default (#57857) - Top-level `ray.train` aliases for public APIs (#57758) 💫 Enhancements - Raise clear errors when mixing v1/v2 APIs (#57570) - JAX backend: add `jax.distributed.shutdown()` for `JaxBackend` (#57802) - Update `TrainingFailedError` module (#57865) - Improve deprecation handling when `ray.train` methods are called from `ray.tune` (#57810) - Enable deprecation warnings for legacy XGBoost/LightGBM trainers (#57280) 🔨 Fixes - Fix `ControllerError` triggered by `after_worker_group_poll_status` errors (#57869) - Fix `iter_torch_batches` use of `ray.train.torch.get_device` outsi _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.51.0]_