Skip to content

Release v2.1.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@hemidactylus hemidactylus released this 25 Jul 22:11
· 1 commit to main since this release
ed93c14

Switch 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 and drop_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 and deserializer_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 and TableTextIndexOptions (e.g. for list_indexes() method)
  • tables got a .create_text_index() method

Tables, introduced method list_indexes()
Cursors (all types): introduced the "pagination API":

  • .fetch_next_page() method
  • initial_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 a filter_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.