Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
2.0.14.1 (2026-04-12)
Changed
using new
adbc-driver-vastdbpackage
2.0.14 (2026-02-24)
Added
Added pyarrow range support for up to 23.0.1
Fix vector api backwards compatibility
2.0.13 (2026-02-15)
Fixed
vast_protobuf import error
2.0.12 (2026-02-12)
Added
Support for loading column names only in
Table.columns()andTable.reload_schema()Support for configuration the page size for entities (schemas, tables, columns, etc…) pagination in
Session()Support specifying data_endpoints config for import files
2.0.11 (2026-02-05)
revert 2.0.7 and 2.0.8
2.0.10 (2026-02-05)
Added
Support for both
Table.add_sorting_keyandSchema.create_tableto take a list of column names as a sorting key
Changed
Dead code was removed (topic functionallity) from internal module (_internal.py)
2.0.9 (2026-02-04)
Added
Blob expansion API added.
2.0.8 (2026-01-21)
Changed
populate _metadata._vector_index from list_tables response.
2.0.7 (2026-01-19)
Added
Vector Index table support (ORION-276190):
sorting_key_enabledfield inTableInfois now exclusive to Elysium tables (no longertruefor vector index tables)Vector index tables are now classified as
TableType.Regularinstead ofTableType.ElysiumRequires VAST Cluster with ORION-276190 support
Vector Index metadata fields in
TableInfo(conditioned oninclude_vector_index_metadata):vector_index_enabled: boolean flag indicating vector index presencevector_index_column_name: name of the column with vector indexvector_index_distance_metric: distance metric used (L2, COSINE, etc.)vector_index_sql_function_name: SQL function name for distance calculation (e.g., “array_distance”)
2.0.6 (2026-01-19)
Added
Float16 (half-precision floating point) type support
Schema serialization for float16 columns with precision.half
Predicate literal handling for float16 values
Fixes ‘unsupported column type halffloat’ error when creating tables with float16 columns
[2.0.5] (2025-01-08)
Added
end-user impersonation for adbc connection configurable via Session
2.0.4 (2025-01-06)
Changed
Fix race condition in select (get data) mechanism
2.0.3 (2025-11-25)
Added
Support for vastdb’s adbc driver
Session now gets an Optional[AdbcDriver]
AdbcDriver is created out of a local path to a driver
.so(shared library) or a url
Vector Search capability
Table.vector_search- Approximate Top-N closest vectors
2.0.2 (2025-10-22)
Fixed
Get correct rows count and size in bytes when asking for a table projections
2.0.1 (2025-10-22)
Fixed
Performance improvement in query data flow - sending only required columns instead of entire schema
2.0.0 (2025-09-17)
BREAKING CHANGE
Removed properties
Table.bucketandTable.schemaRemoved properties
Projection.bucketandProjection.schemaRemoved official support for Python 3.9
Added hard requirement for pyarrow~=18.0
Added
ITable- partial VAST tables interface (no DDL)TableMetadata- table metadata allowing for reuse / or refraining from loading bucket/schema/table metadata on every transactionTransaction.table_from_metadataallows creatingITablefromTableMetadatainside a transactionThis table is only for DQL and DML (query and manipulation)
Official support for Python 3.13
1.4.0 (2025-07-28)
Added
Support for inserting rows by columns
1.3.11 (2025-07-10)
Added
Support Tables with FixedSizeListArray of Numerics
Fixed
Table insert with no rows
Boolean predicates
List tables with pagination
Amount of threads used for parallel queries
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_doneflag 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
Tableobjects and accessingTable.stats
1.3.2 (2024-10-07)
Fixed
Fix broken links in https://vastdb-sdk.readthedocs.io
Document
vastdb_rowidcolumnDocument prefix match operator
1.3.1 (2024-09-10)
Fixed
Retry in case
HEADrequest fails
1.3.0 (2024-09-01)
Added
Support
startswithpushdown 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
boto3for checking bucket existenceImprove documentation
1.1.0 (2024-07-25)
Fixed
Close internal sessions in
selectandimport
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 prioritySend 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-frameworkdependency to 9.0.0Refactor 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
ListBucketsRPC to probe for server’s versionDon’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_verifyviaSessionc-torRetry
requests.exceptions.ConnectionErrorDocument
QueryConfigpropertiesSupport “deferred”
ibispredicates using Underscore (_) API
Fixed
Fix predicate pushdown when nested columns are present
Attach original traceback to
MissingBucketexception
0.1.4 (2024-05-13)
Added
Resume
Table.select()on HTTP 503 codeAllow pushing down True/False boolean literals
Support
betweenpredicate pushdownSupport 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_inpredicate pushdownDocument
table.py
Fixed
Freeze
ibisdependency at 8.0.0Support snapshot-based access
Optimize RecordBatch slicing
0.1.2 (2024-04-25)
Added
Allow querying VAST Catalog
Use mypy for type annotation checking
Fixed
Fix handling HTTPS endpoints #50
Optimize
Table.select()performanceUse
GETrequest to retrieve cluster versionEnable
ruffpreview modeMake 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.txtfile 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
rufffor linting and code formattingImproved
README.mdwith 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
Removed
Remove
vast_protobufpackage andprotobufdependency #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.pycode
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_apimodule toapi
Fixed
Fix
concurrent.futuresimport error