Skip to content

Latest commit

 

History

History
1904 lines (1583 loc) · 197 KB

CHANGELOG.md

File metadata and controls

1904 lines (1583 loc) · 197 KB

Changelog

Full Changelog

Closed issues:

  • primaryKeySchema and corresponding Id-tuples from insertion are not ordered like CQL ((primary), clustering) #1720

v1.0.20 (2024-11-14)

Full Changelog

Closed issues:

  • Review all errors in errors.yaml #1662

Merged pull requests:

v1.0.19 (2024-11-14)

Full Changelog

Implemented enhancements:

  • validate null values insertion for PK columns #1678

Fixed bugs:

  • HTTP 500 when vector search w/ no limit #1700
  • Improve the error for commands that are not supported on tables, and table commands not on collections #1692
  • Bug - exclude empty map / list / set from sparse data return #1690
  • Forbid the use of $in for Table updateOne and deleteOne command #1688
  • (tables) nextPageState always null for find on tables #1677
  • Create Index error message typo #1659
  • Empty options object in various new commands errors #1658
  • Where Clause analysis gives warnings when ANN sort used with no filtering #1621
  • (nit) Typo in the warning message for allow-filtering #1611
  • TODO: WhereClauseAnalyzer should error for filtering on a complex type #1602
  • (tables) findOne with no matches returns a bare {} (v1.0.18) #1580
  • Reading from (unfrozen) MAP<text,...> errors out #1575
  • Validation missing for column type definition in createTable #1560

Closed issues:

  • NPE for some bad embedding provider set up or arguments (Prod, Splunk) #1714
  • InsertOperationPage throws uncaught error for missing docRowID for failed insertion #1702
  • Enable error objects returned in V2 format by default #1666
  • Support vectorize for Tables - Update command #1651
  • Support use of negative CQL duration values #1647
  • Support Vectorize for Tables - Insert and Read (sort) #1643
  • support includeSortVector for tables #1640
  • support includeSimilarity option for find and findOne for tables #1634
  • Turn table sort clause that uses clustering keys correctly into CQL order by #1628
  • Return an error if a sort clause is used for delete and update with a table #1622
  • Support $binary vectors for sorting with collections and tables #1618
  • Output duration values as ISO-8601, not Cassandra "standard" notation #1617
  • Implement listIndexes command #1605
  • Measure performance benefits of "Packed Base64" representation for Vector values (Java) #1604
  • Refactor : ComplexApiDataType - remove properties on the super type that are not common #1601
  • Update Data API to use Jackson 2.18.0 for latest FP improvements #1597
  • Refactor: TableFilterIntegrationTest to remove code duplication #1591
  • Refactor for table.definition.datatype.ColumnType #1588
  • Allow use of $date (EJSON wrapper) for API Table timestamp values (similar to Collections) #1586
  • Return the schema of the projection for read commands #1584
  • (Tables) Cannot truncate a table (generated CQL has syntax errors) #1577
  • How to analyze the updateClause for table #1572
  • Confirm sparse data is returned for table reads #1571
  • Restrict map key types to be text or ascii for create table #1570
  • Bug? - UpdateOne for table, with a filter Exception, status map is still returned. #1569
  • Mismatch between param name "indexName" in dropIndex command vs. "name" in createIndex #1567
  • Bug - use Cql Identifier for specifying clustering key order #1565
  • Implement alterTable command #1563
  • Support sorting by vector for API Tables #1559
  • WhereClauseAnalyzer for table update and delete #1556
  • Improve DataApiCommandSenders by exposing as\(\) method for setting test description; also set default description #1547
  • Code tidy: refactor getTableSchema() #1544
  • Table feature fail due to missing CQL Driver profiles #1540
  • Update to DSE 6.9.3 #1537
  • Add swagger documentation for table operations #1534
  • Table Filter, inet, uuid, timeuuid #1530
  • Code Tidy - Improve the code in TableSchemaObject.from() #1521
  • Move toTableResponse() off the TableSchemaObject #1520
  • Stop publishing jsonapi images #1516
  • Implement createIndex command for Api Tables #1514
  • Change the warnings section of the status to be full error object #1497
  • Data API JsonCodec: Base64-binary support for vectors #1493
  • Data API JsonCodec: Vector, add support for vector\<float\> #1492
  • Add retry on ALLOW FILTERing required for ReadAttempt #1491
  • Only use APIException (v2 errors) in the filter code #1488
  • $nin for table filter #1478
  • Change UpdateTableCommand to use OperationAttempt #1468
  • Change DeleteTableCommand to use OperationAttempt #1467
  • Data API JsonCodec impl: unfrozen map type #1451
  • provide instructions of running Data API for on-prem usage of DSE6.9 #1440
  • CqlSessionCache test fixedToken() config then ignores it #1438
  • support ordered flag for insert operations on tables #1423
  • Add support for $in for API Tables #1415
  • incorporate warning message into new API exception design. #1406
  • Update to DSE 6.9.2 #1381
  • Refactor command validation using ValidatableCommandClause #1310
  • Try to speed up slow(est) "unit" tests -- ones for CQL Session caching -- somehow (possibly change to Integration Tests) #1245
  • SERVER_UNHANDLED_ERROR if collection name is a list (during createCollection) #1240
  • SERVER\_UNHANDLED\_ERROR from unmapped io.grpc.StatusRuntimeException (DEADLINE_EXCEEDED) #1215
  • Documentation revisit after quarkus-common-module removal. #1193
  • SPEC - document role of _id in a document #127

