Releases
5.1.0
5.1.0 (2023-04-11)
Features
api: expand distinct
API for dropping duplicates based on column subsets (3720ea5 )
api: implement pyarrow memtables (9d4fbbd )
api: support passing a format string to Table.relabel
(0583959 )
api: thread kwargs around properly to support more complex connection arguments (7e0e15b )
backends: add more array functions (5208801 )
bigquery: make to_pyarrow_batches()
smarter (42f5987 )
bigquery: support bignumeric type (d7c0f49 )
default repr to showing all columns in Jupyter notebooks (91a0811 )
druid: add re_search support (946202b )
duckdb: add map operations (a4c4e77 )
duckdb: support sqlalchemy 2 (679bb52 )
mssql: implement ops.StandardDev, ops.Variance (e322f1d )
pandas: support memtable in pandas backend (6e4d621 ), closes #5467
polars: implement count distinct (aea4ccd )
postgres: implement ops.Arbitrary
(ee8dbab )
pyspark: pivot_longer
(f600c90 )
pyspark: add ArrayFilter operation (2b1301e )
pyspark: add ArrayMap operation (e2c159c )
pyspark: add DateDiff operation (bfd6109 )
pyspark: add partial support for interval types (067120d )
pyspark: add read_csv, read_parquet, and register (7bd22af )
pyspark: implement count distinct (db29e10 )
pyspark: support basic caching (ab0df7a )
snowflake: add optional 'connect_args' param (8bf2043 )
snowflake: native pyarrow support (ce3d6a4 )
sqlalchemy: support unknown types (fde79fa )
sqlite: implement ops.Arbitrary
(9bcdf77 )
sql: use temp views where possible (5b9d8c0 )
table: implement pivot_wider
API (60e7731 )
ux: move ibis.expr.selectors
to ibis.selectors
and deprecate for removal in 6.0 (0ae639d )
Bug Fixes
api: disambiguate attribute errors from a missing resolve
method (e12c4df )
api: support filter on literal followed by aggregate (68d65c8 )
clickhouse: do not render aliases when compiling aggregate expression components (46caf3b )
clickhouse: ensure that clickhouse depends on sqlalchemy for make_url
usage (ea10a27 )
clickhouse: ensure that truncate works (1639914 )
clickhouse: fix create_table
implementation (5a54489 )
clickhouse: workaround sqlglot issue with calling match
(762f4d6 )
deps: support pandas 2.0 (4f1d9fe )
duckdb: branch to avoid unnecessary dataframe construction (9d5d943 )
duckdb: disable the progress bar by default (1a1892c )
duckdb: drop use of experimental parallel csv reader (47d8b92 )
duckdb: generate SIMILAR TO
instead of tilde to workaround sqlglot issue (434da27 )
improve typing signature of .dropna() (e11de3f )
mssql: improve aggregation on expressions (58aa78d )
mssql: remove invalid aggregations (1ce3ef9 )
polars: backwards compatibility for the time_zone
and time_unit
properties (3a2c4df )
postgres: allow inference of unknown types (343fb37 )
pyspark: fail when aggregation contains a having
filter (bd81a9f )
pyspark: raise proper error when trying to generate sql (51afc13 )
snowflake: fix new array operations; remove ArrayRemove
operation (772668b )
snowflake: make sure ephemeral tables following backend quoting rules (9a845df )
snowflake: make sure pyarrow is used when possible (01f5154 )
sql: ensure that set operations resolve to a single relation (3a02965 )
sql: generate consistent pivot_longer
semantics in the presence of multiple unnest
s (6bc301a )
sqlglot: work with newer versions (6f7302d )
trino,duckdb,postgres: make cumulative notany
/notall
aggregations work (c2e985f )
trino: only support how='first'
with arbitrary
reduction (315b5e7 )
ux: use guaranteed length-1 characters for NULL
values (8618789 )
Refactors
api: remove explicit use of .projection
in favor of the shorter .select
(73df8df )
cache: factor out ref counted cache (c816f00 )
duckdb: simplify to_pyarrow_batches
implementation (d6235ee )
duckdb: source loaded and installed extensions from duckdb (fb06262 )
duckdb: use native duckdb parquet reader unless auth required (e9f57eb )
generate uuid-based names for temp tables (a1164df )
memtable: clean up dispatch code (9a19302 )
memtable: dedup table proxy code (3bccec0 )
sqlalchemy: remove unused _meta
instance attributes (523e198 )
Deprecations
api: deprecate Table.set_column
in favor of Table.mutate
(954a6b7 )
Documentation
add a getting started guide (8fd03ce )
add warning about comparisons to None
(5cf186a )
blog: add campaign finance blog post (383c708 )
blog: add campaign finance to SUMMARY.md
(0bdd093 )
clean up agg argument descriptions and add join examples (93d3059 )
comparison: add a "why ibis" page (011cc19 )
move conda before nix in dev setup instructions (6b2cbaa )
nth: improve docstring for nth() (fb7b34b )
patch docs build to fix anchor links (51be459 )
penguins: add citation for palmer penguins data (679848d )
penguins: change to flipper (eec3706 )
refresh environment setup pages (b609571 )
selectors: make doctests more complete and actually run them (c8f2964 )
style and review fixes in getting started guide (3b0f8db )
You can’t perform that action at this time.