# Ray 2.52.0 — Ray-2.52.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2025-11-21 - Version: 2.52.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.52.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.52.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'. --- - **removed** — End of Life for Python 3.9 Support: Ray will no longer be releasing Python 3.9 wheels from now on - **security** — Token authentication: Ray now supports built-in token authentication across all components including the dashboard, CLI, API clients, and internal services - **added** — Added predicate pushdown rule that pushes filter predicates past eligible operators - **added** — Iceberg support for upsert tables, schema updates, and overwrite operations - **added** — Iceberg support for predicate and projection pushdown - **added** — Iceberg write datafiles in write() then commit - **changed** — Enhanced Unity Catalog integration - **added** — Namespaced expressions that expose PyArrow functions - **added** — Added version argument to read_delta_lake - **added** — Generator UDF support for map_groups - **added** — ApproximateTopK aggregator - **added** — Serialization framework for preprocessors - **added** — Support for temporal, list, tensor, and struct datatypes - **changed** — Use approximate quantile for RobustScaler preprocessor - **changed** — Map batches support for limit pushdown - **changed** — Make all map operations zero-copy by default - **changed** — Use tqdm_ray for progress reporting from workers - **changed** — Improved concurrency cap backpressure tuning - **fixed** — Fixed renamed columns to be appropriately dropped from output - **fixed** — Fixed handling of renames in projection pushdown - **fixed** — Fixed broken LogicalOperator abstraction barrier in predicate pushdown rule #### Release Highlights **Ray Core:** - End of Life for Python 3.9 Support: Ray will no longer be releasing Python 3.9 wheels from now on. - Token authentication: Ray now supports built-in token authentication across all components including the dashboard, CLI, API clients, and internal services. This provides an additional layer of security for production deployments to reduce the risk of unauthorized code execution. Token authentication is initially off by default. For more information, see: https://docs.ray.io/en/latest/ray-security/token-auth.html **Ray Data:** - We’ve added a number of improvements for Iceberg, including upserts, predicate and projection pushdown, and overwrite. - We’ve added significant improvements to our expressions framework, including temporal, list, tensor, and struct datatype expressions. #### Ray Libraries ##### Ray Data 🎉 New Features: - Added predicate pushdown rule that pushes filter predicates past eligible operators ([#58150](https://github.com/ray-project/ray/pull/58150),[ #58555](https://github.com/ray-project/ray/pull/58555)) - Iceberg support for upsert tables, schema updates, and overwrite operations ([#58270](https://github.com/ray-project/ray/pull/58270)) - Iceberg support for predicate and projection pushdown ([#58286](https://github.com/ray-project/ray/pull/58286)) - Iceberg write datafiles in write() then commit ([#58601](https://github.com/ray-project/ray/pull/58601)) - Enhanced Unity Catalog integration ([#57954](https://github.com/ray-project/ray/pull/57954)) - Namespaced expressions that expose PyArrow functions ([#58465](https://github.com/ray-project/ray/pull/58465)) - Added version argument to read_delta_lake ([#54976](https://github.com/ray-project/ray/pull/54976)) - Generator UDF support for map_groups ([#58039](https://github.com/ray-project/ray/pull/58039)) - ApproximateTopK aggregator ([#57950](https://github.com/ray-project/ray/pull/57950)) - Serialization framework for preprocessors ([#58321](https://github.com/ray-project/ray/pull/58321)) - Support for temporal, list, tensor, and struct datatypes ([#58225](https://github.com/ray-project/ray/pull/58225)) 💫 Enhancements: - Use approximate quantile for RobustScaler preprocessor ([#58371](https://github.com/ray-project/ray/pull/58371)) - Map batches support for limit pushdown ([#57880](https://github.com/ray-project/ray/pull/57880)) - Make all map operations zero-copy by default ([#58285](https://github.com/ray-project/ray/pull/58285)) - Use tqdm_ray for progress reporting from workers ([#58277](https://github.com/ray-project/ray/pull/58277)) - Improved concurrency cap backpressure tuning ([#58163](https://github.com/ray-project/ray/pull/58163),[ #58023](https://github.com/ray-project/ray/pull/58023),[ #57996](https://github.com/ray-project/ray/pull/57996)) - Sample finalized partitions randomly to avoid lens effect ([#58456](https://github.com/ray-project/ray/pull/58456)) - Allow file extensions starting with '.' ([#58339](https://github.com/ray-project/ray/pull/58339)) - Set default file_extensions for read_parquet ([#56481](https://github.com/ray-project/ray/pull/56481)) - URL decode values in parse_hive_path ([#57625](https://github.com/ray-project/ray/pull/57625)) - Streaming partition enforces row_num per block ([#57984](https://github.com/ray-project/ray/pull/57984)) - Streaming repartition combines small blocks ([#58020](https://github.com/ray-project/ray/pull/58020)) - Lower DEFAULT_ACTOR_MAX_TASKS_IN_FLIGHT_TO_MAX_CONCURRENCY_FACTOR to 2 ([#58262](https://github.com/ray-project/ray/pull/58262)) - Set udf-modifying-row-count default to false ([#58264](https://github.com/ray-project/ray/pull/58264)) - Cache PyArrow schema operations ([#58583](https://github.com/ray-project/ray/pull/58583)) - Explain optimized plans ([#58074](https://github.com/ray-project/ray/pull/58074)) - Ranker interface ([#58513](https://github.com/ray-project/ray/pull/58513)) 🔨 Fixes: _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.52.0]_