Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency @azure/cosmos to v4 #92

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@azure/cosmos (source) ^3.17.3 -> ^3.17.3 || ^4.0.0 age adoption passing confidence
@azure/cosmos (source) 3.17.3 -> 4.2.0 age adoption passing confidence

Release Notes

Azure/azure-sdk-for-js (@​azure/cosmos)

v4.2.0

Compare Source

4.2.0 (2024-11-19)

Features Added
  • Full Text Support: This feature adds support for full text search policy and indexing policy. It also enables performing full text search queries. docs
  • Hybrid Search Support: This feature adds support for performing hybrid search queries. docs
  • Added support for three optional properties to support quantizedFlat and diskANN vector indexing policies. The properties are: quantizationByteSize, vectorIndexShardKey and indexingSearchListSize.

v4.1.1

Compare Source

4.1.1 (2024-08-30)

Bugs Fixed
  • Fixed a issue caused by accessing process without checking its existence in the global scope, it was leading to crashes in non-Node environments.
  • The default value of continueOnError of BulkRequestOptions is now set to true. Pass { continueOnError: false } in bulkOptions to stop executing operations when one fails.

v4.1.0

Compare Source

4.1.0 (2024-08-07)

Features Added
  • Vector Search: This feature introduces vector indexes, vector embedding policy and vector queries to enable vector similarity search in JS SDK. docs
  • All versions and deletes mode in change feed: The All versions and deletes mode is added in change feed mode which captures every version and every change (create, update, and delete) made to items. docs
  • Bypassing integrated cache: The option to bypass integrated cache is now available in RequestOptions. docs
  • Computed Properties: Support for adding Computed Properties in items is added. docs
  • Composite Indexing: The JS SDK now supports including composite indexes in the indexing policy, improving query performance on multiple fields. docs
  • Correlated Activity Id: Correlated Activity Id is added in header of every query request on Items. This helps in troubleshooting by linking all requests for a query that involves multiple server interactions and partitions. Correlated Activity Id can be accessed through query response headers or response.correlatedActivityId.
  • Split proof Bulk API: Earlier, whenever Bulk API encountered a partition split during processing, it would return an error message. Now, JS SDK ensures that the Bulk API is resistant to partition split. #​18682
  • Improved samples: The samples have been updated in this release, now organized into two folders: v3 for features up to the v3 release, and v4 for features up to the v4 release.
  • Added support for MakeList and MakeSet query aggregators
Vector Search
  • The following sample shows how to create a container with vector embedding and indexing policies.
// define vector indexing policy
const vectorEmbeddingPolicy = {
  vectorEmbeddings: [
    {
      path: "/vector1",
      dataType: VectorEmbeddingDataType.UInt8,
      dimensions: 1000,
      distanceFunction: VectorEmbeddingDistanceFunction.Euclidean,
    },
    {
      path: "/vector2",
      dataType: VectorEmbeddingDataType.Int8,
      dimensions: 200,
      distanceFunction: VectorEmbeddingDistanceFunction.DotProduct,
    },
    {
      path: "/vector3",
      dataType: VectorEmbeddingDataType.UInt8,
      dimensions: 400,
      distanceFunction: VectorEmbeddingDistanceFunction.Cosine,
    },
  ],
};

// add vector indexes in Indexing Policy
const indexingPolicy = {
  automatic: true,
  indexingMode: "consistent",
  vectorIndexes: [
    { path: "/vector1", type: VectorIndexType.Flat },
    { path: "/vector2", type: VectorIndexType.QuantizedFlat },
    { path: "/vector3", type: VectorIndexType.DiskANN },
  ],
};

// define and create container with vector Embedding Policy
const containerDefinition = {
  id: containerId,
  partitionKey: { paths: ["/id"] },
  indexingPolicy: indexingPolicy,
  vectorEmbeddingPolicy: vectorEmbeddingPolicy,
};
await database.containers.createIfNotExists(containerDefinition);
  • Vector Search queries without TOP or LIMIT+OFFSET are blocked by default, with an option to disable this check using allowUnboundedNonStreamingQueries in query FeedOptions. Also added an internal buffer size check to prevent excessive memory consumption, throwing errors if the buffer size exceeds the default. The max buffer size can be increased using the vectorSearchBufferSize option from query FeedOptions.
