From 781c1e4b98f29c7d6f10ed6013b88c17c996bf2b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 9 Jan 2023 21:11:03 +0000 Subject: [PATCH] chore(release): 4.0.0 --- docs/release_notes.md | 500 ++++++++++++++++++++++++++++++++++++++++++ ibis/__init__.py | 2 +- pyproject.toml | 2 +- 3 files changed, 502 insertions(+), 2 deletions(-) diff --git a/docs/release_notes.md b/docs/release_notes.md index 4daf72d1aadb..6f2f40b2ec45 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,6 +1,506 @@ Release Notes --- +## [4.0.0](https://github.com/ibis-project/ibis/compare/3.2.0...4.0.0) (2023-01-09) + + +### ⚠ BREAKING CHANGES + +* Replace `HLLCardinality` with `ApproxCountDistinct` and `CMSMedian` with `ApproxMedian` operations. +* **backends:** The dtype of returned execution results now more closely matches that of the ibis expression's type. Downstream code may need to be adjusted. +* The `JSONB` type is replaced by the `JSON` type. +* **dev-deps:** Expression types have been removed from `ibis.expr.api`. Use `import ibis.expr.types as ir` to access these types. +* **ir:** removed @immutable_property decorator, use @attribute.default instead +* **timestamps:** The `timezone` argument to `to_timestamp` is gone. This was only supported in the BigQuery backend. Append `%Z` to the format string and the desired time zone to the input column if necessary. +* **deps:** Ibis now supports at minimum duckdb 0.3.3. Please upgrade your duckdb install as needed. +* Previously `ibis.connect` would return a `Table` object +when calling `connect` on a parquet/csv file. This now returns a backend +containing a single table created from that file. When possible users +may use `ibis.read` instead to read files into ibis tables. +* The `closed` argument no longer exists because it never had any effect. Remove it from your `histogram` method calls. +* The Pandas and Dask backends now interpret casting ints +to/from timestamps as seconds since the unix epoch, matching other +backends. +* **datafusion:** `register_csv` and `register_parquet` are removed. +Pass filename to `register` method instead. + +This also adds in a general backend test for the `register` API so we +can make sure things are consistent, and fixes a small bug with the +dispatch in polars (and datafusion which I copied) that raises a +recursion error if you pass in garbage. + +Update ibis/backends/tests/test_client.py + +Co-authored-by: Phillip Cloud <417981+cpcloud@users.noreply.github.com> +* **ir:** NodeList and ir.List are removed. Use tuples instead. +* **api:** `re_extract` now follows `re.match` behavior. In particular, the `0`th group is now the entire string if there's a match, otherwise the groups are 1-based. +* **datatypes:** Enums are now strings. Likely no action needed since no functionality existed. +* **ir:** Replace `t[t.x.topk(...)]` with `t.semi_join(t.x.topk(...), "x")`. +* **ir:** ir.Analytic.type() and ir.TopK.type() methods are removed +* The default limit for table/column expressions is now +`None` (meaning no limit). +* Previously all column names that collided between +`left` and `right` tables were renamed with an appended suffix. Now for +the case of inner joins with only equality predicates, colliding columns +that are known to be equal due to the join predicates aren't renamed. +* kerberos support is no longer installed by default for +the `impala` backend. To add support you'll need to install the +`kerberos` package separately. +* **ir:** `ops.DeferredSortKey` is removed. Use `ops.SortKey` directly instead. +* **ir:** Annotable is mutable by default now +* **ir:** node.has_resolved_name() is removed, use isinstance(node, ops.Named) instead; node.resolve_name() is removed use node.name instead +* **ir:** removed Node.flat_args(), directly use node.args property instead +* **ir:** removed ops.Node.inputs property, use the multipledispatched get_node_arguments() function in the pandas backend +* **ir:** Node.blocks() method has been removed. +* **ir:** HasSchema is no longer available, directly subclass ops.TableNode and implement schema property instead +* **ir:** Removed Node.output_type in favor of abstractmethod Node.to_expr() which now must be explicitly implemented +* **ir:** Expr(Op(Expr(Op(Expr(Op))))) is now represented as +Expr(Op(Op(Op))), so code using ibis internals must be migrated +* **pandas:** Use timezone conversion functions to compute the original machine localized value +* **common:** use ibis.common.validators.{Patameter, Signature} instead +* **ir:** ibis.expr.lineage.lineage() is now removed +* **ir:** removed ir.DestructValue, ir.DestructScalar and ir.DestructColumn, use table.unpack() instead +* **ir:** removed Node.root_tables() method, use ibis.expr.analysis.find_immediate_parent_tables() instead +* functions, methods and classes marked as deprecated are removed now +* **impala:** use other methods for pinging the database + +### Features + +* add experimental decorator ([791335f](https://github.com/ibis-project/ibis/commit/791335f18e4d08f9c86098318fee7dfe9b8b1118)) +* add to_pyarrow and to_pyarrow_batches ([a059cf9](https://github.com/ibis-project/ibis/commit/a059cf95bf556c82276a141c97ac493ebe57d322)) +* add unbind method to expressions ([4b91b0b](https://github.com/ibis-project/ibis/commit/4b91b0b02aa5edfdc5b48324b9743c7165a2c16a)), closes [#4536](https://github.com/ibis-project/ibis/issues/4536) +* add way to specify sqlglot dialect on backend ([f1c0608](https://github.com/ibis-project/ibis/commit/f1c0608f0ef2f3986e4983b35c161ad7049c9702)) +* **alchemy:** implement json getitem for sqlalchemy backends ([7384087](https://github.com/ibis-project/ibis/commit/7384087898d2f4c82196e42373d60915531d38c2)) +* **api:** add `agg` alias for `aggregate` ([907583f](https://github.com/ibis-project/ibis/commit/907583f8cdbf74a72d8f30cf991bca824fd89c06)) +* **api:** add `agg` alias to `group_by` ([6b6367c](https://github.com/ibis-project/ibis/commit/6b6367c6b55c619d71862b47776f68eead30c0be)) +* **api:** add `ibis.read` top level API function ([e67132c](https://github.com/ibis-project/ibis/commit/e67132c53a06a1e6ff8ef8eacaafcb68857751b6)) +* **api:** add JSON `__getitem__` operation ([3e2efb4](https://github.com/ibis-project/ibis/commit/3e2efb433d41209fe99a4db9e19df93f8b55211a)) +* **api:** implement `__array__` ([1402347](https://github.com/ibis-project/ibis/commit/140234723446af8257ca9ea08e5d7c74195b2f64)) +* **api:** make `drop` variadic ([1d69702](https://github.com/ibis-project/ibis/commit/1d697025b88bd7259f0ea53722a4c769feb16a61)) +* **api:** return object from `to_sql` to support notebook syntax highlighting ([87c9833](https://github.com/ibis-project/ibis/commit/87c98339f8b9ca6a08c5297fedde513f47b6ebe3)) +* **api:** use `rich` for interactive `__repr__` ([04758b8](https://github.com/ibis-project/ibis/commit/04758b863b7c0550904f2bcacec3104fdc06ba0a)) +* **backend:** make `ArrayCollect` filterable ([1e1a5cf](https://github.com/ibis-project/ibis/commit/1e1a5cfca27f16409161d94b3c1f0425e4a1a4a4)) +* **backends/mssql:** add backend support for Microsoft Sql Server ([fc39323](https://github.com/ibis-project/ibis/commit/fc393238222d1e55bfb814a67eb116506a906fdb)) +* **bigquery:** add ops.DateFromYMD, ops.TimeFromHMS, ops.TimestampFromYMDHMS ([a4a7936](https://github.com/ibis-project/ibis/commit/a4a793697159ae215f87bef5b959957e6234e8cb)) +* **bigquery:** add ops.ExtractDayOfYear ([30c547a](https://github.com/ibis-project/ibis/commit/30c547ab351940c13eddd00372c611c2cae3f465)) +* **bigquery:** add support for correlation ([4df9f8b](https://github.com/ibis-project/ibis/commit/4df9f8b8ca4e0e1fab660d17acc5180bb8b9d2e4)) +* **bigquery:** implement `argmin` and `argmax` ([40c5f0d](https://github.com/ibis-project/ibis/commit/40c5f0d31784e0d942d8e10f75acbce10090c4a9)) +* **bigquery:** implement `pi` and `e` ([b91370a](https://github.com/ibis-project/ibis/commit/b91370a62591f584d0c22c2db357f9e4582d935a)) +* **bigquery:** implement array repeat ([09d1e2f](https://github.com/ibis-project/ibis/commit/09d1e2f768a935d29aa607f3536fc93e12fc82dc)) +* **bigquery:** implement JSON getitem functionality ([9c0e775](https://github.com/ibis-project/ibis/commit/9c0e7755ea0157aa3473e8699a04277b795c8a9c)) +* **bigquery:** implement ops.ArraySlice ([49414ef](https://github.com/ibis-project/ibis/commit/49414efabfe2200f658282d807fd175275013a9e)) +* **bigquery:** implement ops.Capitalize ([5757bb0](https://github.com/ibis-project/ibis/commit/5757bb04d767cc3d6e1f050bc3ac418d37efd7ea)) +* **bigquery:** implement ops.Clip ([5495d6d](https://github.com/ibis-project/ibis/commit/5495d6d7ced1eb00d60595b17268018f3c1ea98e)) +* **bigquery:** implement ops.Degrees, ops.Radians ([5119b93](https://github.com/ibis-project/ibis/commit/5119b93609f34035ced2ccc784190b0cb4a15a39)) +* **bigquery:** implement ops.ExtractWeekOfYear ([477d287](https://github.com/ibis-project/ibis/commit/477d287602a299bd479fc869ea1306be54bbf110)) +* **bigquery:** implement ops.RandomScalar ([5dc8482](https://github.com/ibis-project/ibis/commit/5dc848262d22d32035f50daf818afdf3b5cc3e11)) +* **bigquery:** implement ops.StructColumn, ops.ArrayColumn ([2bbf73c](https://github.com/ibis-project/ibis/commit/2bbf73cb7ab462af7be46e399ab29e55b6d0a7d0)) +* **bigquery:** implement ops.Translate ([77a4b3e](https://github.com/ibis-project/ibis/commit/77a4b3ee23ae57af735fbdab6fae3469293dbc7b)) +* **bigquery:** implementt ops.NthValue ([b43ba28](https://github.com/ibis-project/ibis/commit/b43ba28528ac28542f5448dd7eccb34233e72d3e)) +* **bigquery:** move bigquery backend back into the main repo ([cd5e881](https://github.com/ibis-project/ibis/commit/cd5e881c975f33cf3dc8910645996ce6ac94be81)) +* **clickhouse:** handle more options in `parse_url` implementation ([874c5c0](https://github.com/ibis-project/ibis/commit/874c5c06a00c0f243c538032273bcf5e969dcb77)) +* **clickhouse:** implement `INTERSECT ALL`/`EXCEPT ALL` ([f65fbc3](https://github.com/ibis-project/ibis/commit/f65fbc3fa9d5bd52a5f99024cad78f01bc4f42d3)) +* **clickhouse:** implement quantile/multiquantile ([96d7d1b](https://github.com/ibis-project/ibis/commit/96d7d1bd35148a1fcd4251e1868cb5679ee42f75)) +* **common:** support function annotations with both typehints and rules ([7e23f3e](https://github.com/ibis-project/ibis/commit/7e23f3eae8142b7621b9fd38b3df02c08f6a8a2d)) +* **dask:** implement `mode` aggregation ([017f07a](https://github.com/ibis-project/ibis/commit/017f07aad0d711714c133a1cedb0b73aac4b356f)) +* **dask:** implement json getitem ([381d805](https://github.com/ibis-project/ibis/commit/381d805055d62c6b993f542903e06050cbca7793)) +* **datafusion:** convert column expressions to pyarrow ([0a888de](https://github.com/ibis-project/ibis/commit/0a888de96db91fc0a139dfd52de890790276459d)) +* **datafusion:** enable `topk` ([d44903f](https://github.com/ibis-project/ibis/commit/d44903f3b8701d40437077a13a787e37799c8ef4)) +* **datafusion:** implement `Limit` ([1ddc876](https://github.com/ibis-project/ibis/commit/1ddc876942dd66f17e016c936ffefae04e0b6938)) +* **datafusion:** implement `ops.StringConcat` ([6bb5b4f](https://github.com/ibis-project/ibis/commit/6bb5b4f8f74e3130b6783fa98e5ef5d6c2cf9841)) +* **decompile:** support rendering ibis expression as python code ([7eebc67](https://github.com/ibis-project/ibis/commit/7eebc670b5ff01c3802bf47011fe1db72dc38754)) +* **deps:** support shapely 2.0 ([68dff10](https://github.com/ibis-project/ibis/commit/68dff10ec64fb0843f7ddc7203a44b541369547d)) +* display qualified named in deprecation warnings ([a6e2a49](https://github.com/ibis-project/ibis/commit/a6e2a498e71dc2f91897b00e34674ec249617cab)) +* **docs:** first draft of Ibis for pandas users ([7f7c9b5](https://github.com/ibis-project/ibis/commit/7f7c9b51b937db1079783d89bcca3d06d87ccb4a)) +* **duckdb:** enable registration of parquet files from s3 ([fced465](https://github.com/ibis-project/ibis/commit/fced465867fee0f51d04865cfd5e5a3abc916028)) +* **duckdb:** implement `mode` aggregation ([36fd152](https://github.com/ibis-project/ibis/commit/36fd1523a54fd58aa4657109ac1fe579c2c8259d)) +* **duckdb:** implement `to_timestamp` ([26ca1e4](https://github.com/ibis-project/ibis/commit/26ca1e4f3160de594c8bb3047a3588e607385ad1)) +* **duckdb:** implement quantile/multiquantile ([fac9705](https://github.com/ibis-project/ibis/commit/fac9705941d8e8aa11da378cca5b6269b1414e93)) +* **duckdb:** overwrite views when calling `register` ([ae07438](https://github.com/ibis-project/ibis/commit/ae07438573d1958d491a903aa290e66cbd694639)) +* **duckdb:** pass through kwargs to file loaders ([14fa2aa](https://github.com/ibis-project/ibis/commit/14fa2aa4213a1da5f1cb5ecad309c2856238268d)) +* **duckdb:** support out of core execution for in-memory connections ([a4d4ba2](https://github.com/ibis-project/ibis/commit/a4d4ba26ef583be1104d2a40f9a0a7805ac9b3f0)) +* **duckdb:** support registering external postgres tables with duckdb ([8633e6b](https://github.com/ibis-project/ibis/commit/8633e6b0c8b6cc92d8e8109c8d56a335f184c68a)) +* **expr:** split ParseURL operation into multiple URL extract operations ([1f0fcea](https://github.com/ibis-project/ibis/commit/1f0fcea99fbb1dc97bd546812bad42feb7fa245e)) +* **impala:** implement `strftime` ([d3ede8d](https://github.com/ibis-project/ibis/commit/d3ede8d9b6893b8135edb2010ceb04fbb3b9ca2b)) +* **impala:** support date literals ([cd334c4](https://github.com/ibis-project/ibis/commit/cd334c42fd5c6076883461521976504454780c06)) +* **insert:** add support for list+dict to sqlalchemy backends ([15d399e](https://github.com/ibis-project/ibis/commit/15d399ee31898569c3fba0fdc7638646d0f578a7)) +* **ir/pandas/dask/clickhouse:** revamp Map type support ([62b6f2d](https://github.com/ibis-project/ibis/commit/62b6f2df9db29cacab26e335fe959d7ae3d4725a)) +* **ir:** add `is_*` methods to `DataType`s ([79f5c2b](https://github.com/ibis-project/ibis/commit/79f5c2b4303e4887c3817f0074821310432813e2)) +* **ir:** prototype for parsing SQL into an ibis expression ([1301183](https://github.com/ibis-project/ibis/commit/130118386b4c00b8367a993fe3af0701fdb8bf1c)) +* **ir:** support python 3.10 pattern matching on Annotable nodes ([eca93eb](https://github.com/ibis-project/ibis/commit/eca93ebee29e34063cf20a0e29709fd2dc5e48ab)) +* **mssql:** add window function support ([ef1be45](https://github.com/ibis-project/ibis/commit/ef1be45debf94c7298edb50a93803ca4398f0c90)) +* **mssql:** detect schema from SQL ([ff79928](https://github.com/ibis-project/ibis/commit/ff79928048b6522a329721cc0b662af5e84fcd8d)) +* **mssql:** extract quarter ([7d04266](https://github.com/ibis-project/ibis/commit/7d042666b3fda75ca08fdb725f1acf577dc4dd8e)) +* **mssql:** implement ops.DayOfWeekIndex ([4125593](https://github.com/ibis-project/ibis/commit/412559301699c241ce9269011ee6fe186a96ee1d)) +* **mssql:** implement ops.ExtractDayOfYear ([ae026d5](https://github.com/ibis-project/ibis/commit/ae026d56820f46ecfa59e94d1eefb461f3fa9603)) +* **mssql:** implement ops.ExtractEpochSeconds ([4f49b5b](https://github.com/ibis-project/ibis/commit/4f49b5ba5ac62f2d96593dfd77986aaba835db7f)) +* **mssql:** implement ops.ExtractWeekOfYear ([f1394bc](https://github.com/ibis-project/ibis/commit/f1394bcb75627075e94a2d2dd125d9547bceace1)) +* **mssql:** implement ops.Ln, ops.Log, ops.Log2, ops.Log10 ([f8ee1d8](https://github.com/ibis-project/ibis/commit/f8ee1d821ae6d797149dc09f1fe522e6001aac47)) +* **mssql:** implement ops.RandomScalar ([4149450](https://github.com/ibis-project/ibis/commit/414945013db3814ef12adff1dc7a1f40439d61f7)) +* **mssql:** implement ops.TimestampTruncate, ops.DateTruncate ([738e496](https://github.com/ibis-project/ibis/commit/738e496c7b0a23ea6a4e57272f8fdbf30fcbd4f7)) +* **mssql:** implementt ops.DateFromYMD, ops.TimestampFromYMDHMS, ops.TimeFromHMS ([e84f2ce](https://github.com/ibis-project/ibis/commit/e84f2cebea9f06675f371144891c2dc89d5561d4)) +* open `*.db` files with sqlite in `ibis.connect` ([37baf05](https://github.com/ibis-project/ibis/commit/37baf055a73eeba42cdb73507b7379c7c4040db4)) +* **pandas:** implement `mode` aggregation ([fc023b5](https://github.com/ibis-project/ibis/commit/fc023b584239c946ca31781ec63133d365349351)) +* **pandas:** implement `RegexReplace` for `str` ([23713cc](https://github.com/ibis-project/ibis/commit/23713cc3d5a1fa0fbac124df2858a5bcc8c09f79)) +* **pandas:** implement json getitem ([8fa1190](https://github.com/ibis-project/ibis/commit/8fa1190865c46786709c79be84f29013f79e0a83)) +* **pandas:** implement quantile/multiquantile ([cd4dcaa](https://github.com/ibis-project/ibis/commit/cd4dcaa86b21c8b50d897df1471787575d2bc3a9)) +* **pandas:** support `histogram` API ([5bfc0fe](https://github.com/ibis-project/ibis/commit/5bfc0fe493e3fcc7523237ed3e187a10207ebc8f)) +* **polars:** enable `topk` ([8bfb16a](https://github.com/ibis-project/ibis/commit/8bfb16a13b88a3f344e686b936163645efabb7a9)) +* **polars:** implement `mode` aggregation ([7982ba2](https://github.com/ibis-project/ibis/commit/7982ba203475abf56664b149fcc63352babd543f)) +* **polars:** initial support for polars backend ([afecb0a](https://github.com/ibis-project/ibis/commit/afecb0ae925639113a6cfdc2073c3a5fbc1021e0)) +* **postgres:** implement `mode` aggregation ([b2f1c2d](https://github.com/ibis-project/ibis/commit/b2f1c2db1209806339f25e522b2cf69615f54c53)) +* **postgres:** implement quantile and multiquantile ([82ed4f5](https://github.com/ibis-project/ibis/commit/82ed4f51f79887a626ae8a6b8d1a0cfb667d9ec6)) +* **postgres:** prettify array literals ([cdc60d5](https://github.com/ibis-project/ibis/commit/cdc60d5b43fc88e6837465cfbebd24787670e9f9)) +* **pyspark:** add support for struct operations ([ce05987](https://github.com/ibis-project/ibis/commit/ce059870d76e68c1241ad331ae468bfeabbf213f)) +* **pyspark:** enable `topk` ([0f748e0](https://github.com/ibis-project/ibis/commit/0f748e08d6af1ef760b0191e5cdd0ae0170fff64)) +* **pyspark:** implement `pi` and `e` ([fea81c6](https://github.com/ibis-project/ibis/commit/fea81c6f2b7744da93e2adc94944015e2024fb65)) +* **pyspark:** implement json getitem ([9bfb748](https://github.com/ibis-project/ibis/commit/9bfb748da751bfa441cfeb8129b27e1591a874ef)) +* **pyspark:** implement quantile and multiquantile ([743f411](https://github.com/ibis-project/ibis/commit/743f4115a9c7d1a6e70a61a4f208572313e31f16)) +* **pyspark:** support `histogram` API ([8f4808c](https://github.com/ibis-project/ibis/commit/8f4808c517d3a2ad2e3df4050809cbfdc8aa7f81)) +* **snowflake:** enable day-of-week column expression ([6fd9c33](https://github.com/ibis-project/ibis/commit/6fd9c33da156517665e8998f6328384c57086a84)) +* **snowflake:** handle date and timestamp literals ([ec2392d](https://github.com/ibis-project/ibis/commit/ec2392d02e8fcbba876add9abd5cabfb6f6c8a60)) +* **snowflake:** implement `mode` aggregation ([f35915e](https://github.com/ibis-project/ibis/commit/f35915e938763976b690f742807c54e1455e1aea)) +* **snowflake:** implement `parse_url` ([a9746e3](https://github.com/ibis-project/ibis/commit/a9746e32ef9dce222c83efc1c25a5d80edee5f53)) +* **snowflake:** implement `rowid` scalar ([7e1425a](https://github.com/ibis-project/ibis/commit/7e1425ac866f2de965d22d891a2c14e162c699e7)) +* **snowflake:** implement `time` literal ([068fc50](https://github.com/ibis-project/ibis/commit/068fc50144aee04e0655a0889824a85d912320f8)) +* **snowflake:** implement scalar ([cc07d91](https://github.com/ibis-project/ibis/commit/cc07d91e3f0972f5e5a0eec7d0af6b1a2604ec13)) +* **snowflake:** initial commit for snowflake backend ([a8687dd](https://github.com/ibis-project/ibis/commit/a8687dd85f9e3f8b29f5ebabf181cbbcb77185b7)) +* **snowflake:** support reductions in window functions via automatic ordering ([0234e5c](https://github.com/ibis-project/ibis/commit/0234e5ca1a274ff64206a6683321375a6eaf9c42)) +* **sql:** add ops.StringSQLILike ([7dc4924](https://github.com/ibis-project/ibis/commit/7dc49246bdad1f9dd6992a7a650f4109199e0c2f)) +* **sqlalchemy:** implement `ops.Where` using `IF`/`IFF` functions ([4cc9c15](https://github.com/ibis-project/ibis/commit/4cc9c153b9f2cdc06c29678d8281feb00fa64c1e)) +* **sqlalchemy:** in-memory tables have name in generated SQL ([01b4c60](https://github.com/ibis-project/ibis/commit/01b4c6050638b10e29ba85fb5bb188c0647a67fc)) +* **sql:** improve error message in fixed_arity helper ([891a1ad](https://github.com/ibis-project/ibis/commit/891a1ad579b6df68025c25d1f8996546500eb131)) +* **sqlite:** add `type_map` arg to override type inference ([1961bad](https://github.com/ibis-project/ibis/commit/1961bad2606624ca50102eeee49d1db73e4ccc8f)) +* **sqlite:** fix impl for missing `pi` and `e` functions ([24b6d2f](https://github.com/ibis-project/ibis/commit/24b6d2f111afd8426a57ffdaf63de7cf65e99248)) +* **sqlite:** support `con.sql` with explicit schema specified ([7ca82f3](https://github.com/ibis-project/ibis/commit/7ca82f3bc7b2d096859bab9b5d821bb8ed52aaf2)) +* **sqlite:** support wider range of datetime formats ([f65093a](https://github.com/ibis-project/ibis/commit/f65093a7f08b4768d99fab167beb789151bfde13)) +* support both `postgresql://` and `postgres://` in `ibis.connect` ([2f7a7b4](https://github.com/ibis-project/ibis/commit/2f7a7b404f29abc5a22d11e6dd2138b0b1ed5a59)) +* support deferred predicates in join ([b51a64b](https://github.com/ibis-project/ibis/commit/b51a64b40a6feb274a541fd677c39dab8d59b55f)) +* support more operations with unsigned integers ([9992953](https://github.com/ibis-project/ibis/commit/999295367480d8584bdd89bc3e53adc5b26be0ad)) +* support passing callable to relabel ([0bceefd](https://github.com/ibis-project/ibis/commit/0bceefd4ca17f9ca27957bc3a9f0f437ce0d1a2c)) +* support tab completion for getitem access of table columns ([732dba4](https://github.com/ibis-project/ibis/commit/732dba4926ab01b2363adaf3306ea838cb52d83f)) +* support Table.fillna for SQL backends ([26d4cac](https://github.com/ibis-project/ibis/commit/26d4cacf93f41b66f1407e313e86ec9f0a48aa29)) +* **trino:** add `bit_xor` aggregation ([830acf4](https://github.com/ibis-project/ibis/commit/830acf4d896a5d3bfedd2549aada3aa2f274e59b)) +* **trino:** add `EXTRACT`-based functionality ([6549657](https://github.com/ibis-project/ibis/commit/654965705d437ec7f90c0658d3f436a355414b71)) +* **trino:** add milisecond scale to *_trunc function ([3065248](https://github.com/ibis-project/ibis/commit/3065248be55a8d691d6e552ce0eb3c9634232c95)) +* **trino:** add some basic aggregation ops ([7ecf7ab](https://github.com/ibis-project/ibis/commit/7ecf7ab939b2f85615a7694240ba98782d678e5f)) +* **trino:** extract milliseconds ([09517a5](https://github.com/ibis-project/ibis/commit/09517a5b8b21cfbad6b65c8a0f5c798a36ff212c)) +* **trino:** implement `approx_median` ([1cba8bd](https://github.com/ibis-project/ibis/commit/1cba8bd9f43fc5756a32341c6bcf18f45a1c8b1d)) +* **trino:** implement `parse_url` ([2bc87fc](https://github.com/ibis-project/ibis/commit/2bc87fc40307eca2329d862849629587a82eb5f6)) +* **trino:** implement `round`, `cot`, `pi`, and `e` ([c0e8736](https://github.com/ibis-project/ibis/commit/c0e8736a9a69f0860b99d271a2c47069ab91bb19)) +* **trino:** implement arbitrary first support ([0c7d3b3](https://github.com/ibis-project/ibis/commit/0c7d3b36cc46cf5eb8b0f19988dfb9b4db1f9905)) +* **trino:** implement array collect support ([dfeb600](https://github.com/ibis-project/ibis/commit/dfeb600fad89eed6c7a23434cc1f096e46cac7eb)) +* **trino:** implement array column support ([dadf9a8](https://github.com/ibis-project/ibis/commit/dadf9a865973b3609ac0bb87bdbf635c61653486)) +* **trino:** implement array concat ([240c55d](https://github.com/ibis-project/ibis/commit/240c55dea684d8f1c808758e32e614ae8d0ad739)) +* **trino:** implement array index ([c5f3a96](https://github.com/ibis-project/ibis/commit/c5f3a96fc992f85f52b49acbc624c95241635e59)) +* **trino:** implement array length support ([2d7cc65](https://github.com/ibis-project/ibis/commit/2d7cc659b112e3c4c740a11a34351088d05a7265)) +* **trino:** implement array literal support ([2182177](https://github.com/ibis-project/ibis/commit/218217791ee1ce48ebb0e5422edb4a6762ebf2be)) +* **trino:** implement array repeat ([2ee3d10](https://github.com/ibis-project/ibis/commit/2ee3d1092b1993dcb4f550d85ef728bae29bbdd1)) +* **trino:** implement array slicing ([643792e](https://github.com/ibis-project/ibis/commit/643792e137791934d7b2c794a792814f4b4e54ea)) +* **trino:** implement basic struct operations ([cc3c937](https://github.com/ibis-project/ibis/commit/cc3c937d59271e01491d4f72417c666efcbc5af3)) +* **trino:** implement bitwise agg support ([5288b35](https://github.com/ibis-project/ibis/commit/5288b351b41c459fab7af4d687c29a83bfbc1d23)) +* **trino:** implement bitwise scalar/column ops ([ac4876c](https://github.com/ibis-project/ibis/commit/ac4876c3bd7af271474d0e91435bd0d96c6273b3)) +* **trino:** implement default precision and scale ([37f8a47](https://github.com/ibis-project/ibis/commit/37f8a47364807bb501c12a63e888d68635f91377)) +* **trino:** implement group concat support ([5c41439](https://github.com/ibis-project/ibis/commit/5c41439d17622819c34f2367308e07ead3013c66)) +* **trino:** implement json getitem support ([7c41566](https://github.com/ibis-project/ibis/commit/7c41566f871322f08c93a689463bf4be780df6d6)) +* **trino:** implement map operations ([4efc5ce](https://github.com/ibis-project/ibis/commit/4efc5ceb3660a9cbab8809790642cf5a5eea616e)) +* **trino:** implement more generic and numeric ops ([63b45c8](https://github.com/ibis-project/ibis/commit/63b45c8183cc15a1cefde220caea3c90d7a6bd35)) +* **trino:** implement ops.Capitalize ([dff14fc](https://github.com/ibis-project/ibis/commit/dff14fca8bc340f2b9823e793c53c0a40e25b276)) +* **trino:** implement ops.DateFromYMD ([edd2994](https://github.com/ibis-project/ibis/commit/edd29947285ef029217e1db05ec3e13eb84d396b)) +* **trino:** implement ops.DateTruncate, ops.TimestampTruncate ([32f4862](https://github.com/ibis-project/ibis/commit/32f486281cb5548213e7d924492478e9b4cf395e)) +* **trino:** implement ops.DayOfWeekIndex, ops.DayOfWeekName ([a316d6d](https://github.com/ibis-project/ibis/commit/a316d6d3566feb959e2431d3ba07f630f5ecd7a2)) +* **trino:** implement ops.ExtractDayOfYear ([b0a3465](https://github.com/ibis-project/ibis/commit/b0a3465acfe61a37653a9c9c9e8c12e25747874d)) +* **trino:** implement ops.ExtractEpochSeconds ([10b82f1](https://github.com/ibis-project/ibis/commit/10b82f1116d5ade5029be5d53bb579d05e56e9a9)) +* **trino:** implement ops.ExtractWeekOfYear ([cf719b8](https://github.com/ibis-project/ibis/commit/cf719b86c0b7046fb62da1c1e18b86ccc7677886)) +* **trino:** implement ops.Repeat ([e9f6851](https://github.com/ibis-project/ibis/commit/e9f6851586a0bd7e00d3b16265ff9fe9ece5d1db)) +* **trino:** implement ops.Strftime ([a436823](https://github.com/ibis-project/ibis/commit/a436823b232562fdd25a5b3b2a9a80e0a9fd510e)) +* **trino:** implement ops.StringAscii ([93fd32d](https://github.com/ibis-project/ibis/commit/93fd32dc3dae9abbc52e8d2dadf1747a74daa7d6)) +* **trino:** implement ops.StringContains ([d5cb2ec](https://github.com/ibis-project/ibis/commit/d5cb2ec4b654f9c7bf9a9f6ca22d847b77018f17)) +* **trino:** implement ops.StringSplit ([62d79a6](https://github.com/ibis-project/ibis/commit/62d79a6bc08be599aa4a42c1623f1a135b11a62b)) +* **trino:** implement ops.StringToTimestamp ([b766f62](https://github.com/ibis-project/ibis/commit/b766f6204f95a75082586b5756434271e427185f)) +* **trino:** implement ops.StrRight ([691b39c](https://github.com/ibis-project/ibis/commit/691b39c0e13078fd9d07bf1d2beec19486268cef)) +* **trino:** implement ops.TimeFromHMS ([e5cacc2](https://github.com/ibis-project/ibis/commit/e5cacc29c2d337aec1b4d55fab3a34e6ce906182)) +* **trino:** implement ops.TimestampFromUNIX ([ce5d726](https://github.com/ibis-project/ibis/commit/ce5d72664cb0d808e257d4212171dbbb2f6cb38b)) +* **trino:** implement ops.TimestampFromYMDHMS ([9fa7304](https://github.com/ibis-project/ibis/commit/9fa730453ffca951bf0bf72db90fa108c99f1a4a)) +* **trino:** implement ops.TimestampNow ([c832e4c](https://github.com/ibis-project/ibis/commit/c832e4cce3323d30e2304f481d26099c0541e523)) +* **trino:** implement ops.Translate ([410ae1e](https://github.com/ibis-project/ibis/commit/410ae1ef4689e8fb9b345bfe9ae5a99b9261d75c)) +* **trino:** implement quantile/multiquantile ([bc7fdab](https://github.com/ibis-project/ibis/commit/bc7fdaba7095303ae62cc57f4406865c341516f9)) +* **trino:** implement regex functions ([9e493c5](https://github.com/ibis-project/ibis/commit/9e493c5524538a6dfde81041fa7867c9ceec741e)) +* **trino:** implement window function support ([5b6cc45](https://github.com/ibis-project/ibis/commit/5b6cc455edc977ca1c17afce8f66726e20293b4a)) +* **trino:** initial trino backend ([c367865](https://github.com/ibis-project/ibis/commit/c36786596e15a6d6161b26b4e64cb3a741fb26d2)) +* **trino:** support string date scalar parameter ([9092530](https://github.com/ibis-project/ibis/commit/9092530ba2bde5988bb7247d07db6ae409dfea47)) +* **trino:** use proper `approx_distinct` function ([3766fff](https://github.com/ibis-project/ibis/commit/3766fff1ccdd63c358bc37d10cd86c002d638719)) + + +### Bug Fixes + +* `ibis.connect` always returns a backend ([2d5b155](https://github.com/ibis-project/ibis/commit/2d5b1550643bbba6a7d5082a06f6e684a247f43f)) +* allow inserting memtable with alchemy backends ([c02fcc3](https://github.com/ibis-project/ibis/commit/c02fcc3f96686ca485c7a30d88666bc02842753d)) +* always display at least one column in the table repr ([5ea9e5a](https://github.com/ibis-project/ibis/commit/5ea9e5a9570cb21c3873012ef23e648300dd4f2b)) +* **analysis:** only lower sort keys that are in an agg's output ([6bb4f66](https://github.com/ibis-project/ibis/commit/6bb4f663f644641d6dd3e61d221ea8fe39d029d5)) +* **api:** allow arbitrary sort keys ([a980b34](https://github.com/ibis-project/ibis/commit/a980b3405209c482e7000955e7ceb74da6bedbd9)) +* **api:** allow boolean scalars in predicate APIs ([2a2636b](https://github.com/ibis-project/ibis/commit/2a2636bde79bb4416eb3455035e5690d1c296e29)) +* **api:** allow deferred instances as input to `ibis.desc` and `ibis.asc` ([6861347](https://github.com/ibis-project/ibis/commit/6861347638a8a8d4c0de077156c532338194817a)) +* **api:** ensure that window functions are propagated ([4fb1106](https://github.com/ibis-project/ibis/commit/4fb110651c93c7ff38ef2898998e9e280d70dd93)) +* **api:** make `re_extract` conform to semantics of Python's `re.match` ([5981227](https://github.com/ibis-project/ibis/commit/598122736a8fc44eb3b909c3100d8271d156d9b3)) +* auto-register csv and parquet with duckdb using `ibis.connect` ([67c4f87](https://github.com/ibis-project/ibis/commit/67c4f87401cf1be9b2abb32bb1f589f81257f347)) +* avoid renaming known equal columns for inner joins with equality predicates ([5d4b0ed](https://github.com/ibis-project/ibis/commit/5d4b0ed28aa681e899d8c41a8e767cd05d294bd2)) +* **backends:** fix casting and execution result types in many backends ([46c21dc](https://github.com/ibis-project/ibis/commit/46c21dca4f125f9a337c5a5489b8ba86f78a3425)) +* **bigquery:** don't try to parse database when name is already fully qualified ([ae3c113](https://github.com/ibis-project/ibis/commit/ae3c1139b35a1b18fac27533bee7442fb2726fb8)) +* **bigquery:** fix integer to timestamp casting ([f5bacad](https://github.com/ibis-project/ibis/commit/f5bacade0c99d25b66ba9bc5c82118f907bc34ee)) +* **bigquery:** normalize W frequency in *_trunc ([893cd49](https://github.com/ibis-project/ibis/commit/893cd496b0f11079a1b2a8a20462c00825155e9a)) +* catch `TypeError` instead of more specific error ([6db19d8](https://github.com/ibis-project/ibis/commit/6db19d8269ce397137de8c23ea02b6ee89d0a0a1)) +* change default limit to None ([8d1526a](https://github.com/ibis-project/ibis/commit/8d1526a8d46939d9e9f23697527c630737d0633d)) +* clarify and normalize behavior of `Table.rowid` ([92b03d6](https://github.com/ibis-project/ibis/commit/92b03d660e65fa87f44fd297c0dcfa7500a9a860)) +* **clickhouse:** ensure that correlated subqueries' columns can be referenced ([708d682](https://github.com/ibis-project/ibis/commit/708d682a8e9207f88578590adb1d423c0072f550)) +* **clickhouse:** fix list_tables to use database name ([edc3511](https://github.com/ibis-project/ibis/commit/edc3511cc497424619f0cbaacfb8fb6058abe9c9)) +* **clickhouse:** make `any`/`all` filterable and reduce code size ([99b10e2](https://github.com/ibis-project/ibis/commit/99b10e29e5f031da97d51291fe455d1c26f432d9)) +* **clickhouse:** use clickhouse's dbapi ([bd0da12](https://github.com/ibis-project/ibis/commit/bd0da127e1bc918b6ac01c50309dcd108767fe00)) +* **common:** support copying variadic annotable instances ([ee0d9ad](https://github.com/ibis-project/ibis/commit/ee0d9ad52aa88e296f1965dabb821bf22ff530ac)) +* **dask:** make filterable reductions work ([0f759fc](https://github.com/ibis-project/ibis/commit/0f759fc71f0206a0ae9bf16afdcee4e8486515d0)) +* **dask:** raise TypeError with informative message in ibis.dask.connect ([4e67f7a](https://github.com/ibis-project/ibis/commit/4e67f7a0d0b5ffa7667cf402639e2cbc89d9a37c)) +* define `to_pandas`/`to_pyarrow` on DataType/Schema classes directly ([22f3b4d](https://github.com/ibis-project/ibis/commit/22f3b4d7fbc778302b4ed2b76348a423412070a9)) +* **deps:** bound shapely to a version that doesn't segfault ([be5a779](https://github.com/ibis-project/ibis/commit/be5a7798229227a2f37eada3e2c79d4f50ea5656)) +* **deps:** update dependency datafusion to >=0.6,<0.8 ([4c73870](https://github.com/ibis-project/ibis/commit/4c73870eca9d16e931ba2de1b3803adc7ebc3a7c)) +* **deps:** update dependency geopandas to >=0.6,<0.13 ([58a32dc](https://github.com/ibis-project/ibis/commit/58a32dc1204b75ba8556f0da234c7a939e83d52e)) +* **deps:** update dependency packaging to v22 ([e0b6177](https://github.com/ibis-project/ibis/commit/e0b61771bb17b224a06bc843444f5f3cfc1fdb25)) +* **deps:** update dependency rich to v13 ([4f313dd](https://github.com/ibis-project/ibis/commit/4f313dd22537a9e827230a454422f8fef6b3a66c)) +* **deps:** update dependency sqlglot to v10 ([db19d43](https://github.com/ibis-project/ibis/commit/db19d43f3e2e4c0054294e15a46b9df360340d04)) +* **deps:** update dependency sqlglot to v9 ([cf330ac](https://github.com/ibis-project/ibis/commit/cf330acc3fdc04712dc24081caecbae99bf2c7da)) +* **docs:** make sure data can be downloaded when building notebooks ([fa7da17](https://github.com/ibis-project/ibis/commit/fa7da1718ce1835b1f154fbe3ba854afeb0dd0aa)) +* don't fuse filters & selections that contain window functions ([d757069](https://github.com/ibis-project/ibis/commit/d7570692a5521cac36bd78cc2f6cf636535defc3)) +* drop snowflake support for RowID ([dd378f1](https://github.com/ibis-project/ibis/commit/dd378f1b6db69697536ea90e5f7bb410c4bebc4b)) +* **duckdb:** drop incorrect `translate` implementation ([8690151](https://github.com/ibis-project/ibis/commit/86901511a4cee5f143b552fc060111d116e0b38b)) +* **duckdb:** fix bug in json getitem for duckdb ([49ce739](https://github.com/ibis-project/ibis/commit/49ce739ba0cc9a735efcda2cdbd04b6de67ccd04)) +* **duckdb:** keep `ibis.now()` type semantics ([eca4a2c](https://github.com/ibis-project/ibis/commit/eca4a2cdc969ee45c6ed449d7a102dc39e24f0a9)) +* **duckdb:** make array repeat actually work ([021f4de](https://github.com/ibis-project/ibis/commit/021f4de5adf854410e7c8ec8117e3490532587d3)) +* **duckdb:** replace all in `re_replace` ([c138f0f](https://github.com/ibis-project/ibis/commit/c138f0fd37fb4d3ccbebd99c9b53f85eecd5d241)) +* **duckdb:** rereflect sqla table on re-registration ([613b311](https://github.com/ibis-project/ibis/commit/613b3119a6d5ab5a377f111e9adf3f8afca835a1)), closes [#4729](https://github.com/ibis-project/ibis/issues/4729) +* **duckdb:** s3 priority ([a2d03d1](https://github.com/ibis-project/ibis/commit/a2d03d1e3859c4b1db91a57603405a56d9330cf4)) +* **duckdb:** silence duckdb-engine warnings ([359adc3](https://github.com/ibis-project/ibis/commit/359adc3356b6616c24829a3ae654fef31b670da9)) +* ensure numpy ops dont accidentally cast ibis types ([a7ca6c8](https://github.com/ibis-project/ibis/commit/a7ca6c83d6544e3180c478e217422dc0168e768c)) +* exclude geospatial ops from pandas/dask/polars `has_operation` ([6f1d265](https://github.com/ibis-project/ibis/commit/6f1d265f1a5df20d30f20b5ac3c2dec07174f416)) +* fix `table.mutate` with deferred named expressions ([5877d0b](https://github.com/ibis-project/ibis/commit/5877d0b7a92044bb82637225e31d27543ddaadc7)) +* fix bug when disabling `show_types` in interactive repr ([2402506](https://github.com/ibis-project/ibis/commit/2402506b92a4e74ae0809e8ee2291694114228a8)) +* fix expression repr for table -> value operations ([dbf92f5](https://github.com/ibis-project/ibis/commit/dbf92f54bdc566db555fadd150892fdc3f4ee36e)) +* handle dimensionality of empty outputs ([3a88170](https://github.com/ibis-project/ibis/commit/3a88170128aed4f3987656b67759d86817153689)) +* improve rich repr support ([522db9c](https://github.com/ibis-project/ibis/commit/522db9c646850f6245ae770400d14ac731bbcee2)) +* **ir:** normalize `date` types ([39056b5](https://github.com/ibis-project/ibis/commit/39056b5db91bc0a1e2d7885228811ea3cb0addcb)) +* **ir:** normalize timestamps to `datetime.datetime` values ([157efde](https://github.com/ibis-project/ibis/commit/157efdeb341193bf6ab8123e64c5d79ebff81c42)) +* make `col.day_of_week` not an expr ([96e1580](https://github.com/ibis-project/ibis/commit/96e1580aa581111d8de4eb19aa0e526663b1f6e7)) +* **mssql:** fix integer to timestamp casting ([9122eef](https://github.com/ibis-project/ibis/commit/9122eef7cd2533338d5866b878e6fec8781f7108)) +* **mssql:** fix ops.TimeFromHMS ([d2188e1](https://github.com/ibis-project/ibis/commit/d2188e11e5d5e56c579a01d14b2bb5249c9c636c)) +* **mssql:** fix ops.TimestampFromUNIX ([ec28add](https://github.com/ibis-project/ibis/commit/ec28add159c4a116fb62dc5e593d15eb9fda579e)) +* **mssql:** fix round without argument ([52a60ce](https://github.com/ibis-project/ibis/commit/52a60ce8bcee61e491a43509cee4dfaa3163a474)) +* **mssql:** use double-dollar sign to prevent from interpolating a value ([b82da5d](https://github.com/ibis-project/ibis/commit/b82da5d2e6434ba4dc31787eecb2d002259d9bfd)) +* **mysql:** fix mysql `startswith`/`endswith` to be case sensitive ([d7469cc](https://github.com/ibis-project/ibis/commit/d7469ccabca6c3a587626b8925dbca66d4aed67f)) +* **mysql:** handle out of bounds timestamps and fix milliseconds calculation ([1f7649a](https://github.com/ibis-project/ibis/commit/1f7649aff0b72a90229b4d34f8efa100a1d496be)) +* **mysql:** upcast bool agg args ([8c5f9a5](https://github.com/ibis-project/ibis/commit/8c5f9a555f1407a05e903b4e8ee0d2de4f0911e0)) +* pandas/dask now cast int<->timestamp as seconds since epoch ([bbfe998](https://github.com/ibis-project/ibis/commit/bbfe998e3be698a1d9bb3d00ad0fb949362bff45)) +* **pandas:** drop `RowID` implementation ([05f5016](https://github.com/ibis-project/ibis/commit/05f5016b45111e74beea0bb67b29bc22278e3594)) +* **pandas:** make quantile/multiquantile with filter work ([6b5abd6](https://github.com/ibis-project/ibis/commit/6b5abd6e263b48fffd2a42eeb9d547eafc6f14ce)) +* **pandas:** support `substr` with no `length` ([b2c2922](https://github.com/ibis-project/ibis/commit/b2c29225365ff3a70a4284637f09936b76bc29ef)) +* **pandas:** use localized UTC time for `now` operation ([f6d7327](https://github.com/ibis-project/ibis/commit/f6d73272b41861fefab650df7139c2733ccb24a3)) +* **pandas:** use the correct context when aggregating over a window ([e7fa5c0](https://github.com/ibis-project/ibis/commit/e7fa5c0fbc2b30720ac660353aa3391f06c451b7)) +* **polars:** fix polars `startswith` to call the right method ([9e6f397](https://github.com/ibis-project/ibis/commit/9e6f397acfbcd2da4f9d457c6ad6bc59ccfb2c2e)) +* **polars:** workaround passing `pl.Null` to the null type ([fd9633b](https://github.com/ibis-project/ibis/commit/fd9633b37660b7bfe24a6fe93e1c38c8fcfd4eed)) +* **postgres/duckdb:** fix negative slicing by copying the trino impl ([39e3962](https://github.com/ibis-project/ibis/commit/39e39621c680bf7663f946d5953b8a9df7457b2b)) +* **postgres:** fix array repeat to work with literals ([3c46eb1](https://github.com/ibis-project/ibis/commit/3c46eb1a6f8c65cdf0fe93dd1f7f31463f2230f7)) +* **postgres:** fix array_index operation ([63ef892](https://github.com/ibis-project/ibis/commit/63ef89211f0c3a695482c6be35d6f106104ec709)) +* **postgres:** make any/all translation rules use `reduction` helper ([78bfd1d](https://github.com/ibis-project/ibis/commit/78bfd1df6a8e93c029b57dd02b3b8bf8c990ab85)) +* **pyspark:** handle `datetime.datetime` literals ([4f94abe](https://github.com/ibis-project/ibis/commit/4f94abeb66d91020be653fde204779f72a04bc58)) +* remove kerberos extra for impala dialect ([6ed3e5f](https://github.com/ibis-project/ibis/commit/6ed3e5f2c65817991ce2746f87aa96de29c465f2)) +* **repr:** don't repeat value in repr for literals ([974eeb6](https://github.com/ibis-project/ibis/commit/974eeb63d42783e5d7739f89f8644383169b5b0c)) +* **repr:** fix off by one in repr ([322c8dc](https://github.com/ibis-project/ibis/commit/322c8dc6bfa841532eb7084c4a0ea07ba0b23dd8)) +* **s3:** fix quoting and autonaming for s3 ([ce09266](https://github.com/ibis-project/ibis/commit/ce092662fbacba6fa769cb2c93311ceeb1540e6e)) +* **select:** raise error on attempt to select no columns in projection ([94ac10e](https://github.com/ibis-project/ibis/commit/94ac10e6ea7670b1ef7223de9709bd10f794a099)) +* **snowflake:** fix extracting query parameter by ([75af240](https://github.com/ibis-project/ibis/commit/75af2404fc59f814f458b7ab0a8a18a231ec58e1)) +* **snowflake:** fix failing snowflake url extraction functions ([2eee50b](https://github.com/ibis-project/ibis/commit/2eee50bc4541adaa5735145a108d8ff933bc4043)) +* **snowflake:** fix snowflake list_databases ([680cd24](https://github.com/ibis-project/ibis/commit/680cd244b680d320cdd52834a0b7c131aa491a34)) +* **snowflake:** handle schema when getting table ([f6fff5b](https://github.com/ibis-project/ibis/commit/f6fff5b8a78b69c9a44ad046650557cbd37b23cd)) +* **snowflake:** snowflake now likes Tuesdays ([1bf9d7c](https://github.com/ibis-project/ibis/commit/1bf9d7cc530a22e466dd5e29afa7a32a42824d00)) +* **sqlalchemy:** allow passing pd.DataFrame to create ([1a083f6](https://github.com/ibis-project/ibis/commit/1a083f6d2f5c30d644a61fee8b01399e22b9ec15)) +* **sqlalchemy:** ensure that arbitrary expressions are valid sort keys ([cb1a013](https://github.com/ibis-project/ibis/commit/cb1a013f14732c5ccc560833275acec18ff169d1)) +* **sql:** avoid generating cartesian products yet again ([fdc52a2](https://github.com/ibis-project/ibis/commit/fdc52a26f9c3a821c284297fe6dc23a87e0cedc4)) +* **sqlite:** fix sqlite `startswith`/`endswith` to be case sensitive ([fd4a88d](https://github.com/ibis-project/ibis/commit/fd4a88ddd04fc47d1e1ad93f61eaadfff3a02753)) +* standardize list_tables signature everywhere ([abafe1b](https://github.com/ibis-project/ibis/commit/abafe1b8659ab4bfb179863cf8a57958a2195811)), closes [#2877](https://github.com/ibis-project/ibis/issues/2877) +* support `arbitrary` with no arguments ([45156f5](https://github.com/ibis-project/ibis/commit/45156f5ba03d8ff69e8a002364a44b15d4302bc7)) +* support dtype in `__array__` methods ([1294b76](https://github.com/ibis-project/ibis/commit/1294b76769888c8e30f8afd8585009d24ab849ad)) +* **test:** ensure that file-based url tests don't expect data to exist ([c2b635a](https://github.com/ibis-project/ibis/commit/c2b635a22974573078d53ad91d92cf6be60efc3a)) +* **trino:** fix integer to timestamp casting ([49321a6](https://github.com/ibis-project/ibis/commit/49321a68fa4a9e80f5d276f43d43a2c85dd03506)) +* **trino:** make filterable any/all reductions work ([992bd18](https://github.com/ibis-project/ibis/commit/992bd18561ae4f34f170f5acb60e0a10fde224da)) +* truncate columns in repr for wide tables ([aadcba1](https://github.com/ibis-project/ibis/commit/aadcba138600937c82d97805ad51b6283adc5ed1)) +* **typo:** in StringValue helpstr ([b2e2093](https://github.com/ibis-project/ibis/commit/b2e2093891e4d3a495abea5bc8c5af681dd86c13)) +* **ux:** improve error messages for rlz.comparable failures ([5ca41d2](https://github.com/ibis-project/ibis/commit/5ca41d26b29c8756bdd9446508e39352bd990de3)) +* **ux:** prevent infinite looping when formatting a floating column of all nans ([b6afe98](https://github.com/ibis-project/ibis/commit/b6afe98f4738e50a256bc326f4fe80faeae9c73d)) +* visualize(label_edges=True) works for NodeList ops ([a91ceae](https://github.com/ibis-project/ibis/commit/a91ceaefcba343f1f9ccccd10d7773e33df57e50)) +* **visualize:** dedup nodes and edges and add `verbose` argument for debugging ([521e188](https://github.com/ibis-project/ibis/commit/521e188bf3942913ebaae1d5e317b0294c2f331a)) +* **visualize:** handle join predicates in visualize ([d63cb57](https://github.com/ibis-project/ibis/commit/d63cb5720f7afe0c7aaf4ca79f2290abe9e98613)) +* **window:** allow window range tuples in preceding or following ([77172b3](https://github.com/ibis-project/ibis/commit/77172b30b4319f4bbbe1af5b438322c21741d693)) + + +### Deprecations + +* deprecate `Table.groupby` alias in favor of `Table.group_by` ([39cea3b](https://github.com/ibis-project/ibis/commit/39cea3bb90dd42ef78fd41d46664fa40865c2b9e)) +* deprecate `Table.sort_by` in favor of `Table.order_by` ([7ac7103](https://github.com/ibis-project/ibis/commit/7ac7103692260f62dc975e45a8526bdfa9fe1fa2)) + + +### Performance + +* add benchmark for known-slow table expression ([e9617f0](https://github.com/ibis-project/ibis/commit/e9617f0854030e70365eb264bcb3b58078e79e9e)) +* **expr:** traverse nodes only once during compilation ([69019ed](https://github.com/ibis-project/ibis/commit/69019edef23f7e461365ee0de1cbe8e5534a74d5)) +* fix join performance by avoiding Projection construction ([ed532bf](https://github.com/ibis-project/ibis/commit/ed532bfbc3c0915b06089f9f5aebc48b6724b072)) +* **node:** give `Node`s the default Python repr ([eb26b11](https://github.com/ibis-project/ibis/commit/eb26b1102eb814ba38ad90c35c1a526fabedc0b9)) +* **ux:** remove pandas import overhead from `import ibis` ([ea452fc](https://github.com/ibis-project/ibis/commit/ea452fc32690aeb40f0a38722b18adb5f38869ac)) + + +* **deps:** bump duckdb lower bound ([4539683](https://github.com/ibis-project/ibis/commit/4539683037623caf49811d9fa6c2541f9adab07b)) +* **dev-deps:** replace flake8 et al with `ruff` and fix lints ([9c1b282](https://github.com/ibis-project/ibis/commit/9c1b2821a0051f0c1d8992f3bd1579d407884f7b)) + + +### Refactors + +* add `lazy_singledispatch` utility ([180ecff](https://github.com/ibis-project/ibis/commit/180ecff7f10486ded0fd6d9f93905660548dd5ef)) +* add `rlz.lazy_instance_of` ([4e30480](https://github.com/ibis-project/ibis/commit/4e30480f3ba9809d2fc31d04d67971a6ae4615c4)) +* add `Temporal` base class for temporal data types ([694eec4](https://github.com/ibis-project/ibis/commit/694eec4f08b6d305dfea183b64d098cc39b69de4)) +* **api:** add deprecated Node.op() [#4519](https://github.com/ibis-project/ibis/issues/4519) ([2b0826b](https://github.com/ibis-project/ibis/commit/2b0826b1a5b4294dd10520945fb11eca555669fd)) +* avoid roundtripping to expression for `IFF` ([3068ae2](https://github.com/ibis-project/ibis/commit/3068ae20f284de19b08efb5127afbecc370ff401)) +* clean up `cot` implementations to have one less function call ([0f304e5](https://github.com/ibis-project/ibis/commit/0f304e503f9f3d514695cb95719aed5150796608)) +* clean up timezone support in ops.TimestampFromYMDHMS ([2e183a9](https://github.com/ibis-project/ibis/commit/2e183a909f232bceae96f19bfdf3f663592c10a1)) +* cleanup str method docstrings ([36bd36c](https://github.com/ibis-project/ibis/commit/36bd36c7ba565f37f15588fdb6fbbdf27492847f)) +* **clickhouse:** implement sqlglot-based compiler ([5cc5d4b](https://github.com/ibis-project/ibis/commit/5cc5d4b8efeebb4ad5215469c203253db296ea18)) +* **clickhouse:** simplify Quantile and MultiQuantile implementation ([9e16e9e](https://github.com/ibis-project/ibis/commit/9e16e9e96d642acd6df58a37cf13783b20109ece)) +* **common:** allow traversal and substitution of tuple and dictionary arguments ([60f4806](https://github.com/ibis-project/ibis/commit/60f4806474041fd78b54aa4b9c233f1918b50468)) +* **common:** enforce slots definitions for Base subclasses ([6c3df91](https://github.com/ibis-project/ibis/commit/6c3df912f234e57082f38dde560fe3684ecb1ecf)) +* **common:** move Parameter and Signature to validators.py ([da20537](https://github.com/ibis-project/ibis/commit/da205373427599a8200f273c627675178eac6f40)) +* **common:** reduce implementation complexity of annotations ([27cee71](https://github.com/ibis-project/ibis/commit/27cee710e7554b5d881bf0d66a56c429d5c51648)) +* **datafusion:** align register API across backends ([08046aa](https://github.com/ibis-project/ibis/commit/08046aae0126bb4125b7d96953ec7bda0a99756a)) +* **datafusion:** get name from expr ([fea3e5b](https://github.com/ibis-project/ibis/commit/fea3e5b4a1c0affa011086bf98d8a33a3ae3af2b)) +* **datatypes:** remove Enum ([145e706](https://github.com/ibis-project/ibis/commit/145e706b7bf0e13fafa75dbc69452b25468ad0e6)) +* **dev-deps:** remove unnecessary `poetry2nix` overrides ([5ed95bc](https://github.com/ibis-project/ibis/commit/5ed95bcbe15f9a6789be27ff36341bb0708394c4)) +* don't sort new columns in mutate ([72ec96a](https://github.com/ibis-project/ibis/commit/72ec96a9fb5bb102d3a11bdb9a23135ae4edfc7f)) +* **duckdb:** use lambda to define backend operations ([5d14de6](https://github.com/ibis-project/ibis/commit/5d14de6722eb34c6604a124f6f11cb711f16bd44)) +* **impala:** move impala SQL tests to snapshots ([927bf65](https://github.com/ibis-project/ibis/commit/927bf65e0df199d774bd07f9fb31ad11449fc179)) +* **impala:** replace custom pooling with sqlalchemy QueuePool ([626cdca](https://github.com/ibis-project/ibis/commit/626cdcaedd140f868c77731147608e9a7801c45c)) +* **ir:** `ops.List` -> `ops.NodeList` ([6765bd2](https://github.com/ibis-project/ibis/commit/6765bd2996ab8c3b88890a8a429717e6679820e3)) +* **ir:** better encapsulate graph traversal logic, schema and datatype objects are not traversable anymore ([1a07725](https://github.com/ibis-project/ibis/commit/1a07725fdb761a1519e97ee67b4d001b8820224b)) +* **ir:** generalize handling and traversal of node sequences ([e8bcd0f](https://github.com/ibis-project/ibis/commit/e8bcd0f681ddd889ea4bdebf75ae8662cd87f689)) +* **ir:** make all value operations 'Named' for more consistent naming semantics ([f1eb4d2](https://github.com/ibis-project/ibis/commit/f1eb4d2fc5e6e49b9920cb2d3d225f46add2f96b)) +* **ir:** move random() to api.py ([e136f1b](https://github.com/ibis-project/ibis/commit/e136f1b4620cfc3e07a15b3285f1fc77e98bf712)) +* **ir:** remove `ops.DeferredSortKey` ([e629633](https://github.com/ibis-project/ibis/commit/e629633130716038822106726a4e79526e08daa9)) +* **ir:** remove `ops.TopKNode` and `ir.TopK` ([d4dc544](https://github.com/ibis-project/ibis/commit/d4dc54435836e80ee58c423f7fda626842bc95a0)) +* **ir:** remove Analytic expression's unused type() method ([1864bc1](https://github.com/ibis-project/ibis/commit/1864bc140f68ef2bca59df032ccb2be2fe582064)) +* **ir:** remove DecimalValue.precision(), DecimalValue.scale() method ([be975bc](https://github.com/ibis-project/ibis/commit/be975bcb1ee82fe010d98d8f06b7d0c48d99c2cc)) +* **ir:** remove DestructValue expressions ([762d384](https://github.com/ibis-project/ibis/commit/762d3849e375daabb069c46850e87dd7a56cf899)) +* **ir:** remove duplicated literal creation code ([7dfb56f](https://github.com/ibis-project/ibis/commit/7dfb56fa0f2395b928c7108e8f4dec493a2daa32)) +* **ir:** remove intermediate expressions ([c6fb0c0](https://github.com/ibis-project/ibis/commit/c6fb0c040987f92d2b79f96556f0e7ecc70e87ec)) +* **ir:** remove lin.lineage() since it's not used anywhere ([120b1d7](https://github.com/ibis-project/ibis/commit/120b1d784b3a1c3a741d1473845d4b859db26f38)) +* **ir:** remove node.blocks() in favor of more explicit type handling ([37d8ce4](https://github.com/ibis-project/ibis/commit/37d8ce4c67bc39453fe9e37fa2ab03d5051a30ab)) +* **ir:** remove Node.inputs since it is an implementation detail of the pandas backend ([6d2c49c](https://github.com/ibis-project/ibis/commit/6d2c49cccc82ba2e15a9a4b3bcec53ffdd1de638)) +* **ir:** remove node.root_tables() and unify parent table handling ([fbb07c1](https://github.com/ibis-project/ibis/commit/fbb07c19cc7853131083477debffb35d0dc12b5f)) +* **ir:** remove ops.AggregateSelection in favor of an.simplify_aggregation ([ecf6ed3](https://github.com/ibis-project/ibis/commit/ecf6ed33cbf110a48f659081d5c7f25be2a982b5)) +* **ir:** remove ops.NodeList and ir.List in favor of builtin tuples ([a90ce35](https://github.com/ibis-project/ibis/commit/a90ce35d8a1e65154036e9a73dc5e74a58611ae6)) +* **ir:** remove pydantic dependency and make grounds more composable ([9da0f41](https://github.com/ibis-project/ibis/commit/9da0f4195b6f567e390862788b76159c01effaa4)) +* **ir:** remove sch.HasSchema and introduce ops.Projection base class for ops.Selection ([c3b0139](https://github.com/ibis-project/ibis/commit/c3b01398df5e41f3a2afb919a9ede34ec6cb8e73)) +* **ir:** remove unnecessary complexity introduced by variadic annotation ([698314b](https://github.com/ibis-project/ibis/commit/698314b73ea23c247cd5559acf16d6d5118cdbf0)) +* **ir:** resolve circular imports so operations can be globally imported for types ([d2a3919](https://github.com/ibis-project/ibis/commit/d2a3919da1907867f3f14033a3c46a55ebd7de99)) +* **ir:** simplify analysis.substitute_unbound() ([a6c7406](https://github.com/ibis-project/ibis/commit/a6c740631c2be6222ac65a0338e609e80cf4b7af)) +* **ir:** simplify SortKey construction using rules ([4d63280](https://github.com/ibis-project/ibis/commit/4d632803ef71af80226abd6592a2a44d9e07e577)) +* **ir:** simplify switch-case builders ([9acf717](https://github.com/ibis-project/ibis/commit/9acf7178b08e7a31acddbe37422c5dcc56cc3fa7)) +* **ir:** split datatypes package into multiple submodules ([cce6535](https://github.com/ibis-project/ibis/commit/cce6535a20a407622031f889f046ca1fddf31750)) +* **ir:** split out table count into `CountStar` operation ([e812e6e](https://github.com/ibis-project/ibis/commit/e812e6e6fb98832854aab90d3051aae8e207633e)) +* **ir:** support replacing nodes in the tree ([6a0df5a](https://github.com/ibis-project/ibis/commit/6a0df5a242f9c1e28f6b45df6c4e71941213a8ba)) +* **ir:** support variadic annotable arguments and add generic graph traversal routines ([5d6a289](https://github.com/ibis-project/ibis/commit/5d6a289b5f7dd9f632af0d27de567cbd7ee59ff8)) +* **ir:** unify aggregation construction to use AggregateSelection ([c7d6a6f](https://github.com/ibis-project/ibis/commit/c7d6a6ff9bf02d064330cfb7fc67ff0134e9c0d3)) +* make `quantile`, `any`, and `all` reductions filterable ([1bafc9e](https://github.com/ibis-project/ibis/commit/1bafc9ed9ffec030689d2ebef4ccd04b0a1fa5dc)) +* make sure `value_counts` always has a projection ([a70a302](https://github.com/ibis-project/ibis/commit/a70a302dc02c6cd133b492e2726a770579cdf61e)) +* **mssql:** use lambda to define backend operations ([1437cfb](https://github.com/ibis-project/ibis/commit/1437cfba00226077f7686bd5f7d542944f0b6e81)) +* **mysql:** dedup extract code ([d551944](https://github.com/ibis-project/ibis/commit/d551944fc8ccf95bf3a08e44645108957c971aa6)) +* **mysql:** use lambda to define backend operations ([d10bff8](https://github.com/ibis-project/ibis/commit/d10bff826b3aeef15da9bd29e30e5a31172e0dbf)) +* **polars:** match duckdb registration api ([ac59dac](https://github.com/ibis-project/ibis/commit/ac59dacb6963052ad9dfa2fa6631798be845b6d3)) +* **postgres:** use lambda to define backend operations ([4c85d7b](https://github.com/ibis-project/ibis/commit/4c85d7bef84b4c7ad67aae29182cfb8df9db1bcd)) +* remove dead `compat.py` module ([eda0fdb](https://github.com/ibis-project/ibis/commit/eda0fdb5c23ea67e599decba4c975f618672edf0)) +* remove deprecated approximate aggregation classes ([53fc6cb](https://github.com/ibis-project/ibis/commit/53fc6cbffed821300273f2c616f35447d567efa9)) +* remove deprecated functions and classes ([be1cdda](https://github.com/ibis-project/ibis/commit/be1cdda3051cfff8364bd4104ba296a7135f8040)) +* remove duplicate `_random_identifier` calls ([26e7942](https://github.com/ibis-project/ibis/commit/26e7942a3de6463ef05340eb63f2199ab703a93a)) +* remove setup.py and related infrastructure ([adfcce1](https://github.com/ibis-project/ibis/commit/adfcce127c2f6a91e14936ccd75992a6f082d629)) +* remove the `JSONB` type ([c4fc0ec](https://github.com/ibis-project/ibis/commit/c4fc0ec3dbb5b2352df6cac2cfc8c5b98e174723)) +* rename some infer methods for consistency ([a8f5579](https://github.com/ibis-project/ibis/commit/a8f557958e90ada1d6595b4ef6673339d068e957)) +* replace isinstance dtype checking with `is_*` methods ([386adc2](https://github.com/ibis-project/ibis/commit/386adc248e118c194433596c8896e6004d7906b4)) +* rework registration / file loading ([c60e30d](https://github.com/ibis-project/ibis/commit/c60e30d42466cef36e10e6bccb0b2131d6052e43)) +* **rules:** generalize field referencing using rlz.ref() ([0afb8b9](https://github.com/ibis-project/ibis/commit/0afb8b91cd00a54e01eb40657da7b370415a1b57)) +* simplify `ops.ArrayColumn` in postgres backend ([f9677cc](https://github.com/ibis-project/ibis/commit/f9677cc8e9c3fac29a2204acfd5d46e81b6e1684)) +* simplify histogram implementation by using window functions ([41cbc29](https://github.com/ibis-project/ibis/commit/41cbc29ca74a7534fc1b2716b22f1c0e96591248)) +* simplify ops.ArrayColumn in alchemy backend ([28ff4a8](https://github.com/ibis-project/ibis/commit/28ff4a8f38aff99cbf92f296bd77e882dc960d0f)) +* **snowflake:** use lambda to define backend operations ([cb33fce](https://github.com/ibis-project/ibis/commit/cb33fce2929efae0ccaed63c6c3aa95eac8360d2)) +* split up custom nix code; remove unused derivations ([57dff10](https://github.com/ibis-project/ibis/commit/57dff1073c8ef060a831df6176b78879a85b512e)) +* **sqlite:** use lambda to define backend operations ([b937391](https://github.com/ibis-project/ibis/commit/b937391b0c9d2f929da5f54445679bffc7d9090e)) +* **test:** make clickhouse tests use `pytest-snapshot` ([413dbd2](https://github.com/ibis-project/ibis/commit/413dbd29fe4c5dc95ca73d1fe6f634cbd50e0497)) +* **tests:** move sql output to golden dir ([6a6a453](https://github.com/ibis-project/ibis/commit/6a6a45320ed4afdd54e99d1b397087accd421afb)) +* **test:** sort regex test cases by name instead of posix-ness ([0dfb0e7](https://github.com/ibis-project/ibis/commit/0dfb0e752dfba417abf8abce74af96b3e8c950d6)) +* **tests:** replace `sqlgolden` with `pytest-snapshot` ([5700eb0](https://github.com/ibis-project/ibis/commit/5700eb01320d48d73126f3c16d2ab6fe408326cd)) +* **timestamps:** remove `timezone` argument to `to_timestamp` API ([eb4762e](https://github.com/ibis-project/ibis/commit/eb4762edc50a0df6718d6281f85fd0cc48107cbb)) +* **trino:** use lambda to define backend operations ([dbd61a5](https://github.com/ibis-project/ibis/commit/dbd61a549db3b4be588245b30ffc0c14eb9fe224)) +* uncouple `MultiQuantile` class from `Quantile` ([9c48f8c](https://github.com/ibis-project/ibis/commit/9c48f8c9ba34f910b83920277d09204d4968064d)) +* use `rlz.lazy_instance_of` to delay shapely import ([d14badc](https://github.com/ibis-project/ibis/commit/d14badc9822174e2e38712b85b6e11583b0250fa)) +* use lazy dispatch for `dt.infer` ([2e56540](https://github.com/ibis-project/ibis/commit/2e56540fa35ef1df04560140a5de1626cad5399c)) + + +### Documentation + +* add `backend_sensitive` decorator ([836f237](https://github.com/ibis-project/ibis/commit/836f23702bbb51a0efcc427fbf5d8df0910be3ad)) +* add `pip install poetry` dev env setup step ([69940b1](https://github.com/ibis-project/ibis/commit/69940b17fa430acacc8ab3b12df59c990f287f3f)) +* add bigquery ci data analysis notebook ([2b1d4e5](https://github.com/ibis-project/ibis/commit/2b1d4e52b1317098156d58a8ed994cfa040cee20)) +* add how to sessionize guide ([18989dd](https://github.com/ibis-project/ibis/commit/18989dda75d4387ebe6a31ac38b3d78190947534)) +* add issue templates ([4480c18](https://github.com/ibis-project/ibis/commit/4480c18ee162b8ee23c80435b8b5313216400e53)) +* add missing argument descriptions ([ea757fa](https://github.com/ibis-project/ibis/commit/ea757fa9bf9d095127609c7a392dd8b758a8dc59)) +* add mssql backend page ([63c0f19](https://github.com/ibis-project/ibis/commit/63c0f190f8110fa8434608a28f87bfc987e665a3)) +* added 4.0 release blog post ([bcc0eca](https://github.com/ibis-project/ibis/commit/bcc0ecadd08702d3e48691e7706cb5f1ac33016f)) +* added memtable howto guide ([5dde9bd](https://github.com/ibis-project/ibis/commit/5dde9bda663783eeca26d142076c492b433e6c27)) +* **backends:** add duckdb and mssql to the backend index page ([7b13218](https://github.com/ibis-project/ibis/commit/7b13218ba21dd3de0e8168c898e827d33c9901c7)) +* bring back git revision localized date plugin ([e4fc2c9](https://github.com/ibis-project/ibis/commit/e4fc2c99d2f5f514b9e18936c1eedd42e40302db)) +* created how to guide for deferred expressions ([2a9f6ab](https://github.com/ibis-project/ibis/commit/2a9f6abdb14c7a20f8dd755ca7a0aa03229de815)) +* **dev:** python-duckdb now available for windows with conda ([7f76b09](https://github.com/ibis-project/ibis/commit/7f76b098bf1fc14c98449fcd8799233c70e68c4c)) +* document how to create a table from a pandas dataframe using ibis.memtable ([c6521ec](https://github.com/ibis-project/ibis/commit/c6521ec852b1d1a1055a01a4a7c8704170f1540f)) +* fix backends label in feature request issue form ([cf852d3](https://github.com/ibis-project/ibis/commit/cf852d36136acf32747a529e89dee94c3812334f)) +* fix broken docstrings; reduce docstring noise; workaround griffe ([bd1c637](https://github.com/ibis-project/ibis/commit/bd1c6371b4181ef487e3973632cf6401155219c9)) +* fix docs for building docs ([23af567](https://github.com/ibis-project/ibis/commit/23af56782540c29a323ca62324005b113d1ba960)) +* fix feature-request issue template ([6fb62f5](https://github.com/ibis-project/ibis/commit/6fb62f50ef352aa1cc16c2a3c13532fc17e47381)) +* fix installation section for conda ([7af6ac1](https://github.com/ibis-project/ibis/commit/7af6ac11fd097284bcf07e654b6d0d4f664bca03)) +* fix landing page links ([1879362](https://github.com/ibis-project/ibis/commit/1879362386afd7aae84e686a1e89bd52d955b368)) +* fix links to make docs work locally and remotely ([13c7810](https://github.com/ibis-project/ibis/commit/13c7810e336bd11ae10b191ce16f667f79067571)) +* fix pyarrow batches docstring ([dba9594](https://github.com/ibis-project/ibis/commit/dba95949083f595c5c55241d3511509eba1213a1)) +* fix single line docstring summaries ([8028201](https://github.com/ibis-project/ibis/commit/80282017123552eca8cf05ea5515913aa3bd2040)) +* fix snowflake doc link in readme.md ([9aff68e](https://github.com/ibis-project/ibis/commit/9aff68e3ae78a9979adfc4bd08566b480bbc0615)) +* fix the inline example for ibis.dask.do_connect ([6a533f0](https://github.com/ibis-project/ibis/commit/6a533f06e8f863cad0cdf8c77ac5ca79792f1dc2)) +* fix tutorial link on install page ([b34811a](https://github.com/ibis-project/ibis/commit/b34811af64b73b7f13346f9e8def4d78b668613f)) +* fix typo in first example of the homepage ([9a8a25a](https://github.com/ibis-project/ibis/commit/9a8a25a7aa7b8ae8f429a6c410be7f12ea85b8cd)) +* formatting and syntax highlighting fixes ([50864da](https://github.com/ibis-project/ibis/commit/50864da061e1cfe9edb0a3b9ebf875893730e4d0)) +* front page rework ([24b795a](https://github.com/ibis-project/ibis/commit/24b795a8963f119b69348641e6bbd250c2e41ae2)) +* **how-to:** use parquet data source for sessionization, fix typos, more deferred usage ([974be37](https://github.com/ibis-project/ibis/commit/974be371fcd70aac9d88f60970378392e9faa83f)) +* improve the docstring of the generic connect method ([ee87802](https://github.com/ibis-project/ibis/commit/ee87802f6e546157c231d25fe9a86de1d7b40691)) +* issue template cleanups ([fed37da](https://github.com/ibis-project/ibis/commit/fed37dac20171f989fa6cad4eecd67533d038c71)) +* list ([e331247](https://github.com/ibis-project/ibis/commit/e33124702c41131cb15b29096792aa54bb19861a)) +* **polars:** add backend docs page ([e303b68](https://github.com/ibis-project/ibis/commit/e303b6887431cd6c63f3c63b2aa8a494ecfb6108)) +* remove hrs ([4c30de4](https://github.com/ibis-project/ibis/commit/4c30de41d01a4434e8165d0ba5ec2ffd94af9fad)) +* renamed how to guides to be more consistent ([1bdc5bd](https://github.com/ibis-project/ibis/commit/1bdc5bd1f7a935d6c1c72c28fd4f872e3db83276)) +* sentence structure in the Notes section ([ac20232](https://github.com/ibis-project/ibis/commit/ac202322e964d81daacf7526e116014993ae7061)) +* show interactive prompt for python ([5d7d913](https://github.com/ibis-project/ibis/commit/5d7d9130e784a6d077c623e3ab6ada32c5069499)) +* split out geospatial operations in the support matrix docs ([0075c28](https://github.com/ibis-project/ibis/commit/0075c28452f9e6cda28d74fdfe4cbfd97669945c)) +* **trino:** add backend docs ([2f262cd](https://github.com/ibis-project/ibis/commit/2f262cd316e68c3d64f18dfefe6844b939d2d276)) +* typo ([6bac645](https://github.com/ibis-project/ibis/commit/6bac64524133ad01ea00c5b4ca8784185249af79)) +* typos headers and formatting ([9566cbb](https://github.com/ibis-project/ibis/commit/9566cbbf688ad028b1d8156a0205af016dfd8ef0)) +* **udf:** examples in pandas have the incorrect import path ([49028b8](https://github.com/ibis-project/ibis/commit/49028b86d83447bf37290a6b00b677646beae356)) +* update filename ([658a296](https://github.com/ibis-project/ibis/commit/658a2960b4f3ef1d6b6ca39336f06d77e5d25e39)) +* update line ([4edfce0](https://github.com/ibis-project/ibis/commit/4edfce0d56827a6d2d48fe2f27f03dba8dda92cb)) +* update readme ([19a3f3c](https://github.com/ibis-project/ibis/commit/19a3f3c84c04ed7a44e09f82cdc5ab62c6b106b8)) +* use buf/feat prefix only ([2561a29](https://github.com/ibis-project/ibis/commit/2561a29dc689989c987e494518c456e458650580)) +* use components instead of pieces ([179ca1e](https://github.com/ibis-project/ibis/commit/179ca1e05258fda1424da4f271fed60230c85b3a)) +* use heading instead of bulleted bold ([99b044e](https://github.com/ibis-project/ibis/commit/99b044e8ec9ad5e131faa9ed69eaee3a6b909c91)) +* use library instead of project ([fd2d915](https://github.com/ibis-project/ibis/commit/fd2d915e2fc358ba3b42ad9a37523b5e080c3586)) +* use present tense for use cases and "why" section ([6cc7416](https://github.com/ibis-project/ibis/commit/6cc7416d8c1623400b399469192a28d64642bdd7)) +* **www:** fix frontpage example ([7db39e8](https://github.com/ibis-project/ibis/commit/7db39e81d1f0ee613c9694f1bdac18f1ba9a6acf)) + ## [3.2.0](https://github.com/ibis-project/ibis/compare/3.1.0...3.2.0) (2022-09-15) diff --git a/ibis/__init__.py b/ibis/__init__.py index 49b106f1105c..59ebfedbd3ee 100644 --- a/ibis/__init__.py +++ b/ibis/__init__.py @@ -12,7 +12,7 @@ __all__ = ['api', 'ir', 'util', 'BaseBackend', 'IbisError', 'options'] __all__ += api.__all__ -__version__ = "3.2.0" +__version__ = "4.0.0" _KNOWN_BACKENDS = ['bigquery', 'heavyai'] diff --git a/pyproject.toml b/pyproject.toml index 55f033621e20..7c6e6d7a497e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ibis-framework" -version = "3.2.0" +version = "4.0.0" packages = [{ include = "ibis" }] homepage = "https://ibis-project.org" repository = "https://github.com/ibis-project/ibis"