8000 Releases Β· neon-sunset/Pinecone.NET Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: neon-sunset/Pinecone.NET

3.0.0

27 Sep 18:19
Compare
Choose a tag to compare

Changes

✨ New Features

  • This library now integrates the logging thanks to #126 by @maumar
  • GetIndex now returns Index<RestTransport> as a default. After analysis in light of current Pinecone's HTTP/2 stack configuration, it appears to be the better default choice. You can find detailed explanation here: https://github.com/neon-sunset/Pinecone.NET?tab=readme-ov-file#rest-vs-grpc-transport
  • (.NET 6+) In addition to previously added automatic batching of Fetch and Upsert operations, Delete is now batched too which is necessary for large deletes as Pinecone limits the request size to 1000 IDs at a time. Much like Fetch and Upsert, it is also parallelized.
  • (.NET 6+) Existing parallelized batching has been enhanced with automatic batch size selection according to vector size to ensure the requests are kept under Pinecone's 2MiB limit. The default parallelism was tuned to reduce heap size impact while retaining existing throughput.
  • (.NET 6+) Rich aggregated exception types have been added to parallelized batched operations to allow recovery from partial failure (i.e. where only some of the batches have failed) that preserve successfully retrieved/processed data. Please find the usage example here: https://github.com/neon-sunset/Pinecone.NET?tab=readme-ov-file#advanced
  • This update also adds List, ListAll and ListPaginated operations for the recently introduced list API call to read or iterate through vector IDs in the Pinecone Index<T> using specified arguments

πŸ› Bug Fixes

  • fix: add missed trimmer annotation (f82b555)

πŸš€ Enhancements

  • The library was updated to remain in sync with latest API and official client changes by Pinecone
  • The library has switched to using ReadOnlyMemory<float> as the abstraction for vector values in order to allow Semantic Kernel and other users reliant on ROM<float> to pass them directly instead of allocating large arrays
  • GrpcTransport is now configured to take advantage of client-side load balancing, which improves throughput and reduces latency under high concurrency scenarios. The users are still encouraged to use RestTransport instead, as noted above.
  • refactor: improve UX of the constructor overload that accepts an HttpClient instance (beb28b7)

