Skip to content

11.0.0

Latest

Choose a tag to compare

@ibis-project-bot ibis-project-bot released this 15 Oct 13:11
· 7 commits to main since this release

11.0.0 (2025-10-15)

⚠ BREAKING CHANGES

  • clickhouse: adjust array indexing code for later versions of clickhouse
  • trino: remove deprecated password parameter (#11538)
  • datatypes: DataType.name is removed. Use DataType.__class__.__name__ instead.
  • memtables: memtables can no longer be named explicitly, please use create_table or create_view to create a named object instead.
  • api: Struct.destructure is removed in favor of Table.unpack.
  • api: String.to_date is removed in favor of String.as_date.
  • api: String.to_timestamp method is removed in favor of String.as_timestamp.
  • api: IntegerValue.to_interval is removed. Use IntegerValue.as_interval instead.
  • api: IntegerValue.to_timestamp is removed. Use IntegerValue.as_timestamp instead.
  • api: ibis.case() is removed. Use ibis.cases() instead.
  • pyspark: Type annotations using pd.Series/pd.DataFrame are now required per the non-deprecated PySpark Pandas UDF API.

Features

  • databricks: allow reads of streaming tables (#11565) (75a944b)
  • databricks: use temporary view for memtables to avoid polluting the catalog (#11562) (346504f)
  • deps: support duckdb 1.4.0 (#11622) (aacf072)

Bug Fixes

  • backends: ensure that memtable finalizers do not hold onto references to self (096efa3)
  • clickhouse: adjust array indexing code for later versions of clickhouse (a16f13f)
  • clickhouse: ensure that sqlglot does not capitalize the translate function (6fcabf5)
  • clickhouse: reraise non-unknown-table exceptions when running get_schema queries (#11520) (c95436d)
  • duckdb: allow creating tables with columns containing sql keywords (#11532) (db1a727)
  • duckdb: support duckdb 1.4.1 (f9f2363)
  • exasol: ensure back compat for exasol (93e847c)
  • flink: update key_hack SQL for array handling (71b50a2)
  • impala: compile to NOW instead of hive-default current_timestamp (563cb8e)
  • lazily import packaging so we don't depend on it in a base install (bad3ca3)
  • packaging: remove unnecessary base install requirement for packaging and cleanup packaging requirement for other backends (05397d7)
  • pyspark: only register json unwraps if they are being used (#11503) (2fc3303)
  • snowflake: allow expressions in window bounds (a82631b)
  • typing: harmonize Table.join and Table.*_join type hints (c60431e)

Documentation

  • contribute: add missing "Install just" in uv set-up guide (68e8c55)
  • disable duckdb credential chain creation (393da16)
  • improve Value.identical_to() docstring and example (7c8fcf7)

Refactors

  • api: remove deprecated IntegerValue.to_interval method (378f7ee)
  • api: remove deprecated IntegerValue.to_timestamp method (12b92a5)
  • api: remove deprecated String.to_date method (0d22310)
  • api: remove deprecated String.to_timestamp method (db4c83b)
  • api: remove deprecated Struct.destructure method (95caf6e)
  • api: remove deprecated top-level case function (ce927d7)
  • binding: make DerefMap computation lazy and support multiple value inputs (#11540) (5757caa)
  • datatypes: fully remove unused DataType.name (#11102) (8a7534c)
  • memtables: remove support for problematic memtable properties (5d35ad5)
  • split temp table support along finalizer lines (4e4a165)
  • trino: remove deprecated password parameter (#11538) (a178459)

Performance

  • athena: replace list_table_metadata with get_table_metadata in _get_schema_with_query (#11573) (40b73e7)
  • athena: use get_table_metadata in get_schema (#11574) (e4e582a)
  • binding: only create a dereference map in Table.bind when needed (#11531) (90e790c)