Release v2.1.0rc1
Pre-releaseSwitch default encode_maps_as_lists_in_tables
to "DATAAPIMAPS" (no observable changes w.r.t. previous releases)
Bugfix: fix payload encoding for empty maps/DataAPIMaps
User-defined types in tables:
- type management:
CreateTypeDefinition
,ListTypeDescriptor
,AlterTypeOperation
,AlterTypeAddFields
and
AlterTypeRenameFields
classes - type management: Database's
create_type
,list_type_names
,list_types
,alter_type
anddrop_type
methods - full support for UDTs in table ddl:
Database.create_table()
/Database.list_tables()
/table.definition()
- UDT support in tables: introduced
serializer_by_class
anddeserializer_by_udt
serdes options - UDT support in tables: introduced
DataAPIDictUDT
default dict-wrapper type
Tables, all index creation methods support a definition
parameter, alternatively to the "column[+options]" call pattern
Tables, support for "text indexes":
- classes
TableTextIndexDefinition
andTableTextIndexOptions
(e.g. forlist_indexes()
method) - tables got a
.create_text_index()
method
Tables, introduced method list_indexes()
Cursors (all types): introduced the "pagination API":
.fetch_next_page()
methodinitial_page_state
cursor constructor parameter / builder interface method
Admin, renamed 'region_name' ==> name
in AstraDBAdminDatabaseRegionInfo
and AstraDBAvailableRegionInfo
(the old name kept as a deprecated alias)
Introduced the notion of 'passthrough columns' to cover all of the cql-only partially/completely unsupported columns in the read/schema-read path
Fix: methods drop_[collection|table]
of [Async]Database
, and their Collection/Table sugar methods, now consistently return None.
AstraDBAdmin: introduced [async_]find_available_regions()
method (and related response objects)
embedding/reranking models' "API support status":
- db admins'
.find_[embedding|reranking]_providers()
methods have afilter_model_status
parameter, with values in
astrapy.constants.ModelStatus
; - returned
*Model
objects have an appropriate "API Support" attribute.
allow sending "$vector": None
when inserting into collections
support for modelSupport in findRerankingProviders
CollectionDefinition fluent interface: set_lexical and set_rerank accept also just 'enabled'
find_and_rerank scores' type enlarged to: float|int|null
maintenance/internal stuff:
- improve integration test coverage for:
- collection-columns in tables: indexing, collection-specific DML commands ($push, $pullAll and so on)
- collections, lexical/BM25-related DDL operations (various analyzer configurations for)
- collections, lexical/BM25-related DML operations (filtering, sorting based on $lexical)
- tables, lexical/BM25-related DML
- tables, logical filtering (i.e. $and, $or between clauses)
- multiple vectorize columns in a Table
- subsumed the specific testing opt-in env. var 'ASTRAPY_TEST_MAP2TUPLES=y' into the catch-all 'cutting-edge main'
ASTRAPY_TEST_LATEST_MAIN=y
- simplified SerdesOptions management in unit testing; some rationalization/refactoring of pre- and post-processing logic for tables in unit tests
- switched to uv (from poetry)
- promoted findAndRerank testing to the 'regular' IT (adjusted readme and env templates accordingly)
- pin h11 to 0.16.0 or higher (after a vulnerability report)
- switch to latest HCD for non-Astra CI github action
- introduce CQL-driven testing for low/no-support table columns.
LOCAL_DATA_API_APPLICATION_TOKEN
local test auth not supported anymore.