# Ray 2.57.0 — Ray-2.57.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2026-08-11 - Version: 2.57.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.57.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.57.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** — Enable DataSourceV2 by default via DataContext.use_datasource_v2 for improved row-group-aware chunking and predicate splitting - **added** — Implement task-based hash shuffle v2 with ShuffleMapOp and ShuffleReduceOp operators supporting join, multi-input reduce, downstream map fusion, and reducer remote args - **added** — Add Catalog abstraction with UnityCatalog implementation for read operations and Unity Catalog write support for Parquet and Iceberg - **added** — Add read_zarr for Zarr datasets and read_lerobot for LeRobot v3 datasets - **added** — Add PushdownCountFiles optimization to answer count() from Parquet footers - **added** — Add common subexpression elimination to the expression optimizer - **added** — Add GPU support for Aggregate operator - **added** — Make dataset iteration metrics queryable per split - **added** — Add custom operator stats to capture worker-side metrics during task execution - **added** — Export from_blocks from ray.data - **added** — Add embedded RocksDB storage backend for GCS fault tolerance selectable with RAY_gcs_storage=rocksdb and RAY_gcs_storage_path - **added** — Add public API for topology-aware scheduling - **added** — Add gRPC support to HAProxy direct-ingress path including streaming, metrics, and custom request IDs - **added** — Add experimental KV-cache-aware request routing for Ray Serve LLM that tracks replica KV state and routes on prefill/decode token load - **changed** — Hide Ray Data internal frames from user-code error tracebacks - **changed** — Run projection and predicate pushdown before limit pushdown and make fuse checks consistent between logical and physical optimizers - **changed** — Use work stealing for file listing and dynamic work queue for traversals - **changed** — Speed up ExecutionResources and reservation/budget loops on the scheduling hot path - **changed** — Distribute HAProxy ingress as ray-haproxy PyPI package instead of compiled into images and make it the default HAProxy binary - **fixed** — Fix O(n^2) schema reconciliation in unify_schemas and avoid per-column Series materialization in tensor-column casting #### Highlights * **Ray Data:** In this Ray release, we've enabled `DataSourceV2` by default (#64821), so `read_parquet` and friends use the new scan/listing infrastructure with row-group-aware chunking and predicate splitting. Hash Shuffle V2 eliminates the aggregator actor pool. V1 had to provision that pool up front from an estimate of the input size, and its actors accumulated partition shards in actor heap memory, invisible to Ray and unspillable, until finalization. V2 replaces it with two stateless task-based operators, ShuffleMapOp --> ShuffleReduceOp, that pass shards through the object store, so intermediate state spills under pressure and no capacity has to be reserved in advance. The map/reduce barrier itself remains in both designs. * HashShuffleV2 supports `join` ([#63598](https://github.com/ray-project/ray/pull/63598), [#64538](https://github.com/ray-project/ray/pull/64538), [#64687](https://github.com/ray-project/ray/pull/64687)). This lets shuffles reuse standard map/reduce scheduling, backpressure, and resource accounting. * **Ray Serve:** The HAProxy ingress is now distributed as the `ray-haproxy` PyPI package instead of being compiled into images, and it is the default HAProxy binary (#64141, #64163, #64164). We've also added gRPC support to the HAProxy direct-ingress path, including streaming, metrics, and custom request IDs (#63735, #64310, #64166, #64112). For Ray Serve LLM, we've added experimental KV-cache-aware request routing that tracks replica KV state through an event plane, tokenizes before routing, and routes on prefill/decode token load (#64084, #64085, #64097, #64224, #64327, #64400). KV cache-aware routing’s complete support will land in 2.58. * **Ray Core:** We've added an embedded RocksDB storage backend for GCS fault tolerance (REP-64), selectable with `RAY_gcs_storage=rocksdb` and `RAY_gcs_storage_path` (#63657). GCS fault tolerance no longer requires an external Redis instance. We've also added a public API for topology-aware scheduling (#63479, #63740). #### Ray Data ###### 🎉 New Features * Enable `DataSourceV2` by default via `DataContext.use_datasource_v2` (#64821) * New task-based hash shuffle v2 (`ShuffleMapOp` → `ShuffleReduceOp`) with `join`, multi-input reduce, downstream map fusion, and reducer remote args, behind an env flag (#63598, #64538, #64687, #64438, #64302, #64532, #64481) * Add a `Catalog` abstraction with a `UnityCatalog` implementation that can be passed to `read_*`, and Unity Catalog write support for Parquet and Iceberg (#64193, #64519) * Add `read_zarr` for Zarr datasets (#63003) and `read_lerobot` for LeRobot v3 datasets (#63821) * Add `PushdownCountFiles` optimization to answer `count()` from Parquet footers (#64763) * Add common subexpression elimination to the expression optimizer (#63974) * Add GPU support for `Aggregate` (#63708) * Make dataset iteration metrics queryable per split (#64608) * Add custom operator stats to capture worker-side metrics during task execution (#64221) * Refactor usage collection into an extensible `UsageCallback` (#64500) * Export `from_blocks` from `ray.data` (#64127) * Add support for `rapidsmpf-26.4.0` (#64324) ###### 💫 Enhancements * Hide Ray Data internal frames from user-code error tracebacks (#64587) * Run projection/predicate pushdown before limit pushdown, block optimization of non-deterministic expressions, and make fuse checks consistent between the logical and physical optimizers (#64651, #64165, #63936) * Add a two-mode block metadata fetch behind a single `MetadataFetcher` interface (#64378) * Use work stealing for file listing and a dynamic work queue for traversals (#64675, #64388) * Speed up `ExecutionResources` and the reservation/budget loops on the scheduling hot path (#63964) * Fix `O(n^2)` schema reconciliation in `unify_schemas` and avoid per-column `Series` materialization in tensor-column casting (#64555, #64038) * Decouple collate and memory pinning in `iter_torch_batch _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.57.0]_