Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

1.3.10 (2025-05-11)

Added

  • Support limit on query data

  • Support for timestamp with timezone

Fixed

  • Don’t modify the user-passed config

  • Name the feature logger

1.3.9 (2025-04-22)

Fixed

  • Elysium-check validation

  • Fix logging level

Added

  • Support elysium new stats

  • Exposing sorting_done flag for Elysium tables (for other tables, sorting_done() will always return false)

1.3.8 (2025-03-31)

Fixed

  • Support InsufficientCapacity (fixes internal issue)

Added

  • Add server feature supported checks

  • Support zip import

  • Add split estimation for sorted tables

  • Support Update & Delete for Sorted Tables

  • Support Elysium DDL for the pysdk

Changed

  • Move vast_flatbuf under vastdb

1.3.7 (2024-12-23)

Fixed

  • Fix creating kafka schema before calling create table.

1.3.6 (2024-12-23)

Fixed

  • Fix missing api call.

1.3.5 (2024-12-16)

Added

  • Separated Kafka Topic specific APIs

1.3.4 (2024-12-11)

Added

  • Support predicate pushdown on unsigned integers

1.3.3 (2024-11-18)

Added

  • Detect non-VAST DB server responses

Fixed

  • Fetch table statistics when constructing a Table objects and accessing Table.stats

1.3.2 (2024-10-07)

Fixed

  • Fix broken links in https://vastdb-sdk.readthedocs.io

  • Document vastdb_rowid column

  • Document prefix match operator

1.3.1 (2024-09-10)

Fixed

  • Retry in case HEAD request fails

1.3.0 (2024-09-01)

Added

  • Support startswith pushdown over string columns

1.2.0 (2024-08-19)

Added

  • Allow listing tables’ names without fetching columns

1.1.2 (2024-08-19)

Fixed

  • Fix Table.update() when column names are not specified #66

1.1.1 (2024-08-11)

Fixed

  • Combine record batches when inserting pyarrow.Table

Changed

  • Don’t require boto3 for checking bucket existence

  • Improve documentation

1.1.0 (2024-07-25)

Fixed

  • Close internal sessions in select and import

Added

  • VastDB/Parquet performance benchmark harness

  • Support predicate pushdown over subfields

1.0.0 (2024-07-21)

Added

  • Add CLA (CONTRIBUTING.md)

  • Support setting HTTP timeouts

0.1.11 (2024-07-17)

Fixed

  • Revert timezone check to keep previous SDK behaviour

Added

  • Use Sphinx for building documentation

Changed

  • Defer imports to optimize initial import latency

0.1.10 (2024-07-09)

Fixed

  • Support responses with no record batches

  • Document supported Arrow data types

0.1.9 (2024-07-01)

Fixed

  • Don’t drop timezone information when creating a table

  • Clarify the catalog example

0.1.8 (2024-06-26)

Fixed

  • Allow retries also during query response parsing

  • Don’t retrieve stats during Table.select() if not needed

  • Log successful server-side file import

0.1.7 (2024-06-03)

Added

  • Retry idempotent requests in case of retriable errors

  • Allow setting Table.select() RPC queue priority

  • Send SDK version via Tabular RPC

  • Support external row IDs allocation

  • Document required VAST release

  • Add a helper function for defining a range of VIPs

Changed

  • Update ibis-framework dependency to 9.0.0

  • Refactor internal RPC client to support retries

  • Refactor request invocation and result handling

Fixed

  • Sort record batch according to internal row ID column for updates/deletes

  • Don’t use ListBuckets RPC to probe for server’s version

  • Don’t fail on an empty batch

  • Don’t use ‘us-east-1’ region name

Removed

  • Remove unused internal methods

0.1.6 (2024-05-23)

Added

  • Allow listing and querying Catalog snapshots

  • Support nested schemas

  • Use automatic split estimation

Fixed

  • Allow using specific semi-sorted projection (needs VAST 5.1+ release)

  • Add a client-side check for too large requests

0.1.5 (2024-05-16)

Added

  • Allow passing ssl_verify via Session c-tor

  • Retry requests.exceptions.ConnectionError

  • Document QueryConfig properties

  • Support “deferred” ibis predicates using Underscore (_) API

Fixed

  • Fix predicate pushdown when nested columns are present

  • Attach original traceback to MissingBucket exception

0.1.4 (2024-05-13)

Added

  • Resume Table.select() on HTTP 503 code

  • Allow pushing down True/False boolean literals

  • Support between predicate pushdown

  • Support inserting wide rows (larger than 5MB)

0.1.3 (2024-05-05)

Added

  • Document predicate pushdown support

  • Access imports’ table (for VAST 5.2+)

  • Support is_in predicate pushdown

  • Document table.py

Fixed

  • Freeze ibis dependency at 8.0.0

  • Support snapshot-based access

  • Optimize RecordBatch slicing

0.1.2 (2024-04-25)

Added

Fixed

  • Fix handling HTTPS endpoints #50

  • Optimize Table.select() performance

  • Use GET request to retrieve cluster version

  • Enable ruff preview mode

  • Make sure DuckDB integration fails gracefully when transaction is closed prematurely

Removed

  • Don’t return row IDs from Table.insert()

0.1.1 (2024-04-15)

Added

  • Support date & timestamp predicate pushdown #25

Fixed

  • Add missing requirements.txt file to released tarball #47

0.1.0 (2024-04-11)

Added

  • Transactions are implemented using context managers

  • Database entities are derived from a specific transaction

  • Predicate pushdown is using ibis-like expressions

  • Public SDK test suite

  • Internal CI with Python 3.9 - 3.12

  • Using ruff for linting and code formatting

  • Improved README.md with new API examples

Removed

  • Old SDK classes and methods are deprecated

0.0.5.3 (2024-03-24)

Added

  • Allow changing default max list_columns page size #43

Fixed

  • Fixing insert function to use the correct tx while listing columns #42

0.0.5.2 (2024-03-19)

Added

  • Support retrieving row IDs via VastdbApi.query() #31

Fixed

  • Fixed several functions that didn’t use the correct txid #30

  • Fix graceful cancellation for VastdbApi.query_iterator() #33

Removed

  • Remove vast_protobuf package and protobuf dependency #29

0.0.5.1 (2024-03-01)

Fixed

  • Support latest Python (3.11+) by not requiring too old dependencies. #16

0.0.5.0 (2024-02-25)

Added

  • Created a CHANGELOG

Fixed

  • Wait until all files are processed during import

  • Sync with internal api.py code

0.0.4.0 (2024-02-14)

Added

  • Allow creating a table using the schema of an existing Parquet file via create_table_from_parquet_schema()

  • Allow inserting RecordBatch into DB via insert()

Changed

  • Rename vastdb_api module to api

Fixed

  • Fix concurrent.futures import error