|
| 1 | +--- |
| 2 | +title: "Apache Beam 2.74.0" |
| 3 | +date: 2026-05-?? 9:00:00 -0700 |
| 4 | +categories: |
| 5 | + - blog |
| 6 | + - release |
| 7 | +authors: |
| 8 | + - vterentev |
| 9 | +--- |
| 10 | +<!-- |
| 11 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 12 | +you may not use this file except in compliance with the License. |
| 13 | +You may obtain a copy of the License at |
| 14 | +http://www.apache.org/licenses/LICENSE-2.0 |
| 15 | +Unless required by applicable law or agreed to in writing, software |
| 16 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 17 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 18 | +See the License for the specific language governing permissions and |
| 19 | +limitations under the License. |
| 20 | +--> |
| 21 | + |
| 22 | +We are happy to present the new 2.74.0 release of Beam. |
| 23 | +This release includes both improvements and new functionality. |
| 24 | +See the [download page](/get-started/downloads/#2740-2026-05-??) for this release. |
| 25 | + |
| 26 | +<!--more--> |
| 27 | + |
| 28 | +For more information on changes in 2.74.0, check out the [detailed release notes](https://github.com/apache/beam/milestone/42). |
| 29 | + |
| 30 | +## Highlights |
| 31 | + |
| 32 | +* Spark 4 runner support for Java SDK ([#38255](https://github.com/apache/beam/issues/38255)). |
| 33 | + |
| 34 | +### I/Os |
| 35 | + |
| 36 | +* IcebergIO: support declaring a table's sort order on dynamic table creation via the new `sort_fields` config ([#38269](https://github.com/apache/beam/issues/38269)). |
| 37 | +* IcebergIO: support writing with hash distribution mode, and with autosharding ([#38061](https://github.com/apache/beam/issues/38061))). |
| 38 | + |
| 39 | +### New Features / Improvements |
| 40 | + |
| 41 | +* Capability introduces an indicator for aggregations and timers firing during a pipeline drain, allowing users and sinks to recognize and appropriately handle potentially incomplete or partial data ([#36884](https://github.com/apache/beam/issues/36884)). |
| 42 | +* Added support for setting disk provisioned IOPS and throughput in Dataflow runner via `--diskProvisionedIops` and `--diskProvisionedThroughputMibps` pipeline options (Java/Go/Python) ([#38349](https://github.com/apache/beam/issues/38349)). |
| 43 | +* TriggerStateMachineRunner changes from BitSetCoder to SentinelBitSetCoder to |
| 44 | + encode finished bitset. SentinelBitSetCoder and BitSetCoder are state |
| 45 | + compatible. Both coders can decode encoded bytes from the other coder |
| 46 | + ([#38139](https://github.com/apache/beam/issues/38139)). |
| 47 | +* (Python) Added type alias for with_exception_handling to be used for typehints. ([#38173](https://github.com/apache/beam/issues/38173)). |
| 48 | +* (Java) BatchElements transform for Java SDK ([#38369](https://github.com/apache/beam/issues/38369)) |
| 49 | +* Added plugin mechanism to support different Lineage implementations (Java) ([#36790](https://github.com/apache/beam/issues/36790)). |
| 50 | +* (Python) Supported Python user type in Beam SQL. For example, SQL statements like `SELECT some_field from PCOLLECTION` can now operate a PCollection of Beam Row containing pickable Python user type ([#20738](https://github.com/apache/beam/issues/20738)). |
| 51 | +* (Python) Introduced `beam.coders.registry.register_row` as preferred API to register a named tuple or dataclass with a Beam Row. At pipelne runtime, the original type associated with the registered row are preserved across the serialization boundary ([#38108](https://github.com/apache/beam/issues/38108)). |
| 52 | + |
| 53 | +### Breaking Changes |
| 54 | + |
| 55 | +* (Python) Made Beartype the default fallback type checking tool. This can be disabled with the `--disable_beartype` pipeline option. ([#38275](https://github.com/apache/beam/issues/38275)) |
| 56 | + |
| 57 | +### Deprecations |
| 58 | + |
| 59 | +* Dropped Java 8 support ([#31678](https://github.com/apache/beam/issues/31678)). |
| 60 | +* Removed Samza Runner support ([#35448](https://github.com/apache/beam/issues/35448)). |
| 61 | + |
| 62 | +### Bugfixes |
| 63 | + |
| 64 | +* Fixed BigQueryEnrichmentHandler batch mode dropping earlier requests when multiple requests share the same enrichment key (Python) ([#38035](https://github.com/apache/beam/issues/38035)). |
| 65 | +* Added `max_batch_duration_secs` passthrough support in Python Enrichment BigQuery and CloudSQL handlers so batching duration can be forwarded to `BatchElements` ([#38243](https://github.com/apache/beam/issues/38243)). |
| 66 | + |
| 67 | +### Security Fixes |
| 68 | + |
| 69 | +* Fixed [CVE-YYYY-NNNN](https://www.cve.org/CVERecord?id=CVE-YYYY-NNNN) (Java/Python/Go) ([#X](https://github.com/apache/beam/issues/X)). |
| 70 | +## List of Contributors |
| 71 | + |
| 72 | +According to git shortlog, the following people contributed to the 2.74.0 release. Thank you to all contributors! |
| 73 | + |
| 74 | +Abdelrahman Ibrahim, Ahmed Abualsaud, Andrew Crites, Andrew Kabas, Arran Cudbard-Bell, Arun Pandian, Asish Kumar, Bentsi Leviav, Blake Jones, Bruno Volpato, Chris Jordan, Danny McCormick, Deji Ibrahim, Derrick Williams, Elia LIU, Ganesh Sivakumar, Jack McCluskey, Kenneth Knowles, Lalit Yadav, M Junaid Shaukat, Matej Aleksandrov, Prabhnoor Singh, Radek Stankiewicz, Radosław Stankiewicz, Reuven Lax, RuiLong J., Sam Whittle, Shunping Huang, Subramanya V, Tarun Annapareddy, Tobias Kaymak, TongruiLi, Valentyn Tymofieiev, Vitaly Terentyev, XQ Hu, Yi Hu, ZIHAN DAI, apanich, bambadiouf1, chenxuesdu, claudevdm, harshadkhetpal, johnjcasey, parveensania, tianz101 |
0 commit comments