# Ray 2.6.0 — Ray-2.6.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2023-07-21 - Version: 2.6.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.6.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.6.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** — Support for HTTP streaming response and WebSockets is now enabled by default in Ray Serve - **added** — Ray Serve @serve.batch-decorated methods can now stream responses - **added** — Support for restoring Results from local trial directories - **added** — New streaming integration of Ray Data and Ray Train allowing streaming data ingestion for model training and per-epoch data preprocessing - **added** — Add Dataset.unique() method - **added** — Add option for parallelizing post-collation data batch operations in DataIterator.iter_batches() - **added** — LightningTrainer support for DeepSpeedStrategy - **changed** — Users are now required to provide cloud storage or NFS path for distributed training or tuning jobs instead of a local path - **changed** — Enable execution optimizer by default in Ray Data - **changed** — Enforce strict mode batch format for DataIterator.iter_batches() - **changed** — Spread map task stages by default for arg size <50MB - **changed** — Unify Lightning and AIR CheckpointConfig - **changed** — Add support for custom pipeline class in TransformersPredictor - **deprecated** — DatasetPipeline API is deprecated in favor of Dataset with streaming execution - **deprecated** — BatchPredictor is deprecated - **fixed** — Fix infinite recursion in log redirection - **fixed** — Remove temporary checkpoint directories after restore - **fixed** — Fix bug in execution for actor re-use - **removed** — Remove ray.data.range_arrow() - **removed** — Remove deprecated mlflow and wandb integrations #### Release Highlights * **Serve**: Better streaming support -- In this release, Support for HTTP streaming response and WebSockets is now on by default. Also, `@serve.batch`-decorated methods can stream responses. * **Train and Tune**: Users are now expected to provide cloud storage or NFS path for distributed training or tuning jobs instead of a local path. This means that results written to different worker machines will not be directly synced to the head node. Instead, this will raise an error telling you to switch to one of the recommended alternatives: cloud storage or NFS. Please see https://github.com/ray-project/ray/issues/37177 if you have questions. * **Data**: We are introducing a new streaming integration of Ray Data and Ray Train. This allows streaming data ingestion for model training, and enables per-epoch data preprocessing. The DatasetPipeline API is also being deprecated in favor of Dataset with streaming execution. * **RLlib**: Public alpha release for the new multi-gpu Learner API that is less complex and more powerful compared to our previous solution ([blogpost](https://www.anyscale.com/blog/introducing-rllib-multi-gpu-stack-for-cost-efficient-scalable-multi-gpu-rl)). This is used under PPO algorithm by default. #### Ray Libraries ##### Ray AIR 🎉 **New Features**: * Added support for restoring Results from local trial directories. (#35406) 💫 **Enhancements**: * [Train/Tune] Disable Train/Tune syncing to head node (#37142) * [Train/Tune] Introduce new console output progress reporter for Train and Tune (#35389, #36154, #36072, #35770, #36764, #36765, #36156, #35977) * [Train/Data] New Train<>Data streaming integration (#35236, #37215, #37383) 🔨 **Fixes**: * Pass on KMS-related kwargs for s3fs (#35938) * Fix infinite recursion in log redirection (#36644) * Remove temporary checkpoint directories after restore (#37173) * Removed actors that haven't been started shouldn't be tracked (#36020) * Fix bug in execution for actor re-use (#36951) * Cancel `pg.ready()` task for pending trials that end up reusing an actor (#35748) * Add case for `Dict[str, np.array]` batches in `DummyTrainer` read bytes calculation (#36484) 📖 **Documentation**: * Remove experimental features page, add github issue instead (#36950) * Fix batch format in `dreambooth` example (#37102) * Fix Checkpoint.from_checkpoint docstring (#35793) 🏗 **Architecture refactoring**: * Remove deprecated mlflow and wandb integrations (#36860, #36899) * Move constants from tune/results.py to air/constants.py (#35404) * Clean up a few checkpoint related things. (#35321) ##### Ray Data 🎉 **New Features**: * New streaming integration of Ray Data and Ray Train. This allows streaming data ingestion for model training, and enables per-epoch data preprocessing. (#35236) * Enable execution optimizer by default (#36294, #35648, #35621, #35952) * Deprecate DatasetPipeline (#35753) * Add `Dataset.unique()` (#36655, #36802) * Add option for parallelizing post-collation data batch operations in `DataIterator.iter_batches()` (#36842) (#37260) * Enforce strict mode batch format for `DataIterator.iter_batches()` (#36686) * Remove `ray.data.range_arrow()` (#35756) 💫 **Enhancements**: * Optimize block prefetching (#35568) * Enable isort for data directory (#35836) * Skip writing a file for an empty block in `Dataset.write_datasource()` (#36134) * Remove shutdown logging from StreamingExecutor (#36408) * Spread map task stages by default for arg size <50MB (#36290) * Read->SplitBlocks to ensure requested read parallelism is always met (#36352) * Support partial execution in `Dataset.schema()` with new execution plan optimizer (#36740) * Propagate iter stats for `Dataset.streaming_split()` (#36908) * Cache the computed schema to avoid re-executing (#37103) 🔨 **Fixes**: * Support sub-progress bars on AllToAllOperators with optimizer enabled (#34997) * Fix DataContext not propagated properly _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.6.0]_