Merged pull requests:

v1.0.18 (2024-10-15)

Full Changelog

Closed issues:

  • Can't insert vector field with tables #1533
  • Issue with COLLECTION\_NOT\_EXIST error w/ Errors v2 #1531
  • Table Filter, $binary EJSON for Blob column datatype. #1513
  • Enable HTTP request log (access log) in Production #1498
  • Data API JsonCodec: Vector, add support for vector\<float\> #1492
  • Refactor WhereCQLClauseAnalyzer #1485
  • Table Primary Key filtering, multiple corner cases. #1481
  • Further detailed consideration of how we enable ALLOW FILTERING #1476
  • code tidy: use the CommandResultBuilder everywhere #1463
  • code tidy: tweak CommandResultBuilder to make it more buildery #1461
  • accommodate ALLOW FILTERING to OnGoingWhereClause for table #1445
  • Data API JsonCodec impl: misc other type(s) (inet) #1386

Merged pull requests:

v1.0.17 (2024-10-09)

Full Changelog

Implemented enhancements:

  • adding tracing ID #593

Closed issues:

  • Implement listTables command #1500
  • Support binary vectors for Collections #1494
  • Unexpected Field "embeddingsByType" in Response from amazon.titan-embed-text-v2:0 Model Causing Deserialization Error #1486
  • Handle null from CQL driver when converting column values to JSON (findOne etc) #1460
  • Data API JsonCodec impl: unfrozen container types (Set, List) #1450
  • Incorporate warning msg with Table read path #1447
  • Data API JsonCodec impl: UUID (uuid, timeuuid) #1442
  • bridge related documentation cleanups #1441
  • Add tests to ensure that "fractional" values like 10.0 and scientific notation like 1.23E+02 accepted as integer values #1429
  • Tables number codec: support "NaN", "Infinity", "-Infinity" for float, double CQL types #1428
  • refactor table insert operation, move calling the driver to TableInsertAttempt #1424
  • Optimize JSONCodecRegistry to-CQL codec lookup: linear search won't scale #1417
  • addIndex seems to fail on names with uppercase (missing double quotes)? #1404
  • Data API JsonCodec impl: "blob" (Binary) type #1403
  • Data API JsonCodec impl: misc other type(s) (inet) #1386
  • Data API JsonCodec impl: date/time values (date, duration, time, timestamp) #1385
  • Add new keyspace commands, deprecate namespace commands #1376
  • Data API, JsonCodec testing: textual values (ascii, text, varchar) #1364
  • Create collection fails if there is an existing CQL table of the same name #1198
  • Azure OpenAI: use "deployment name" instead of "deployment ID" #1126

Merged pull requests:

v1.0.16 (2024-09-17)

Full Changelog

Closed issues:

  • Error object V2 templates failing to load in IT's #1421
  • Simplify the NamedValueContainers #1411
  • remove the WritableDocRow interface #1410
  • Move or Delete AwsBedrockVectorSearchIntegrationTest #1399
  • createTable command with \_id errors out #1396
  • Data API filter refactor, logicalExpression #1389
  • Exceptions from Database (via CQL Driver) incorrectly mapped to HTTP 500, should be 504 (or 502) #1383
  • Data API/JsonCodec: floating-point (FP) numeric values (decimal, double, float), testing, impl #1366
  • Data API, JsonCodec testing: integral numeric values (bigint, smallint, int, tinyint, varint) #1365
  • Change ObjectMapperConfiguration to allow static access, not just injection #1361
  • Not able to filter by _id with tables #1357
  • Do not expose table commands in swaggerUI before the feature goes public #1353
  • Not able to use column names with upper-case letters, special characters #1349
  • Upgrade Jackson to 2.17(.2) (from 2.16(.2)) to align with Quarkus #1343
  • Remove use of io.stargate:sgv2-api-parent parent pom by Data API #1341
  • Update to DSE 6.9.1 #1336
  • Refactor feature flags to use combination of Quarkus config and per-request overrides #1335
  • Should be able to use column names like \_id with API Tables too #1334
  • Refactor traverseForNot and flip in the API tier #1319

Merged pull requests:

v1.0.15 (2024-08-14)

Full Changelog

Implemented enhancements:

  • Bridge Removal - separate Data API Logging from Quarkus Common Module #978
  • Bridge Removal - separate Data API Metrics from Quarkus Common Module #974

