# Ray 2.43.0 — Ray-2.43.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2025-02-27 - Version: 2.43.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.43.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.43.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** — New module ray.data.llm for batch inference with large language models, featuring vLLMEngineProcessorConfig and HttpRequestProcessorConfig abstractions (alpha) - **added** — New module ray.serve.llm for serving large language models - **added** — Ray Train V2 available for testing with RAY_TRAIN_V2_ENABLED=1 environment variable - **added** — Integration with uv run for specifying Python dependencies for Ray cluster drivers and workers - **added** — Support class constructor args for filter() - **changed** — Implement accurate memory accounting for UnionOperator - **changed** — Implement accurate memory accounting for all-to-all operations - **changed** — Persist ParquetDatasource metadata - **changed** — Pass executor as an argument to ExecutionCallback - **changed** — Replace AggregateFn with AggregateFnV2 - **changed** — Add state tracking to train v2 to make run status, run attempts, and training worker metadata observable - **fixed** — Avoid memory leak with pyarrow.infer_type on datetime arrays - **fixed** — Fix parquet partition cols to support tensors types - **fixed** — Fix aggregation protocol to be appropriately associative #### Highlights - This release features new modules in Ray Serve and Ray Data for integration with large language models, marking the first step of addressing [#50639](https://github.com/ray-project/ray/issues/50639). Existing Ray Data and Ray Serve have limited support for LLM deployments, where users have to manually configure and manage the underlying LLM engine. In this release, we offer APIs for both batch inference and serving of LLMs within Ray in `ray.data.llm` and `ray.serve.llm`. See the below notes for more details. These APIs are marked as **alpha** -- meaning they may change in future releases without a deprecation period. - Ray Train V2 is available to try starting in Ray 2.43! Run your next Ray Train job with the `RAY_TRAIN_V2_ENABLED=1` environment variable. See [the migration guide](https://github.com/ray-project/ray/issues/49454) for more information. - A new integration with `uv run` that allows easily specifying Python dependencies for both driver and workers in a consistent way and enables quick iterations for development of Ray applications ([#50160](https://github.com/ray-project/ray/pull/50160), [50462](https://github.com/ray-project/ray/pull/50462)), check out our [blog post](https://www.anyscale.com/blog/uv-ray-pain-free-python-dependencies-in-clusters) #### Ray Libraries ##### Ray Data 🎉 New Features: - *Ray Data LLM*: We are introducing a new module in Ray Data for batch inference with LLMs (currently marked as **alpha**). It offers a new `Processor` abstraction that interoperates with existing Ray Data pipelines. This abstraction can be configured two ways: - Using the `vLLMEngineProcessorConfig`, which configures vLLM to load model replicas for high throughput model inference - Using the `HttpRequestProcessorConfig`, which sends HTTP requests to an OpenAI-compatible endpoint for inference. - Documentation for these features can be [found here.](https://docs.ray.io/en/master/data/working-with-llms.html) - Implement accurate memory accounting for `UnionOperator` ([#50436](https://github.com/ray-project/ray/pull/50436)) - Implement accurate memory accounting for all-to-all operations ([#50290](https://github.com/ray-project/ray/pull/50290)) 💫 Enhancements: - Support class constructor args for filter() ([#50245](https://github.com/ray-project/ray/pull/50245)) - Persist ParquetDatasource metadata. ([#50332](https://github.com/ray-project/ray/pull/50332)) - Rebasing `ShufflingBatcher` onto `try_combine_chunked_columns` ([#50296](https://github.com/ray-project/ray/pull/50296)) - Improve warning message if required dependency isn't installed ([#50464](https://github.com/ray-project/ray/pull/50464)) - Move data-related test logic out of core tests directory ([#50482](https://github.com/ray-project/ray/pull/50482)) - Pass executor as an argument to ExecutionCallback ([#50165](https://github.com/ray-project/ray/pull/50165)) - Add operator id info to task+actor ([#50323](https://github.com/ray-project/ray/pull/50323)) - Abstracting common methods, removing duplication in `ArrowBlockAccessor`, `PandasBlockAccessor` ([#50498](https://github.com/ray-project/ray/pull/50498)) - Warn if map UDF is too large ([#50611](https://github.com/ray-project/ray/pull/50611)) - Replace `AggregateFn` with `AggregateFnV2`, cleaning up Aggregation infrastructure ([#50585](https://github.com/ray-project/ray/pull/50585)) - Simplify Operator.__repr__ ([#50620](https://github.com/ray-project/ray/pull/50620)) - Adding in `TaskDurationStats` and `on_execution_step` callback ([#50766](https://github.com/ray-project/ray/pull/50766)) - Print Resource Manager stats in release tests ([#50801](https://github.com/ray-project/ray/pull/50801)) 🔨 Fixes: - Fix invalid escape sequences in `grouped_data.py` docstrings ([#50392](https://github.com/ray-project/ray/pull/50392)) - Deflake `test_map_batches_async_generator` ([#50459](https://github.com/ray-proj _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.43.0]_