# Ray 2.55.0 — Ray-2.55.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2026-04-15 - Version: 2.55.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.55.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.55.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** — Add DataSourceV2 API with scanner/reader framework, file listing, and file partitioning - **added** — Support GPU shuffle with rapidsmpf 26.2 - **added** — Add Kafka datasink, migrate to confluent-kafka, support datetime offsets - **added** — Add Turbopuffer datasink - **added** — Add 2-phase commit checkpointing with trie recovery and load method - **added** — Integrate queue-based autoscaling policy with task consumers - **added** — Enable autoscaling for GPU stages - **added** — Add random(), uuid(), cast, and map namespace support to Expressions - **added** — Add support for Arrow native fixed-shape tensor type - **added** — Support writing tensors to tfrecords - **added** — Add pathlib.Path support to read_* functions - **added** — Add cudf as a batch_format - **added** — Allow ActorPoolStrategy for read_datasource() via compute parameter - **added** — Introduce ExecutionCache for streamlined caching - **added** — Support strict=False mode for StreamingRepartition - **added** — Add monotonically increasing ID support - **changed** — Cache _map_task args, improve heap-based actor ranking, and improve actor pool map - **changed** — Optimize concat tables and PyArrow schema hashing - **changed** — Reduce default DownstreamCapacityBackpressurePolicy threshold to 50% - **changed** — Improve reproducibility for random APIs - **changed** — Port changes from lance-ray into Ray Data - **changed** — Enable PyArrow compute-to-expression conversion for predicate pushdown - **changed** — Upgrade to pyiceberg 0.11.0 and cap pandas to <3 - **changed** — Refactor logical operators to frozen dataclasses - **fixed** — Fix RCE in Arrow extension type deserialization from Parquet - **fixed** — Fix StreamingSplitDataIterator.schema() - **fixed** — Fix ParquetDatasource handling of FileSystemFactory.inspect - **fixed** — Fix read_parquet file-extension filtering for versioned object-store URIs - **fixed** — Fix wide_schema_pipeline_tensors cloudpickle deserialization - **fixed** — Fix OpBufferQueue race condition - **fixed** — Fix scheduling metrics computation - **fixed** — Fix OneHotEncoder max_categories to use global top-k instead of per-partition - **fixed** — Fix ReservationOpResourceAllocator resource borrowing for ActorPoolMapOperator - **fixed** — Fix DatabricksUCDatasource schema() shadowing by schema string attribute - **fixed** — Fix AliasExpr structural equality to respect rename flag - **fixed** — Fix _align_struct_fields failure with unaligned scalar fields - **fixed** — Fix min_scheduling_resources fallback to incremental_resource_usage - **fixed** — Fix output backpressure unblocking sequence for terminal ops - **fixed** — Fix multi-input operator object store memory attribution - **fixed** — Fix reference cycle by moving to module scope - **fixed** — Replace on_exit hook with __ray_shutdown__ to fix UDF cleanup race - **fixed** — Prevent Limit from getting pushed past map_groups - **fixed** — Propagate schema in empty _shuffle_block to fix ColumnNotFound in chained left joins - **fixed** — Clamp rolling utilization averages to zero - **fixed** — Fix floating point errors in TimeWindowAverageCalculator - **fixed** — Remove default task-level timeout and clamp end_offset in Kafka datasource - **fixed** — Avoid redundant reads in train_test_split - **fixed** — Return None when no outputs have been produced - **removed** — Remove legacy BlockList, locality_with_output, old callback API, and PyArrow 9.0 checks ##### Ray Data ###### 🎉 New Features - Add `DataSourceV2` API with scanner/reader framework, file listing, and file partitioning (#61220, #61615, #61997) - Support GPU shuffle with `rapidsmpf` 26.2 (#61371, #62062) - Add Kafka datasink, migrate to `confluent-kafka`, support `datetime` offsets (#60307, #61284, #60909) - Add Turbopuffer datasink (#58910) - Add 2-phase commit checkpointing with trie recovery and load method (#61821, #60951) - Queue-based autoscaling policy integrated with task consumers (#59548, #60851) - Enable autoscaling for GPU stages (#61130) - Expressions: add `random()`, `uuid()`, `cast`, and map namespace support (#59656, #60695, #59879) - Add support for Arrow native fixed-shape tensor type (#56284) - Support writing tensors to tfrecords (#60859) - Add `pathlib.Path` support to `read_*` functions (#61126) - Add `cudf` as a `batch_format` (#61329) - Allow `ActorPoolStrategy` for `read_datasource()` via `compute` parameter (#59633) - Introduce `ExecutionCache` for streamlined caching (#60996) - Support `strict=False` mode for `StreamingRepartition` (#60295) - Port changes from lance-ray into Ray Data (#60497) - Enable PyArrow compute-to-expression conversion for predicate pushdown (#61617) - Add vLLM metrics export and Data LLM Grafana dashboard (#60385) - Include logical memory in resource manager scheduling decisions (#60774) - Add monotonically increasing ID support (#59290) ###### 💫 Enhancements - Performance: cache `_map_task` args, heap-based actor ranking, actor pool map improvements (#61996, #62114, #61591) - Optimize concat tables and PyArrow schema hashing (#61315, #62108) - Reduce default `DownstreamCapacityBackpressurePolicy` threshold to 50% (#61890) - Improve reproducibility for random APIs (#59662) - Clamp batch size to fall within C++ 32-bit int range (#62242) - Account for external consumer object store usage in resource manager budget (#62117) - Make `get_parquet_dataset` configurable in number of fragments to scan (#61670) - Consolidate schema inference and make all preprocessors implement `SerializablePreprocessorBase` (#61213, #61341) - Disable hanging issue detection by default (#62405) - Make execution callback dataflow explicit to prevent state leakage (#61405) - Log `DataContext` in JSON format at execution start for traceability (#61150, #61428) - Autoscaler: configurable traceback, Prometheus gauges, relaxed constraints (#62210, #62209, #61917, #61385) - Add metrics for task scheduling time, output backpressure, and logical memory (#61192, #61007, #61436) - Prevent operators from dominating entire shared object store budget (#61605) - Eliminate generators to avoid intermediate state pinning (#60598) - Default log encoding to UTF-8 on Windows (#61143) - Remove legacy `BlockList`, `locality_with_output`, old callback API, PyArrow 9.0 checks (#60575, #61044, #62055, #61483) - Upgrade to `pyiceberg` 0.11.0; cap `pandas` to <3 (#61062, #60406) - Refactor logical operators to frozen dataclasses (#61059, #61308, #61348, #61349, #61351, #61364, #61481) - Prevent aggregator head node scheduling (#61288) - Add error for `local://` paths with a zero-resource head node (#60709) ###### 🔨 Fixes - Fix RCE in Arrow extension type deserialization from Parquet (#62056) - Fix `StreamingSplitDataIterator.schema()` (#62057) - Fix `ParquetDatasource` handling of `FileSystemFactory.inspect` (#62065) - Fix `read_parquet` file-extension filtering for versioned object-store URIs (#61376) - Fix `wide_schema_pipeline_tensors` cloudpickle deserialization (#62149) - Fix `OpBufferQueue` race condition (#60828) - Fix scheduling metrics computation (#62031) - Fix `OneHotEncoder` `max_categories` to use global top-k instead of per-partition (#60790) - Fix `ReservationOpResourceAllocator` resource borrowing for `ActorPoolMapOperator` (#60882) - Fix `DatabricksUCDatasource` `schema()` shadowing by schema string attribute (#61282) - Fix `AliasExpr` st _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.55.0]_