From 37040880debcffe5f13adb0868568522157b350f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 30 Apr 2024 18:01:13 +0000 Subject: [PATCH] chore(release): 9.0.0 --- docs/release_notes_generated.qmd | 499 +++++++++++++++++++++++++++++++ ibis/__init__.py | 2 +- pyproject.toml | 2 +- 3 files changed, 501 insertions(+), 2 deletions(-) diff --git a/docs/release_notes_generated.qmd b/docs/release_notes_generated.qmd index c9314cc3cca9..baac438ed0ed 100644 --- a/docs/release_notes_generated.qmd +++ b/docs/release_notes_generated.qmd @@ -1,6 +1,505 @@ --- --- +## [9.0.0](https://github.com/ibis-project/ibis/compare/8.0.0...9.0.0) (2024-04-30) + + +### ⚠ BREAKING CHANGES + +* **udf:** The `schema` parameter for UDF definition has been removed. A new `catalog` parameter has been added. Ibis uses the word database to refer to a collection of tables, and the word catalog to refer to a collection of databases. You can use a combination of `catalog` and `database` to specify a hierarchical location for the UDF. +* **pyspark:** Arguments to `create_database`, `drop_database`, and `get_schema` are now keyword-only except for the `name` args. Calls to these functions that have relied on positional argument ordering need to be updated. +* **dask:** the dask backend no longer supports `cov`/`corr` with `how="pop"`. +* **duckdb:** Calling the `get` or `contains` method on `NULL` map +values now returns `NULL`. Use `coalesce(map.get(...), default)` or +`coalesce(map.contains(), False)` to get the previous behavior. +* **api:** Integer inputs to `select` and `mutate` are now always interpreted as literals. Columns can still be accessed by their integer index using square-bracket syntax. +* **api:** strings passed to table.mutate() are now interpreted as +column references instead of literals, use `ibis.literal(string)` to +pass the string as a literal +* **ir:** `Schema.apply_to()` is removed, use `ibis.formats.pandas.PandasConverter.convert_frame()` instead +* **ddl:** We are removing the word `schema` in its hierarchical +sense. We use `database` to mean a collection of tables. The behavior of +all `*_database` methods now applies only to collections of tables and +never to collections of `database` (formerly `schema`) +* `CanListDatabases` abstract methods now all refer to +collections of tables. +* `CanCreateDatabases` abstract methods now all refer to +collections of tables. +* `list_databases` now takes a kwarg `catalog`. +* `create_database` now takes a kwarg `catalog`. +* `drop_database` now takes a kwarg `catalog`. +* `current_database` now refers to the current collection of tables. +* `CanCreateSchema` is deprecated and `create_schema`, `drop_schema`, + `list_schemas`, and `current_schema` are deprecated and redirect to the + corresponding method/property ending in `database`. +* We add a `CanListCatalog` and `CanCreateCatalog` that can list and + create collections of `database`, respectively. + The new methods are `list_catalogs`, `create_catalog`, `drop_catalog`, +* There is a new `current_catalog` property. + +refactor(duckdb): catalog database switchover + +refactor(snowflake): catalog database switchover + +refactor(trino): catalog database switchover + +refactor(postgres): catalog database switchover + +refactor(oracle): catalog database switchover + +refactor(mssql): catalog database switchover + +refactor(bigquery): catalog database switchover + +refactor(clickhouse): catalog database switchover + +refactor(datafusion): catalog database switchover + +refactor(mysql): catalog database switchover + +refactor(exasol): catalog database switchover + +refactor(risingwave): catalog database switchover + +test(list_databases): add test for list_database contents +* **api:** timecontext feature is removed +* **api:** The `by` argument from `asof_join` is removed. Calls to `asof_join` that previously used `by` should pass those arguments to `predicates` instead. +* **cleanup:** Deprecated methods and properties `op`, `output_dtype`, and `output_shape` are removed. `op` is no longer needed, and use `.dtype` and `.shape` respectively for the other two. +* **api:** expr.topk(...) now includes null counts. The row count of the topk call will not differ, but the number of nulls counted will no longer be zero. To drop the null row use the dropna method. +* **api:** `ibis.rows_with_max_lookback()` function and `ibis.window(max_lookback)` argument are removed +* **strings:** Backends that previously used initcap (analogous to str.title) to implement StringValue.capitalize() will produce different results when the input string contains multiple words (a word's definition being backend-specific). +* **impala:** Impala UDFs no longer require explicit registration. Remove any calls to `Function.register`. If you were passing `database` to `Function.register`, pass that to `scalar_function` or `aggregate_function` as appropriate. +* **pandas:** the `timecontext` feature is not supported anymore +* **api:** `on` paremater of `table.asof_join()` is now only +accept a single predicate, use `predicates` to supply additional +join predicates. + +### Features + +* add to_date function to StringValue ([#9030](https://github.com/ibis-project/ibis/issues/9030)) ([0701978](https://github.com/ibis-project/ibis/commit/07019781e2992eaaf785a93429da692f3469cd3d)), closes [#8908](https://github.com/ibis-project/ibis/issues/8908) +* **api:** add `.as_scalar()` method for turning expressions into scalar subqueries ([#8350](https://github.com/ibis-project/ibis/issues/8350)) ([8130169](https://github.com/ibis-project/ibis/commit/81301690fc7b955c215562d6a7040d0691088ebe)) +* **api:** add `catalog` and `database` kwargs to `ibis.table` ([#8801](https://github.com/ibis-project/ibis/issues/8801)) ([7d593c4](https://github.com/ibis-project/ibis/commit/7d593c42ec66526dbad10cb545a2468d1bc4940d)) +* **api:** add `describe` method to compute summary stats of table expressions ([#8739](https://github.com/ibis-project/ibis/issues/8739)) ([c8d98a1](https://github.com/ibis-project/ibis/commit/c8d98a16e2a18ba0964b0b9f0c0ce2ea7bb274cf)) +* **api:** add `ibis.today()` for retrieving the current date ([#8664](https://github.com/ibis-project/ibis/issues/8664)) ([5e10d17](https://github.com/ibis-project/ibis/commit/5e10d179db8dc6f5962a85b00f10c4ab1c225dc4)) +* **api:** add a `to_polars()` method for returning query results as `polars` objects ([53454c1](https://github.com/ibis-project/ibis/commit/53454c13e1b1d8a2f01b9543d69e5b9fd0be2466)) +* **api:** add a `uuid` function for returning a new uuid ([#8438](https://github.com/ibis-project/ibis/issues/8438)) ([965b6d9](https://github.com/ibis-project/ibis/commit/965b6d98a3b9059f1e5fb6ab4b4ffe3afd7be452)) +* **api:** add API for unwrapping JSON values into backend-native values ([#8958](https://github.com/ibis-project/ibis/issues/8958)) ([aebb5cf](https://github.com/ibis-project/ibis/commit/aebb5cfa8d683903495efc1a1aa849335b1a2cf7)) +* **api:** add disconnect method ([#8341](https://github.com/ibis-project/ibis/issues/8341)) ([32665af](https://github.com/ibis-project/ibis/commit/32665af38db705c48a649c315bf1ca1dc1ad9b88)), closes [#5940](https://github.com/ibis-project/ibis/issues/5940) +* **api:** allow *arg syntax with GroupedTable methods ([#8923](https://github.com/ibis-project/ibis/issues/8923)) ([489bb89](https://github.com/ibis-project/ibis/commit/489bb89e77f78e444b6fd12510686a17673f15d0)) +* **api:** count nulls with topk ([#8531](https://github.com/ibis-project/ibis/issues/8531)) ([54c2c70](https://github.com/ibis-project/ibis/commit/54c2c70eaf452555c222bcf078f846924608e25d)) +* **api:** expose common types in the top-level `ibis` namespace ([#9008](https://github.com/ibis-project/ibis/issues/9008)) ([3f3ed27](https://github.com/ibis-project/ibis/commit/3f3ed2792f0e93b208fbe24bd2716a0b86618a3a)), closes [#8717](https://github.com/ibis-project/ibis/issues/8717) +* **api:** include bad type in NotImplementedError ([#8291](https://github.com/ibis-project/ibis/issues/8291)) ([36da06b](https://github.com/ibis-project/ibis/commit/36da06bf79c1980aac4a73200403d52928b4846c)) +* **api:** natively support polars dataframes in `ibis.memtable` ([464bebc](https://github.com/ibis-project/ibis/commit/464bebc1425b8b4943d515549e44d9e9c7b60371)) +* **api:** support `Table.order_by(*keys)` ([6ade4e9](https://github.com/ibis-project/ibis/commit/6ade4e94b4b575bdd0e17fe0052ded7c9bba74e0)) +* **api:** support all dtypes in MapGet and MapContains ([#8648](https://github.com/ibis-project/ibis/issues/8648)) ([401e0a4](https://github.com/ibis-project/ibis/commit/401e0a4b7ade3ab60ac6739eda44a39ec263b630)) +* **api:** support converting ibis types & schemas to/from polars types & schemas ([73add93](https://github.com/ibis-project/ibis/commit/73add932e60a293f104a1f4835b8491397d62a06)) +* **api:** support Deferreds in Array.map and .filter ([#8267](https://github.com/ibis-project/ibis/issues/8267)) ([8289d2c](https://github.com/ibis-project/ibis/commit/8289d2c10cd555c86a043c39025c221eddea5ccd)) +* **api:** support the inner join convenience to not repeat fields known to be equal ([#8127](https://github.com/ibis-project/ibis/issues/8127)) ([798088d](https://github.com/ibis-project/ibis/commit/798088d38dd13d78ef5612447496927de93b6b45)) +* **api:** support variadic arguments on `Table.group_by()` ([#8546](https://github.com/ibis-project/ibis/issues/8546)) ([665bc4f](https://github.com/ibis-project/ibis/commit/665bc4f05e29d2e94fd467b4d3c698f4366ee5cc)) +* **backends:** introducing ibish the infinite scale backend you always wanted ([#8785](https://github.com/ibis-project/ibis/issues/8785)) ([1d51243](https://github.com/ibis-project/ibis/commit/1d5124365c1abefbc9a6d938c52ffc6e1f3285d1)) +* **bigquery:** support polars memtables ([26d103d](https://github.com/ibis-project/ibis/commit/26d103dca1f43b2429f371db3f3b7a72243658f6)) +* **common:** add `Dispatched` base class for convenient visitor pattern implementation ([f80c5b3](https://github.com/ibis-project/ibis/commit/f80c5b3731919096ddaad2b7667523acd6d007d6)) +* **common:** add `Node.find_below()` methods to exclude the root node from filtering ([#8861](https://github.com/ibis-project/ibis/issues/8861)) ([80d12a2](https://github.com/ibis-project/ibis/commit/80d12a2dd412b1bf1fd1c6732eb083da54d65b9e)) +* **common:** add a memory efficient `Node.map()` implementation ([e3f2217](https://github.com/ibis-project/ibis/commit/e3f2217c4767a13f84e62adb2c8f8fc31290b61f)) +* **common:** also traverse nodes used as dictionary keys ([#9041](https://github.com/ibis-project/ibis/issues/9041)) ([02c6607](https://github.com/ibis-project/ibis/commit/02c66078e6551584d2e10a32552b4decf7ec7762)) +* **common:** introduce `FrozenOrderedDict` ([#9081](https://github.com/ibis-project/ibis/issues/9081)) ([f926995](https://github.com/ibis-project/ibis/commit/f926995d0d84b81a81ef659a81f3b5e9f7cad321)), closes [#9063](https://github.com/ibis-project/ibis/issues/9063) +* **datafusion, flink, mssql:** add uuid operation ([#8545](https://github.com/ibis-project/ibis/issues/8545)) ([2f85a42](https://github.com/ibis-project/ibis/commit/2f85a420c665240c75f91f146ac209c5ce8213fc)) +* **datafusion:** add array and strings functions ([#8895](https://github.com/ibis-project/ibis/issues/8895)) ([2f23223](https://github.com/ibis-project/ibis/commit/2f232239a5f02b98e6819f5a3ae683d60bf23f6f)) +* **datafusion:** implement `arbitrary` ([43a8f50](https://github.com/ibis-project/ibis/commit/43a8f50e42de1e0a5521e899e6ddb1ebb2c5fa32)) +* **datafusion:** port to new sqlglot backend ([3aa109a](https://github.com/ibis-project/ibis/commit/3aa109aa7dc12ea3b4aee62d14a7f852991e83e9)) +* **datatypes:** convert money and small money datatype to decimal datatype ([#8556](https://github.com/ibis-project/ibis/issues/8556)) ([ecc5d70](https://github.com/ibis-project/ibis/commit/ecc5d70a7d0b3266ed471e08540029deba428901)) +* **duckdb:** add support for read_mysql ([#8656](https://github.com/ibis-project/ibis/issues/8656)) ([4ea4a1d](https://github.com/ibis-project/ibis/commit/4ea4a1d8cda634d13dcbc647753ddd1625e8db83)) +* **duckdb:** allow all-null columns in memtables ([#8367](https://github.com/ibis-project/ibis/issues/8367)) ([b2ae64a](https://github.com/ibis-project/ibis/commit/b2ae64a693c55a165ee3cc4ce5b8dc075597de0e)) +* **duckdb:** support `asof` joins including `tolerance` parameter ([104cb9b](https://github.com/ibis-project/ibis/commit/104cb9b7f86e88aea52b23d3e69f92c415acedbb)) +* **exasol:** add support for bit operations ([#8741](https://github.com/ibis-project/ibis/issues/8741)) ([4aa721e](https://github.com/ibis-project/ibis/commit/4aa721e55f8e5f9cdd3db8539e66f76e29dc32e6)) +* **exasol:** add support for DateDelta ([dd639ca](https://github.com/ibis-project/ibis/commit/dd639ca2bbf227c2015357472bf4731341e90dfe)) +* **exasol:** add support for DayOfWeekName ([#8589](https://github.com/ibis-project/ibis/issues/8589)) ([de4e988](https://github.com/ibis-project/ibis/commit/de4e988a8afd529d59b8cf114b262e2b107df64d)) +* **exasol:** add support for extract epoch seconds ([#8726](https://github.com/ibis-project/ibis/issues/8726)) ([db79aae](https://github.com/ibis-project/ibis/commit/db79aae0729d011a794fdc8dbcbe75513deae3fb)) +* **exasol:** add support for extract seconds ([#8723](https://github.com/ibis-project/ibis/issues/8723)) ([fb7e533](https://github.com/ibis-project/ibis/commit/fb7e5334dd4ad0f25b6ec0c8e4feafc970029d17)) +* **exasol:** add support for ExtractDayOfYear ([#8578](https://github.com/ibis-project/ibis/issues/8578)) ([df2b69e](https://github.com/ibis-project/ibis/commit/df2b69e6740182a4b1815c980ca3fef15f84f536)) +* **exasol:** add support for extracting milliseconds from timestamps ([#8722](https://github.com/ibis-project/ibis/issues/8722)) ([1778de5](https://github.com/ibis-project/ibis/commit/1778de5a14c9d2516e5b98ecb9c65a546d40c5a1)) +* **exasol:** add support for ExtractQuarter ([#8587](https://github.com/ibis-project/ibis/issues/8587)) ([0d9b676](https://github.com/ibis-project/ibis/commit/0d9b676e2867072addebfe46c68f6c7be8ac0d1b)) +* **exasol:** add support for ExtractWeekOfYear ([#8588](https://github.com/ibis-project/ibis/issues/8588)) ([68925f6](https://github.com/ibis-project/ibis/commit/68925f6e3c38c798a5da2184d3b7e2efcc787bd0)) +* **exasol:** add support for hexdigest ([#8740](https://github.com/ibis-project/ibis/issues/8740)) ([76d8ef0](https://github.com/ibis-project/ibis/commit/76d8ef00171e0173ab08568481168c6c2fda66da)) +* **exasol:** add support for TimestampNow ([#8563](https://github.com/ibis-project/ibis/issues/8563)) ([94e79e4](https://github.com/ibis-project/ibis/commit/94e79e40febcb5ab637b3c8d7f9c8d2f8d7bfe6e)) +* **flink:** add map support ([#8425](https://github.com/ibis-project/ibis/issues/8425)) ([68739a2](https://github.com/ibis-project/ibis/commit/68739a2b72b5b741de63827eebef34214ace6691)) +* **flink:** implement support for array expansion ([#8511](https://github.com/ibis-project/ibis/issues/8511)) ([a6e6564](https://github.com/ibis-project/ibis/commit/a6e6564c967830baa45004121e557c216cfe13ea)) +* **flink:** implement UDF support for the backend ([#8142](https://github.com/ibis-project/ibis/issues/8142)) ([a3b1cc6](https://github.com/ibis-project/ibis/commit/a3b1cc616e3e421e71cf962e8ce8cfddbe233b7b)) +* **geo-duckdb:** support casting binary to geometry ([#9062](https://github.com/ibis-project/ibis/issues/9062)) ([1926eb4](https://github.com/ibis-project/ibis/commit/1926eb40ae4a8aadb4899645745145247636056c)) +* **geospatial:** add support for duckdb operations on literals ([#8570](https://github.com/ibis-project/ibis/issues/8570)) ([b4c4369](https://github.com/ibis-project/ibis/commit/b4c43690da24c00b91d67a19e8cd664f51a66aa0)) +* **graphviz:** node- and edge-specific custom attributes ([#8527](https://github.com/ibis-project/ibis/issues/8527)) ([98c52aa](https://github.com/ibis-project/ibis/commit/98c52aa85157b5fc3fd740f77fc1466b4da2e4b6)) +* **graphviz:** support custom node and edge attributes in `ibis.visualize` ([#8510](https://github.com/ibis-project/ibis/issues/8510)) ([ee821b1](https://github.com/ibis-project/ibis/commit/ee821b1cb12caec196eecf6e300935ae6aa89034)) +* **ir:** add `StringSlice` ([#8832](https://github.com/ibis-project/ibis/issues/8832)) ([e4e3531](https://github.com/ibis-project/ibis/commit/e4e3531726dda4509bcd9e948ef50469255b6d3e)) +* **ir:** add default implementation of pretty formatting nodes ([#8880](https://github.com/ibis-project/ibis/issues/8880)) ([a696c70](https://github.com/ibis-project/ibis/commit/a696c70c223285874442027bde15d3b7c96e494d)) +* **ir:** more flexible dereferencing support for join right hand side ([#8992](https://github.com/ibis-project/ibis/issues/8992)) ([d7a31aa](https://github.com/ibis-project/ibis/commit/d7a31aaa89837fb6a6a287121655b4f0f12a5384)), closes [#9043](https://github.com/ibis-project/ibis/issues/9043) [#9041](https://github.com/ibis-project/ibis/issues/9041) +* **ir:** support pretty printing arbitrary traversable objects ([#9043](https://github.com/ibis-project/ibis/issues/9043)) ([68dfe39](https://github.com/ibis-project/ibis/commit/68dfe397a8d378f7c0c046cd1dc1c66e8c703c0f)) +* **ir:** support showing variable names used to create an expression in `repr()` ([#8630](https://github.com/ibis-project/ibis/issues/8630)) ([220085e](https://github.com/ibis-project/ibis/commit/220085e8c5408fff8267e0764a1d578f8f83faf9)) +* **mssql:** add datatype mapping for `hierarchyid` ([#8397](https://github.com/ibis-project/ibis/issues/8397)) ([2fd2c30](https://github.com/ibis-project/ibis/commit/2fd2c30d441203d37dc922a9bd9078c29fc838ad)) +* **mssql:** use integrated auth when no user or password supplied ([#8668](https://github.com/ibis-project/ibis/issues/8668)) ([0a78414](https://github.com/ibis-project/ibis/commit/0a78414f7b9ee09fbce67ebdf47fd8fb73e16a42)) +* new backend issue template ([#8449](https://github.com/ibis-project/ibis/issues/8449)) ([e4edc78](https://github.com/ibis-project/ibis/commit/e4edc785a2e4324143c51c566458cf44af3be973)) +* **pandas, polars, dask, datafusion:** enable create local backends with empty url ([#8860](https://github.com/ibis-project/ibis/issues/8860)) ([9dabae0](https://github.com/ibis-project/ibis/commit/9dabae060eda544f9770449fbc9dfaa167a3f2e6)), closes [#8450](https://github.com/ibis-project/ibis/issues/8450) +* **polars:** add limited support for table dot sql ([#8528](https://github.com/ibis-project/ibis/issues/8528)) ([b2a4fbb](https://github.com/ibis-project/ibis/commit/b2a4fbb6250e1e417d20b4778cba162bc54a460d)) +* **polars:** implement `arbitrary` ([973c3d3](https://github.com/ibis-project/ibis/commit/973c3d3a4da14901c518a9f1353df9b5b4b7b891)) +* **postgres:** add mappings for more esoteric dtypes ([#9055](https://github.com/ibis-project/ibis/issues/9055)) ([5cb83fc](https://github.com/ibis-project/ibis/commit/5cb83fc86cefac59f68099039863c5b056ac1cb6)), closes [#8845](https://github.com/ibis-project/ibis/issues/8845) +* **postgres:** support loading tables with `pgvector` column types ([#9037](https://github.com/ibis-project/ibis/issues/9037)) ([8846514](https://github.com/ibis-project/ibis/commit/8846514fbc39a9dca6e4295de3ca0d00ae9a7289)) +* **postgres:** use port in connection string ([d561c01](https://github.com/ibis-project/ibis/commit/d561c01402669852db18d164c99a52e970ef0248)) +* **pyspark:** add catalog support to pyspark ([#9042](https://github.com/ibis-project/ibis/issues/9042)) ([2c1a58e](https://github.com/ibis-project/ibis/commit/2c1a58e25575f9f0d9876e37b49154e276558526)), closes [#9038](https://github.com/ibis-project/ibis/issues/9038) +* **pyspark:** add support for PySpark 3.5 ([65717f4](https://github.com/ibis-project/ibis/commit/65717f4e495388e97b2adb112b097a6f361d7cde)) +* **pyspark:** support `ibis.pyspark.connect()` ([#8515](https://github.com/ibis-project/ibis/issues/8515)) ([0f663e6](https://github.com/ibis-project/ibis/commit/0f663e68dd30d3dc27ec83f787f438f96c71f6cc)) +* **python:** support python 3.12 ([7056dea](https://github.com/ibis-project/ibis/commit/7056dea79939732f85ee5ecf23bd4c118a94e6dd)) +* **risingwave:** add streaming DDLs ([#8239](https://github.com/ibis-project/ibis/issues/8239)) ([356e459](https://github.com/ibis-project/ibis/commit/356e4593f21bf662f5e55f307694a616c712eeec)) +* **snowflake:** allow empty url when using ibis.connect ([#8428](https://github.com/ibis-project/ibis/issues/8428)) ([0275c9b](https://github.com/ibis-project/ibis/commit/0275c9bcfb2905c916e0d8abbb5b78315f14a5f6)), closes [#8422](https://github.com/ibis-project/ibis/issues/8422) +* **snowflake:** create an ibis backend from a snowpark session ([#8962](https://github.com/ibis-project/ibis/issues/8962)) ([f15d033](https://github.com/ibis-project/ibis/commit/f15d033e8437c7b63f5cee5a8aff8273c9b0352a)) +* **snowflake:** support connecting with no arguments ([#8422](https://github.com/ibis-project/ibis/issues/8422)) ([543a2ec](https://github.com/ibis-project/ibis/commit/543a2ec70c891537c1b78734085392b2729e3c98)) +* **sql:** add option to enable/disable select merging ([#9065](https://github.com/ibis-project/ibis/issues/9065)) ([4bc9314](https://github.com/ibis-project/ibis/commit/4bc93148e590de538bb29809a56819e87f749e8a)), closes [#9064](https://github.com/ibis-project/ibis/issues/9064) [#9058](https://github.com/ibis-project/ibis/issues/9058) +* **sql:** extract common table expressions ([0324372](https://github.com/ibis-project/ibis/commit/03243729e06e240b0479766401ba9abab86d7610)) +* **sql:** lower expressions to SQL-like relational operations ([6f7f190](https://github.com/ibis-project/ibis/commit/6f7f190b836c377456d78260edf61c3d8b31834c)) +* **sql:** use `SELECT *` for complete reprojections ([#9075](https://github.com/ibis-project/ibis/issues/9075)) ([a9aa8a7](https://github.com/ibis-project/ibis/commit/a9aa8a78564a81e4dc2edc7e5126c18ad520db9e)) +* **trino:** implement existing json functionality ([#8963](https://github.com/ibis-project/ibis/issues/8963)) ([964ac3e](https://github.com/ibis-project/ibis/commit/964ac3ea7458bf54fc6b7d648991287f7bddfcae)) +* **trino:** port to sqlglot ([9c5a907](https://github.com/ibis-project/ibis/commit/9c5a907ae360dc9b241b9a9e3bd17f77206c25be)) +* **ux:** add Table and Column.preview() ([#7915](https://github.com/ibis-project/ibis/issues/7915)) ([1c03ad0](https://github.com/ibis-project/ibis/commit/1c03ad0187a0c9cfc0d14928f16314564eba0bec)), closes [#7408](https://github.com/ibis-project/ibis/issues/7408) [#7172](https://github.com/ibis-project/ibis/issues/7172) + + +### Bug Fixes + +* **api:** forbid using `asc`/`desc` in selections ([62992c3](https://github.com/ibis-project/ibis/commit/62992c3170cf6b9a09798e1ceca75004c4335cd4)) +* **api:** improve error message raised on improper calls to array `map` or `filter` ([#8602](https://github.com/ibis-project/ibis/issues/8602)) ([0236370](https://github.com/ibis-project/ibis/commit/0236370e5a85b7995ab4b3c4a588e757d55b300c)) +* **api:** restore and deprecate `ir.Table.to_array()` ([#8227](https://github.com/ibis-project/ibis/issues/8227)) ([22de674](https://github.com/ibis-project/ibis/commit/22de674afb987b031cfb9574b2833170e341f752)) +* **api:** return NULL when NULL is passed to `Array.zip` ([#8652](https://github.com/ibis-project/ibis/issues/8652)) ([fac85f0](https://github.com/ibis-project/ibis/commit/fac85f0a79b548d28982f8fff9abb94cbbf975a2)) +* **api:** selection using a selector yielding multiple columns ([#8215](https://github.com/ibis-project/ibis/issues/8215)) ([869889b](https://github.com/ibis-project/ibis/commit/869889b0e9f5f82f3194433b26e7769286deca21)) +* **api:** support passing literal booleans to `filter` ([2aa31f4](https://github.com/ibis-project/ibis/commit/2aa31f443d65c7b72932235137511eb52a2255c0)) +* **backends:** make string concat-with-null behavior consistent across backends ([#8305](https://github.com/ibis-project/ibis/issues/8305)) ([2d97b8e](https://github.com/ibis-project/ibis/commit/2d97b8e5151e1d1c68bad57399bafc547e333008)), closes [#8302](https://github.com/ibis-project/ibis/issues/8302) +* **bigquery:** do not overwrite the entire default query job config ([b42fb1c](https://github.com/ibis-project/ibis/commit/b42fb1c0ffa0af99f651689dd256706f6915d4a1)) +* **bigquery:** ensure session creation before creating temp tables ([#8976](https://github.com/ibis-project/ibis/issues/8976)) ([314abe4](https://github.com/ibis-project/ibis/commit/314abe4a6ea5975745bf4079045e86acd380c0dd)), closes [#8975](https://github.com/ibis-project/ibis/issues/8975) +* **bigquery:** get literals working again ([#8577](https://github.com/ibis-project/ibis/issues/8577)) ([6369734](https://github.com/ibis-project/ibis/commit/63697345c40679d5be904d2bf4cd6e88407a72c2)) +* **bigquery:** restore option to specify table path in table name ([a9beadb](https://github.com/ibis-project/ibis/commit/a9beadbb7bf1826780e8fda551d5e96d21d19586)) +* **clickhouse:** adjust for new timestamp behavior and regen sql ([4bdc040](https://github.com/ibis-project/ibis/commit/4bdc04049e0072955b965b895dd67fcd108d792d)) +* **clickhouse:** avoid forcing UTC to allow connection to servers that do not allow it ([#8762](https://github.com/ibis-project/ibis/issues/8762)) ([52eeea9](https://github.com/ibis-project/ibis/commit/52eeea91ab874841844977e9e9e1c8fd431b91d5)) +* **clickhouse:** make arrays non nullable ([#8501](https://github.com/ibis-project/ibis/issues/8501)) ([1caf6de](https://github.com/ibis-project/ibis/commit/1caf6dea3bafc6cc100cb10936db75546cf0d87e)) +* **clickhouse:** use backwards compatible string search function ([bb736fe](https://github.com/ibis-project/ibis/commit/bb736fe94c5324e0696d5a6f96aab9c8c6247e5c)) +* **common:** `Node.map_clear` should have return type annotation `Any` ([#8564](https://github.com/ibis-project/ibis/issues/8564)) ([8d7baae](https://github.com/ibis-project/ibis/commit/8d7baae4ffaeb7f0e8265a2849a576556def5733)) +* **common:** don't match an `Object` pattern with more positional arguments defined than `__match_args__` has ([2e63bba](https://github.com/ibis-project/ibis/commit/2e63bba8e1070c83eb5ffd1a8d7704cf9021c344)) +* **common:** intermediate result removal fails if there are duplicated dependencies ([e3e17db](https://github.com/ibis-project/ibis/commit/e3e17db7ecad0d6f8b77661fab9399f3fac734e7)) +* **comparison:** wrap isnull equality check in parens ([#8366](https://github.com/ibis-project/ibis/issues/8366)) ([247e2f7](https://github.com/ibis-project/ibis/commit/247e2f708c2b43b689cfb13bdff0f0451213ac86)) +* **conversion:** convert decimals to the exact precision and scale requested by the input type ([8c1e6f4](https://github.com/ibis-project/ibis/commit/8c1e6f43d93995a84dfad38ef453e33176cd1806)) +* **dask:** don't call `compute` when executing `argmin`/`argmax` ([1204c56](https://github.com/ibis-project/ibis/commit/1204c561c4fbc26df42c4e5f9ca1e91b15a6b666)) +* **dask:** don't call `compute` when executing `cov`/`corr` ([a876c47](https://github.com/ibis-project/ibis/commit/a876c47689c407cd45f5487048324cbdeb4f7f2e)) +* **dask:** fix argmin/argmax implementation for dask ([93834f1](https://github.com/ibis-project/ibis/commit/93834f1e32203509d1bb72c0a534297ab8056e33)) +* **dask:** pin dask version to avoid automatically picking up dask-expr ([#8629](https://github.com/ibis-project/ibis/issues/8629)) ([f1d0f65](https://github.com/ibis-project/ibis/commit/f1d0f65d13da527ccef29108e54e1935755aab7a)) +* datafusion: ensure that to_pyarrow_batches does do compute ([d1a62d0](https://github.com/ibis-project/ibis/commit/d1a62d03ff2417584577e38d44c7558ff5bdce62)) +* **datatypes:** always quote sqlglot struct fields ([#8777](https://github.com/ibis-project/ibis/issues/8777)) ([18bb91b](https://github.com/ibis-project/ibis/commit/18bb91bebe73773c609f7cf26484cb7637e22f24)), closes [#8771](https://github.com/ibis-project/ibis/issues/8771) +* **datatypes:** convert UUIDs to strings ([#8262](https://github.com/ibis-project/ibis/issues/8262)) ([6f32374](https://github.com/ibis-project/ibis/commit/6f32374fd1add436635c2ea5a6da86ac127c5182)) +* **decompile:** ensure that `SelfReference` is decompiled with a call to `.view()` ([4a44c57](https://github.com/ibis-project/ibis/commit/4a44c579cbfba20b3a24f24812b71eae83ef0830)) +* **deps:** bump dependencies' lower bounds to reflect tested minimum version ([#8977](https://github.com/ibis-project/ibis/issues/8977)) ([9c29f28](https://github.com/ibis-project/ibis/commit/9c29f2870e959cf1a6e261df8056bfb9c0c4b839)), closes [#8795](https://github.com/ibis-project/ibis/issues/8795) +* **deps:** bump polars lower bound ([#8841](https://github.com/ibis-project/ibis/issues/8841)) ([125e4ad](https://github.com/ibis-project/ibis/commit/125e4ad9c9d1180b7ecd0eb2879147939cd9d456)) +* **deps:** bump sqlglot to pick up duckdb array fixes ([#8682](https://github.com/ibis-project/ibis/issues/8682)) ([a3bd853](https://github.com/ibis-project/ibis/commit/a3bd85303c8400f7eaea102103dcc330d5bfd2dd)) +* **deps:** support pandas 2.2 ([#8758](https://github.com/ibis-project/ibis/issues/8758)) ([4b476ba](https://github.com/ibis-project/ibis/commit/4b476ba343b323fefd39dd8795e6352d8edb99c8)) +* **deps:** update dependency datafusion to v36 ([#8612](https://github.com/ibis-project/ibis/issues/8612)) ([5a67102](https://github.com/ibis-project/ibis/commit/5a67102af70150e021bec9ef98fd054e106bb23d)) +* **deps:** update dependency pyarrow to v16 ([#9033](https://github.com/ibis-project/ibis/issues/9033)) ([a687ec1](https://github.com/ibis-project/ibis/commit/a687ec1920c7f8c5bf706eb271c562e3bf572cf1)) +* **deps:** update dependency sqlglot to >=22,<22.5 ([#8635](https://github.com/ibis-project/ibis/issues/8635)) ([267f4bc](https://github.com/ibis-project/ibis/commit/267f4bc6e7b33fa8c26e7d36d45ee1efb21a21d9)) +* **deps:** update dependency sqlglot to >=23.4,<23.10 ([#8787](https://github.com/ibis-project/ibis/issues/8787)) ([0f00101](https://github.com/ibis-project/ibis/commit/0f00101c4b85ea9641722ceab209e61ad53d42a0)) +* **deps:** update dependency sqlglot to >=23.4,<23.11 ([#8957](https://github.com/ibis-project/ibis/issues/8957)) ([2b7f7b1](https://github.com/ibis-project/ibis/commit/2b7f7b17b6cbae8b066d198ff9ecebf39216b854)) +* **deps:** update dependency sqlglot to >=23.4,<23.12 ([#9029](https://github.com/ibis-project/ibis/issues/9029)) ([1cace01](https://github.com/ibis-project/ibis/commit/1cace018513982392110024ddf4e41da939b8fa5)) +* **deps:** update dependency sqlglot to >=23.4,<23.13 ([#9056](https://github.com/ibis-project/ibis/issues/9056)) ([5dac34d](https://github.com/ibis-project/ibis/commit/5dac34d599450dea415b770ea528f58cbb71fbf0)) +* **deps:** update dependency sqlglot to v21 ([#8272](https://github.com/ibis-project/ibis/issues/8272)) ([efaa365](https://github.com/ibis-project/ibis/commit/efaa36561733ae24927142e4bd02869b4edd07ea)) +* **deps:** update dependency sqlglot to v22 ([8aa4222](https://github.com/ibis-project/ibis/commit/8aa42221f8aec76ddd87a4f6d233c285b90c22d0)) +* **deps:** update dependency sqlglot to v23 ([#8688](https://github.com/ibis-project/ibis/issues/8688)) ([5041894](https://github.com/ibis-project/ibis/commit/5041894e319d809f5386326c35a90bd5632af297)) +* **druid:** array_string_join and to_polars extra column ([2311d4f](https://github.com/ibis-project/ibis/commit/2311d4fed5407e0c8420fee404d053aae01692a3)) +* **druid:** import pydruid.db module explicitly ([#8782](https://github.com/ibis-project/ibis/issues/8782)) ([550ada0](https://github.com/ibis-project/ibis/commit/550ada01a40308565d350f6873dc5ebff0854957)) +* **duckdb-sql:** ignore importlib package errors when importing ibis.snowflake for transpilation ([#8389](https://github.com/ibis-project/ibis/issues/8389)) ([b968301](https://github.com/ibis-project/ibis/commit/b968301a12f1cc0ef7e79e1b941b778ef7f6665c)) +* **duckdb:** add `flip_coordinates` translation to sqlglot duckdb backend ([f7df510](https://github.com/ibis-project/ibis/commit/f7df5107e00c6f4fdaecc52fb89303f5336bd656)) +* **duckdb:** allow connection to motherduck via ibis.connect ([#8357](https://github.com/ibis-project/ibis/issues/8357)) ([42f45fe](https://github.com/ibis-project/ibis/commit/42f45fe59da492897f0449468a3036384be34214)), closes [#8355](https://github.com/ibis-project/ibis/issues/8355) +* **duckdb:** allow passing both overwrite and temp to create_table ([b9b19e0](https://github.com/ibis-project/ibis/commit/b9b19e0322d9f7f7d4c735304d0a1597ae8485be)) +* **duckdb:** ensure that create_schema and create_database are actually tested ([ba31f82](https://github.com/ibis-project/ibis/commit/ba31f824533510a50bc92edddb6a4ac9e932d7aa)) +* **duckdb:** ensure that structs can be used with sqlglot 20.1.0 ([17be43a](https://github.com/ibis-project/ibis/commit/17be43a1081c34582408d4c627191263ec948ada)) +* **duckdb:** generate struct fields with propertyeq instead of slice ([d2c1316](https://github.com/ibis-project/ibis/commit/d2c1316d16286eb16e2b3569dc2ba1b5a53ef6af)) +* **duckdb:** load extension when executing geospatial expressions ([#9080](https://github.com/ibis-project/ibis/issues/9080)) ([1960d54](https://github.com/ibis-project/ibis/commit/1960d545e0cb5f64b4efeed50aa036c318d52d9b)) +* **duckdb:** parenthesize argument to StructField operation to support field access on CASE statements ([#8486](https://github.com/ibis-project/ibis/issues/8486)) ([1371016](https://github.com/ibis-project/ibis/commit/1371016f8d1766f0bca4b7361db2dd6f5834fedd)) +* **duckdb:** pass global replace flag to `ops.RegexReplace` translation rule ([e46260d](https://github.com/ibis-project/ibis/commit/e46260d11a32e2538f5eec6d753f0fafb94fc42f)) +* **duckdb:** udfs builtins taking zero args ([ab39344](https://github.com/ibis-project/ibis/commit/ab393441267aa38f92eaab8db6ed813d587b4a66)) +* **duckdb:** workaround for duckdb Map NULL bugs ([#8649](https://github.com/ibis-project/ibis/issues/8649)) ([75d32e5](https://github.com/ibis-project/ibis/commit/75d32e5f4c7af61b95b48075a08a7f12fad1ac04)) +* **duckdb:** workaround remaining null map issues ([#8985](https://github.com/ibis-project/ibis/issues/8985)) ([b6c71d7](https://github.com/ibis-project/ibis/commit/b6c71d783d0764006a93e1aeafeab1dbd5505fcd)), closes [#8632](https://github.com/ibis-project/ibis/issues/8632) +* fix SQL backend has_operation to include operations supported through rewrite rules ([133a1f1](https://github.com/ibis-project/ibis/commit/133a1f19fc27e795b08dba47b15941dfac995e36)) +* **flink:** avoid non-existent sge.NULL ([9f190eb](https://github.com/ibis-project/ibis/commit/9f190ebe0ceb3fc222ed17740d417d5c7efc9eab)) +* **flink:** cast map key lookups because flink requires exact type matches ([#8724](https://github.com/ibis-project/ibis/issues/8724)) ([6893a5f](https://github.com/ibis-project/ibis/commit/6893a5f44ab648db354ec33e0806574d43fd94c3)) +* **flink:** fix compilation of memtable with nested data ([#8751](https://github.com/ibis-project/ibis/issues/8751)) ([364a6ee](https://github.com/ibis-project/ibis/commit/364a6eeb4736babd02dc04e4897391a4736980d0)), closes [#8516](https://github.com/ibis-project/ibis/issues/8516) +* **flink:** fix compilation of over aggregation query in flink backend ([#8359](https://github.com/ibis-project/ibis/issues/8359)) ([de174a2](https://github.com/ibis-project/ibis/commit/de174a220fd24ea6b5ab9ec5b0c6aa3352d9d3aa)) +* **graphviz:** show proper field attributes of accessed relations and do not display join link property accesses ([#8521](https://github.com/ibis-project/ibis/issues/8521)) ([69d6c73](https://github.com/ibis-project/ibis/commit/69d6c7386e6c79859037629dd247e2e07ec5e67c)) +* **impala:** remove no-longer-used temporary database and paths that may prevent connection success ([#8489](https://github.com/ibis-project/ibis/issues/8489)) ([32fcce6](https://github.com/ibis-project/ibis/commit/32fcce633017be3e7e300d199a7a784e66ada761)), closes [#8466](https://github.com/ibis-project/ibis/issues/8466) +* **ir:** `asof` join `tolerance` parameter should post-filter and post-join instead of adding a predicate ([e380e79](https://github.com/ibis-project/ibis/commit/e380e79efe5c5c597b8a7f0eb782d8d3e0ba2243)) +* **ir:** accidentally remapping fields during bind() ([#8988](https://github.com/ibis-project/ibis/issues/8988)) ([f4cee67](https://github.com/ibis-project/ibis/commit/f4cee6736256dda3daabc8270862018d02d6623d)), closes [#8884](https://github.com/ibis-project/ibis/issues/8884) +* **ir:** compute `InSubquery.shape` property from `needle` input ([#8364](https://github.com/ibis-project/ibis/issues/8364)) ([13d675e](https://github.com/ibis-project/ibis/commit/13d675e7de3409fb1d221a39ebf2dc330cec67ec)), closes [#8361](https://github.com/ibis-project/ibis/issues/8361) +* **ir:** fix window boundaries being forcefully casted ([#8400](https://github.com/ibis-project/ibis/issues/8400)) ([09b6ada](https://github.com/ibis-project/ibis/commit/09b6adaeecf1b6388866856c795022cfca4b2679)) +* **ir:** make impure ibis.random() and ibis.uuid() functions return unique node instances ([#8967](https://github.com/ibis-project/ibis/issues/8967)) ([741063a](https://github.com/ibis-project/ibis/commit/741063a7a7d70f30535f8659ad45dd289e07946e)) +* **ir:** only dereference comparisons not generic binary operations ([05ac73a](https://github.com/ibis-project/ibis/commit/05ac73a8a58c1db87c217514db8a097013a49691)) +* **ir:** self reference fields were incorrectly dereferenced to the parent relation ([7bfebe2](https://github.com/ibis-project/ibis/commit/7bfebe228b52441d705d130ee23a8ca3bfb96470)) +* make devcontainer work correctly ([#9019](https://github.com/ibis-project/ibis/issues/9019)) ([a696c58](https://github.com/ibis-project/ibis/commit/a696c5822c3c14236ab16202ac3acc69e22d0ceb)), closes [#9011](https://github.com/ibis-project/ibis/issues/9011) +* **mssql:** don't use the removed `sge.TRUE` and `sge.FALSE` literals ([7e0b735](https://github.com/ibis-project/ibis/commit/7e0b735c0815686132c0ecb38cab354d0dc26ffe)) +* **mssql:** restore any, all and cumulative versions ([#8409](https://github.com/ibis-project/ibis/issues/8409)) ([99a4022](https://github.com/ibis-project/ibis/commit/99a40224f44a9649ba000517cb7fc9b43b618d2e)), closes [#8073](https://github.com/ibis-project/ibis/issues/8073) +* **mssql:** restore unbounded window functions ([#8411](https://github.com/ibis-project/ibis/issues/8411)) ([0211d4f](https://github.com/ibis-project/ibis/commit/0211d4f3aaab83ce5ddae5cd0a6242a940af3309)) +* **mysql:** remove not-allowed frame clause from rank window function ([ee96cef](https://github.com/ibis-project/ibis/commit/ee96cefed6d4fe0d9b57788e559e57d6da62b3fc)) +* **oracle:** allow passing both overwrite and temp to create_table ([3ce4766](https://github.com/ibis-project/ibis/commit/3ce4766332342c7ca258d876218ccd70931ef328)) +* **oracle:** clean up memtables at exit ([dc34f61](https://github.com/ibis-project/ibis/commit/dc34f61e299026a3cb6edecfca6e2a05bd83a296)) +* **oracle:** enable dropping temporary tables ([1dffd5e](https://github.com/ibis-project/ibis/commit/1dffd5ed74a33ae3fd185e6b6aa7f701b45c82c1)) +* **oracle:** map bare `NUMBER` to `int64` and consolidate data type mapping code for shared inference ([#8626](https://github.com/ibis-project/ibis/issues/8626)) ([b5f9bbe](https://github.com/ibis-project/ibis/commit/b5f9bbe2de8352ef043331bd95b4e2dcf199bbb5)) +* **pandas:** make case work for non-RangeIndex dataframes ([#9083](https://github.com/ibis-project/ibis/issues/9083)) ([73dd685](https://github.com/ibis-project/ibis/commit/73dd685d4e2b894f711e720b882d63d02ba88226)) +* **pandas:** map `date` type to `datetime64[s]` ([#8667](https://github.com/ibis-project/ibis/issues/8667)) ([6bd965e](https://github.com/ibis-project/ibis/commit/6bd965eb4100e1e91bfff2c99fc093659a4478be)) +* **pandas:** use mergesort for deterministic sorting ([6042a71](https://github.com/ibis-project/ibis/commit/6042a7188f8b9080a5241a5902c1ad4b9332a95e)) +* **polars:** columns are picked from the correct side in case of conflicting names ([#8134](https://github.com/ibis-project/ibis/issues/8134)) ([4273cef](https://github.com/ibis-project/ibis/commit/4273cefed884ab14b25828dcc607eaaf153a4d83)) +* **polars:** ensure `t.select(col=scalar)` results in `len(t)` rows ([#8665](https://github.com/ibis-project/ibis/issues/8665)) ([6c00579](https://github.com/ibis-project/ibis/commit/6c005797e031ff7a6d3ec9c674d1cdcb72104aa5)) +* **polars:** ensure that reading from a compressed csv triggers in-memory read ([b3bbde1](https://github.com/ibis-project/ibis/commit/b3bbde12ed67fcbbfd809b043b5bc819f13bfa51)) +* **polars:** force null sorting to match the rest of ibis ([b475c36](https://github.com/ibis-project/ibis/commit/b475c36cf9ac59d7d385071bc04ce720e8790e7c)) +* **polars:** reference the correct field in the `ops.SelfReference` rule ([a371274](https://github.com/ibis-project/ibis/commit/a371274f61c137e952cfb50f71a2d5c120265b3c)) +* **polars:** support order by computed column ([ddf56cb](https://github.com/ibis-project/ibis/commit/ddf56cb2978676d7b6554824ad704e425f4f0570)) +* **polars:** use value type of array type for int_ranges construction ([c24c54e](https://github.com/ibis-project/ibis/commit/c24c54eda559f42e1d56be80beaa4c717bdd1209)) +* **polars:** user newer `drop` API in asof join implementation ([c65d9f8](https://github.com/ibis-project/ibis/commit/c65d9f8fc7592811907f3672427230ea4b3c4ae9)) +* **polars:** user newer `drop` API to avoid deprecation warning ([43424ea](https://github.com/ibis-project/ibis/commit/43424eaa90c894ec60131b383f5eb28db4cbe8da)) +* **postgres:** fix compilation of array string join and map/struct field extraction ([306d0fc](https://github.com/ibis-project/ibis/commit/306d0fc542be91e00e9b21cca0a2a5ba7f51fc12)) +* **postgres:** fix json type conversion in `to_pyarrow` output ([#8439](https://github.com/ibis-project/ibis/issues/8439)) ([b338517](https://github.com/ibis-project/ibis/commit/b3385178286b405932b36ebff35db538447943ea)), closes [#8318](https://github.com/ibis-project/ibis/issues/8318) +* **postgres:** pass through additional kwargs in pguri ([7ab4fda](https://github.com/ibis-project/ibis/commit/7ab4fda354986715ec55eec2d20edbcc4c3db65b)) +* **pyarrow:** map date type to arrow date32 not date64 ([05575b7](https://github.com/ibis-project/ibis/commit/05575b7ec420b5fc741c76f635aa5ed7e3db4c65)) +* **pyarrow:** support accepting pyarrow dictionary types as inputs ([#8276](https://github.com/ibis-project/ibis/issues/8276)) ([14c4226](https://github.com/ibis-project/ibis/commit/14c422684c3fdb377c23f33187c76f789259d9ad)), closes [#8207](https://github.com/ibis-project/ibis/issues/8207) +* **pyspark:** don't use the removed `sge.NULL`, `sge.TRUE` and `sge.FALSE` literals ([dffb44a](https://github.com/ibis-project/ibis/commit/dffb44a5233bd7a0f57ea76a4122e051b00e96f9)) +* **pyspark:** ensure that `to_delta` works and is tested ([64af56a](https://github.com/ibis-project/ibis/commit/64af56ac0b24209fd41bbda5d93ad0b3d979d2f0)) +* **pyspark:** ensure that the output of zip matches the expected ibis schema ([#9052](https://github.com/ibis-project/ibis/issues/9052)) ([be9d5da](https://github.com/ibis-project/ibis/commit/be9d5da3fa253b86e61ef350d187ea3253f81343)), closes [#9049](https://github.com/ibis-project/ibis/issues/9049) +* **pyspark:** force sqlglot to generate first/last ([fbfc3c1](https://github.com/ibis-project/ibis/commit/fbfc3c1a99f09fe0c60079b56b05abce5ecf6625)) +* **pyspark:** remove use of attribute that prevents using spark connect ([#9061](https://github.com/ibis-project/ibis/issues/9061)) ([b48f451](https://github.com/ibis-project/ibis/commit/b48f451de77bd9af832cea10d7ddf8c44097c45a)), closes [#9060](https://github.com/ibis-project/ibis/issues/9060) +* **pyspark:** unwind catalog/database settings in same order they were set ([#9067](https://github.com/ibis-project/ibis/issues/9067)) ([962ee00](https://github.com/ibis-project/ibis/commit/962ee00c6fd88c13124e26489e1b615a466d8cd6)) +* **rewrites:** add missing filter arguments for `node.replace()` calls ([196e716](https://github.com/ibis-project/ibis/commit/196e716751dd76035d43c8b4fcbd1455d783a3be)) +* **rewrites:** change `TableColumn` -> `Field` in rewrites ([#8448](https://github.com/ibis-project/ibis/issues/8448)) ([3730eb6](https://github.com/ibis-project/ibis/commit/3730eb6f1885be5795bbc8efde7b1e44d695da88)) +* **risingwave:** gen correct jsonb extract path function ([7b0d6a9](https://github.com/ibis-project/ibis/commit/7b0d6a97be4eb4dfa7bffad1fbd361ccc72e99c8)) +* **risingwave:** set implicit flush to true ([#8929](https://github.com/ibis-project/ibis/issues/8929)) ([fe16877](https://github.com/ibis-project/ibis/commit/fe16877b55c383c2d594814ab5f0ac7c8e24bf25)) +* **snowflake-snowpark:** disable the `reconnect` method ([#8969](https://github.com/ibis-project/ibis/issues/8969)) ([e31eded](https://github.com/ibis-project/ibis/commit/e31eded9bdc50f821d7d4f33620420e3f8bf00a4)) +* **snowflake:** bring back default nth behavior from before the-epic-split ([e943667](https://github.com/ibis-project/ibis/commit/e94366700ae460052f675188674e24002b755ec5)) +* **snowflake:** handle udf function naming ([bec36ca](https://github.com/ibis-project/ibis/commit/bec36cafcb04d99c32d426d35021c01d3deaca94)) +* **snowflake:** import the connector at the correct scope ([6bbb9c8](https://github.com/ibis-project/ibis/commit/6bbb9c83046f5cfeb0e3ddf774037d788231ee1e)) +* **snowflake:** initialize `_from_snowpark` variable in constructor to ensure it is defined ([#8970](https://github.com/ibis-project/ibis/issues/8970)) ([5722a10](https://github.com/ibis-project/ibis/commit/5722a10eecb11751d8c046e1f5e3ded1250fabcb)) +* **snowflake:** initialize the parent class on construction ([#8972](https://github.com/ibis-project/ibis/issues/8972)) ([de3a169](https://github.com/ibis-project/ibis/commit/de3a1690cdb7c58abbef6c91be01e67e05a15863)) +* **snowflake:** manually construct quantile calls with `WITHIN GROUP` ([#8846](https://github.com/ibis-project/ibis/issues/8846)) ([261a544](https://github.com/ibis-project/ibis/commit/261a544c76198ae54d6c5d51358fe17419382917)) +* **snowflake:** set con outside of `_setup_session` call ([#8979](https://github.com/ibis-project/ibis/issues/8979)) ([3b1a6ef](https://github.com/ibis-project/ibis/commit/3b1a6efeaf16d6c0036be85dc0c5638a7011c06c)) +* **snowflake:** use `_safe_raw_sql` for `insert` implementation ([2ceb5a6](https://github.com/ibis-project/ibis/commit/2ceb5a60c879209bb91d5269f68b00ea9baa9370)) +* **sql:** avoid calling .subquery on subqueries ([7ad32bd](https://github.com/ibis-project/ibis/commit/7ad32bddceab812d162197968e30860caefe9ad9)) +* **sql:** avoid excessive inlining during `Select` merge ([#8825](https://github.com/ibis-project/ibis/issues/8825)) ([ba931da](https://github.com/ibis-project/ibis/commit/ba931dac4c11494ed3981bdd5368d6b49afcf92c)) +* **sql:** don't generate table aliases for `ops.JoinLink` ([3da1abf](https://github.com/ibis-project/ibis/commit/3da1abfe98a73ac135a6439e692935454d405b80)) +* **sqlite:** don't use the removed `sge.NULL` literal ([e8ed08a](https://github.com/ibis-project/ibis/commit/e8ed08ac0980b882aa875a189b70ff8848656b9c)) +* **sqlite:** ensure `ibis.uuid()` generates a unique uuid per row ([#8535](https://github.com/ibis-project/ibis/issues/8535)) ([c097a2d](https://github.com/ibis-project/ibis/commit/c097a2de05bfeef5f797b89b01c1f55ab1b888ae)), closes [#8532](https://github.com/ibis-project/ibis/issues/8532) +* **sql:** look for CTEs under value expressions as well ([#8633](https://github.com/ibis-project/ibis/issues/8633)) ([14358fe](https://github.com/ibis-project/ibis/commit/14358fe0995ca740241c2a282c14c190bf74837c)) +* **sql:** outer order by should take precedence over inner order by ([4376c35](https://github.com/ibis-project/ibis/commit/4376c350527a70a6bd7522d1e4efa4cd06e63d3f)) +* **sql:** overwrite the original sort key on successive order_by calls ordering by the same key ([103dc68](https://github.com/ibis-project/ibis/commit/103dc681fae5dcefcaf94c1853d8059017cc86c8)) +* **sql:** replace CTEs within CTEs ([#8572](https://github.com/ibis-project/ibis/issues/8572)) ([182b6a5](https://github.com/ibis-project/ibis/commit/182b6a5149b7215012aa9c229ff297b4f25d308c)) +* **sql:** support set operations wrapping subqueries ([#8414](https://github.com/ibis-project/ibis/issues/8414)) ([aab0c13](https://github.com/ibis-project/ibis/commit/aab0c139a3fa787aadcd23be213659dd50a5ab5e)) +* **strings:** make `StringValue.capitalize()` consistent across backends ([#8270](https://github.com/ibis-project/ibis/issues/8270)) ([c4055d6](https://github.com/ibis-project/ibis/commit/c4055d60193e0d8afdfcc4c658684dcf88a55b7f)), closes [#8271](https://github.com/ibis-project/ibis/issues/8271) +* **structs:** ensure that isin works with struct membership ([#8978](https://github.com/ibis-project/ibis/issues/8978)) ([c0c508e](https://github.com/ibis-project/ibis/commit/c0c508ee107d02387c641da277a433009374f250)) +* **timestamps:** use timezone aware objects instead of utcfromtimestamp ([0b6ac2d](https://github.com/ibis-project/ibis/commit/0b6ac2d92a1af449dbb131e34f29680221adfedb)) +* **trino:** compile property literal values directly instead of going throughh the pipeline ([b2761c9](https://github.com/ibis-project/ibis/commit/b2761c944684aac26fe5f77f349371304aeab7cb)) +* **trino:** generate first_value/lasts_value instead of arbitrary ([710f8ac](https://github.com/ibis-project/ibis/commit/710f8ac6260c484f77af931ef11ff747239b53ea)) +* **trino:** re-enable native TABLESAMPLE support ([#8284](https://github.com/ibis-project/ibis/issues/8284)) ([75d154a](https://github.com/ibis-project/ibis/commit/75d154a019ca3e32bb02185879d3bfd4a7170124)) +* update error message when executing against unbound tables ([#8695](https://github.com/ibis-project/ibis/issues/8695)) ([384b10f](https://github.com/ibis-project/ibis/commit/384b10f489f80af2eb34e384c812a0c51c5757e0)), closes [#8677](https://github.com/ibis-project/ibis/issues/8677) + + +### Documentation + +* 2024H1 roadmap and why VoDa supports Ibis ([#8184](https://github.com/ibis-project/ibis/issues/8184)) ([7fa4334](https://github.com/ibis-project/ibis/commit/7fa4334b22cb34573b6bcae48dca29417b0950d6)) +* add blog link on the homepage ([ad7fa68](https://github.com/ibis-project/ibis/commit/ad7fa688b1eaedd69bd66771bdaaee954c066b84)) +* add blog on using duckdb for RAG ([#8387](https://github.com/ibis-project/ibis/issues/8387)) ([fedf21b](https://github.com/ibis-project/ibis/commit/fedf21b76bf9f5150acfaea743518de5acc20c69)) +* add concepts guide on Datatypes and Datashapes ([#8557](https://github.com/ibis-project/ibis/issues/8557)) ([cbeb6cf](https://github.com/ibis-project/ibis/commit/cbeb6cf087015acc135659891ffba4c2e99beac7)) +* add constants to width and height ([#8640](https://github.com/ibis-project/ibis/issues/8640)) ([01b3f28](https://github.com/ibis-project/ibis/commit/01b3f282b968fa2b3316e7b06bc98c7f9fa3521b)) +* add explanation in rag blog and note on fixed length arrays ([#8413](https://github.com/ibis-project/ibis/issues/8413)) ([ea58d22](https://github.com/ibis-project/ibis/commit/ea58d222e4a6afbc00df1938d9d7821cab192fbc)) +* add link to style and formatting in env setup section ([#8936](https://github.com/ibis-project/ibis/issues/8936)) ([5095349](https://github.com/ibis-project/ibis/commit/50953490fc8c0614322d3a08a2cda8255f0538c7)) +* add lms for data post ([#8222](https://github.com/ibis-project/ibis/issues/8222)) ([8f35010](https://github.com/ibis-project/ibis/commit/8f35010efd13441551614b7ef8fd3cf1a5e43b1f)) +* add missing dev docker instructions for backends ([#8352](https://github.com/ibis-project/ibis/issues/8352)) ([a20f44a](https://github.com/ibis-project/ibis/commit/a20f44a93bf10c660d382973e7dc906fc6208cc6)) +* add missing import to `RowNumber` example ([#8523](https://github.com/ibis-project/ibis/issues/8523)) ([ba21ec0](https://github.com/ibis-project/ibis/commit/ba21ec0176134f84b8e6bf86c9013567f2dadd3a)) +* add Python + SQL section to why ibis ([#8526](https://github.com/ibis-project/ibis/issues/8526)) ([211f336](https://github.com/ibis-project/ibis/commit/211f336d79398c4fd940394351b0dc26febbcbbb)) +* add testimonial on combining Ibis with Kedro ([5d23818](https://github.com/ibis-project/ibis/commit/5d23818b13797886861e09720bfde102628a819b)) +* add v8 blog ([#8200](https://github.com/ibis-project/ibis/issues/8200)) ([4adb5e3](https://github.com/ibis-project/ibis/commit/4adb5e3d62b3ae2a41d5ea8df61b577aec80a770)) +* added section on duckdb reading gcs files ([#8651](https://github.com/ibis-project/ibis/issues/8651)) ([c2b06f6](https://github.com/ibis-project/ibis/commit/c2b06f69d548c70d95717cfb8e2c5e8e4dc79bb4)) +* **altair:** remove to_pandas from altair example ([#8951](https://github.com/ibis-project/ibis/issues/8951)) ([eecbcea](https://github.com/ibis-project/ibis/commit/eecbcea5f319599986ed3a2ecc36ecc811f3ab91)) +* **api:** expose relevant mixin members in temporal docs ([cb97806](https://github.com/ibis-project/ibis/commit/cb97806f21c26fd312209f3b461b08573d03848b)) +* **blog:** add post introducing the Flink backend ([#7912](https://github.com/ibis-project/ibis/issues/7912)) ([7bf764f](https://github.com/ibis-project/ibis/commit/7bf764f65f7c3f0a4c4e5884562b38d5db3ec186)), closes [#1000](https://github.com/ibis-project/ibis/issues/1000) [#2000](https://github.com/ibis-project/ibis/issues/2000) [#3000](https://github.com/ibis-project/ibis/issues/3000) [#7739](https://github.com/ibis-project/ibis/issues/7739) +* **blog:** add post on stream-batch unification ([#8293](https://github.com/ibis-project/ibis/issues/8293)) ([96b251d](https://github.com/ibis-project/ibis/commit/96b251da06073c09330d2171d44f2602f9a80ed1)) +* **blog:** blog on why DuckDB is the default backend ([#8378](https://github.com/ibis-project/ibis/issues/8378)) ([c916f6a](https://github.com/ibis-project/ibis/commit/c916f6a2562b91709a427aeea1e59e09f0aae6a8)), closes [#8230](https://github.com/ibis-project/ibis/issues/8230) +* **blog:** fix a formatting issue ([#8473](https://github.com/ibis-project/ibis/issues/8473)) ([92bb6fd](https://github.com/ibis-project/ibis/commit/92bb6fdaa8e58a17db61473da2425332881b3306)) +* **blog:** make point on stream-batch unification ([#8316](https://github.com/ibis-project/ibis/issues/8316)) ([8ed4d4b](https://github.com/ibis-project/ibis/commit/8ed4d4b500c0bc5570c64bf8b9ded91053909c3c)) +* **blog:** needle haystack post ([#8824](https://github.com/ibis-project/ibis/issues/8824)) ([ca97867](https://github.com/ibis-project/ibis/commit/ca9786798c3b04b6dfa8723a5ab7fc722272ab6a)) +* **blog:** portable dataflows with Ibis and Hamilton ([#8798](https://github.com/ibis-project/ibis/issues/8798)) ([e97aa46](https://github.com/ibis-project/ibis/commit/e97aa4644d5f6bee76e56f77bf357464f6d3213f)) +* **blog:** update date on hamilton blog ([#8851](https://github.com/ibis-project/ibis/issues/8851)) ([9cb4c8d](https://github.com/ibis-project/ibis/commit/9cb4c8d17f9d7960c216b324a0153b9c785ea09f)) +* **blog:** wow analysis blog post ([#8441](https://github.com/ibis-project/ibis/issues/8441)) ([6bd6c26](https://github.com/ibis-project/ibis/commit/6bd6c263a361fb22b0d30f048b46be14ead0ed17)) +* **build:** cache notebooks during render ([#8950](https://github.com/ibis-project/ibis/issues/8950)) ([fd8858d](https://github.com/ibis-project/ibis/commit/fd8858da5d8209fee387400bff880e2fd1eea7ae)) +* change date and remove links from why voda blog ([#8287](https://github.com/ibis-project/ibis/issues/8287)) ([4d89300](https://github.com/ibis-project/ibis/commit/4d8930047accb8215a4969e2d2beb56f6722cdd6)) +* clean up cursor closing and link to `Table.sql` API docs ([#8417](https://github.com/ibis-project/ibis/issues/8417)) ([753a268](https://github.com/ibis-project/ibis/commit/753a26854caf339cf1f6949b490f100b89d7df0c)), closes [#8345](https://github.com/ibis-project/ibis/issues/8345) +* **colima:** move section to its own header ([865779b](https://github.com/ibis-project/ibis/commit/865779bd0382aab8a6132f3fb7de79e196b00e9a)) +* **concepts:** remove outdated refs to SQLAlchemy ([e932f6f](https://github.com/ibis-project/ibis/commit/e932f6f5143bd8ce88a340b741ea14bf88224f87)) +* **contribute:** add a section to explain the different pytest markers that we use ([3c74d84](https://github.com/ibis-project/ibis/commit/3c74d84758b51583307c780ad473c7d38950049a)) +* create examples tab and populate with `ibis-examples` repo content ([40db711](https://github.com/ibis-project/ibis/commit/40db71178b689b60f92ce476065f3459d2c62f95)) +* **datafusion:** update website link ([#9072](https://github.com/ibis-project/ibis/issues/9072)) ([8df106f](https://github.com/ibis-project/ibis/commit/8df106fe848fec6f198218bfc46880759d119c71)), closes [/github.com/apache/datafusion/issues/9691#issuecomment-2063690461](https://github.com/ibis-project//github.com/apache/datafusion/issues/9691/issues/issuecomment-2063690461) +* **deps:** pin itables to preserve grid styling ([#8420](https://github.com/ibis-project/ibis/issues/8420)) ([fb91766](https://github.com/ibis-project/ibis/commit/fb917669f365fd886e96b576845b2211461203b7)) +* **development:** move pip to end of env creation tabset ([d475660](https://github.com/ibis-project/ibis/commit/d4756608ee064fccb637a6420a9ad7a9f5017de3)) +* **dev:** give the callout box a title ([#8487](https://github.com/ibis-project/ibis/issues/8487)) ([c2a9ba9](https://github.com/ibis-project/ibis/commit/c2a9ba9a1dd9134d32ba696c92f2de50e99117f9)) +* **duckdb:** add short section on enabling duckdb geospatial ([#8744](https://github.com/ibis-project/ibis/issues/8744)) ([c964bc5](https://github.com/ibis-project/ibis/commit/c964bc55fc8b6a64e2d647f8b0954d860889ef67)) +* **env:** give more actionable advice for using nix on apple m1 ([#8716](https://github.com/ibis-project/ibis/issues/8716)) ([6639163](https://github.com/ibis-project/ibis/commit/66391634e90523e4c7738166ab70e7461e7596b5)) +* escape necessary characters ([a4eb2d2](https://github.com/ibis-project/ibis/commit/a4eb2d2dfd09c8356b38a632a5be17aeb3719b36)) +* **exasol:** remove deprecated parameters from example ([#8720](https://github.com/ibis-project/ibis/issues/8720)) ([becdca9](https://github.com/ibis-project/ibis/commit/becdca93d1b4922520c1e2e8d0c3ce1e94b38af4)) +* fix a couple of formatting issues ([#8802](https://github.com/ibis-project/ibis/issues/8802)) ([7a8f65c](https://github.com/ibis-project/ibis/commit/7a8f65cfca5dc7c068c329586bf391a01ea319ce)) +* fix displaying the PyPI package name warning ([#8237](https://github.com/ibis-project/ibis/issues/8237)) ([2d3297f](https://github.com/ibis-project/ibis/commit/2d3297f5a567f093f352b8a4f6fe5935b9a18b1b)) +* fix typo in `order_by` docstring ([#8456](https://github.com/ibis-project/ibis/issues/8456)) ([ae3db0e](https://github.com/ibis-project/ibis/commit/ae3db0e600485dd6d1ad25f910e9bf9f87b348eb)) +* **flink:** remove conda warning from flink setup page ([#8952](https://github.com/ibis-project/ibis/issues/8952)) ([dd9e928](https://github.com/ibis-project/ibis/commit/dd9e928ad4b9c285594d2079c116db9df37656a1)) +* **flink:** update conda-based installation guide ([#8238](https://github.com/ibis-project/ibis/issues/8238)) ([f2ef90a](https://github.com/ibis-project/ibis/commit/f2ef90a96b5a3642314022e16340c3551c85f150)) +* freeze clickhouse tutorial ([#8312](https://github.com/ibis-project/ibis/issues/8312)) ([4bc7dc3](https://github.com/ibis-project/ibis/commit/4bc7dc315b83764f8e2bc794799d1834b0f62cbc)) +* **geospatial:** update blog to use as_scalar and fix dependencies ([#8543](https://github.com/ibis-project/ibis/issues/8543)) ([a845030](https://github.com/ibis-project/ibis/commit/a8450304d76c82fd39e1bd111123bceaa4a28b37)) +* **hierarchy:** add brief doc listing backend hierarchy types ([190b2c7](https://github.com/ibis-project/ibis/commit/190b2c738d300df911b33be0e315f4230a4c59f6)) +* **how-to:** add a how-to guide for executing unbound expressions on backends ([#8522](https://github.com/ibis-project/ibis/issues/8522)) ([66b4dc0](https://github.com/ibis-project/ibis/commit/66b4dc0d196d4e4a0add7c63fb1f0a325273047b)), closes [#8297](https://github.com/ibis-project/ibis/issues/8297) +* **how-to:** add graphviz section ([#8513](https://github.com/ibis-project/ibis/issues/8513)) ([f1bb060](https://github.com/ibis-project/ibis/commit/f1bb060233d271ba6d6932d91afc71b892acddfb)) +* improve nested type docstrings ([#8358](https://github.com/ibis-project/ibis/issues/8358)) ([bc9d757](https://github.com/ibis-project/ibis/commit/bc9d757cb23e4d9446c1d588e7fd62fe1661787a)) +* include return type in Interval component properties ([#8193](https://github.com/ibis-project/ibis/issues/8193)) ([9b00657](https://github.com/ibis-project/ibis/commit/9b006572fafc868b0cd45582a4e872466b93b022)) +* **links:** fix release notes link in 8.0 release ([#8315](https://github.com/ibis-project/ibis/issues/8315)) ([9387ac0](https://github.com/ibis-project/ibis/commit/9387ac0c8f270adeae0939ae9b2d2e43a1d5dd89)) +* minor fixes to LM blog ([#8236](https://github.com/ibis-project/ibis/issues/8236)) ([36f8904](https://github.com/ibis-project/ibis/commit/36f89047a3703ea831d3788f6ff7d824098898a5)) +* **presentations:** fix quarto markup for Ibis origins slide in linkedin-meetup presentation ([#9050](https://github.com/ibis-project/ibis/issues/9050)) ([e04c3e5](https://github.com/ibis-project/ibis/commit/e04c3e5aba68ebf7c75467b0cb9eb3df988b9d2e)) +* **presentations:** presentation for linkedin meetup 2024-04-24 ([#8983](https://github.com/ibis-project/ibis/issues/8983)) ([01b521c](https://github.com/ibis-project/ibis/commit/01b521cb26c8984d8f9ee968e894673eba3f2e6f)) +* **release-notes:** fix up version header ([#8941](https://github.com/ibis-project/ibis/issues/8941)) ([e583d2b](https://github.com/ibis-project/ibis/commit/e583d2bed081c59daf17932c750e8d8db87a8096)) +* remove `all` extra installation from contributing docs ([#9004](https://github.com/ibis-project/ibis/issues/9004)) ([03825b6](https://github.com/ibis-project/ibis/commit/03825b63386c46e1589820cf98a867b10d341016)) +* remove experimental indicator from all backends ([586f979](https://github.com/ibis-project/ibis/commit/586f9795db3f0c2870cec605384472eaedd218ae)) +* rework why Ibis article to explain what Ibis is and other updates ([#8490](https://github.com/ibis-project/ibis/issues/8490)) ([c44f357](https://github.com/ibis-project/ibis/commit/c44f35738b3083d440d31035762abfb9a6c90502)), closes [#8251](https://github.com/ibis-project/ibis/issues/8251) [#8488](https://github.com/ibis-project/ibis/issues/8488) +* rewrite readme ([#8524](https://github.com/ibis-project/ibis/issues/8524)) ([9a741f7](https://github.com/ibis-project/ibis/commit/9a741f71b140ef75354b5971930554229c2627df)), closes [#8436](https://github.com/ibis-project/ibis/issues/8436) +* **risingwave:** add backend docs page for RisingWave ([a6e7920](https://github.com/ibis-project/ibis/commit/a6e792034cdb3c53dc8b44f15a175dc0e3b8db24)) +* roadmap 2024 H1 blog ([#8362](https://github.com/ibis-project/ibis/issues/8362)) ([2750fe5](https://github.com/ibis-project/ibis/commit/2750fe56401a9f4c0bdd749496b7b6a329c2e596)) +* show how Array.unique() keeps NULLs ([#8766](https://github.com/ibis-project/ibis/issues/8766)) ([7308249](https://github.com/ibis-project/ibis/commit/7308249225510ab7624da652008253e0344554ed)) +* **snowflake:** add blog post showing insertion into snowflake from postgres ([#8426](https://github.com/ibis-project/ibis/issues/8426)) ([3a8c7cc](https://github.com/ibis-project/ibis/commit/3a8c7ccb39a48a567be71c78c23afc8261bb8fb1)) +* **tutorial:** add a tutorial for the Flink backend ([#8085](https://github.com/ibis-project/ibis/issues/8085)) ([e2a3fb6](https://github.com/ibis-project/ibis/commit/e2a3fb658dc3019f526efe3c6fbb47e3adfa4107)) +* **tutorial:** add examples for complex topk ([#8831](https://github.com/ibis-project/ibis/issues/8831)) ([2d9afe0](https://github.com/ibis-project/ibis/commit/2d9afe0e84561f253692b4a39d921e627064b957)) +* **tutorial:** deploy a jupyterlite repl on the website ([#9009](https://github.com/ibis-project/ibis/issues/9009)) ([9355281](https://github.com/ibis-project/ibis/commit/93552812ee9e8e0e3397bc226cc20c381fcd173b)) +* **tutorial:** update documentation regarding `topk` ([#8583](https://github.com/ibis-project/ibis/issues/8583)) ([4115860](https://github.com/ibis-project/ibis/commit/4115860799a9bcd3664a6b00dcdd4ac45891b7df)) +* typo fix to why voda blog ([882ade2](https://github.com/ibis-project/ibis/commit/882ade2126bbb017dc44275e8cd1b7d7e0a14082)) +* **udfs:** improve udf docstring examples ([#9079](https://github.com/ibis-project/ibis/issues/9079)) ([fead40b](https://github.com/ibis-project/ibis/commit/fead40be6a25f24672348fdefa8b35d0e7469f80)) +* uniform connect via url across backends in why ibis ([#8865](https://github.com/ibis-project/ibis/issues/8865)) ([e7f8ea8](https://github.com/ibis-project/ibis/commit/e7f8ea858befe342babbd8fa9d2a83534130e976)), closes [#8860](https://github.com/ibis-project/ibis/issues/8860) +* update contributing docs and env for m1/m2 devs ([#8495](https://github.com/ibis-project/ibis/issues/8495)) ([1b84cd1](https://github.com/ibis-project/ibis/commit/1b84cd12d758defe1d9965bfe2227de9e92e04b9)) +* update environment setup instructions ([#8476](https://github.com/ibis-project/ibis/issues/8476)) ([a18ab29](https://github.com/ibis-project/ibis/commit/a18ab29932874aab92fa5841c8d9613247648dba)) +* update links to duckdb csv parameters ([#8733](https://github.com/ibis-project/ibis/issues/8733)) ([7cc67d3](https://github.com/ibis-project/ibis/commit/7cc67d3a9c8a3eb3c534da2ed0ce5f786431b5a6)), closes [#8732](https://github.com/ibis-project/ibis/issues/8732) +* update outdated comments in Chaining Expressions docs ([#8601](https://github.com/ibis-project/ibis/issues/8601)) ([306cdad](https://github.com/ibis-project/ibis/commit/306cdadc53ee7934b309653f4acadb9375ec1fa4)) +* update sankey diagram ([#9077](https://github.com/ibis-project/ibis/issues/9077)) ([b691959](https://github.com/ibis-project/ibis/commit/b6919595b47ef462b7f411b2a9f14fa026aabb79)) +* update the geospatial blogpost to use explicit scalar subqueries ([#8330](https://github.com/ibis-project/ibis/issues/8330)) ([aa74515](https://github.com/ibis-project/ibis/commit/aa745156b08e2cb584e7d677c62b97f09c2c0c89)) +* update the haystack blog publish date ([#8949](https://github.com/ibis-project/ibis/issues/8949)) ([4ebeb19](https://github.com/ibis-project/ibis/commit/4ebeb191676acd620065c6e5d0cfb5e03040c278)) +* update to_delta kwargs docs ([#8623](https://github.com/ibis-project/ibis/issues/8623)) ([b77aeec](https://github.com/ibis-project/ibis/commit/b77aeec8ac29af79efb602cb15b5f061fb89675b)), closes [/github.com/ibis-project/ibis/blob/e94366700ae460052f675188674e24002b755ec5/ibis/backends/__init__.py#L536](https://github.com/ibis-project//github.com/ibis-project/ibis/blob/e94366700ae460052f675188674e24002b755ec5/ibis/backends/__init__.py/issues/L536) +* update TODOs in 8.0 blog ([#8314](https://github.com/ibis-project/ibis/issues/8314)) ([4d4fdab](https://github.com/ibis-project/ibis/commit/4d4fdabe3cced44b1a2379fa4be999f0e6187560)) +* use algolia for searchability ([#8410](https://github.com/ibis-project/ibis/issues/8410)) ([f8d8ca3](https://github.com/ibis-project/ibis/commit/f8d8ca3036f3cdb9251ee756a1af0a1180cfefc0)) + + +### Refactors + +* add polars data mapper implementation ([17f5e97](https://github.com/ibis-project/ibis/commit/17f5e975565fd35ec4cca78cabb6287dca505dbd)) +* add polars format ([40ada17](https://github.com/ibis-project/ibis/commit/40ada1712352f553af293d2ea8722dd9adb30c17)) +* **api:** make input value coercion of `mutate()` identical to `select()` ([#8878](https://github.com/ibis-project/ibis/issues/8878)) ([38e7e14](https://github.com/ibis-project/ibis/commit/38e7e14d8e13c49db3561d6fc251d77542252f92)) +* **api:** remove `by` of asof_join() in favor of `predicates` ([#8700](https://github.com/ibis-project/ibis/issues/8700)) ([1a8eec8](https://github.com/ibis-project/ibis/commit/1a8eec83aed63e27acb1441949afe5ee094757e2)), closes [#7869](https://github.com/ibis-project/ibis/issues/7869) +* **api:** remove now unsupported `max_lookback` window attribute ([99dda5b](https://github.com/ibis-project/ibis/commit/99dda5bab4df75dfb75be9d394c66f0961273c47)) +* **api:** remove the remnants of now unsupported `timecontext` feature ([#8721](https://github.com/ibis-project/ibis/issues/8721)) ([0a00a05](https://github.com/ibis-project/ibis/commit/0a00a0532c6a134985273fb492af8f77ecbb47c6)) +* **api:** remove unnecessary methods used to implement negate() ([#8812](https://github.com/ibis-project/ibis/issues/8812)) ([f59f423](https://github.com/ibis-project/ibis/commit/f59f423906e44b3786aa228d1adb45cefde0688c)) +* **api:** restrict arbitrary input nesting ([#8917](https://github.com/ibis-project/ibis/issues/8917)) ([fd35b66](https://github.com/ibis-project/ibis/commit/fd35b667d3ef60bd702eb7dcc16bce2ba1a41389)) +* **api:** revamp `asof` join predicates ([9fb3627](https://github.com/ibis-project/ibis/commit/9fb3627d79d001a930cb178e1eecbe31f8912383)) +* **api:** treat integer inputs as literals instead of column references ([#8884](https://github.com/ibis-project/ibis/issues/8884)) ([feeb8ae](https://github.com/ibis-project/ibis/commit/feeb8ae0924432e083b6eb8a239cd74b52b18b68)), closes [#8878](https://github.com/ibis-project/ibis/issues/8878) +* **backend-api:** remove the `database()` API and implementation ([#8406](https://github.com/ibis-project/ibis/issues/8406)) ([ff5d078](https://github.com/ibis-project/ibis/commit/ff5d078431c3a1ca12a96921e58e67bfd93a5e45)), closes [#8405](https://github.com/ibis-project/ibis/issues/8405) +* **backends:** remove `_metadata` method in favor of `_get_schema_using_query` ([#8627](https://github.com/ibis-project/ibis/issues/8627)) ([4ec7daf](https://github.com/ibis-project/ibis/commit/4ec7daf4360cd924001f16d7a089896ce7c84b7e)) +* **backends:** remove singledispatchmethod from the sql backends ([#8338](https://github.com/ibis-project/ibis/issues/8338)) ([78dc393](https://github.com/ibis-project/ibis/commit/78dc3939750045193dad6f209b0216ed638c9fb5)), closes [#8283](https://github.com/ibis-project/ibis/issues/8283) +* **benchmarks:** remove pandas benchmarking and replace with more-representative duckdb version ([#8322](https://github.com/ibis-project/ibis/issues/8322)) ([e540575](https://github.com/ibis-project/ibis/commit/e5405753e1b7e93669b48bc1febb861156a7d747)) +* **bigquery:** port to sqlglot ([bcfd7e7](https://github.com/ibis-project/ibis/commit/bcfd7e7e8469172c98911f8610c8ff452375f71b)) +* **cleanup:** remove deprecated methods and properties ([#8701](https://github.com/ibis-project/ibis/issues/8701)) ([90c5a86](https://github.com/ibis-project/ibis/commit/90c5a8637a4e7505986a8dcb6b26794646c522f2)) +* **common:** consolidate egraph implementation by using `FrozenSlotted` ([#8702](https://github.com/ibis-project/ibis/issues/8702)) ([d244b75](https://github.com/ibis-project/ibis/commit/d244b755ee9c8001d2f3f04203024f5b6e262e24)) +* **common:** make `FrozenDict` a subclass of `dict` ([#8693](https://github.com/ibis-project/ibis/issues/8693)) ([32b7514](https://github.com/ibis-project/ibis/commit/32b751444c131f03090bccf57d2d5958e44ef259)), closes [#8687](https://github.com/ibis-project/ibis/issues/8687) [#8687](https://github.com/ibis-project/ibis/issues/8687) +* **common:** support union types as well as forward references in the dispatch utilities ([e4769de](https://github.com/ibis-project/ibis/commit/e4769decc7aee22f41007193f523b731fc56edca)) +* **compilers:** conslidate StringJoin impl ([28fb6ec](https://github.com/ibis-project/ibis/commit/28fb6ec1624975a8507864ed319f449534e9964d)) +* consolidate rewrite rule implementations ([c9b8a08](https://github.com/ibis-project/ibis/commit/c9b8a08f15317753b8764762a172fd9615e78c45)) +* **dask:** port the dask backend to the new execution model ([#8005](https://github.com/ibis-project/ibis/issues/8005)) ([c925640](https://github.com/ibis-project/ibis/commit/c925640ca4368b78fe2eaf358d4451b278540d54)) +* **ddl:** deprecate `schema` keyword in truncate_table ([edde6a3](https://github.com/ibis-project/ibis/commit/edde6a3ebb7e7ddea243577bea1bf34a288100b1)) +* **ddl:** deprecate all `*_schema` methods ([c43c0f1](https://github.com/ibis-project/ibis/commit/c43c0f16196ba7b44ccfe09c56cbf03c79bd7b27)) +* delete some unused visit methods in sql compiler ([f2e1465](https://github.com/ibis-project/ibis/commit/f2e14653b9dfa46d59a461502169b6be496fb68a)) +* **deps:** remove `multipledispatch` as a dependency ([#8332](https://github.com/ibis-project/ibis/issues/8332)) ([d587166](https://github.com/ibis-project/ibis/commit/d587166e303bdf4ea99453f9de8a8227e421f697)) +* **druid:** port to sqlglot ([85e2b16](https://github.com/ibis-project/ibis/commit/85e2b164d41dfe8c891e5c646fbb55e117d36d8d)) +* **dtype:** move all the castable logic to a single function ([#8335](https://github.com/ibis-project/ibis/issues/8335)) ([580536c](https://github.com/ibis-project/ibis/commit/580536c02fb2f0263185984384c779dce24fe1d1)) +* **duckdb/clickhouse:** implement sqlglot backends and re-enable ci ([b7821bf](https://github.com/ibis-project/ibis/commit/b7821bf79bc4360a2665694e7ec965094ec6a972)) +* **duckdb:** initial cut of sqlglot DuckDB compiler ([ca95204](https://github.com/ibis-project/ibis/commit/ca9520405d02457a599d1e054bc6d339d4f727c1)) +* **duckdb:** remove the need for a specialized `_to_geodataframe` method ([a8add4b](https://github.com/ibis-project/ibis/commit/a8add4b0da3e3158e8b4afcf0776a8427c82e714)) +* **duckdb:** use `.sql` instead of `.execute` in performance-senitive locations ([#8669](https://github.com/ibis-project/ibis/issues/8669)) ([aa6aa0c](https://github.com/ibis-project/ibis/commit/aa6aa0c58566a9319f0f608c21fd8bff0c69008f)) +* **exasol:** add custom TimestampTruncate ([#8590](https://github.com/ibis-project/ibis/issues/8590)) ([66f12c3](https://github.com/ibis-project/ibis/commit/66f12c3b0a1cc761f4c75c2b5f86f2876141fc1b)) +* **exasol:** add temp kwarg to create_table for api consistency ([4267c72](https://github.com/ibis-project/ibis/commit/4267c72d5183942fd78e88a39ae2b165093cd0b8)) +* **exasol:** port to sqlglot ([#8032](https://github.com/ibis-project/ibis/issues/8032)) ([b8bcbf2](https://github.com/ibis-project/ibis/commit/b8bcbf2bd74c948bb40473a70a7f5a09344f54d6)) +* **flink:** port to sqlglot ([8fdc75d](https://github.com/ibis-project/ibis/commit/8fdc75da10e42c4134f48caa1fd456f9bd6c79e1)) +* **formats:** remove unnecessary schema argument from schema inference ([#8814](https://github.com/ibis-project/ibis/issues/8814)) ([91ea332](https://github.com/ibis-project/ibis/commit/91ea332b2775ba2042a36c7423ecf35bd5204205)) +* **get_schema:** remove `schema` kwarg, add `catalog`, kw-only ([6273e7e](https://github.com/ibis-project/ibis/commit/6273e7e1d8d5d532ab6e315bb8fc7e2029ce6bcb)) +* **impala:** port to sqlglot ([4a0be76](https://github.com/ibis-project/ibis/commit/4a0be76553f2d8062fb0a6b839dfc2f727d31ac3)) +* **ir:** accept any relation in `ops.ExistsSubquery` ([#8264](https://github.com/ibis-project/ibis/issues/8264)) ([68287db](https://github.com/ibis-project/ibis/commit/68287dbe04ac877cb7953285277db6a8cc3ebace)) +* **ir:** add `JoinTable` operation unique to `JoinChain` instead of using the globally unique `SelfReference` ([2a7ae3f](https://github.com/ibis-project/ibis/commit/2a7ae3f2fce2297690de958f9fde338d7c6aaf20)) +* **ir:** dereference literal expressions ([cd9219b](https://github.com/ibis-project/ibis/commit/cd9219b2d98a06eba2e455727b0f00ff316d8e5f)) +* **ir:** give unbound tables namespaces ([8ac2d2a](https://github.com/ibis-project/ibis/commit/8ac2d2a56e48d755229d33e2257d8c95487cd2a2)) +* **ir:** impure values are never dereferencible ([#9023](https://github.com/ibis-project/ibis/issues/9023)) ([33286f2](https://github.com/ibis-project/ibis/commit/33286f20ecc5eef3b747f733a3566f159cf3e8cb)) +* **ir:** loosen the join integrity checks ([#8817](https://github.com/ibis-project/ibis/issues/8817)) ([2bc903d](https://github.com/ibis-project/ibis/commit/2bc903d01fb54062272d192958dc7ce3bf0375b7)) +* **ir:** merge `ops.WindowFrame` node into `ops.WindowFunction` ([#8779](https://github.com/ibis-project/ibis/issues/8779)) ([3cd5a1a](https://github.com/ibis-project/ibis/commit/3cd5a1a05a0c97e615c2ebe7112c5f26712541cc)) +* **ir:** remove `find_first_base_table()` analysis function ([#8451](https://github.com/ibis-project/ibis/issues/8451)) ([5cbd472](https://github.com/ibis-project/ibis/commit/5cbd472891600774de2502068fb6690ad1786673)) +* **ir:** remove deprecated `Schema.apply_to()` method ([06962b2](https://github.com/ibis-project/ibis/commit/06962b2597390b165ca418d4e03619f72defa437)) +* **ir:** remove now obsolete `__window_op__` property ([8d27d14](https://github.com/ibis-project/ibis/commit/8d27d14fac6e68f65da47512d2b3b106466dc51f)) +* **ir:** remove now obsolete `ops.Named` mixin ([#8244](https://github.com/ibis-project/ibis/issues/8244)) ([3cff9f6](https://github.com/ibis-project/ibis/commit/3cff9f6508387946ff85aa8f06756be4ce42a840)) +* **ir:** remove the decimal precision promotion logic ([0db3ec7](https://github.com/ibis-project/ibis/commit/0db3ec78b875d03edf2cf55806df9daf3ffd00b0)) +* **ir:** split the relational operations ([2a2f8c6](https://github.com/ibis-project/ibis/commit/2a2f8c65b8ee65f31c4ab7087397a484d9561407)) +* **ir:** stricter scalar subquery integrity checks ([d269776](https://github.com/ibis-project/ibis/commit/d2697768a545c00433f82583f3a0fc17e2616593)) +* **ir:** support join of joins while avoiding nesting ([40c1af7](https://github.com/ibis-project/ibis/commit/40c1af7e734312c90df560c935d2fc78e42d391a)) +* **ir:** wrap `JoinChain.first` in `ops.SelfReference` similar to the rest of the join tables ([15bd926](https://github.com/ibis-project/ibis/commit/15bd9266a704c2f389e939db28614141bb2c2d92)) +* **list_tables:** deprecate `schema` keyword ([ed69960](https://github.com/ibis-project/ibis/commit/ed699601c2b069c15598adb23fab4e9a957b1e97)) +* **modules:** remove unnecessary `base` submodule ([#8405](https://github.com/ibis-project/ibis/issues/8405)) ([6946f98](https://github.com/ibis-project/ibis/commit/6946f98879cbbb963fa7563887a7b32ca5fddba5)) +* **mssql:** port to sqlglot ([e12faa5](https://github.com/ibis-project/ibis/commit/e12faa50303b60527dd96f8cbf89e51ff2354580)) +* **mysql:** port to sqlglot ([#7926](https://github.com/ibis-project/ibis/issues/7926)) ([cba2f98](https://github.com/ibis-project/ibis/commit/cba2f9806680609a1668a0f756262a280773d2b0)) +* **ops:** use `catalog` and `database` kwargs for Namespace op ([21f57d4](https://github.com/ibis-project/ibis/commit/21f57d4f8b5778791b1ad680cca9ce6da82fdcc1)) +* **oracle:** port to sqlglot ([#8020](https://github.com/ibis-project/ibis/issues/8020)) ([fbdc909](https://github.com/ibis-project/ibis/commit/fbdc909658373eb71d2d15a1fa70a4377bac3cbf)) +* **oracle:** remove dependency on private function for temp tables ([#8480](https://github.com/ibis-project/ibis/issues/8480)) ([809912c](https://github.com/ibis-project/ibis/commit/809912cd57169ff8ba54198bd900a3f497649eb4)) +* **oracle:** simplify oracle timestamp overrides ([7d44d77](https://github.com/ibis-project/ibis/commit/7d44d7788bcb353f7423ac904a307c2d062d2de7)) +* **pandas:** port the pandas backend with an improved execution model ([#7797](https://github.com/ibis-project/ibis/issues/7797)) ([3b35d77](https://github.com/ibis-project/ibis/commit/3b35d775b1dd8ccf528d31c2f48c37f0ee0af5e4)), closes [#7752](https://github.com/ibis-project/ibis/issues/7752) +* **pandas:** simplify pandas helpers ([41ddd41](https://github.com/ibis-project/ibis/commit/41ddd41a888d29ef5d5885ebe62e1fd832e62b4b)) +* **polars:** allow passing temp=False to polars create_table ([89abf8e](https://github.com/ibis-project/ibis/commit/89abf8e44528751138b1563aef17617887470984)) +* **polars:** update the polars backend to use the new relational abstractions ([#7868](https://github.com/ibis-project/ibis/issues/7868)) ([29b5b53](https://github.com/ibis-project/ibis/commit/29b5b5330ef09ddfee0d76749cfa1649b06cf6f8)) +* **postgres:** port to sqlglot ([#7877](https://github.com/ibis-project/ibis/issues/7877)) ([6916c1d](https://github.com/ibis-project/ibis/commit/6916c1d659dd7162c6b2a04e513c7152fab17472)) +* **pyspark:** reimplement the backend using the new relational operations an spark SQL ([32efbe7](https://github.com/ibis-project/ibis/commit/32efbe7d91d3f61f3afb1eecb0d9077b414ed651)) +* **pyspark:** remove sqlalchemy dependency from pyspark ([e9656fb](https://github.com/ibis-project/ibis/commit/e9656fb1769332a5535fcc628dd3038c88e6ee4f)) +* remove duplicated rewrite_sample rule ([dd019e7](https://github.com/ibis-project/ibis/commit/dd019e7f2e174360278191783df0af93f077b018)) +* rename SupportSchema -> SchemaLike, fix type definition ([#8427](https://github.com/ibis-project/ibis/issues/8427)) ([ad1f53a](https://github.com/ibis-project/ibis/commit/ad1f53a484d124b2a089c92f83c284a11e312cb5)) +* **risingwave:** port to sqlglot ([#8171](https://github.com/ibis-project/ibis/issues/8171)) ([1023e56](https://github.com/ibis-project/ibis/commit/1023e562cc3f31c4a9643b953be3522ad6645b5a)) +* **snowflake:** adjust window frames to use `_minimize_spec` due to upstream snowflake changes ([3a6c9f3](https://github.com/ibis-project/ibis/commit/3a6c9f39e55c35f369fc8ac0fb6e7f9ff850e02d)) +* **snowflake:** remove no longer necessary pyarrow warnings filter ([6a16899](https://github.com/ibis-project/ibis/commit/6a16899a94ce4f8c40c19fb1c51f9af76cfc4168)) +* **snowflake:** use sqlglot for the snowflake backend ([83acf48](https://github.com/ibis-project/ibis/commit/83acf48d9ef8ff81ab5b8ba1deb93ec3ff01be86)) +* **sql:** automatically add simple ops implementations ([#8349](https://github.com/ibis-project/ibis/issues/8349)) ([2c64b3f](https://github.com/ibis-project/ibis/commit/2c64b3f95deb01324feae14e0f247ac6e5d3509c)), closes [#8338](https://github.com/ibis-project/ibis/issues/8338) +* **sql:** deprecate `schema` kwarg in insert ([92fcbdf](https://github.com/ibis-project/ibis/commit/92fcbdf82d462eefee7b0389e77e623c3fcde195)) +* **sql:** deprecate schema in `_view` ddl methods ([2af37e8](https://github.com/ibis-project/ibis/commit/2af37e8cef57cae6733bd6fa28218a8c73130aa1)) +* **sqlglot:** clean up `explode` usage ([4d99314](https://github.com/ibis-project/ibis/commit/4d99314820cd697a7f104d23557420f6036e36d7)) +* **sqlglot:** make anonymous functions easier to use and remove `array_func` hack ([5891546](https://github.com/ibis-project/ibis/commit/58915462ed63b7a6e4f98be6e918eb3143a73cac)) +* **sqlglot:** remove duplicate `StringAscii` definitions ([0bdeb8b](https://github.com/ibis-project/ibis/commit/0bdeb8b3dbffe3f9d4e39be7e38b1173e831574d)) +* **sqlglot:** remove duplicated simple compilation rules and sort ([d44001f](https://github.com/ibis-project/ibis/commit/d44001f24b9de5753eeb07fb31fcda1cfb59068c)) +* **sqlglot:** use a more backend-agnostic expression for non-finite constants ([776079c](https://github.com/ibis-project/ibis/commit/776079c03793dd6c0664771737fa1a5204a00880)) +* **sqlglot:** various sqlglot compiler and backend clean ups ([#7904](https://github.com/ibis-project/ibis/issues/7904)) ([db45e41](https://github.com/ibis-project/ibis/commit/db45e411eb66c536c8d8d5e96c9c22501bf26c35)), closes [#7871](https://github.com/ibis-project/ibis/issues/7871) +* **sqlite:** port to SQLGlot ([#8154](https://github.com/ibis-project/ibis/issues/8154)) ([4d24502](https://github.com/ibis-project/ibis/commit/4d24502764b6459a6e2f8407799ec9a27703b525)) +* **sql:** move dialects to always-importable location ([#8279](https://github.com/ibis-project/ibis/issues/8279)) ([c8f4afe](https://github.com/ibis-project/ibis/commit/c8f4afe396d19071e52452f10d04e9111b765747)) +* **sql:** remove old compiler ([#8307](https://github.com/ibis-project/ibis/issues/8307)) ([88e8384](https://github.com/ibis-project/ibis/commit/88e83847772a4ea7bc7e1833b4501a654f996d55)) +* **sql:** remove sqlalchemy from the codebase ([#8074](https://github.com/ibis-project/ibis/issues/8074)) ([22004ed](https://github.com/ibis-project/ibis/commit/22004ed93d371b27df6d0a48de0c360084c5d145)) +* **sql:** remove temporary table creation when using inline sql ([#8149](https://github.com/ibis-project/ibis/issues/8149)) ([ea428ba](https://github.com/ibis-project/ibis/commit/ea428baed1d9d748f65ed8694ba80a62153144b0)) +* **sql:** reorganize sqlglot rewrites ([9f4851c](https://github.com/ibis-project/ibis/commit/9f4851c4499cc6488c9011b10881403e7708981c)) +* **sql:** simplify `FirstValue`/`LastValue` usage ([#8568](https://github.com/ibis-project/ibis/issues/8568)) ([6ed2e39](https://github.com/ibis-project/ibis/commit/6ed2e394461078ed7cd7b914959bceffa6db6ea1)) +* **table ddl:** remove hierarchical schema from *_table methods ([14b0944](https://github.com/ibis-project/ibis/commit/14b0944e70a73c35373e57ae2a17bbf17babcf2c)) +* **table:** deprecate `schema` ([dfb8734](https://github.com/ibis-project/ibis/commit/dfb87348722533c69419cc39f5123db628f198c9)) +* **udf:** remove hierarchical usage of schema ([#9078](https://github.com/ibis-project/ibis/issues/9078)) ([f5d9084](https://github.com/ibis-project/ibis/commit/f5d9084079b25c38077a09da5ee9efb316e72ccd)) +* **udfs:** consolidate builtin udf compilation and failure modes for unimplemented udfs ([#8398](https://github.com/ibis-project/ibis/issues/8398)) ([0320d01](https://github.com/ibis-project/ibis/commit/0320d01fa2517ac62d257067cf6def405c33eba4)) +* **util:** remove unused `get_logger` utility function ([#8760](https://github.com/ibis-project/ibis/issues/8760)) ([0aceefc](https://github.com/ibis-project/ibis/commit/0aceefc2b77fcd48805ab4c128f19ecf1d9f8407)) + + +### Performance + +* **common:** improve equality caching by explicitly invalidating the entry on `__del__` ([#8708](https://github.com/ibis-project/ibis/issues/8708)) ([ac86f91](https://github.com/ibis-project/ibis/commit/ac86f914a45366a33df741e0dd790564c9ce4fd0)) +* **common:** improve the performance of replacing nodes using mappings ([#8638](https://github.com/ibis-project/ibis/issues/8638)) ([a2e733a](https://github.com/ibis-project/ibis/commit/a2e733a60f1f2b23f0ba5bdcd92e4ec85f1d22e4)) +* **common:** reduce the average recusrion depth in `_flatten_collections` ([#8709](https://github.com/ibis-project/ibis/issues/8709)) ([3d52904](https://github.com/ibis-project/ibis/commit/3d52904e6a5015598586d17c0988ae8086f3eb1c)) +* **dask:** avoid triggering compute for dynamic limit/offset ([#8747](https://github.com/ibis-project/ibis/issues/8747)) ([b3e27eb](https://github.com/ibis-project/ibis/commit/b3e27eb9dc78f56bde6701880629688f9d5bfbf0)) +* **ir:** avoid exponential growth on `name` attribute access ([#8445](https://github.com/ibis-project/ibis/issues/8445)) ([7667328](https://github.com/ibis-project/ibis/commit/7667328ada9cb8ef6bb4c456636c6a7ccab2ad1a)), closes [#8432](https://github.com/ibis-project/ibis/issues/8432) +* **sql:** don't compile pretty sql by default ([#8616](https://github.com/ibis-project/ibis/issues/8616)) ([af402f9](https://github.com/ibis-project/ibis/commit/af402f926688c7541df7afb58aae227766bd8c4a)) +* **sql:** prevent sqlglot from extensive deepcopying every time we create a sqlglot object ([#8592](https://github.com/ibis-project/ibis/issues/8592)) ([461293b](https://github.com/ibis-project/ibis/commit/461293bb77945c37460e6927b7455f4f8a21a054)), closes [#8484](https://github.com/ibis-project/ibis/issues/8484) + + +### Deprecations + +* **api:** deprecate `how` parameter to `arbitrary` ([b514c23](https://github.com/ibis-project/ibis/commit/b514c23357eed1bf2c3cfc3df0ad7dc9fbfe300e)) +* deprecate and warn on `legacy` udf usage ([#8617](https://github.com/ibis-project/ibis/issues/8617)) ([e561889](https://github.com/ibis-project/ibis/commit/e56188973f99613a0b34d60189d6ef3b011466d3)) + ## [8.0.0](https://github.com/ibis-project/ibis/compare/7.2.0...8.0.0) (2024-02-05) diff --git a/ibis/__init__.py b/ibis/__init__.py index 0c55b46be75b..2ec14e182330 100644 --- a/ibis/__init__.py +++ b/ibis/__init__.py @@ -2,7 +2,7 @@ from __future__ import annotations -__version__ = "8.0.0" +__version__ = "9.0.0" from ibis import examples, util from ibis.backends import BaseBackend diff --git a/pyproject.toml b/pyproject.toml index be10283e7ddd..304456515dcb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ibis-framework" -version = "8.0.0" +version = "9.0.0" packages = [{ include = "ibis" }] include = ["ibis/examples/metadata.json", "ibis/examples/CITATIONS.md"] exclude = [