From 19716595dba197470a2a6e9936e1ac1c77ccca2a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 2 Oct 2023 17:03:54 +0000 Subject: [PATCH] chore(release): 7.0.0 --- docs/release_notes.md | 359 ++++++++++++++++++++++++++++++++++++++++++ ibis/__init__.py | 2 +- pyproject.toml | 2 +- 3 files changed, 361 insertions(+), 2 deletions(-) diff --git a/docs/release_notes.md b/docs/release_notes.md index c2c542624d9a..6b1556a49117 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,6 +1,365 @@ Release notes --- +## [7.0.0](https://github.com/ibis-project/ibis/compare/6.1.0...7.0.0) (2023-10-02) + + +### ⚠ BREAKING CHANGES + +* **api:** the `interpolation` argument was only supported in the dask and pandas backends; for interpolated quantiles use dask or pandas directly +* **ir:** **Dask and Pandas only**; cumulative operations that relied on implicit ordering from prior operations such as calls to `table.order_by` may no longer work, pass `order_by=...` into the appropriate cumulative method to achieve the same behavior. +* **api:** UUID, MACADDR and INET are no longer subclasses of strings. Cast those values to `string` to enable use of the string APIs. +* **impala:** `ImpalaTable.rename` is removed, use `Backend.rename_table` instead. +* **pyspark:** `PySparkTable.rename` is removed, use `Backend.rename_table` instead. +* **clickhouse:** `ClickhouseTable` is removed. This class only provided a single `insert` method. Use the Clickhouse backend's `insert` method instead. +* **datatypes:** The minimum version of `sqlglot` is now 17.2.0, to support much faster and more robust backend type parsing. +* **ir:** ibis.expr.selectors module is removed, use ibis.selectors instead +* **api:** passing a tuple or a sequence of tuples to table.order_by() calls is not allowed anymore; use ibis.asc(key) or ibis.desc(key) instead +* **ir:** the `ibis.common.validators` module has been removed +and all validation rules from `ibis.expr.rules`, either use typehints +or patterns from `ibis.common.patterns` + +### Features + +* **api:** add `.delta` method for computing difference in units between two temporal values ([18617bf](https://github.com/ibis-project/ibis/commit/18617bf9d4ddc05c3067492b39834eab4120bdd1)) +* **api:** add `ArrayIntersect` operation and corresponding `ArrayValue.intersect` API ([76c95b2](https://github.com/ibis-project/ibis/commit/76c95b22b083d6f0f43d5e0119dc164d57557aef)) +* **api:** add `Backend.rename_table` ([0047143](https://github.com/ibis-project/ibis/commit/00471430fd25c8fb16b1f6b9531494156180dec8)) +* **api:** add `levenshtein` edit distance API ([ab211a8](https://github.com/ibis-project/ibis/commit/ab211a8da79d8a418d33ba7c25d25cf625bfa9f5)) +* **api:** add `relocate` table expression API for moving columns around based on selectors ([ee8a86f](https://github.com/ibis-project/ibis/commit/ee8a86f86e436cb33107e20bb8376b924a419bb3)) +* **api:** add `Table.rename`, with support for renaming via keyword arguments ([917d7ec](https://github.com/ibis-project/ibis/commit/917d7ecbd6cc2b21df9eb14f381b4457f4bd3049)) +* **api:** add `to_pandas_batches` ([740778f](https://github.com/ibis-project/ibis/commit/740778fafc78f291966f3951a1ce00531cacb0c1)) +* **api:** add support for referencing backend-builtin functions ([76f5f4b](https://github.com/ibis-project/ibis/commit/76f5f4b1ce3289ec85517b56f19667467f5b3334)) +* **api:** implement negative slice indexing ([caee5c1](https://github.com/ibis-project/ibis/commit/caee5c16587acf371aec3cac35eea6caf21954b3)) +* **api:** improve repr for deferred expressions containing Column/Scalar values ([6b1218a](https://github.com/ibis-project/ibis/commit/6b1218af7ae648f595ebb8d96e8972ab14c6b545)) +* **api:** improve repr of deferred functions ([f2b3744](https://github.com/ibis-project/ibis/commit/f2b3744b70a47eac64a7c36d4cc1538a8bec595d)) +* **api:** support deferred and literal values in `ibis.ifelse` ([685dbc1](https://github.com/ibis-project/ibis/commit/685dbc1b76255e10af62690805f168c6924188e4)) +* **api:** support deferred arguments in `ibis.case()` ([6f9f7c5](https://github.com/ibis-project/ibis/commit/6f9f7c597bce3ad7c81fe3d5464468d6cd968acc)) +* **api:** support deferred arguments to `ibis.array` ([b1b83f9](https://github.com/ibis-project/ibis/commit/b1b83f9426d97782cd169ee615e8c885db8232a3)) +* **api:** support deferred arguments to `ibis.map` ([86c8669](https://github.com/ibis-project/ibis/commit/86c866950529ae0277db18369c830050b87efcc6)) +* **api:** support deferred arguments to `ibis.struct` ([7ef870d](https://github.com/ibis-project/ibis/commit/7ef870dc331341bf7a61bdb637eb4cefd282e989)) +* **api:** support deferred arguments to udfs ([a49d259](https://github.com/ibis-project/ibis/commit/a49d25989e7ecb0cdede60cb1131da1a5006ce31)) +* **api:** support deferred expressions in `ibis.date` ([f454a71](https://github.com/ibis-project/ibis/commit/f454a710db40dec2ded988da69afc07387960b11)) +* **api:** support deferred expressions in `ibis.time` ([be1fd65](https://github.com/ibis-project/ibis/commit/be1fd65feee0398df329e0d53a9d529f4d0c0809)) +* **api:** support deferred expressions in `ibis.timestamp` ([0e71505](https://github.com/ibis-project/ibis/commit/0e71505a3815b661d4685779d8dbef26cc90ef9d)) +* **api:** support deferred values in `ibis.coalesce`/`ibis.greatest`/`ibis.least` ([e423480](https://github.com/ibis-project/ibis/commit/e423480c70435f6b638793366f32408a09e24068)) +* **bigquery:** implement array functions ([04f5a11](https://github.com/ibis-project/ibis/commit/04f5a110c6fc848be888043c365f92ecbe5aed15)) +* **bigquery:** use sqlglot to implement functional unnest to relational unnest ([167c3bd](https://github.com/ibis-project/ibis/commit/167c3bd116d0ee96395ab29b66db0fe36508246a)) +* **clickhouse:** add `read_parquet` and `read_csv` ([dc2ea25](https://github.com/ibis-project/ibis/commit/dc2ea252efab5deb8b318897f455e8ed7af98c2f)) +* **clickhouse:** add support for `.sql` methods ([f1d004b](https://github.com/ibis-project/ibis/commit/f1d004b29fef124a091f15e956c08740d424ac1d)) +* **clickhouse:** implement builtin agg functions ([eea679a](https://github.com/ibis-project/ibis/commit/eea679a15771fe209d147a7c563accfaf5cfb458)) +* **clickhouse:** support caching tables with the `.cache()` method ([621bdac](https://github.com/ibis-project/ibis/commit/621bdacb5604c39c6b946c8e84845d2e47b87c60)) +* **clickhouse:** support reading parquet and csv globs ([4ea1834](https://github.com/ibis-project/ibis/commit/4ea1834774c3781f2f0b0ec70ee2b93882fa9001)) +* **common:** match and replace graph nodes ([78865c0](https://github.com/ibis-project/ibis/commit/78865c0194a5c1f11e6d564828316f0dc7c7fcc5)) +* **datafusion:** add coalesce, nullif, ifnull, zeroifnull ([1cc67c9](https://github.com/ibis-project/ibis/commit/1cc67c97ef32fb0d88689a21afc6e08b5734512a)) +* **datafusion:** add ExtractWeekOfYear, ExtractMicrosecond, ExtractEpochSeconds ([5612d48](https://github.com/ibis-project/ibis/commit/5612d488bd0351da0e8c45c34ce3256834bda05d)) +* **datafusion:** add join support ([e2c143a](https://github.com/ibis-project/ibis/commit/e2c143ad26239e89a90e89bd8e407d24aa9ad6ba)) +* **datafusion:** add temporal functions ([6be6c2b](https://github.com/ibis-project/ibis/commit/6be6c2be0a46c24c82af386e2452b91b57f0fdf4)) +* **datafusion:** implement builtin agg functions ([0367069](https://github.com/ibis-project/ibis/commit/036706905efe0d1e86a6dfe6e179caf0f4508b69)) +* **duckdb:** expose loading extensions ([2feecf7](https://github.com/ibis-project/ibis/commit/2feecf7b131531ad464d14839541cc18dcbadfca)) +* **examples:** name examples tables according to example name ([169d889](https://github.com/ibis-project/ibis/commit/169d889bdd12bc08ae9725d8e5629fad3b1cb7bd)) +* **flink:** add batch and streaming mode test fixtures for Flink backend ([49485f6](https://github.com/ibis-project/ibis/commit/49485f6d22dc9e5575a147fd12e79a3e2d97c0ba)) +* **flink:** allow translation of decimal literals ([52f7032](https://github.com/ibis-project/ibis/commit/52f7032363c4bfdfb2c4db3214c0e2594853fbfa)) +* **flink:** fine-tune numeric literal translation ([2f2d0d9](https://github.com/ibis-project/ibis/commit/2f2d0d91b81eb75821d85d035e2d264453891176)) +* **flink:** implement `ops.FloorDivide` operation ([95474e6](https://github.com/ibis-project/ibis/commit/95474e681ad8a4f0db726f6a638c837a8b673bf2)) +* **flink:** implement a minimal PyFlink `Backend` ([46d0e33](https://github.com/ibis-project/ibis/commit/46d0e33892a5fd7f8f5c919bd77999ae6e6a8699)) +* **flink:** implement insert dml ([6bdec79](https://github.com/ibis-project/ibis/commit/6bdec796686c93fe3b84e331567b938efa02db38)) +* **flink:** implement table-related ddl in Flink backend to support streaming connectors ([8dabefd](https://github.com/ibis-project/ibis/commit/8dabefd4b2d157fce3b0bb932749eaae3b2901a5)) +* **flink:** implement translation of `NULLIFZERO` ([6ad1e96](https://github.com/ibis-project/ibis/commit/6ad1e969b40b09f0acb68cbd74c223c5ee36332b)) +* **flink:** implement translation of `ZEROIFNULL` ([31560eb](https://github.com/ibis-project/ibis/commit/31560eb8baf9ee5ae908633785dac9e0c7b583c9)) +* **flink:** support translating typed null values ([83beb7e](https://github.com/ibis-project/ibis/commit/83beb7e36000c9fb7bda0963d6deaf63268fcdac)) +* **impala:** implement `Backend.rename_table` ([309c999](https://github.com/ibis-project/ibis/commit/309c999a8d84f06009a62e84e6f4116237bc1790)) +* introduce watermarks in ibis api ([eaaebb8](https://github.com/ibis-project/ibis/commit/eaaebb8a323075a5ccf74539ec8c23c8ed758284)) +* just chat to open Zulip in terminal ([95e164e](https://github.com/ibis-project/ibis/commit/95e164e38b627bcdbee5aab763e5f097d62beef7)) +* **patterns:** support building sequences in replacement patterns ([f320c2e](https://github.com/ibis-project/ibis/commit/f320c2e79a367716b7fed21098eb7593eb6c3421)) +* **patterns:** support building sequences in replacement patterns ([beab068](https://github.com/ibis-project/ibis/commit/beab068da8de7c2ff15fcc23825cd3375877dcab)) +* **patterns:** support calling methods on builders like a variable ([58b2d0e](https://github.com/ibis-project/ibis/commit/58b2d0e95449a4a6a6d991a849706f79b0c71967)) +* **polars:** implement new UDF API ([becbf41](https://github.com/ibis-project/ibis/commit/becbf411872336675eb642f9bd50529c4ed6aaa8)) +* **polars:** implement support for builtin aggregate udfs ([c383f62](https://github.com/ibis-project/ibis/commit/c383f62cc699a548640099160ef9093aace5d203)) +* **polars:** support reading ndjson ([1bda3bd](https://github.com/ibis-project/ibis/commit/1bda3bdf9fa107bbb85d6f1ef8a3fa1c6f3ec859)) +* **postgres:** implement array functions ([fe41d57](https://github.com/ibis-project/ibis/commit/fe41d57c2d630f737ccc814fc34d378bcad74abc)) +* **postgres:** implement array sort ([4791cb4](https://github.com/ibis-project/ibis/commit/4791cb4fe898a0165a6fa4597cceb2039b6a9037)) +* **postgres:** implement array union ([6d3d518](https://github.com/ibis-project/ibis/commit/6d3d518775d441ec0187af3dbbf59284a88cb908)) +* **pyspark:** enable reading csv and parquet globs and implement `read_json` ([d487e10](https://github.com/ibis-project/ibis/commit/d487e1093f7a2ec9bba0f5b230305016cdbe55e7)) +* **pyspark:** enable the new scalar UDF API ([f29a8e7](https://github.com/ibis-project/ibis/commit/f29a8e741e12d87a3962f54211f5d0964bb65fa5)) +* **pyspark:** implement `Backend.rename_table` ([0a8b201](https://github.com/ibis-project/ibis/commit/0a8b2018f5a8cd228b172e9faeab91b0538d20f8)) +* **selectors:** support column references in column selector ([d4fae08](https://github.com/ibis-project/ibis/commit/d4fae08aa3b4b984161656ae16aa29f9612effcd)) +* **snowflake:** add `ArrayRemove` implementation ([4f9d9f9](https://github.com/ibis-project/ibis/commit/4f9d9f995f284bbb1fa2d3273ccf239073bc0a27)) +* **snowflake:** allow disabling creation of object UDFs ([569aa12](https://github.com/ibis-project/ibis/commit/569aa123faf1508436df8e921b74f5eaed12ecad)) +* **snowflake:** handle glob patterns in `read_csv`, `read_parquet` and `read_json` ([adb8f4c](https://github.com/ibis-project/ibis/commit/adb8f4c8f351bd4bcd6d0629522d226233415e70)) +* **snowflake:** implement `ops.ArrayRepeat` ([a93cbd6](https://github.com/ibis-project/ibis/commit/a93cbd6186839e83a9cf5e4f2d4cb40be91b2987)) +* **snowflake:** implement `read_csv` ([3323156](https://github.com/ibis-project/ibis/commit/33231562a381e451b94db8332082730b4d14df14)) +* **snowflake:** implement `read_json` ([ec870a2](https://github.com/ibis-project/ibis/commit/ec870a245b4025e38b6b83e101118faa7d9bf3cd)) +* **snowflake:** implement `read_parquet` ([e02888b](https://github.com/ibis-project/ibis/commit/e02888b96b8727786f98fd79399edc1c90b1f94e)) +* **snowflake:** implement array sort ([465fae1](https://github.com/ibis-project/ibis/commit/465fae1b91e981258571417e938fd7fab7185554)) +* **snowflake:** support literal map key contains check ([dbe7d4e](https://github.com/ibis-project/ibis/commit/dbe7d4e1f349f5f25e55ad69c67bfc306e2fa761)) +* **sql:** add `database` argument to `list_schemas` ([22ceba7](https://github.com/ibis-project/ibis/commit/22ceba75edc2218edeb8b43a67df0a1384b7b344)) +* **sqlalchemy:** support builtin aggregate functions ([3b27e23](https://github.com/ibis-project/ibis/commit/3b27e237cbfb66a97ded33a06d451e371d7dcef9)) +* **sqlite:** implement caching support ([0677f8d](https://github.com/ibis-project/ibis/commit/0677f8dbe30588f608b1dab5c165e60524cd5bae)) +* **tests:** support defining datatype nullability for hypothesis strategies ([ff26fb8](https://github.com/ibis-project/ibis/commit/ff26fb8209929e56a846329a258d697a0516b523)) +* **trino:** add source application to trino backend ([530b0b3](https://github.com/ibis-project/ibis/commit/530b0b314f1f3aadc6272b04dbc9e595b921bfb5)) +* **trino:** cross-schema table support ([9c7c65f](https://github.com/ibis-project/ibis/commit/9c7c65f59d0db8d166bf4d305b3c6c5280bd1a93)) +* **udf:** add support for builtin aggregate UDFs ([8ee12bf](https://github.com/ibis-project/ibis/commit/8ee12bf73aee8446e67f8005e62e5f51450c6787)) +* **udf:** support inputs without type annotations ([99e531d](https://github.com/ibis-project/ibis/commit/99e531d677419716d98843e4001a1d25d0578c8d)) +* **ux:** promote lists of strings to `any_of` selectors ([5e11529](https://github.com/ibis-project/ibis/commit/5e11529d02a8f858353f4df958924d20a5cb2add)) + + +### Bug Fixes + +* **api:** ensure that deferred objects cannot be converted into literals ([b37804a](https://github.com/ibis-project/ibis/commit/b37804a4a36aa58823ec1bb8eb52442a5dde0ab3)) +* **api:** ensure that normalization of boolean, ints and floats fail with readable error message ([556f7cc](https://github.com/ibis-project/ibis/commit/556f7cca84639762882ba6d1f42762e793aa95a2)) +* **api:** ensure the order of duplicate non-renamed columns in `relocate` is preserved ([19a59aa](https://github.com/ibis-project/ibis/commit/19a59aa5e86f320870625c4349c9ddb1cc672417)) +* **api:** fail on trying to construct an iterable of a deferred object ([89bf919](https://github.com/ibis-project/ibis/commit/89bf919911219808b328fbfb6104557d94770633)) +* **api:** improve error message for bad arguments to `Table.select` ([258a289](https://github.com/ibis-project/ibis/commit/258a289acd02f84ca239835e93f5385325bdf56e)) +* **api:** support passing `functools.partial` objects to array `.map`/`.filter` methods ([28f45d0](https://github.com/ibis-project/ibis/commit/28f45d04e5ec82e5c7b06b63bef09a98de953232)) +* **bigquery,impala:** escape all ASCII escape sequences in string literals ([88e6961](https://github.com/ibis-project/ibis/commit/88e69618f11c493d3419e55ddbee322c477f8c1e)) +* **bigquery:** correctly escape ASCII escape sequences in regex patterns ([f2d3245](https://github.com/ibis-project/ibis/commit/f2d324503ab804627cd0e0ec34f913ad49c95627)) +* **bigquery:** generate the correct temporal literal type based on the presence of timezone information ([98a6ae0](https://github.com/ibis-project/ibis/commit/98a6ae0698e468f280de5f55b9d6689a454a7dba)) +* **bigquery:** quote struct field names in memtable when necessary ([b1fcde8](https://github.com/ibis-project/ibis/commit/b1fcde8f76cbeea3a40e81fe2eebfc315ca9acc6)) +* **clickhouse:** do not always prefix the table name with database, because temp tables cannot be assigned a database ([5f88102](https://github.com/ibis-project/ibis/commit/5f881026df531005a9e3d8384f34aa38fc7de0fa)) +* **clickhouse:** list temporary tables with `list_tables` ([758a875](https://github.com/ibis-project/ibis/commit/758a8751a77544904b7a719d5e63156251808dcf)) +* **clickhouse:** make sure that `array1.union(array2)` null handling matches across backends ([8d42794](https://github.com/ibis-project/ibis/commit/8d427941fec2d57ea8ad5544e1d34db636ee5b7d)) +* **clickhouse:** workaround clickhouse_connect usage of removed APIs in pandas 2.1.0 ([577599a](https://github.com/ibis-project/ibis/commit/577599a2bda3aa2fbcf515078a43b2d56194e2f4)) +* **clip:** preserve nulls when clipping ([c12dfa4](https://github.com/ibis-project/ibis/commit/c12dfa4e6a7d904997b4ae28248345b0795d7a53)) +* **common:** `pattern()` factory should construct a `CoercedTo(type)` pattern from coercible types ([09be2cd](https://github.com/ibis-project/ibis/commit/09be2cd01845a6343156b4333989334cba8c52a0)) +* **common:** disallow plain string inputs for SequenceOf patterns ([578980d](https://github.com/ibis-project/ibis/commit/578980d4be863e3ad6086999f84e9bb6014eecde)) +* **common:** disallow type coercion when checking for generic type fields ([df63e8b](https://github.com/ibis-project/ibis/commit/df63e8ba71e8c17fdbfe9f6361d515e33abf3068)) +* **common:** support optional keyword-only parameters when validating callables ([519a9e0](https://github.com/ibis-project/ibis/commit/519a9e07cd88fcf16a1225c0e848c1252400c92b)) +* **datafusion:** cast division inputs to float64 before dividing ([197342d](https://github.com/ibis-project/ibis/commit/197342dbf60ac1773aa31d69ffe1d7d13da4cc8c)) +* **datatypes:** decimal normalization failed for integers ([5213958](https://github.com/ibis-project/ibis/commit/52139588959769ab4de92d3a9bfaf89077c740ce)) +* **deps:** update dependency datafusion to v28 ([1a8b223](https://github.com/ibis-project/ibis/commit/1a8b223b5323ee4302fad7d0199c8cd39ebe66c5)) +* **deps:** update dependency datafusion to v31 ([fa0a8bd](https://github.com/ibis-project/ibis/commit/fa0a8bdf41ec90f04bd4b00b6f52dd7c1c398927)) +* **deps:** update dependency pyarrow to v13 ([43dc1e1](https://github.com/ibis-project/ibis/commit/43dc1e17c468b34c32ac84fccee06a08733d4e02)) +* **deps:** update dependency sqlglot to v18 ([5fa0083](https://github.com/ibis-project/ibis/commit/5fa0083273bd0184f464bf3546b88239908c02e0)) +* **drop:** support deferred objects in calls to drop ([d27374b](https://github.com/ibis-project/ibis/commit/d27374b9a6c8b54c7556d4070fc447fc214ae834)) +* **druid:** avoid double escaping percent-signs in strings ([1d1f7bd](https://github.com/ibis-project/ibis/commit/1d1f7bdba44eef970f23336ea074232c907fd341)) +* **druid:** convert type strings to lowercase before looking up ([4a838f7](https://github.com/ibis-project/ibis/commit/4a838f7126dbf5d067aa60cd97d707a2363f1038)) +* **druid:** ensure that string types are translated to `VARCHAR` ([56e6ffc](https://github.com/ibis-project/ibis/commit/56e6ffc0e65dc02b78360efa9b38b4dd10f07dac)) +* **dtypes:** switch scale and timestamp parameter order when formatting a timestamp datatype ([302b122](https://github.com/ibis-project/ibis/commit/302b122d2339016eb310ec8286cc3eca1a12ad45)) +* **duckdb:** load httpfs with read_csv from s3 ([da1b95f](https://github.com/ibis-project/ibis/commit/da1b95f9b60c50defb5fac8f2ea09d8c62ed7d71)) +* **duckdb:** make sure that `array1.union(array2)` null handling matches across backends ([849dea4](https://github.com/ibis-project/ibis/commit/849dea46214177fbf2612fa42383b7d2ca561111)) +* **duckdb:** remove hack to workaround bug that was fixed upstream ([310c521](https://github.com/ibis-project/ibis/commit/310c521edceb6cc5f0c5961b0155a6f5b4be7602)) +* **duckdb:** workaround aggressive importing on the duckdb side ([105e2d6](https://github.com/ibis-project/ibis/commit/105e2d6af260665bff3414bb55f16e4a1d395ebe)) +* **flink:** correct `ops.RegexSearch` translations ([a3427a1](https://github.com/ibis-project/ibis/commit/a3427a10d0012c83c56a29dded8efd1bef64d332)) +* **flink:** correct the translation of `ops.Power` ([42d2236](https://github.com/ibis-project/ibis/commit/42d2236600ed4214766eb18667a73a7ac170690d)) +* **flink:** correct translation of `ops.IfNull` op ([85de81c](https://github.com/ibis-project/ibis/commit/85de81cd10edf76ca56b0ba987efc67c8a1377f5)) +* **flink:** fix the pandas conversion in `execute` ([2f6564f](https://github.com/ibis-project/ibis/commit/2f6564f0ab8b0faf64f801eabaf73f34ba5ddaf0)) +* **flink:** fix translation of `ops.TimestampDiff` ([580eff7](https://github.com/ibis-project/ibis/commit/580eff7d0e01e471dcba79e99fcd0f507c108178)) +* **flink:** implement an in-memory table formatter ([217a14b](https://github.com/ibis-project/ibis/commit/217a14b52493f8d2962ca3db2c7f2a8a0ca352bb)) +* **flink:** remove broken, untested `epochseconds` ([f18c760](https://github.com/ibis-project/ibis/commit/f18c76096fad0ba25e83bd3d899b4745eaeea54a)) +* **flink:** rewrite `ops.Clip` using if statements ([b7153ea](https://github.com/ibis-project/ibis/commit/b7153ea8b00e2e8230a3ed23f09b73075f774b89)) +* **flink:** rewrite `ops.Date` as a cast operation ([2470e81](https://github.com/ibis-project/ibis/commit/2470e815c6e57002d664fedd30c0276ad441b9b0)) +* **flink:** translate `ops.RandomScalar` to `rand` ([c485a92](https://github.com/ibis-project/ibis/commit/c485a9274cee3f3dd066e47b2d9723189a098580)) +* **format:** support rendering empty schemas ([f8faada](https://github.com/ibis-project/ibis/commit/f8faada8750416da39f87f8b04799dfbafdde897)) +* **histogram:** ensure that the bin width calculation matches numpy ([e6a0037](https://github.com/ibis-project/ibis/commit/e6a0037c9399594613865815a47e9914dc886e51)) +* **impala:** allow arbitrary connection params ([f251289](https://github.com/ibis-project/ibis/commit/f2512891b15a6e72d9d3602c9c869e4b68b1286b)) +* **mysql:** handle null literals ([79788c7](https://github.com/ibis-project/ibis/commit/79788c7af1ce153153a12e443adceef73ffd713a)) +* **oracle:** clarify sid vs service_name handling and allow dsn ([d4ea3bf](https://github.com/ibis-project/ibis/commit/d4ea3bf05a77a291b209c288d60dcc806cae7f75)) +* **oracle:** ensure that metadata queries use SQL and not sqlplus-specific syntax ([2c1bf93](https://github.com/ibis-project/ibis/commit/2c1bf93912977ce13158bcbede70fef49aded945)) +* **pandas:** compatibility with 2.1 groupby behavior ([ab3fc9e](https://github.com/ibis-project/ibis/commit/ab3fc9ee2c46ed3ebb4c6e2cd338fb4feb51aa8b)) +* **patterns:** fix pattern mismatch error for default `Pattern` ([f68079a](https://github.com/ibis-project/ibis/commit/f68079addc9b8075029d7e105d1384afe2147bd9)) +* **patterns:** support optional keyword arguments in CallableWith ([a78aa60](https://github.com/ibis-project/ibis/commit/a78aa6064b7474d5b275f5f809581c9ee1f4ba06)) +* **patterns:** support passing mappings to Getitem builder ([25864cf](https://github.com/ibis-project/ibis/commit/25864cf6db75dd4c6206603530436dd5db00e3dc)) +* **patterns:** support string inputs for builder() ([3610e52](https://github.com/ibis-project/ibis/commit/3610e523ddd05140873dbeb041a27e6ebe931e1c)) +* **polars:** polars no longer panics on a value_counts-ed expression ([e14185a](https://github.com/ibis-project/ibis/commit/e14185ae93c5c6057b300c592b0fe18cb460cd61)) +* **pyspark:** default to inferring the schema of CSV files and assuming they have a header with `header=True` ([0ffda75](https://github.com/ibis-project/ibis/commit/0ffda75494dc1519511a845b1475ecd745795c38)) +* **pyspark:** gate datediff op to restore pyspark 3.2 support ([4a8d611](https://github.com/ibis-project/ibis/commit/4a8d611965b9015f442e258a56494b47e7e7626b)) +* **pyspark:** gate other usage of DayTimeIntervalType for PySpark 3.2 ([ab01de0](https://github.com/ibis-project/ibis/commit/ab01de0939e523578a1221b46e26c36de81965aa)) +* **release:** pin conventional-changelog-conventionalcommits to 6.1.0 ([f6faf89](https://github.com/ibis-project/ibis/commit/f6faf8948424265df51cfe87e80bc73198cb1401)) +* remove pandas license ([476a659](https://github.com/ibis-project/ibis/commit/476a65964addbafdf5280e8a2254ddaae2e21113)) +* **repr:** ensure that column expressions are not promoted to table when repring non-interactively ([d57a162](https://github.com/ibis-project/ibis/commit/d57a162a59968d5c87a24b2094ad72f44bedb313)) +* **selectors:** error when trying to select a non-existent column with `s.c` ([ae3e76e](https://github.com/ibis-project/ibis/commit/ae3e76e6b76b7681f5191a03634f5ffffbe906e5)) +* **snowflake:** allow backend to choose how to prefix table names during compilation ([933fb32](https://github.com/ibis-project/ibis/commit/933fb321eb0580d66fb8148e5e7636a15233865b)) +* **snowflake:** disable filter and map ([53bc22e](https://github.com/ibis-project/ibis/commit/53bc22e4895370867a5af451e4ff83adb3a63ac8)) +* **snowflake:** ensure that laterals joins with newlines are also rewritten ([dfd3c9b](https://github.com/ibis-project/ibis/commit/dfd3c9b81d86f0e39f39ce85517a4bddf41c41f8)) +* **snowflake:** ensure the correct compilation of tables from other databases and schemas ([0ee68e2](https://github.com/ibis-project/ibis/commit/0ee68e21cc8764fd2e9a9690b347db33feda01e4)) +* **snowflake:** fix timestamp scale inference ([083bdae](https://github.com/ibis-project/ibis/commit/083bdae6c76a45301ccc9f449652772c607470fb)) +* **snowflake:** use ibis-defined `array_sort` until upstream lands ([6f7e13d](https://github.com/ibis-project/ibis/commit/6f7e13db26538406761614eb8cd1b612d7465b66)) +* **sqlalchemy:** ignore database when specified with `temp=True` ([04461d5](https://github.com/ibis-project/ibis/commit/04461d5e7889c2613b997222d3a410e46a4a70e3)) +* **sql:** avoid reselecting relations that do not need it to prevent dropping order by clauses ([8ae2f03](https://github.com/ibis-project/ibis/commit/8ae2f0309cf961f2d9203202ff1086af75a33e80)) +* **sqlglot:** ensure back compat for `DataTypeParam` import ([65851fc](https://github.com/ibis-project/ibis/commit/65851fcd851d3ef3fdeeabccb090e63984820d41)) +* **struct-column:** make `ops.StructColumn` dshape depend on its input ([7086d58](https://github.com/ibis-project/ibis/commit/7086d58d74b05a4218e6866322dd53c736842aeb)) +* **trino:** differentiate between a single column struct and a non-struct column ([b1f1939](https://github.com/ibis-project/ibis/commit/b1f1939923348bce2140a9af1a8be943123635f1)) +* **trino:** ensure that list_databases look at all catalogs not just the current one ([5487630](https://github.com/ibis-project/ibis/commit/54876308d7330b67153ed947f911b53ea81ed5e8)) +* **trino:** override incorrect base sqlalchemy `list_schemas` implementation ([f328c76](https://github.com/ibis-project/ibis/commit/f328c76ed99db40dca0cff6d155373b0b0c4af31)) +* **type hints:** improvements to type hints in ibis.expr ([297b449](https://github.com/ibis-project/ibis/commit/297b4495a1547c54740f69d0ab98c09125ef6a1e)) +* **type hints:** remove notimplemented as type hints as not valid ([57ea7a1](https://github.com/ibis-project/ibis/commit/57ea7a167aa9236d6b617102aecf4338180d11f6)) +* **type hints:** various improvements to type hints in common ([ff00347](https://github.com/ibis-project/ibis/commit/ff00347ac97550c8163c0f9aa7c2300d586307ca)) + + +### Documentation + +* add `functools.partial` and lambda closures to `ArrayValue.map` and `ArrayValue.filter` ([e245e83](https://github.com/ibis-project/ibis/commit/e245e833a6512d4d53b2999e96462c72f3c152c0)) +* add `ibis.connect` to `top_level` API docs ([0d197e8](https://github.com/ibis-project/ibis/commit/0d197e83aa8e6d27bb540a180ac7daf317d7dc30)) +* add 404 page ([8b2de41](https://github.com/ibis-project/ibis/commit/8b2de41019af0e52cb1aa2f9edc7ca57dbb43031)) +* add 6.2.0 release notes ([f5a2aed](https://github.com/ibis-project/ibis/commit/f5a2aed0358050e2e279c6657a29731a9eed4458)) +* add back goatcounter to website ([a0095bf](https://github.com/ibis-project/ibis/commit/a0095bf366c3f8781cb509f7d60a087ea87cfb16)) +* add docs issue to navbar ([ea41e53](https://github.com/ibis-project/ibis/commit/ea41e53cad750cf496b81f40b6542236fa924d47)) +* add exending how-to guides ([0bad961](https://github.com/ibis-project/ibis/commit/0bad961d18ea21d2f51136911242d6f155d9584a)) +* add how-to for working with raw sql strings ([3e08556](https://github.com/ibis-project/ibis/commit/3e085562f676bfb7371b4e411c67ba56a5327526)) +* add interactivity to altair example ([0037fd8](https://github.com/ibis-project/ibis/commit/0037fd8226a31705f7a74cc5d07befd8fdccb666)) +* add interactivity to altair example on homepage ([217f080](https://github.com/ibis-project/ibis/commit/217f080f81ac6f596f193654d15d51fd31b38082)) +* add more redirects based on Google search console findings ([fe890a4](https://github.com/ibis-project/ibis/commit/fe890a413e7bcb3d71391a32569ad85dbad92a4f)) +* add proper zulip icon ([f854327](https://github.com/ibis-project/ibis/commit/f854327a126815b18ef8f05a144b37051d1b0355)) +* add some prose and move operation support matrix ([48b7e34](https://github.com/ibis-project/ibis/commit/48b7e34cfca4d09d8b02a120719b2fe48cd97080)) +* add UDF API documentation ([5354689](https://github.com/ibis-project/ibis/commit/53546891a993fe691afa936099c078e57853380b)) +* add v6.1.0 release blog ([a66f7b7](https://github.com/ibis-project/ibis/commit/a66f7b770b8dc1de9526cf720946aa190cdd2e13)) +* **arrays:** update blog post to include `unnest` examples ([e765712](https://github.com/ibis-project/ibis/commit/e76571269a9e3a49e0ced7d0291b9c5e083b2188)) +* **backends:** add support more supported IO types ([124f085](https://github.com/ibis-project/ibis/commit/124f085a649815871bcb3782f3cc6c3e777af7fe)) +* **backends:** explain how to release a cursor and suggest using `.sql` instead ([1e1a574](https://github.com/ibis-project/ibis/commit/1e1a574fe9cf2673de5849041c81524243150e4e)) +* basic starburst galaxy tutorial ([a7a49ca](https://github.com/ibis-project/ibis/commit/a7a49ca6c1f2bf45dd733d8ded37b9d55a9c6865)) +* **blog:** add bigquery arrays 7.0.0 blog post ([8f2a40f](https://github.com/ibis-project/ibis/commit/8f2a40ff89ef113a327841d72159d497258e314f)) +* **blog:** add tags to blog posts ([1527655](https://github.com/ibis-project/ibis/commit/1527655b9cbf455ecc82757d19fa78184415db3a)) +* **blog:** embed the torch youtube video directly ([70515ed](https://github.com/ibis-project/ibis/commit/70515ed788670c1db53769041fe1dc4925a972d0)) +* **blog:** snowflake io ([ee8c512](https://github.com/ibis-project/ibis/commit/ee8c5127e7d501feb2f3a0ccf088d1ed10c67374)) +* bring back backend API documentation ([df981d5](https://github.com/ibis-project/ibis/commit/df981d5595e7643391b378bcfbfe789173621be5)) +* bring back versioning policy doc ([9dc8966](https://github.com/ibis-project/ibis/commit/9dc896694fec270bb679032979262e7660c799bd)) +* clean up extending tutorials ([8da58d4](https://github.com/ibis-project/ibis/commit/8da58d41f82e937cbe4ab446a76965dba2c7e4ad)) +* community to contriute ([f02c2fb](https://github.com/ibis-project/ibis/commit/f02c2fb5d6821d3b837a73dc1605e39cea50a6d7)) +* dark mode for life ([2fa181a](https://github.com/ibis-project/ibis/commit/2fa181aaa29f9e6bb0f53b14140946c9becacd39)) +* default to short signature but show full path for top level functions ([9793862](https://github.com/ibis-project/ibis/commit/9793862058c82871ffa7f3ae4621887d51e2d050)) +* draft posts to draft and very minor edits ([43499e3](https://github.com/ibis-project/ibis/commit/43499e389273f20c990a5061b30729f92ec3ba13)) +* ensure that all parameters elements overflow with a scrollbar ([5002d9f](https://github.com/ibis-project/ibis/commit/5002d9fa38aef95af44e05307cd5a418c65c360e)) +* expose API under `ibis` when possible ([bc05ced](https://github.com/ibis-project/ibis/commit/bc05cedfb0a00f19569ed342a5100b11fe416589)) +* fix edit this page button ([284b48a](https://github.com/ibis-project/ibis/commit/284b48ad1be191a5448884891b663a4fcf09fa2c)) +* fix links from install to connect ([9bf27fb](https://github.com/ibis-project/ibis/commit/9bf27fbe90768e5b503ba677a43fca23057b66e9)) +* fix numerics and move connection apis elsewhere ([95bb2e0](https://github.com/ibis-project/ibis/commit/95bb2e0211cb83024e83c20b4d0abe989773a1a6)) +* fix setuptools extra install style ([d9ab537](https://github.com/ibis-project/ibis/commit/d9ab5377433c8e648bf95f4c74ade17a1c490b15)) +* fix zulip link for new members ([3732f46](https://github.com/ibis-project/ibis/commit/3732f4626d8b5f28b272320cae5502922fe169f4)) +* gitter -> zulip ([ef79e64](https://github.com/ibis-project/ibis/commit/ef79e640ae30349d72ecb75543f860251ccbd956)) +* give reference docs a more organized layout ([583af94](https://github.com/ibis-project/ibis/commit/583af94bd412507bd86bdeb4d332eacc4366ffba)) +* hand roll `datatypes.core` APIs to avoid documenting private types ([6ad8069](https://github.com/ibis-project/ibis/commit/6ad8069680ac7f28bc86da02f9db4ec2ca77ae55)) +* import ibis in doctests ([7f340de](https://github.com/ibis-project/ibis/commit/7f340def58ff50292b763a381d17b87e24e19648)) +* include full name of signatures ([66a58e2](https://github.com/ibis-project/ibis/commit/66a58e2b30af278a06f4afeba0981b4ac640f92e)), closes [/github.com/ibis-project/ibis/pull/7159#issuecomment-1735845163](https://github.com/ibis-project//github.com/ibis-project/ibis/pull/7159/issues/issuecomment-1735845163) +* **install:** point to `connect` anchor instead of `do_connect` ([d680b40](https://github.com/ibis-project/ibis/commit/d680b409d93ccac49188e6e0027556c7bc703777)) +* **IO:** add missing word, add line breaks ([f4fdfd3](https://github.com/ibis-project/ibis/commit/f4fdfd3b7093e45e689a116dd024b96fa9c87a6b)) +* **language:** de-simple-fy prose in docs ([0617271](https://github.com/ibis-project/ibis/commit/0617271e72574e5558d7e127cd600c9f23d390cb)) +* link to zulip in `README.md` ([15112bb](https://github.com/ibis-project/ibis/commit/15112bbee3f4dae8f990115a5e33caf39163cdcc)) +* major home page refactor ([a4e4569](https://github.com/ibis-project/ibis/commit/a4e45699b15c3a1f0b84efbc380e40c3ae2dc481)) +* minor blog fixes/prose update ([304edd1](https://github.com/ibis-project/ibis/commit/304edd14fab4dca78ad86d6092a296398d497183)) +* minor blog update ([df14997](https://github.com/ibis-project/ibis/commit/df149978258df9ae96f13505e13ac42ceff90b13)) +* minor consistency on capitalization of versioning concept ([b838760](https://github.com/ibis-project/ibis/commit/b83876040df34c32b27141fb4bc7a664e3b73df6)) +* minor fix in starburst tutorial ([54473ba](https://github.com/ibis-project/ibis/commit/54473bab9a29daf67c2e7bf7f082df2d38a51dd5)) +* more redirects and add ibis 3.0.2 ([8d900ee](https://github.com/ibis-project/ibis/commit/8d900ee169607953c256b1ff99b0aef37324ddcf)) +* move column selectors closer to relevant expression page ([ea3a090](https://github.com/ibis-project/ibis/commit/ea3a0907a3fe797b3359d5fa1046ea742d9c4221)) +* **nix:** add configuration notes to nix environment setup ([1c60318](https://github.com/ibis-project/ibis/commit/1c603187ed36886a589a28c53bc10fe782eed595)) +* only render file support methods once ([98b348c](https://github.com/ibis-project/ibis/commit/98b348c30300f3e5133f67c71ae4e0c15d5f40e6)) +* port bigquery ci-analysis blog post to use the `delta` API ([e543b1d](https://github.com/ibis-project/ibis/commit/e543b1de6ba0b4ddd69833d48d0efdb5b08b8b51)) +* **quarto:** add quartodoc interlinks filter ([9f7a1ef](https://github.com/ibis-project/ibis/commit/9f7a1ef7fc0354da4e0b005f3e1263eaff71360d)) +* **quarto:** make blog post titles visible in light mode ([be2e95f](https://github.com/ibis-project/ibis/commit/be2e95f3d724183a6366bbb78189d1519fcb3ae6)) +* **quarto:** override api code blocks with custom renderer ([b504fee](https://github.com/ibis-project/ibis/commit/b504fee2966cb32c8ec13bcd919d44bab3851c0c)) +* **quarto:** shorten method signature names ([e37bfea](https://github.com/ibis-project/ibis/commit/e37bfea88b3db392fefaa33f31c83b9b5f0660e5)) +* **quart:** remove temporary eval false setting ([0b9e3a3](https://github.com/ibis-project/ibis/commit/0b9e3a39cda9a6d0b14828a0a019c04c27cc16c0)) +* refactor and move to quarto ([487a5e5](https://github.com/ibis-project/ibis/commit/487a5e5489a45e7f8918daf898b7acdf40b15aa3)) +* **reference:** fix ibis.ifelse() docstring ([a80bb75](https://github.com/ibis-project/ibis/commit/a80bb7567b6fde6047d0e1db93ec7f67db91831c)) +* **reference:** improve descriptions of sections ([6a4924a](https://github.com/ibis-project/ibis/commit/6a4924a36255ea7029c7f22ce095a6f084e21eec)) +* **reference:** move collections API from global ([4780536](https://github.com/ibis-project/ibis/commit/47805361e9907d69d97e08845f399dc400799fa5)) +* **reference:** move generic API from global ([ba1f72e](https://github.com/ibis-project/ibis/commit/ba1f72e190c49ac4ea7e15f111a05e79a7564425)) +* **reference:** move numeric/bool API from global ([f3f23ac](https://github.com/ibis-project/ibis/commit/f3f23ac4c8ec7848f2c663ab37cf32a9873e892f)) +* **reference:** move Table API from global ([efcc2fb](https://github.com/ibis-project/ibis/commit/efcc2fb98a420243b812e934d8822611d269fdc6)) +* **reference:** move temporal API from global ([c452fbb](https://github.com/ibis-project/ibis/commit/c452fbbd466a57157c6631325b52d37796fb5ae0)) +* **reference:** move types API from global ([662c509](https://github.com/ibis-project/ibis/commit/662c50936e92aae79063a004e0ead37b25b289a2)) +* **reference:** rename Complex to Collection ([194afa7](https://github.com/ibis-project/ibis/commit/194afa76b85f80db8fb2c757d43c24bb3f19380e)) +* **reference:** rename top-level to connection ([9b9cd03](https://github.com/ibis-project/ibis/commit/9b9cd037645ec716a45b70137f8d2f01ec9ab90c)) +* **reference:** simplify title of Generic section ([ef86165](https://github.com/ibis-project/ibis/commit/ef8616513181b3ce5cd05c6ee72bc634177d781b)) +* **reference:** soft-deprecate ibis.where ([3c94f7b](https://github.com/ibis-project/ibis/commit/3c94f7b2ddf4fc40deeacc9a8622e5fbfafc4e16)) +* **reference:** sort numeric before strings ([0df8bba](https://github.com/ibis-project/ibis/commit/0df8bba1d23daf77a5ef881527f955284a03fb68)) +* remove duckdb code annotations ([b0bcdde](https://github.com/ibis-project/ibis/commit/b0bcdde6f6777843745991863e8aa1365b97338b)) +* remove extra bits in zulip links ([29680a3](https://github.com/ibis-project/ibis/commit/29680a3f584f9bc66edd772dde9bfed72c2e7170)) +* remove final instances of gitter ([69f941a](https://github.com/ibis-project/ibis/commit/69f941af7a3addfa9828a6ffeca529cc5a3e4cf9)) +* remove keywords ([53a9f9f](https://github.com/ibis-project/ibis/commit/53a9f9f6aecc281172aa5d4ad15c50402470ef53)) +* remove old S3 comment in impala docs ([57c0596](https://github.com/ibis-project/ibis/commit/57c0596fd9466f85be3a28167c76ba16c6408d9c)) +* remove old-style schema construction from examples and docstrings ([1b1c33a](https://github.com/ibis-project/ibis/commit/1b1c33a29a34f83fcce8d87c7ad3fc491e4cdc8d)) +* remove stray bracket ([72c9039](https://github.com/ibis-project/ibis/commit/72c903933c6c440030cd2520395f77f5e3b707d3)) +* remove streamlit app on front page ([d6d498e](https://github.com/ibis-project/ibis/commit/d6d498e7d68b00e7e8d73f2d4bde6f5ec1bf6cf3)) +* remove underscores that are not deferreds in doctest ([5d300a9](https://github.com/ibis-project/ibis/commit/5d300a98fe3259cd0c8c3acf593dcbebc9cab5e9)) +* remove warning on front page ([e68ec90](https://github.com/ibis-project/ibis/commit/e68ec90bb2e630eed5fa8499887481cdd18cd461)) +* set expectations for the impala backend ([09c7678](https://github.com/ibis-project/ibis/commit/09c767828340c2b9f0e8aeb9cdf5c89546376c38)) +* some how-to updates ([6627016](https://github.com/ibis-project/ibis/commit/66270166eb2ea594b88bb0ad1c532bb32e4b7ba3)) +* swap release notes and contribute ([a242e31](https://github.com/ibis-project/ibis/commit/a242e31f74f6a1f97925cccfa71e30e210489a52)) +* **trino:** add connection docstring ([5776bfa](https://github.com/ibis-project/ibis/commit/5776bfa4600a74eaae4b3e41b67d70445ca7e839)) +* update `poetry` version ([15e77f7](https://github.com/ibis-project/ibis/commit/15e77f7d232aaa77afaa23ab81127cb01247d3d0)) +* update link to 'example repository' instead of 'tutorial' ([c20d3ee](https://github.com/ibis-project/ibis/commit/c20d3eed19ffb471fcf439c3e77284692f1150b4)) +* update link to sqlalchemy tutorial ([047aef7](https://github.com/ibis-project/ibis/commit/047aef7c26ea1bbdec3c471c545e758337c06020)) +* why ibis and other edits ([a3c1c3f](https://github.com/ibis-project/ibis/commit/a3c1c3f7bf20240fdbe15503993a754961ae49f9)) + + +### Refactors + +* add deferrable decorator ([b09d978](https://github.com/ibis-project/ibis/commit/b09d97829f0daaa362ad0bd2cc23b9e225edadb3)) +* add type annotations to set operation functions ([13f593b](https://github.com/ibis-project/ibis/commit/13f593ba17836d83aa9b20f529b249263c15caf2)) +* add types to Case and Window Builders ([b85b424](https://github.com/ibis-project/ibis/commit/b85b42494d12bbfe5612a1bd437c1f5385f250b1)) +* **analysis:** remove `find_memtables` function in favor of `node.find()` ([c4658e7](https://github.com/ibis-project/ibis/commit/c4658e7d43e7284739f7fa28372ebda3d17f73ed)) +* **analysis:** remove `find_phyisical_tables()` function in favor of `node.find()` ([4daf2df](https://github.com/ibis-project/ibis/commit/4daf2df25020fb54403d7804fbfa469f52efe61c)) +* **analysis:** remove `is_analytic` function in favor of `node.find()` ([0452810](https://github.com/ibis-project/ibis/commit/0452810d2d4cbe4c48748ed86585881e709a702b)) +* **analysis:** remove ScalarAggregate, reduction_to_aggregation and has_multiple_bases ([ed75866](https://github.com/ibis-project/ibis/commit/ed75866936b562275d796981ca0763917ed0c611)) +* **analysis:** rewrite substitute_unbound to use the new pattern system ([885d2ff](https://github.com/ibis-project/ibis/commit/885d2ffe3e4c1f26f112fb45c8dc8d845776e952)) +* **api:** remove deprecated tuple syntax for order_by() ([57733e0](https://github.com/ibis-project/ibis/commit/57733e043813d177719641ba04a8ee3023515efd)) +* **api:** remove interpolation argument ([7c242af](https://github.com/ibis-project/ibis/commit/7c242af89f5c821af146a4fd31fe3b04675110f1)) +* **api:** remove string as a parent type from expression API ([2db98fb](https://github.com/ibis-project/ibis/commit/2db98fb77af68932429bdcfc882f318c084111a5)) +* **array-apply:** adjust array map and array filter representation for easier non-recursive compilation ([b91ecf0](https://github.com/ibis-project/ibis/commit/b91ecf0a19d53e123b9faeb5706d18848fb43fad)) +* **backends:** adjust backends to work with new array representation ([90befb2](https://github.com/ibis-project/ibis/commit/90befb22ce4baaeecbed9eb1fb24719b3419e055)) +* **bigquery:** make literals less messy ([8d8ad87](https://github.com/ibis-project/ibis/commit/8d8ad8704806e5706d49bbf3533934d50506de0d)) +* **clickhouse:** move `ClickhouseTable.insert` method to clickhouse backend and remove `ClickhouseTable` class ([c9c72ae](https://github.com/ibis-project/ibis/commit/c9c72aefaa7b84f266ff73efc09562b7619403ec)) +* **clickhouse:** remove recursion from the compiler ([ccbcdc0](https://github.com/ibis-project/ibis/commit/ccbcdc0de519c0673ed94ac05c0da2fc5b9d63d5)) +* **clickhouse:** use more sqlglot constructs ([c7ca7cd](https://github.com/ibis-project/ibis/commit/c7ca7cd4017e1e09825194221cb791a68ac67dbc)) +* **common:** disallow None for Annotation.pattern in favor of using Any() ([7434068](https://github.com/ibis-project/ibis/commit/7434068358e46c097f896ddf433036f313d1b95a)) +* **common:** factor out base classes to `ibis.common.bases` from `ibis.common.grounds` ([01671d2](https://github.com/ibis-project/ibis/commit/01671d2184a7c2e815f11516fb75e2ad3a47515e)) +* **common:** ibis.common.patterns.match() should return with the matched value rather than the context ([cbb9b2f](https://github.com/ibis-project/ibis/commit/cbb9b2f90c85756005783cf10b4ba4183abb06b1)) +* **common:** improve error messages raised during validation ([f95613a](https://github.com/ibis-project/ibis/commit/f95613a5a462117385679857a887d2aa363cd011)) +* **common:** remove `ibis.collections.DotDict` ([fedd4b1](https://github.com/ibis-project/ibis/commit/fedd4b13ae4e3bfa37f6861b0cea4212a64081d4)) +* **common:** remove `Validator` mixin for better clarity ([4697e7d](https://github.com/ibis-project/ibis/commit/4697e7dd5086c919df800bed459107c6f8720d35)) +* **common:** remove ibis.common.parse since it is only used by the datatype parser ([557414f](https://github.com/ibis-project/ibis/commit/557414fb6de18a91541bebbfe2f14707f0be7f72)) +* **common:** restrict implicit traversals to common builtin collections ([8531347](https://github.com/ibis-project/ibis/commit/85313475824ec44610fca8b819778cb4f95d157e)) +* **common:** turn annotations into slotted classes ([0770e92](https://github.com/ibis-project/ibis/commit/0770e92485e7cb5449c0359b186421efb73550be)) +* **datatypes:** use sqlglot for parsing backend specific types ([fe7ba24](https://github.com/ibis-project/ibis/commit/fe7ba2456a5202b28a2418fb44e145319ce6dd0c)) +* delete unexposed `ibis.api.category_label` function ([24ac5e7](https://github.com/ibis-project/ibis/commit/24ac5e7ce7e077ab73f3c442c5c79c04d9c01512)) +* **examples:** replace pooch with lighter weight pins ([521669c](https://github.com/ibis-project/ibis/commit/521669c0fd799e3e9944e76f62a5bb33960feda4)) +* **flink:** reorder registry to match SQL one ([93dad5b](https://github.com/ibis-project/ibis/commit/93dad5be63e91b7b8d520085d0d21581fa04b503)) +* **flink:** use built-in `DEGREES`, `RADIANS` ([33518e9](https://github.com/ibis-project/ibis/commit/33518e9dd69fcd95719238182954b49d6507e493)) +* **formats:** turn `TypeParser` into a `TypeMapper` implementation for sqlglot ([468bed1](https://github.com/ibis-project/ibis/commit/468bed14cbcc2ff07b8d3186721c2fb41efaa72b)) +* **ir:** construct `ArrayContains` instead of `Contains` for `value.isin(array_value)` ([e826037](https://github.com/ibis-project/ibis/commit/e826037e7be3cc7fe4639823d7eb7e0153eabeae)) +* **ir:** decompose `Contains` into `InValues` and `InColumn` ([fe9a289](https://github.com/ibis-project/ibis/commit/fe9a2899b50fd2665f34eed2a31626486c183823)) +* **ir:** glue patterns and rules together ([c20ba7f](https://github.com/ibis-project/ibis/commit/c20ba7feab6bdea6c299721310e04dbc10551cc2)) +* **ir:** remove deprecated ibis.expr.selectors module ([d4161d7](https://github.com/ibis-project/ibis/commit/d4161d735b44a3dcd708dc14cbb70b7e3723b519)) +* **ir:** rename `.output_dtype` and `.output_shape` to `.dtype` and `.shape` respectively ([f9d5403](https://github.com/ibis-project/ibis/commit/f9d5403530ab23982ddae9c906b07dd5787901a7)) +* **ir:** replace `Cumulative` operations by adding `where`, `group_by` and `order_by` kwargs to cumulative APIs ([26ffc68](https://github.com/ibis-project/ibis/commit/26ffc688cf1cf51505a7cca4a308202d6083909c)) +* **ir:** rewrite `ibis.expr.format` using `node.map()` ([94ee679](https://github.com/ibis-project/ibis/commit/94ee6790ddd3b1fdcadc0df28b245a47fd9662ea)) +* **ir:** use [@annotated](https://github.com/annotated) decorator to coerce Selection.order_by and Aggregation.order_by arguments ([8b841c1](https://github.com/ibis-project/ibis/commit/8b841c1c6d539f2d2de56c1f3d48c0b2d67ad103)) +* **mysql:** use describe temporary table to retrieve ibis schema from query ([a723637](https://github.com/ibis-project/ibis/commit/a723637320ae88ee3b17507cc277d1ebd7006ebe)) +* rename `ops.Where` to `ops.IfElse` ([a64b7ad](https://github.com/ibis-project/ibis/commit/a64b7ad917df3126329476d973e887a3fd386baa)) +* replace deprecated classes of type hints ([25946f9](https://github.com/ibis-project/ibis/commit/25946f9865f6ed940a55b2aa410548c7955f4179)) +* **snowflake:** get query schema using describe of last query id ([890d54a](https://github.com/ibis-project/ibis/commit/890d54af602daf49bed6c2b787e0bc0fa9c8b4f9)) +* **snowflake:** remove unnecessary schema setting ([9b0e6c8](https://github.com/ibis-project/ibis/commit/9b0e6c8a90c5f42b090b399b015bd24abc26ed76)) +* **snowflake:** replace custom temp table ddl for memtables with `read_parquet` ([41df410](https://github.com/ibis-project/ibis/commit/41df41027362bfea82b87a5a6967d898a792bd5f)) +* **snowflake:** sort column names in the database instead of on the client ([fb52814](https://github.com/ibis-project/ibis/commit/fb528146414704bf3d1964b47cc5d20c84d96b8d)) +* **tests:** move `test_visualize.py` to `ibis/expr/tests` ([46d74ee](https://github.com/ibis-project/ibis/commit/46d74eecf3533b80255adc89b1160decc3ce136b)) +* **tests:** reorganize `ibis.expr.decompile` and `ibis.expr.sql` test files to be under the `ibis.expr` subpackage ([d0d006e](https://github.com/ibis-project/ibis/commit/d0d006ed32c99e6d4eef1f2709d9dda9a43569e8)) +* **tests:** reorganize operation related tests from `ibis.tests.exprs` to `ibis.expr.operations.tests` ([3cbe2f3](https://github.com/ibis-project/ibis/commit/3cbe2f33a1cb4b0615d2ca815893d275db380f3c)) +* **tests:** simplify pattern matching tests on `Value` operations ([d87e65a](https://github.com/ibis-project/ibis/commit/d87e65a59d3619e010cdea4057c38e8a8a47548e)) +* traverse builtin collections for in deferrable ([b5ee8f4](https://github.com/ibis-project/ibis/commit/b5ee8f46d9ee15c11cf81714d8c8eeae85af6755)) +* use deferrable to implement deferred case statements ([5577d51](https://github.com/ibis-project/ibis/commit/5577d51ab1056c4f1a41108ed268412064fdbac8)) + + +### Performance + +* **common:** improve `Concrete` construction performance ([2cb1a55](https://github.com/ibis-project/ibis/commit/2cb1a55be576163c6fa39c7be2000462c6a8cbdd)) +* **duckdb:** improve `to_pyarrow` performance ([5970cfe](https://github.com/ibis-project/ibis/commit/5970cfe068daed940185b14c0e1a8965624c4047)) +* **duckdb:** speed up metadata access to support the many-columns use case ([2854143](https://github.com/ibis-project/ibis/commit/2854143e72d1b3962a79c84c5eba624bf1bfdce9)) +* **duckdb:** use `information_schema` instead of `describe select` ([ef7f69f](https://github.com/ibis-project/ibis/commit/ef7f69fcaaff78a965b41798cb29b37d1baa467c)) +* introduce quicker abstract base classes ([47822c6](https://github.com/ibis-project/ibis/commit/47822c685cb43a856cac9c7e7794d77d8b64b876)) +* **ops:** early return if two nodes do not hash to the same value ([b0b62cc](https://github.com/ibis-project/ibis/commit/b0b62cce1f9d55b48d741354abc50436513e7a89)) +* **ops:** store schema on relation ops to avoid large traversals ([0b49c96](https://github.com/ibis-project/ibis/commit/0b49c96be264b9b048b8d6eec07536a4bd9024c7)) +* **snowflake:** speed up metadata accesses from the existing schema and database ([f2ef129](https://github.com/ibis-project/ibis/commit/f2ef129bf9f69ab7b348f576892913d9031ad380)) + + +### Deprecations + +* **api:** deprecate `ibis.negate` in favor of `negate` method ([47cdbe8](https://github.com/ibis-project/ibis/commit/47cdbe8edf32f60b4eb31282aea05ee86291e9a6)) +* **api:** deprecate `ibis.where` in favor of `ibis.ifelse` ([995c1bc](https://github.com/ibis-project/ibis/commit/995c1bc1048c7f2e5c873e45fb3193e42a4b3a83)) +* **api:** deprecate `Table.relabel` in favor of `Table.rename` ([dcd9772](https://github.com/ibis-project/ibis/commit/dcd9772a4201a238d4bb8c2a316f2861833be405)) +* **api:** deprecate top-level `ibis.geo_*` functions in favor of their corresponding methods ([71b7106](https://github.com/ibis-project/ibis/commit/71b71068cd5cba09371cae710914bf0d6742bb15)) +* **api:** replace `nullifzero` with `ifnull` and zeroifnull with `fillna` ([ac85d11](https://github.com/ibis-project/ibis/commit/ac85d110e5633d2fb593020f0f3347e4086d565e)) + ## [6.2.0](https://github.com/ibis-project/ibis/compare/6.1.0...6.2.0) (2023-08-31) ### Features diff --git a/ibis/__init__.py b/ibis/__init__.py index 60a8f609df79..03561f013bc4 100644 --- a/ibis/__init__.py +++ b/ibis/__init__.py @@ -1,7 +1,7 @@ """Initialize Ibis module.""" from __future__ import annotations -__version__ = "6.1.0" +__version__ = "7.0.0" from ibis import examples, util from ibis.backends.base import BaseBackend diff --git a/pyproject.toml b/pyproject.toml index c749f2b4a44c..8729cea0fc7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ibis-framework" -version = "6.1.0" +version = "7.0.0" packages = [{ include = "ibis" }] include = ["ibis/examples/metadata.json", "ibis/examples/CITATIONS.md"] exclude = [