Closed issues:

  • Create and use new ErrorCode for Vector-size-mismatch case of INVALID\_QUERY #1332
  • Misspelt class name AwsBedrockEnbeddingProvider #1308
  • Remove unnecessary (if so) equals\(\), hashCode\(\) implementations from IDFilterBase sub-classes #1288
  • Convert internal "assert"-style RuntimeException into JsonApiException with ErrorCode.SERVER\_INTERNAL\_ERROR #1287
  • Update Data API to HCD 1.0.0 #1285
  • Update Data API to DSE 6.9.0 #1284
  • Re-factor: use ErrorCode.toApiException\(\) everywhere instead of new JsonApiException #1283
  • Remove dse-next persistence from ITs #1282
  • Remove url requirement in EmbeddingProvidersConfig yaml config matching #1231
  • Log error codes and messages #1197
  • Create a nightly run CI to test all vectorize models for all providers #1196
  • Hugging Face Serverless arbitrary model choice #1145
  • Provider side embedding model choice #1144
  • Bridge Removal - fix tests with whatever profile and resources that tests relied on #1140
  • Remove dependency for Stargate bridge - quarkus commons #920
  • Postman Collection workflow run failing #840

Merged pull requests:

v1.0.14 (2024-07-15)

Full Changelog

Highlights:

  • Support AWS Bedrock Embedding Provider
  • Set lower default for Azure OpenAI model "text-embedding-3-large" to observed legal value
  • Add displayName and hint in embedding providers parameters configuration
  • Error handling improvements

Closed issues:

  • Improve error message when EGW timeout #1254
  • Improve the error message when users call vectorize but don't provide the provider key through x-embedding-api-key #1250
  • Azure Open AI provider (azureOpenAI) default settings for large model (text-embedding-3-large) wrong #1241
  • Replace internal (non-user-triggerable) ErrorCode with ErrorCode.SERVER\_INTERNAL\_ERROR #1238
  • Improve failure message for ErrorCode.COMMAND\_UNKNOWN to include legal options #1236
  • Unify ErrorCodes COMMAND\_NOT\_IMPLEMENTED and NO\_COMMAND\_MATCHED into COMMAND\_UNKNOWN #1232
  • PoC for "API Tables": findRows command on existing CQL table(s) #1224
  • Add namespace and collection name to log lines #1168

Merged pull requests:

v1.0.13 (2024-07-01)

Full Changelog

Highlights:

  • Error handling improvements
  • Max-collection/max-indexes-available limits aligned with HCD defaults
  • Fixed InsertMany batch failing completely in some scenarios
  • Added two more VoyageAI models voyage-finance-2 and voyage-multilingual-2

Closed issues:

  • SERVER\_UNHANDLED\_ERROR from IllegalArgumentException from CQL Driver if passing empty token as Astra credential #1210
  • SERVER\_UNHANDLED\_ERROR from UnrecognizedPropertyException #1207
  • Unmapped AllNodesFailedException (SERVER\_UNHANDLED\_ERROR): com.datastax.oss.driver.api.core.DriverTimeoutException not handled #1205
  • Include type of unmapped exception in message by ThrowableToErrorMapper #1203
  • Enable StreamReadFeature.INCLUDE\_SOURCE\_IN\_LOCATION to get JSON source (snippet) logged #1201
  • Invalid non-JSON request ("Unexpected character") results in SERVER\_UNHANDLED\_ERROR 500 failure #1200
  • Invalid JSON structure throwing UnrecognizedPropertyException results in SERVER\_UNHANDLED\_ERROR 500 failure #1199
  • Update max-collection/max-indexes-available limits to align with HCD defaults #1194
  • Rename misleading ErrorCode.INVALID\_COLLECTION\_NAME as EXISTING\_COLLECTION\_DIFFERENT\_SETTINGS #1185
  • Change EmbeddingProvider from interface to abstract class #1173
  • NullPointerException from the multi credential supports #1172
  • insertMany batch fails completely (instead of individual doc) for some constraints violations #1167
  • Remove shared secret embedding provider options #1153
  • Refactor Embedding Providers #1152

Merged pull requests:

v1.0.12 (2024-06-17)

Full Changelog

Highlights:

  • Upstage Embedding provider display name, change from 'Upstage AI' to 'Upstage'
  • logging improvement(add namespace and collection)
  • error messages improvement
    • improve SHRED_DOC_KEY_NAME_VIOLATION error code message "Document field name invalid"
    • improve Data API vectorize error messages
  • fix vectorize integration credentials bug regarding the table comment

Closed issues:

  • Better handling for multi part credentials in createCollection #1142

Merged pull requests:

v1.0.11 (2024-06-13)

Full Changelog

Highlights:

  • Support includeSortVector option for find and findOne command (API addition)
  • Improvements to vectorize feature
    • Adds HuggingFace dedicated provider support
    • Exclude $vector and $vectorize from default projection
    • OpenAI provider - support for organization id and project id in request header

Closed issues:

  • docker-compose changes to consider #1158
  • Log selected options on create collection #1155
  • Jina AI timeouts when model is cold #1131
  • Support OpenAI Organization and Project optional headers #1128
  • projection {"$vector": 1} does not project out the other fields anymore #1106
  • Misleading error message about projection having $fields #1038
  • Re-apply default Projection change to exclude $vector (#1005) #1032
  • Exclude $vector and $vectorize from the default Projection #1005

Merged pull requests:

v1.0.10 (2024-06-04)

Full Changelog

Highlights:

  • Support for running Data API with DSE 6.9 and HCD

Closed issues:

  • $vectorize: Misleading error when authentication.providerKey not set #1124
  • Params not passing to EGW #1111
  • Data API logs are not collected in github integration-tests #1034

Merged pull requests:

v1.0.9 (2024-05-29)

Full Changelog

Highlights:

  • Multiple bug fixes and minor improvements to vectorize feature

Closed issues:

  • Error out when SHARED\_SECRET and HEADER are disabled but provide the apiKey in createCollection #1114
  • Index creation needs to be wrapped with quote #1110
  • Data API exception mapper (ThrowableToErrorMapper) does not log error for unmapped server errors (ErrorCode.SERVER\_UNHANDLED\_ERROR) #1107
  • UpstageAI model name should not end with hyphen: add that in UpstageAI embedding client #1102
  • Possible NPE in EmbeddingProviderFactory for mismatched/missing embedding provider id #1098
  • JinaAI models don't work for the first few minutes #1093
  • Add (re-)batching for calls to external embedding providers #1078
  • Optimize CI workflow #919
  • findCollections and createCollection do not show the correct error message when the Astra token is invalid #712

Merged pull requests:

v1.0.8 (2024-05-16)

Full Changelog

Highlights:

  • Add multiple embedding providers for vectorize feature:
    • Vertex AI
    • Jina AI
    • Mistral
    • Upstage AI
    • VoyageAPI
    • Huggingface

Closed issues:

  • Cannot create collection for Mistral #1094
  • Remove curly brackets in vertexai's url #1092
  • NPE for VoyageAI embedding provider #1088
  • Remove apiVersion in azureOpenAI #1087
  • Add UpstageAI embedding provider #1073
  • Add VoyageAI embedding provider #1066

Merged pull requests:

v1.0.7 (2024-05-07)

Full Changelog

Highlights:

  • Add Azure OpenAI provider for vectorize feature
  • Various changes to allow Data API code to be reused by other applications (No impact to Astra)

Closed issues:

  • Querying by string _id matches ObjectId _id #1045
  • Increase DEFAULT_MAX_DOCUMENT_INSERT_COUNT to 100 (from 20) #1042
  • Java driver TruncateException returned on DeleteMany command #948
  • Java driver ProtocolError on FindCommand #947
  • Java driver ServerError on multiple operations #946
  • Java driver AllNodesFailedException on multiple operations #945
  • [Enhancement] - Add option explain to findNamespaces\(\) #932
  • Tenant ID does not appear on all log lines for tenant #847
  • Run JSON API with DSE 7 #600

Merged pull requests:

v1.0.6 (2024-04-17)

Full Changelog

Highlights:

  • Internal refactoring and minor bug fixes
  • Various changes to allow Data API code to run without a Stargate coordinator (No impact to Astra)

Implemented enhancements:

  • Bridge Removal - Separate Data API QueryBuilder from Quarkus Common Module #977
  • Bridge Removal - Data API headerBased Auth, header resolver #976
  • Bridge Removal - Data API Tenant resolver #975

Closed issues:

  • Revert (parts of) #1005: default project to include everything (similar to {"\*":1}) #1031
  • Exclude $vector and $vectorize from the default Projection #1005
  • Upsertion with projection: { \_id: 0 } appears broken #1000
  • Extend test framework to support running without coordinator #987
  • internal server error with Data Api during astrapy ci test #970
  • Add username/password option to RequestInfo #644
  • Token is useless in open source version of JSON API #632
  • Define acceptable consistency levels set globally #94

Merged pull requests:

v1.0.5 (2024-04-03)

Full Changelog

Closed issues:

  • Refactor DocumentProjector by adding IndexingProjector, unshare (re-duplicate) code #1006
  • [Indexing Option] Do not create index in case of deny: ["*"] #1002
  • Support wildcard "include EVERYTHING" and "include NOTHING" for Projection clause #1001
  • Java driver ReadFailureException on Find command #949
  • NullPointerException on CreateCollection #944
  • Was able to use $vectorize used with non vectorize collection #901
  • Add Metrics for in-flight commands (Gauge on MeteredCommandProcessor) #854
  • CQL execution profile for transactional queries #791
  • Wording of timeout error message #743
  • Microbench for $in and $nin #723

Merged pull requests:

v1.0.4 (2024-03-27)

Full Changelog

Closed issues:

  • Returned identifiers when working with different defaultId (ObjectId) are String #995
  • ChangeLog not generating during release workflow #990

Merged pull requests:

v1.0.3 (2024-03-20)

Full Changelog

Closed issues:

  • Add EstimatedDocumentCount command #793
  • Renaming to Data API #860
  • Support auto-generation/explicit use of ObjectId, UUID (v4, v6, v7) as document ids (_id) #922
  • Filter $not with $size as 0 not working correctly #981

Merged pull requests:

  • Implement EstimatedDocumentCount operation #866
  • ObjectId, UUID typed support (auto-generation, explicit usage) #928
  • Update Jackson to 2.16.2 (from 2.16.1) #980
  • Fixes #981: fix $not with $size 0 #982

v1.0.2 (2024-03-11)

Full Changelog

Closed issues:

  • Support pagination to UpdateMany command #937
  • Rollback on CreateCollection failure #912
  • Change EmbeddingService and VectorProvider to EmbeddingProvider #911
  • Missing errorCode when find\(\) fails with invalid Collection name #904
  • Confusing error message when trying to find by multiple \_id values #898
  • Truncate value length included by ConstraintViolationExceptionMapper into configurable max length #895
  • OpenAPI spec, investigate sdk generator tool stainless #892
  • Invalid request / allow filtering error on find command (due to failed index creation for createCollection) #812
  • Add content size metrics for serialization (shredding output) to doc\_json #759
  • Add timing metrics for serialization (shredding output) to doc\_json #669
  • Add timing metrics for deserialization of doc\_json #668

Merged pull requests:

v1.0.1 (2024-02-20)

Full Changelog

Closed issues:

  • Unify terms "field" and "property" in ErrorCode as "property" #884
  • Do not return AllNodesFailedException error to the client #882
  • Missing property name for "too long String" validation failure #875
  • Unclear error message for Bean Validation failures #873
  • Filtering array element by $size: 0 doesn't seem to work #862
  • Increase current quarkus.http.limits.max-body-size from 5M to 20M #856
  • Postman Collection workflow run failing #840
  • Document Limits: increase max property path length to 1000 (from 250) #820
  • Add tenant tags to driver metrics #795
  • Enable HTTP query logging #752
  • Catch and re-throw Java CQL Driver fail exceptions as JsonApiException with appropriate errorCodes #751
  • all-in-one soak test workload #739
  • Add option to include profiling tools in Docker image #671
  • Driver token map computation failure #661

Merged pull requests:

v1.0.0 (2024-02-02)

Full Changelog

Closed issues:

  • INVALID_REQUST error code typo #796
  • Document limits: remove individual max property name limit (leave just max path limit) #819
  • Document Limits: increase max property path length to 1000 (from 250) #820
  • Document limits: only apply Max Object Properties limits on indexed fields #821
  • Document limits: only apply Max Document Properties limits on indexed fields #850

Merged pull requests:

v1.0.0-RC-3 (2024-01-31)

Full Changelog

Closed issues:

  • Document limits: increase "max-number-length" from 50 to 100 digits #823
  • Document limits: only apply Max Array Element limit on indexed fields #822
  • Document limits: increase max doc length limit: 1M -> 4M #817

Merged pull requests:

v1.0.0-RC-2 (2024-01-25)

Full Changelog

Closed issues:

  • [regression] - Adding indexing options in the createCollection remove idempotence #835
  • Create collection error message is confusing #830
  • Add validation of "options" property of createCollection command to avoid silent failures #828
  • Document limits: increase allowed max nesting from 8 to 16 levels #818
  • Improve error message when collection name omitted #800
  • Optimize case of "no projection" (include all) so that doc\_json embedded directly #667

Merged pull requests:

v1.0.0-RC-1 (2024-01-22)

Full Changelog

Closed issues:

  • Misnamed config property: stargate.jsonapi.document.limits.max-filter-object-properties -- should be Operations, not Doc Config #815
  • Count command optimization #809
  • Handle DOCUMENT_ALREADY_EXISTS error in insert #801
  • Invalid filter, misuse of $ operators #798
  • Sync Document Limit settings to jsonapi /CONFIGURATION.md #797
  • Validate paths used for indexing options for CreateCollection #790
  • [Indexing options] Error using non indexed fields for filtering, sorting #768
  • [Indexing options] Shredder changes to index fields #767
  • [Indexing options] Add indexing option to cache #766
  • [Indexing options] Create collection changes to add indexing options #765
  • Multiple filter for same field not resolved #763
  • Command-level logging #741
  • Add option to limit index creation #560

Merged pull requests:

v1.0.0-BETA-7 (2024-01-11)

Full Changelog

Closed issues:

  • Configurable CQL query timeouts by query type #783
  • Increase limits for maximum properties per Object (64 to 1,000), per Document (1,000 to 2,000) #776
  • Reduce max Vector dimension limit from 10,000 to 4,096 not to fail due to SAI/ANN limit #772
  • [Indexing options] Add indexing options to findCollection response #769
  • insertMany default ordered flag to false #761
  • Bug: ALL filter not working inside OR #749
  • Increase DocumentLimitsConfig.maxArrayLength from 100 to 1000 #745
  • Tune maximum property name length (from 48 to 100), add separate setting for max-total-length (250) #744
  • Set Error codes in CommandResult.Error #720
  • fix maximum number of values for $in #711
  • JSON API should identify itself to bridge as jsonapi #387

Merged pull requests:

v1.0.0-BETA-6 (2024-01-02)

Full Changelog

Implemented enhancements:

  • Improve max-String-value limit checking to be based on UTF-8 (byte) length, not char count #710

Closed issues:

  • Add JSON Logging as the default option for non-dev #747
  • $in and $nin, support for array and subdoc #732
  • Problem with inserting documents with "too long numbers" #726
  • Add ITs for "max-number-length" violation checking for insertMany, findOneAndUpdate, findOneAndReplace #724
  • Extend nosqlbench tests for new filter operations #718
  • Set serial consistency to LOCAL_SERIAL #716
  • Lower maximum String value length from 16,000 to 8.000 #713
  • $nin support #709
  • token is invalid, error out as keyspace not found instead of 401 unauthenticate #708
  • 401 instead of 500 for bad credentials #707
  • Use lower consistency in CQL vector search queries #691
  • Filter and sort clause field name validation #690
  • Add IT for maximum String value length #686
  • Update stargate-mongoose and create-astradb-mongoose-app with latest jsonapi changes #664
  • Investigate if Jackson 2.15 provided "fast floating-point" improves BigDecimal reads, enable #653
  • Investigate if Jackson 2.15 provided "fast floating-point" improves BigDecimal writes, enable #652
  • Metrics for the SessionCache #646
  • Closing session with possible in-flight queries #645
  • Improve max Collection limit verification to be based on available SAIs, not existing Tables #608
  • DataStoreConfig is not produced, use DataStoreProperties instead #508

Merged pull requests:

v1.0.0-BETA-5 (2023-12-06)

Full Changelog

Closed issues:

  • Provide better error message when accessing non-JSON API table #659
  • Update to Jackson 2.16.0 #650
  • Remove all gRPC bridge communications #649
  • Write unit test for JsonapiTableMatcher #643
  • Verify handling of Collection with capital letter(s) #639
  • Feature request: Add truncate/empty collection support #631
  • $in, with empty array, should find nothing #625
  • CQL branch, filter, cql mulfunction with same values #623
  • Operations implement predicate instead of override equals and hashcode #36
  • Revisit FilterMatcher and FilterMatchRules logic #34

Merged pull requests:

v1.0.0-BETA-4 (2023-11-17)

Full Changelog

Closed issues:

  • Empty projection ({ }) for find\(\) includes nothing; should instead include everything (similar to missing (null) projection) #634
  • $similarity accepted within projection #633
  • Add DocumentLimitsConfig limit for total Properties per Document (1000?) #630
  • CQL branch, pagination issue #627
  • Add Integration Tests for max String property length; max Document size to ensure ability to store max valid values, docs #622
  • Increase Java Driver local pooling to 8 (from default of just 1) #617
  • Pagination name discrepancy "nextPageState" vs "pagingState" #596
  • Replace X-Cassandra-Token with Token #569
  • Remove namespace from the API #562
  • Map StreamConstraintsException to JsonApiException (wrt max-number-len) #448
  • SPEC - document the createDatabase and createCollection commands #137

Merged pull requests:

v1.0.0-BETA-3 (2023-11-02)

Full Changelog

Implemented enhancements:

  • Improve JSON API error messages with more informative help and (where possible) suggested user action #552

Fixed bugs:

  • UNAUTHENTICATED: Invalid token msg is override because of Metrics tag exception #603

Closed issues:

  • Misleading error message on nonexisting table when implying vector-enabled #609
  • Remove extra trailing white space from text aggregated for text search #602
  • Native Image build failure #597
  • ExceptionClass exposure in error message #578
  • Enforce limit of maximum 5 Collections per ---database--- namespace #577
  • Fully rely on List<Expression<BuildCondition>> for build where clause #543
  • SPEC - Document using $slice in projections #130

Merged pull requests:

v1.0.0-BETA-2 (2023-10-24)

Full Changelog

Fixed bugs:

  • Performance tests returning bad status code errors #422

Closed issues:

  • CountDocumentsCommands should be CountDocumentsCommand #583
  • Add isEmpty\(\) method in JsonFieldExtractor #579
  • Add validation of path expression configuration for Field Extractor (in json-api-analyzer-filter) #574
  • Allow passing of empty JSON Object ({ }) for sort for find and findOne Commands #572
  • Vector options name change #567
  • Add simple micro-benchmarking of Field Extractor for json-api-analyzer-filter #564
  • Add ability to "JSON detect" input given to Field Extractor #563
  • includeSimilarity option doesn't seem to work with findOne\(\) #558
  • Implement efficient JSON document filtering to be used by "JSON analyzer" for $text indexing #554
  • Provide a way to display collection options #550
  • Limit number of filtering fields in find commands #548
  • support $and, $or #547
  • Handling of createCollection command #546
  • Json api messaging if namespace is not found. #545
  • Add NoSQLBench test for insertMany #541
  • revisit jsonapi native image build and publish process #494
  • Limit number of documents to count #431
  • Decide on system and non-jsonapi namespace handling #341
  • Implement $in support #291

Merged pull requests:

v1.0.0-BETA-1 (2023-09-27)

Full Changelog

Closed issues:

  • [Vectorize] Make vectorize() method call run on worker thread #537
  • [Vectorize] Add validation for update clause #533
  • [Vectorize] Remove $vectorize field in the document #532
  • Add metrics tagging for vector functionality #526
  • [Vectorize] Implement embedding service call #524
  • pricing investigation for JSON API #523
  • JSON API should allow hyphens (-) in document property names (but should not allow empty String) #521
  • findOneAndDelete by vector has NPE issue in concurrent situation #517
  • findOne filtering by $vector returns no results #516
  • User-friendly notification of unsupported features #389

Merged pull requests:

v1.0.0-ALPHA-14 (2023-08-21)

Full Changelog

Closed issues:

  • Reduce index columns #505
  • IT cases for vector size validations #497
  • Create APP using JSON API #465
  • [Design Revisit] Projection handling of $vector #461

Merged pull requests:

v1.0.0-ALPHA-13 (2023-08-16)

Full Changelog

Closed issues:

  • Create Collection with vector options fail #504

Merged pull requests:

v1.0.0-ALPHA-12 (2023-08-10)

Full Changelog

Closed issues:

  • Sort with $vector: {} throws an unreadable error #493
  • Default docker-compose config shouldn't require build #489
  • Include vector similarity in vector search result #463

Merged pull requests:

v1.0.0-ALPHA-11 (2023-08-02)

Full Changelog

Closed issues:

  • Vector search schema cache by tenant #486
  • Cannot createCollection\(\) with vector option without sending similarity function #483
  • Projection handling of $vector #480
  • Extend JSON API vector search functionality support #478
  • Relax array size validation for $vector field #475
  • Validation for vector search #460
  • Find* command changes for vector search #459
  • Document shredder changes for vector search #458
  • Update command changes for vector search #457
  • Insert command changes to support vector search #456
  • Create collection enhancement to support vector search configuration #455
  • JSON API Logging #404

Merged pull requests:

v1.0.0-ALPHA-10 (2023-07-14)

Full Changelog

Fixed bugs:

  • Coordinator logs full of warning message about aggregation key #413

Merged pull requests:

v1.0.0-ALPHA-9 (2023-05-22)

Full Changelog

Closed issues:

  • Use count(1) in count operation query #424
  • Validate Document field names so they conform to the spec #408
  • Intermittent DEADLINE_EXCEEDED error #208
  • Ensure nextPageState in requests is handled securely #139

Merged pull requests:

v1.0.0-ALPHA-8 (2023-05-12)

Full Changelog

Fixed bugs:

  • Docker-comspse memory settings cause coordinator OOM #414

Closed issues:

  • Driver response is not reflecting in the Mongoose Model API response #418
  • findOneAndUpdate with upsert flag not returning _id #417
  • findOneAndReplace upsert not generating _id #416
  • JSON API HTTP error codes #407
  • (Date/Time support) Add $currentDate update operation #397
  • findOne with options should throw an error back #395
  • (Date/Time support) Allow update operators on Date/Time valued fields #372
  • Add first-class support for Date-Time values for JSON-API #362

Merged pull requests:

v1.0.0-ALPHA-7 (2023-05-01)

Full Changelog

Closed issues:

  • Spec - Support deleteOne() and updateOne() with sort #400
  • Support deleteOne\(\) and updateOne\(\) with sort #396
  • Change JSON API default port number #381
  • Add no-sql bench test for find command with sort #303
  • Design + Spec service side implementation of sort + offset #156
  • consistent "document" / "documents" fields for insert commands #141

Merged pull requests:

v1.0.0-ALPHA-6 (2023-04-25)

Full Changelog

Closed issues:

  • findOneAndUpdate\(\) seems to not return result if no updates to apply #390
  • (Date/Time support) Change Insert and Update operation #378
  • (Date/Time support) Support full filtering on Date/Time valued fields #375
  • (Date/Time support) Support sorting on Date/Time valued fields #374
  • (Date/Time support) Ensure Projection of Date/Time valued fields works #373
  • (Date/Time support) allow use of Date/Time as Document Id (\_id) #371
  • (Date/Time support) Add DB column query\_timestamp\_values, Shredding support #370
  • Improve failure message on "inserting too many documents" to include limit, number sent #365
  • Errors in response #350
  • find command options validation #349
  • Add serial consistency validation with next Stargate upgrade. #344
  • Implement findCollections command #320
  • Spec: should findOne\(\) have count entry in response? #313
  • Document all json document config options #305
  • Setting Serial consistency for write operation #238
  • Indicate minimum required versions of docker and docker-compose in README #227
  • Ensure namespace and collection names are validated #149
  • SPEC document countDocuments() #147
  • SPEC - documentation for $exists #122

Merged pull requests:

v1.0.0-ALPHA-5 (2023-04-14)

Full Changelog

Fixed bugs:

  • Keyspace and table names not handling case-sensitivity (missing escaping in CQL statements) #337
  • All retries of HTTPLimitsIntegrationTest fail on native #266

Closed issues:

  • Implement$in operator for \_id field #346
  • Add Projection tests for findOneAndReplace #330
  • Add support for $slice Array Projection modifier #329
  • Improve testing of findOneAndUpdate\(\) wrt Projection #325
  • Change sort clause format #323
  • Implement findNamespaces command #322
  • Implement dropNamespace command #321
  • Implement findOneAndDelete command #319
  • Support sort for findOne and findOneAndUpdate command #312
  • Implement findOneAndReplace command #311
  • Sort testing improvements #306
  • Implement full Projection for find\(\)/findOne\(\)/findOneAndUpdate\(\) #300
  • Decrease count-down latch on failing concurrency tests #298
  • Support empty options object for all commands #293
  • Update to DSE 6.8.33 #287
  • updateOne 'upsert' flag response fields missing #275
  • updateMany 'upsert' flag response fields missing #273
  • Implement in-memory sort #272
  • Implement retries for availability faults #261
  • Refactor UpdateTargetLocator as ActionTargetLocator for use with in-memory sorting, projection #257
  • Pull Stargate images from ECR for IT #246
  • Check that different update operators do not target same field (conflict) #232
  • Implement $mul update operator #224
  • Implement $setOnInsert update operator #219
  • Define status.moreData in the spec #207
  • Separate concerns in the ReadOperation #201
  • Confirm all response messages against spec #178
  • Implement document limits #173
  • Support dotted notation path in all clauses #171
  • Error message when collection name has invalid chars #167
  • Implement general update operator $rename #165
  • Support missing or empty projection clause for commands #158
  • Decide on CQL LOGGED / UNLOGGED BATCH for deleteMany and updateMany #146
  • Limit number of docs for insertMany to 10 #144
  • Implement document rules #136
  • Implement order of operations for updates #133
  • SPEC - Document that we maintain field order #129
  • Spec - define $size for arrays #111
  • Spec - Define $all for arrays #110
  • Spec - Define equality handling with arrays and subdocs #109

Merged pull requests:

v1.0.0-ALPHA-4 (2023-03-10)

Full Changelog

Closed issues:

  • Push multi-architecture Docker images for JSON API #245
  • Configure Quarkus to limit maximum HTTP request size (quarkus.http.limits.max-body-size) to 1 meg (from default 10) #242
  • Enclose String-backed DocumentId values in quotes (for Exception messages) #240

Merged pull requests:

v1.0.0-ALPHA-3 (2023-03-09)

Full Changelog

Closed issues:

  • Update - LWT transaction failure retries #228
  • Implement $min and $max update operators #223
  • Delete - LWT transaction failure retries #217
  • Implement failure modes for update and delete operations #214
  • updateOne and updateMany Response fields #168
  • Enforce execution of field update operations is in alphabetic order #164
  • SPEC - Document Multi Document Failure Considerations #160
  • Allow insert of an empty document using insertOne #140
  • Implement Array operators $size and $all #85

Merged pull requests:

v1.0.0-ALPHA-2 (2023-03-06)

Full Changelog

Closed issues:

  • Numeric Document ID stored as scientific notation in doc json #210
  • Removed unused/unneeded docProperties / doc\_properties #204
  • Upsert - Add all equals filter data to document #199
  • Return deletedCount for deleteOne and deleteMany #194
  • Detect change in field order for $set update operator with Object value #190
  • Release workflow does not run #189
  • Support nested path ("dot notation") for $push operator #185
  • Support nested path ("dot notation") for $pop operator #184
  • Support nested path ("dot notation") for $inc operator #183
  • SPEC - document moreData behaviour for deleteMany and updateMany #169
  • Support nested path ("dot notation") for $set operator #166
  • Ensure _id is always the first field in the document #126
  • Consider using return value of UpdateOperation.updateDocument\(\) to calculate number of updated documents to return #84
  • Support nested path ("dot notation") for update operators #74
  • Implement array update operator $addToSet #73

Merged pull requests:

v1.0.0-ALPHA-1 (2023-02-24)

Full Changelog

Fixed bugs:

  • Unknown command throws HTTP 400 instead of message #87

Closed issues:

  • SPEC - confirm the general response format and what each command returns #175
  • Remove 'pageSize' from the options of find command #162
  • Implement options for findOneAndUpdate and updateOne #161
  • Implement limit for deleteMany #159
  • Support nested path ("dot notation") for $unset operator #153
  • Limit number of documents for deleteMany and updateMany commands #145
  • Return an error if a document _id exists on insertion #143
  • SPEC - Decide on rules for documents #135
  • SPEC - document supported path notations for filtering and projection #123
  • Implement count command #116
  • Define command options for all commands #108
  • Change equality query to use array\_contains for atomics once shredder includes them #107
  • Change shredding to add atomic fields into array\_contains as well, to support array-or-atomic $eq #106
  • JSON API deleteCollection operation #105
  • Support $position modifier for $push Array update operation #104
  • Define micrometer match patterns #102
  • Implement $eq support for sub document #96
  • Rename database to namespace #93
  • Change path-name convention shredder uses to be same as needed by filtering (no need to de-shred) #91
  • Implement $eq comparator for array type elements #89
  • Support $each modifier for $push array update operation #80
  • Implement array update operator $pop #77
  • Implement array update operator $push #72
  • Implement "$inc" update operator #71
  • Implement $exists filter operator - Only true condition #70
  • Update to JSON API #67
  • Add test to ensure empty String not valid DocumentId (and add validation if not yet done) #61
  • Change DB schema for typed Document Id (Tuple\<tinyint, Text\>) #58
  • Add DocumentId abstraction to support typed \_ids (not just Strings) #57
  • Handle json deserialization exception #56
  • Add check for \_id for $set, $unset update operations #53
  • Create UpdateOne command #51
  • Options for different commands #48
  • Create findOneAndUpdate command #45
  • Base Integration Test class #44
  • [Filter clause deserializer] Handle Bson type comparison query operators #42
  • Boolean index implementation #41
  • Handle boolean expressions (and, or, not) for filters #33
  • Remove ValidatedStargateBridge and use from common #30
  • Implement Delete One command #29
  • Add _id field to the document #28
  • Injecting StargateBridge directly not revolving the metadata #22
  • Introduce the framework based exception and mapper #9
  • Ignore SG v2 exception mappers #8

Merged pull requests:

5/merge (2022-11-24)

Full Changelog

Merged pull requests: