blog & release
2021/07/08
Apache Beam 2.31.0Andrew Pilloud
We are happy to present the new 2.31.0 release of Beam. This release includes both improvements and new functionality. See the download page for this release.
For more information on changes in 2.31.0, check out the detailed release notes.
Highlights
I/Os
- Fixed bug in ReadFromBigQuery when a RuntimeValueProvider is used as value of table argument (Python) (BEAM-12514).
New Features / Improvements
CREATE FUNCTIONDDL statement added to Calcite SQL syntax.JARandAGGREGATEare now reserved keywords. (BEAM-12339).- Flink 1.13 is now supported by the Flink runner (BEAM-12277).
- DatastoreIO: Write and delete operations now follow automatic gradual ramp-up, in line with best practices (Java/Python) (BEAM-12260, BEAM-12272).
- Python
TriggerFnhas a newmay_lose_datamethod to signal potential data loss. Default behavior assumes safe (necessary for backwards compatibility). See Deprecations for potential impact of overriding this. (BEAM-9487).
Breaking Changes
- Python Row objects are now sensitive to field order. So
Row(x=3, y=4)is no longer considered equal toRow(y=4, x=3)(BEAM-11929). - Kafka Beam SQL tables now ascribe meaning to the LOCATION field; previously it was ignored if provided.
TopCombineFndisallowcompareas its argument (Python) (BEAM-7372).- Drop support for Flink 1.10 (BEAM-12281).
Deprecations
- Python GBK will stop supporting unbounded PCollections that have global windowing and a default trigger in Beam 2.33. This can be overriden with
--allow_unsafe_triggers. (BEAM-9487). - Python GBK will start requiring safe triggers or the
--allow_unsafe_triggersflag starting with Beam 2.33. (BEAM-9487).
Known Issues
- See a full list of issues that affect this version.
List of Contributors
According to git shortlog, the following people contributed to the 2.31.0 release. Thank you to all contributors!
Ahmet Altay, ajo thomas, Alan Myrvold, Alex Amato, Alexey Romanenko, AlikRodriguez, Anant Damle, Andrew Pilloud, Benjamin Gonzalez, Boyuan Zhang, Brian Hulette, Chamikara Jayalath, Daniel Oliveira, David Cavazos, David Huntsperger, David Moravek, Dmytro Kozhevin, dpcollins-google, Emily Ye, Ernesto Valentino, Evan Galpin, Fernando Morales, Heejong Lee, Ismaël Mejía, Jan Lukavský, Josias Rico, jrynd, Kenneth Knowles, Ke Wu, kileys, Kyle Weaver, masahitojp, Matthias Baetens, Maximilian Michels, Milena Bukal, Nathan J. Mehl, Pablo Estrada, Peter Sobot, Reuven Lax, Robert Bradshaw, Robert Burke, roger-mike, Sam Rohde, Sam Whittle, Stephan Hoyer, Tom Underhill, tvalentyn, Uday Singh, Udi Meiri, Vitaly Terentyev, Xinyu Liu, Yichi Zhang, Yifan Mai, yoshiki.obata, zhoufek
Latest from the blog
blog & gsoc
2025/10/14
Google Summer of Code 2025 - Enhanced Interactive Pipeline Development Environment for JupyterLab
Canyu Chen
blog & gsoc
2025/09/26
Google Summer of Code 2025 - Beam ML Vector DB/Feature Store integrations
Mohamed Awnallah
blog & gsoc
2025/09/23
Google Summer of Code 2025 - Beam YAML, Kafka and Iceberg User Accessibility
Charles Nguyen

