Skip to content

9.2.0

Compare
Choose a tag to compare
@ibis-project-bot ibis-project-bot released this 22 Jul 23:23
· 610 commits to main since this release

9.2.0 (2024-07-22)

Features

  • api: accept more input types in ibis.range (#9659) (310ad30)
  • api: add nulls_first=False argument to order_by (#9385) (ce9011e)
  • api: add TableUnnest operation to support cross-join unnest semantics as well as offset (#9423) (3352a84)
  • api: add positional joins (#9533) (85ea9da)
  • api: allow grouping by scalar values (#9451) (14f1821)
  • api: support deferred or string column names in cov/corr methods (#9657) (4d135b3)
  • api: support selectors in window function order_by and group_by (#9649) (0ad47de)
  • backends: support creation from a DB-API con (#9603) (fc4d1e3)
  • bigquery: implement CountDistinctStar (#9470) (273e4bc)
  • caching: tie lifetime of cached tables to python refs (#9477) (f51546e)
  • datafusion: datafusion enhancements (#9544) (f11ca43)
  • dtypes: fall back to dt.unknown for unknown types (#9567) (6e0b5f5)
  • dtypes: fall back to dt.unknown for unknown types (#9576) (56a10d2)
  • duckdb: use delta_scan instead of reading pyarrow datasets (#9566) (0ff595e)
  • flink: create views from more mem data types (#9622) (b83fc2b)
  • geospatial: use geoarrow extension types when returning geometry columns as pyarrow (#9549) (cba7367)
  • polars: add more accurate type mapping for timestamps (#8954) (3eafac4)
  • polars: support version 1.0 and later (#9516) (62a1864)
  • postgres: support basic jsonb type and existing operations (#9630) (7179cc6)
  • pyarrow: support __arrow_c_schema__ on ibis.Schema objects (#9665) (00a776e)
  • pyspark: implement new experimental read/write directory methods (#9272) (adade5e)

Bug Fixes

  • api: add support for using deferreds in the argmin/argmax key argument (#9652) (3f05cbc)
  • bigquery: escape table names with spaces for bigquery backend (#9589) (ca21dbb)
  • bigquery: support microseconds in time literals (#9610) (c876abc), closes #9609
  • clickhouse: generate redundant aliases to workaround clickhouse naming behavior (#9525) (b44dac2), closes #9508
  • clickhouse: support Date32 database type (#9509) (efa6fb7)
  • datatypes: proper handling of srid in geospatial datatypes (#9519) (a3ceb59)
  • deps: update dependency datafusion to v39 (#9506) (21ef0a6)
  • deps: update dependency fsspec to <2024.6.2 (#9463) (8e225ec)
  • deps: update dependency geopandas to v1 (#9437) (fa1037b)
  • deps: update dependency numpy to v2 (#9395) (3cb39a5)
  • deps: update dependency pyarrow to v17 (#9614) (16998df)
  • deps: update dependency sqlglot to >=23.4,<25.3 (#9401) (bdc1b3f)
  • deps: update dependency sqlglot to >=23.4,<25.4 (#9427) (8e015b6)
  • deps: update dependency sqlglot to >=23.4,<25.5 (#9472) (f6f80da)
  • deps: update dependency sqlglot to >=23.4,<25.6 (#9523) (6a748c4)
  • deps: update dependency sqlglot to >=23.4,<25.7 (#9628) (f5207ff)
  • druid: handle typed nulls where possible (#9452) (33ec754)
  • fix and improve shape inference in many ops (7a0b21e)
  • ir: avoid deduplicating filters based solely on their name (#9476) (b35582e), closes #9474
  • ir: repr iterables when constructing name of operations (#9480) (f5a541c)
  • join: skip substitution of non-field references in join chains (#9595) (61ef0ed)
  • mssql: always pass port to pyodbc in host string (#9656) (2e3fd9a)
  • mssql: avoid calling .commit() unless a DDL operation is being performed (#9658) (69c5bf0), closes #9654
  • mssql: fix temporary table creation and implement cache (#9434) (196d8a1)
  • mysql: ensure that port is captured in MySQL _from_url implementation (#9421) (5bb4971), closes #9417
  • oracle, clickhouse: ensure port is captured in _from_url implementation (#9507) (bd3009a)
  • oracle: support connection using oracle connection string (#9435) (f3cd8b2)
  • pandas, dask: fix drop_table handling of force keyword (#9503) (95048a4)
  • polars: add workaround to compile Array correctly (#9484) (5a9d026)
  • postgres: add dtype mapping for citext (f46979b)
  • pyspark: run pre-execute hooks for to_delta (#8848) (fe0466a)
  • pyspark: set catalog and database with USE instead of pyspark api (#9620) (6991f04)
  • pyspark: set lower bound of pyspark to 3.3.3 to avoid maintenance burden of pytest collection hook (#9606) (97af53c), closes #9564
  • sec: remove most instances of possible sql injection (#9404) (a555774)
  • trino: allow passing the auth keyword (#9410) (560ddf6)
  • uri-parsing: handle password with bracket in connection url (#9466) (c73bcf0)
  • urls: standardize pass-through of parsed query parameters (#9482) (87cba01), closes #9456

Documentation

Refactors

  • api: refactor the implementation of windowing (#9200) (eaa1301)
  • api: remove tuple support in SortKey (#9416) (4dff6e2)
  • api: remove unnecessary select from set operations (#9438) (88a2785)
  • backends: remove redundant implementations of _register_in_memory_tables (5235a4b)
  • caching: remove parameters that are always the same (#9532) (afa2848)
  • compilers: move compilers out of the backend dependency path (#9590) (122330a)
  • deps: make pyarrow optional for non-backend installs (#9552) (9047b26)
  • polars: delete some dead code in the polars backend (#9389) (77fa811)
  • polars: remove numpy usage entirely (#9607) (946f761)
  • pyarrow: remove comparison of column names for renaming (#9616) (3b2a7ec)
  • streamlit: update to use BaseConnection interface (#9550) (f5dd8fb)
  • tests: add tpc ds setup and rearrange tpc setup (#9453) (b150635)
  • tpc: add tpc-ds tests (#9467) (d2dff68)
  • viz: avoid repeatedly rendering redundant schemas in graphviz output (#9518) (d53602b)

Performance

  • bigquery: avoid running list_tables when registering memtables (#9425) (fbc79d2)
  • bigquery: use query_and_wait for better performance on queries of small data with smaller result sets (#9418) (ad1e915)
  • drop: speed up performance of drop (#9440) (1c6eb5c), closes #9111
  • drop: use _fast_bind to speed up drop even more (#9646) (4f39d69)
  • duckdb: speed up memtable registration (#9419) (7878d8c)
  • duckdb: speedup timestamp conversion by avoiding conversion to object (#9556) (5923e1e)
  • relocate: avoid redundant selector position computation (#9644) (cd58214)
  • rename: avoid unnecessary rewrites and dereferencing in rename (#9641) (e56489e)