NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI
BigQuery DataFrames -- scalable analytics and machine learning with BigQuery
Last release 25 days ago
09 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
127 releases · first in 2023
One column per quarter.
Nothing published for this version
bigframes: Transpiler supports more string ops
bigframes: add ai.embed and ai.similarity to bigquery accessor
bigframes: Support groupby.agg/transform with udf transpiler
bigframes: add ai.classify, ai.score, ai.if_ to the df bq accessor
add date functions to bigframes.bigquery module
bigframes.bigquery module (#17514) (e5d2e35)add bigframes.bigquery.bit_count and conversion scalar function
bigframes.bigquery.bit_count and conversion scalar function (#17433) (7f29823f)preserve aliases on cast columns and fix star selection in sqlglot (#17394) (#17455) (145034a3)
improve error message when unescaped { are found in SQL cells (#17346) (3a90cc8e)
bump pyarrow from 15.0.2 to 23.0.1 in /packages/bigframes (#17386) (f59c2b2a)
bigframes.bigquery.bit_count and conversion scalar function (#17433) (7f29823fadb3cff42dbe666f8c7aa33bab3c7021){ are found in SQL cells (#17346) (3a90cc8e867c8a2d2f8060858fde9eda94f80a54)Add ai_generate functions to the dataframe bq accessor
Add ai_generate functions to the dataframe bq accessor (#17302) (6b62cb6f)
support automatic per-cell execution history filtering and isolated callbacks (#17144) (7d440111)
create Series.bigquery.function_name accessors for array and AEAD functions (#17279) (d01a4ba3)
Series.bigquery.function_name accessors for array and AEAD functions (#17279) (d01a4ba30040cfcb6498d0e9ef3ed3a54d56239d)complete deprecation and cleanup of multimodal blob APIs
bigframes.bigquery (#17213) (4f8a6c81797204f4334c7251c244bc0b6bd568e2)bigframes.bigquery.deterministic_decrypt* and bigframes.bigquery.deterministic_encrypt functions (#17212) (85f36725802f3e7ad16156ca9e957e61d57d3112)bigframes.bigquery.aead.* scalar functions (#17168) (a7e4d048e254cdb723df0a47ccbd8d09aed00c7a)Add docs to the to_csv methods of dataframe and series
hparam_range and hparam_candidates to bigframes.bigquery.create_model (#16640) (ca47835ce0e381c0833545ca1cf7734c3c34ceb5)copy argument warning in to_pandas (#16917) (fe5245b8f20dd94231e72e2572609e029ee137c7)Rename Blob column references to ObjectRef column
df.bigquery.ai.forecast method to pandas dataframe accessor (#2518) (1126cec9cdfcc1ec1062c60e5affbe1b60223767)add notebooks to user guide page
df.bigquery pandas accessor (#2513) (91b6c245521218bb78b543885e1b9424278ce2ab)bigframes.bigquery.rand() function (#2501) (5c43efb745118f506ecc30196da68e9d6f4346dc)%%bqsql magics (#2504) (43353e2bc9ffbc38b7383c24ecaac80d3b8bab32)add code sample and docstring for bpd.options.experiments.sql_compiler
update multimodal dataframe notebook to use public APIs
fix cast method shown on public docs
bigframes.bigquery.ai.generate_embedding (#2343) (e91536c8a5b2d8d896767510ced80c6fd2a68a97)%%bqsql cell magics output (#2439) (2d973b54550f30429dbd10894f78db7bb0c57345)add deprecation warnings for .blob accessor and read_gbq_object_table
bigframes.pandas.options.experiments.sql_compiler for switching the backend compiler (#2417) (7eba6ee03f07938315d99e2aeaf72368c02074cf)add bigquery.ml.transform function
bigframes.bigquery.obj (#2380) (9c3bbc36983dffb265454f27b37450df8c5fbc71)generate sitemap.xml for better search indexing
add bigframes.bigquery.ml methods
bigframes.bigquery.ml methods (#2300) (719b278c844ca80c1bec741873b30a9ee4fd6c56)Add Google Analytics configuration to conf.py
dataframes.bigquery.dev location (#2293) (da064397acd2358c16fdd9659edf23afde5c882a)bigframes.bigquery.ai functions when connection_id is not present (#2272) (7c062a68c6a3c9737865985b4f1fd80117490c73)Nothing published for this version
Add bigframes.bigquery.st_regionstats to join raster data from Earth Engine
to_pandas_batches() (#2216) (3d8b17f)Add bigframes.bigquery.st_simplify
read_gbq (#1895) (d97cafc)Update AI operators deprecation notice
np.isnan and np.isfinite ufuncs (#2188) (68723bc)turn Series.struct.dtypes into a property to match pandas
all and any compatible with integer columns on Polars session (#2154) (6353d6e)blob.display() shows <NA> for null rows (#2158) (ddb4df0)Add Index.__eq__ for consts, aligned objects
cut, DataFrame, MultiIndex, Index, Series, to_datetime, and to_timedelta methods (#2157) (5e1e809)Add ai.classify() to bigframes.bigquery package
Add ai.generate_int to bigframes.bigquery package
GroupBy.__iter__ (#1394) (c56a78c)Index.to_list() (#2106) (60056ca)DataFrame.drop (#2105) (3487f13)Support average='binary' in precision_score()
Add __dataframe__ interchange support
__dataframe__ interchange support (#2063) (3b46a0d)repr_mode (#2082) (5ce5d63)add allow_large_results option to read_gbq_query, aligning with bpd.options.compute.allow_large_results option
allow_large_results option to read_gbq_query, aligning with bpd.options.compute.allow_large_results option (#1935)allow_large_results option to read_gbq_query, aligning with bpd.options.compute.allow_large_results option (#1935) (a7963fe)Add bigframes.pandas.options.display.precision option
bigframes.pandas.options.display.precision option (#1979) (15e6175)repr_mode = "anywidget", numeric values align right (15e6175)Add st_buffer, st_centroid, and st_convexhull and their corresponding GeoSeries methods
st_buffer, st_centroid, and st_convexhull and their corresponding GeoSeries methods (#1963) (c4c7fa5)remote_function more robust when there are create_function retries (#1973) (cd954ac)Dynamic table width for better display across devices
_read_gbq_colab creates hybrid session
Add code samples for dbt bigframes integration
max_batching_rows, container_cpu, and container_memory for udf (#1897) (8baa912)Add __contains__ to Index, Series, DataFrame
__contains__ to Index, Series, DataFrame (#1899) (07222bf)thresh param for Dataframe.dropna (#1885) (1395a50)date data type for to_datetime() (#1902) (24050cb)df.to_pandas_batches() returns one empty DataFrame if df is empty
Add bpd.read_arrow to convert an Arrow object into a bigframes DataFrame
bpd.read_arrow to convert an Arrow object into a bigframes DataFrame (#1855) (633bf98)deploy_remote_function and deploy_udf functions to immediately deploy functions to BigQuery (#1832) (c706759)dry_run=True from bpd._read_gbq_colab with local pandas DataFrame (#1867) (fab3c38)add required param 'engine' to multimodal functions
bpd.options.compute.maximum_result_rows option to limit client data download (#1829) (e22a3f6)bpd.options.display.repr_mode = "anywidget" to create an interactive display of the results (#1820) (be0a3cf)Add bbq.json_query_array and warn bbq.json_extract_array deprecated
remote_function (#1796) (e586151)Implement item() for Series and Index
read_csv with both index_col and use_cols behavior inconsistency with pandas (#1785) (ba7c313)Add bbq.json_query and warn bbq.json_extract deprecated
ai.map() parameter list is not backward-compatiblebpd.options.bigquery.requests_transport_adapters option (#1755) (bb45db8)inplace=True in rename and rename_axis (#1744) (734cc65)unique() for Index (#1750) (27fac78)MatrixFactorization.score(X, y) (#1726) (55c07e9)allow_large_results=False (#1763) (15f3f2a)GeminiTextGenerator.predict(..., output_schema={...}) sample notebook (#1748) (bd07e05)bqclient._http.credentials instead of bqclient._credentials (#1784) (6e63eca)Deprecate bpd.options.bigquery.allow_large_results in favor of bpd.options.compute.allow_large_results
dt accessors (#1692) (9d4a59d).dt.days, .dt.seconds, dt.microseconds, and dt.total_seconds() for timedelta series. (#1713) (2b3a45f)DatetimeIndex class (#1719) (c3c830c)isocalendar() for dt accessor" (#1717) (0479763)Series.apply for direct udfs (#1673) (1a658b2)_TABLE_SUFFIX in to_gbq() (#1691) (8ec6079)read_gbq with wildcard tables (#1661) (5c125c9)bpd.options.bigquery.allow_large_results in favor of bpd.options.compute.allow_large_results (#1597) (18780b4)Add dry_run parameter to read_gbq(), read_gbq_table() and read_gbq_query()
Add gemini-2.0-flash-001 and gemini-2.0-flash-lite-001 to fine tune score endponts and multimodal endpoints
PreviewWarning for the bpd.udf (#1629) (48d10d1)Add bigframes.bigquery.st_distance function
bigframes.bigquery.st_distance function (#1637) (bf1ae70)read_csv index_col parameter support (#1631) (f4e5b26)Warn the deprecated max_download_size, random_state and sampling_method parameters in (DataFrame|Series).to_pandas()
dataset and name params mandatory in udf (#1619)remote_function to internal-only (#1544)remote_function params keyword only (#1537)remote_function default service account explicit (#1537)allow_large_results=False by default (#1541)on parameter in dataframe.rolling() and dataframe.groupby.rolling() (#1556) (45c9d9f)input_types, output_type, and dataset to be used positionally in remote_function (#1560) (bcac8c6)remote_function to internal-only (#1544) (c848a80)remote_function default service account explicit (#1537) (9eb9089)allow_large_results=False by default (#1541) (e9fb712)max_download_size, random_state and sampling_method parameters in (DataFrame|Series).to_pandas() (#1573) (b9623da)to_pandas_batches() respects page_size and max_results again (#1572) (27c5905)page_size works correctly in to_pandas_batches when max_results is not set (#1588) (570cff3)dataset and name params mandatory in udf (#1619) (637e860)KeyError in bpd.concat with empty DF and struct/array types DF (#1568) (b4da1cf)bigquery_connection in [@bpd](https://github.com/bpd).udf docstring (#1609) (ef63772)time_series_id_col feature (#1577) (1e4cd9c)TextEmbedddingGenerator, GeminiTextGenerator, and other bigframes.ml.llm classes (#1570) (89ab33e)GeminiTextGenerator (#1562) (0cc6784)Nothing published for this version
Add deprecation warning to TextEmbeddingGenerator model, espeically gemini-1.0-X and gemini-1.5-X
closed parameter in rolling() (#1539) (8bcc89b)GeoSeries.difference() and bigframes.bigquery.st_difference() (#1471) (e9fe815)GeoSeries.intersection() and bigframes.bigquery.st_intersection() (#1529) (8542bd4)to_pandas() (#1436) (75fc7e0)udf to preview (#1536) (4a7fe4d)Add support for the 'right' parameter in 'pandas.cut'
read_gbq_function (#1476) (802183d)reading JSON data as a custom arrow extension type
== instead of is for timedelta type equality checks (#1480) (0db248b)(Preview) Support diff() for date series
diff() for date series (#1423) (521e987)allow_large_results option to many I/O methods. Set to False to reduce latency (#1428) (dd2f488)GeoSeries.boundary() (#1435) (32cddfe)cloud_function_service_account is used in remote_function (#1424) (fe7463a)(Preview) Support diff aggregation for timestamp series.
GeoSeries.from_wkt() and GeoSeries.to_wkt() (#1401) (2993b28)read_gbq_function (#1412) (4b60049)(Preview) Support add, sub, mult, div, and more between timedeltas
(Preview) Support addition between a timestamp and a timedelta
bigframes.bigquery.st_area and suggest it from GeoSeries.area (#1318) (8b5ffa8)GeoSeries.from_xy() (#1364) (3c3e14c)(Preview) Support timedeltas for read_pandas()
case_when to change dtypes if case list contains the condition (True, some_default_value) (#1311) (5c2a2c6)DataFrame and Series __call__ from unimplemented API metrics (#1351) (f2d5264)DataFrame __getattr__ and __setattr__ more robust to subclassing (#1352) (417de3a)Your coding agent can read these notes before it upgrades. Set up the MCP server →