πŸ“¦ Dependencies

  • chore(deps): bump Google.Protobuf from 3.27.1 to 3.27.2 in the nuget group (PR #121) by @dependabot (bot)
  • chore(deps): bump the nuget group with 3 updates (PR #123) by @dependabot (bot)
  • chore(deps): bump the nuget group with 3 updates (PR #125) by @dependabot (bot)

🧰 Misc

  • feat: add a convenience method for constructing MetadataValue (aa68e65)
  • Disable pod-based index tests until the test environment is switched to a paid tier (c64d63d)
  • test: disable remaining pod-based index tests (e384265)
  • Further modernization effort (d125d26)
  • Further refinement (56de307)
  • test: make sure the vector values are compared by sequence (c11c916)
  • perf!: switch to RestTransport as the default transport type for GetIndex (e00bfe4)
  • test: see if bigger delay fixes the error (c7cc61a)
  • test: handle the condition where the namespace is not present in the namespace list if there are no more vectors associated with it (feabe70)
  • feat: align impl. with API changes, document collection types, make internal types non-record - there is no need to spend extra IL/AOT size on that (8276c3c)
  • test: bump up the delay interval back - too flakey (8cd8b48)
  • docs: update examples (edfb41d)
  • misc: error message whitespace (7aa2b07)
  • docs: add parallel failure recovery example, nudge users to cache client and index, and write detailed guidance on transport selection (e104210)
  • docs: formatting (ac88382)

Full Changelog: 2.1.1...3.0.0

Published with dotnet-releaser

2.1.1

21 Jun 17:00
Compare
Choose a tag to compare

Changes

✨ New Features

πŸ“¦ Dependencies

  • chore(deps): bump Google.Protobuf from 3.27.0 to 3.27.1 in the nuget group (PR #115) by @dependabot (bot)

Full Changelog: 2.1.0...2.1.1

Published with dotnet-releaser

2.1.0

05 Jun 19:04
Compare
Choose a tag to compare

Changes

πŸš€ Enhancements

  • feat: automatically parallelize upsert and fetch operations (0fd32b6)
  • refactor: split serializer contexts to avoid rooting RestTransport (and its deps) and negatively impacting AOT size when it's not referenced (e460772)

πŸ“¦ Dependencies

  • chore(deps): bump the nuget group with 7 updates (PR #114) by @dependabot (bot)

🧰 Misc

Full Changelog: 2.0.0...2.1.0

Published with dotnet-releaser

2.0.0

18 May 15:40
Compare
Choose a tag to compare

Changes

This release includes breaking changes to accommodate API changes on Pinecone's side.
It does so to introduce support for serverless indexes thanks to @maumar contribution (#108)

Generally, the changes required to make the projects updated to 2.0 build and work should be minimal and come down to replacing .CreateIndex with .CreateServerlessIndex or .CreatePodBasedIndex.

There are also changes to how index details are exposed by Index<TTransport>, as they are now flattened into Index<TTransport> object, following Pinecone.

✨ New Features

  • Serverless indexes support and test coverage (PR #108) by @maumar

πŸ“¦ Dependencies

  • chore(deps): bump Grpc.Tools from 2.62.0 to 2.63.0 (PR #106) by @dependabot (bot)
  • chore(deps): bump Google.Protobuf from 3.26.0 to 3.26.1 (PR #103) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.Client from 2.61.0 to 2.62.0 (PR #105) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.ClientFactory from 2.61.0 to 2.62.0 (PR #110) by @dependabot (bot)
  • chore(deps): bump the nuget group across 1 directory with 3 updates (PR #111) by @dependabot (bot)

🧰 Misc

  • chore: order of operations in example (a88d889)
  • docs: update README (b24c968)

Full Changelog: 1.4.0...2.0.0

Published with dotnet-releaser

1.4.0

17 Dec 02:55
c1581da
Compare
Choose a tag to compare

Changes

✨ New Features

  • Add F# sample (PR #82) by @kant2002
  • [API] Add new IndexState enum variants
  • [API] Add new CollectionDetails properties
  • [API] Add Port to IndexStatus

πŸ› Bug Fixes

  • [API] Breaking: Move MetadataConfig from Index<T> to IndexDetails which is its correct location
  • [API] Breaking: change Size in CollectionDetails to long since it's a collection size in bytes

🧰 Misc

  • [gRPC] Optimize private fields access for float vector serialization
  • [Client] Breaking: Drop IndexName and CollectionName value objects in favor of plain string
  • [Client] URL-encode index and collection names before constructing requests to Pinecone
  • [Docs] Update README and description
  • [Docs] Simplify example and drop Azure OpenAI dependency which is not necessary for demonstrating library usage
  • [Chore] Drop custom enum converters in favor of new JsonStringEnumConverter<T> which is AOT-compatible too

πŸ“¦ Dependencies

  • [Deps] Remove RangeExtensions reference because it was used only in one place
  • chore(deps): bump PolySharp from 1.13.2 to 1.14.0 (PR #83) by @dependabot (bot)
  • chore(deps): bump Grpc.Tools from 2.59.0 to 2.60.0 (PR #84) by @dependabot (bot)

Full Changelog: 1.3.2...1.4.0

Published with dotnet-releaser

1.3.2

21 Nov 10:22
97aa7e7
Compare
Choose a tag to compare

Changes

This release addresses an issue where working with vector metadata may be counter-intuitive. The following code is now legal:

var vector = new Vector
{
    Id = "new-vector",
    Values = await EmbedText("Hello, World!"),
    Metadata = new()
    {
        // Previously, this would either require .Select(v => (MetadataValue)v).ToArray()
        // or new MetadataValue[] { "one", "two", ...} 
        ["strings"] = new[] { "one", "two", "three" }
    }
};

// Also works for filters
var years = new MetadataMap
{
    ["year"] = new MetadataMap { ["$in"] = new[] { 1984, 2007 } }
};
var matches = await index.Query(values, topK: 5, filter: years);

πŸ“¦ Dependencies

  • chore(deps): bump Google.Protobuf from 3.25.0 to 3.25.1 (PR #78) by @dependabot (bot)

🧰 Misc

  • feat+chore: improve metadata UX, specify ConfigureAwait(false) on all async calls and update project to C# 12 (PR #81)

Full Changelog: 1.3.1...1.3.2

Published with dotnet-releaser

1.3.1

14 Nov 21:34
Compare
Choose a tag to compare

Changes

This version tracks the release of non-RC .NET 8 System.Text.Json and System.Net.Http.Json dependencies required to make this library work nicely with AOT and source generation. No more preview refs in the dependency treeπŸŽ‰

πŸ“¦ Dependencies

  • chore(deps): bump CommunityToolkit.Diagnostics from 8.2.1 to 8.2.2 (PR #70) by @dependabot (bot)
  • chore(deps): bump Google.Protobuf from 3.24.4 to 3.25.0 (PR #71) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.ClientFactory from 2.58.0 to 2.59.0 (PR #74) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.Client from 2.58.0 to 2.59.0 (PR #75) by @dependabot (bot)
  • chore(deps): bump System.Net.Http.Json from 8.0.0-rc.2.23479.6 to 8.0.0 (PR #76) by @dependabot (bot)
  • chore(deps): bump System.Text.Json from 8.0.0-rc.2.23479.6 to 8.0.0 (PR #77) by @dependabot (bot)
  • etc.

🧰 Misc

  • deps: track pinecone-client commits (50db315)

Full Changelog: 1.3.0...1.3.1

Published with dotnet-releaser

1.3.0

15 Aug 18:38
Compare
Choose a tag to compare

Changes

✨ New Features

  • feat: net6.0 tfm support (#48, PR #49)
  • feat: partial vector update (#41, 55c79da)

πŸ“¦ Dependencies

  • chore(deps): bump System.Text.Json from 8.0.0-preview.6.23329.7 to 8.0.0-preview.7.23375.6 (PR #42) by @dependabot (bot)
  • chore(deps): bump Google.Protobuf from 3.23.4 to 3.24.0 (PR #43) by @dependabot (bot)
  • chore(deps): bump Grpc.Tools from 2.56.2 to 2.57.0 (PR #45) by @dependabot (bot)

Full Changelog: 1.2.2...1.3.0

Published with dotnet-releaser

1.2.2

27 Jul 22:04
Compare
Choose a tag to compare

Changes

πŸ› Bug Fixes

  • fix(#40): ensure RepeatedField.AsArray() produces an array of exact length (5aef8bb)

πŸ“¦ Dependencies

  • chore(deps): bump System.Text.Json from 8.0.0-preview.5.23280.8 to 8.0.0-preview.6.23329.7 (PR #36) by @dependabot (bot)
  • chore(deps): bump Grpc.Tools from 2.56.0 to 2.56.2 (PR #37) by @dependabot (bot)
  • chore(deps): bump Azure.AI.OpenAI from 1.0.0-beta.5 to 1.0.0-beta.6 (PR #39) by @dependabot (bot)

Full Changelog: 1.2.1...1.2.2

Published with dotnet-releaser

Contributors

dependabot
Loading

1.2.1

07 Jul 06:30
Compare
Choose a tag to compare

Changes

πŸ› Bug Fixes

  • fix: explicitly mark as AOT compatible (enables warnings) (7aabb73)

πŸ“¦ Dependencies

  • chore(deps): bump PolySharp from 1.13.1 to 1.13.2 (PR #12) by @dependabot (bot)
  • chore(deps): bump System.Text.Json to 8.0.0-preview.5.23280.8 (PR #22) by @dependabot (bot)]
  • chore(deps): bump Grpc.Tools to 2.56.0 (PR #30) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.Client to 2.55.0 (PR #33) by @dependabot (bot)
  • chore(deps): bump Grpc.Net.ClientFactory from to 2.55.0 (PR #32) by @dependabot (bot)
  • chore(deps): bump CommunityToolkit.Diagnostics from 8.2.0 to 8.2.1 (PR #34) by @dependabot (bot)
  • chore(deps): bump Google.Protobuf to 3.23.4 (PR #35) by @dependabot (bot)

🧰 Misc

  • chore: update readme and description
  • docs: do not mention specifying transport type on .GetIndex to avoid confusion (b58b5c8)
  • chore: update example (1225f14)
  • chore(deps): make PolySharp and STJ 8 preview net7.0 only (54b6d18)

Full Changelog: 1.2.0...1.2.1

Published with dotnet-releaser

0