Change Feed - All versions and deletes mode
  • The AllVersionsAndDeletes mode is only supported with ChangeFeedStartFrom.Now and ChangeFeedStartFrom.Continuation.
  • To read from the change feed in all versions and deletes mode, include changeFeedMode in changeFeedIteratorOptions:
    const changeFeedIteratorOptions: ChangeFeedIteratorOptions = {
      maxItemCount: 5,
      changeFeedStartFrom: ChangeFeedStartFrom.Now(),
      changeFeedMode: ChangeFeedMode.AllVersionsAndDeletes,
    };
    const iterator = container.items.getChangeFeedIterator(changeFeedIteratorOptions);
Bypassing Integrated Cache
  • Here is a sample showing how to enable bypassIntegratedCache in RequestOptions.
  const options: RequestOptions = {bypassIntegratedCache: true};
  const response = await container.item("1").read(options);
Computed Properties
  • The following snippet configures computed properties for a container:
    const computedProperties: ComputedProperty[] = [{
      name: "lowerLastName",
      query:
        "SELECT VALUE LOWER(IS_DEFINED(c.lastName) ? c.lastName : c.parents[0].familyName) FROM c",
    },];
    const { resource: containerdef } = await database.containers.createIfNotExists({
      id: containerName,
      computedProperties: computedProperties,
      indexingPolicy: indexingPolicy,
    });
    const container: Container = database.container(containerdef.id);
Composite Indexing
  • Here's a sample of adding composite indexes for a container:
    const containerDefinition: ContainerDefinition = {
      id: "containerWithCompositeIndexingPolicy",
      indexingPolicy: {
        automatic: true,
        indexingMode: IndexingMode.consistent,
        includedPaths: [
          {
            path: "/*",
          },
        ],
        excludedPaths: [],
        compositeIndexes: [
          [
            { path: "/key", order: "ascending" },
            { path: "/field", order: "ascending" },
          ],
        ],
      },
    };
    await database.containers.create(containerDefinition);
  • Added support for passing a custom HttpClient when constructing a CosmosClient.
Breaking Changes
Dropped Support for TypeScript 4.1
  • We have opted to discontinue support for TypeScript version 4.1. Consequently, the minimum supported TypeScript version has been elevated to 4.2. Kindly ensure that your environment is promptly updated to align with these changes.
Bugs Fixed
  • Fix Bulk operations(Read, Delete, and Patch) failing due to wrong format of partition key in non-partitioned container.

v4.0.0

Compare Source

4.0.0 (2023-09-12)
Features Added
  • Added Changefeed support for partition keys, feed ranges, and entire container. #​18062
  • Added Diagnostics to all response objects, i.e. ResourceResponse (parent class for ItemRespone, ContainerResponse etc.), FeedResponse, ChangeFeedIteratorResponse,
    ErrorResponse, BulkOperationResponse. #​21177
  • Added support for hierarchical partitions. #​23416
  • Added support of index metrics. #​20194
  • Improved the retry utility to align with other language SDKs. Now, it automatically retries requests on the next available region when encountering HTTP 503 errors (Service Unavailable)
    and handles HTTP timeouts more effectively, enhancing the SDK's reliability. #​23475
  • Added priority based throttling. docs #​26393
Bugs Fixed
  • Updated response codes for the getDatabase() method. #​25932
  • Fix Upsert operation failing when partition key of container is /id and /id is missing in the document. #​21383
Breaking Changes
  • The definition of PartitionKey is changed, PartitionKeyDefinition is now a independent type. #​23416

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch 3 times, most recently from 894d3df to 207d53d Compare March 8, 2024 18:52
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from 207d53d to e5ff9bb Compare March 16, 2024 04:42
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from e5ff9bb to 60ccd08 Compare April 5, 2024 21:02
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from 60ccd08 to d4935e7 Compare August 8, 2024 17:07
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from d4935e7 to 99510f4 Compare August 30, 2024 19:27
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from 99510f4 to bae49ac Compare November 19, 2024 22:05
@renovate renovate bot force-pushed the renovate/azure-cosmos-4.x branch from bae49ac to 78bdfe2 Compare January 9, 2025 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants