Skip to content

Releases: pinecone-io/go-pinecone

v0.5.0

08 Jun 19:59
257e9f6
Compare
Choose a tag to compare

Features

  • Optional configuration values for applying custom headers or metadata for REST or gRPC operations by @austin-denoble in #18
  • Configure apiKey, additionalHeaders, and host through environment variables by @austin-denoble in #22
  • Add error handling to REST operations in Client, add new PineconeError struct by @austin-denoble in #23

Additional Client Configuration options

You can now pass your own http.Client directly through NewClientParams with RestClient, along with setting Headers, and Host values. You can also pass metadata to the underlying gRPC client when creating an IndexConnection by using IndexWithAdditionalMetadata().

import (
"context"

"github.com/pinecone-io/go-pinecone/pinecone"
)

apiKey := "your-api-key"
headers := map[string]string{"X-Your-Header": "header-value"}
client, err := NewClient(NewClientParams{ApiKey: apiKey, Headers: headers})
if err != nil {
  return nil, err
}

// perform client operations
index := client.DescribeIndex(context.Background(), "my-index")

// create an IndexConnection with metadata
metadata := map[string]string{"X-Your-Header": "header-value"}
indexConn := client.IndexWithAdditionalMetadata(index.Host, "my-namespace", metadata)

// perform index operations
indexStats := indexConn.DescribeIndexStats(context.Background())

You can also use environment variables to set ApiKey, Headers, and Host:

  • PINECONE_API_KEY
  • PINECONE_ADDITIONAL_HEADERS
  • PINECONE_CONTROLLER_HOST

Values provided through the environment will be overwritten if you also pass them in NewClientParams to NewClient.

Fixes

  • Receive and pass context.Context by value rather than as a pointer in IndexConnection methods by @austin-denoble in #20

Chores

  • Add json marshaling annotations to various structs by @austin-denoble in #21
  • Bump getPackageVersion() to v0.5.0, and allow : in source tag normalization by @austin-denoble in #24

New Contributors

Full Changelog: v0.4.1...v0.5.0

v0.5-alpha.0

09 Apr 19:18
22cce8b
Compare
Choose a tag to compare
v0.5-alpha.0 Pre-release
Pre-release

What's Changed

  • Management Plane Alpha: Project and API Key Management by @haruska in #15

Full Changelog: v0.4.1...v0.5-alpha.0

v0.4.1

27 Mar 19:06
017d0a4
Compare
Choose a tag to compare

What's Changed

Source tag

The SDK now optionally allows setting a source tag when constructing a Pinecone client. The source tag allows requests to be associated with the source tag provided.

import "github.com/pinecone-io/go-pinecone/pinecone"

client, err := pinecone.NewClient(pinecone.NewClientParams{
	ApiKey: "my-api-key",
	SourceTag: "foo",
})

// requests initiated from client connection are associated with source tag "foo"

New Contributors

Full Changelog: v0.4.0...v0.4.1

v0.4.0

15 Mar 14:40
Compare
Choose a tag to compare

This release is a re-write on the Pinecone GoSDK. The SDK now supports all current actions against the Pinecone APIs. See the README for details on installation and usage.

v0.3.0 Release

16 Dec 14:56
d3170b1
Compare
Choose a tag to compare

This switches the GRPC bindings to use the vector_service.proto API instead of the now-deprecated core.proto API.

v0.2.3 Release

13 Aug 18:12
Compare
Choose a tag to compare
add storage protos

v0.2.2 Release

13 Aug 16:06
Compare
Choose a tag to compare

v0.2.1 Release

29 Jul 12:29
Compare
Choose a tag to compare
update core proto

v0.2.0

03 Jun 19:05
Compare
Choose a tag to compare

This release adds support for multi-namespace queries.

v0.1.5

25 May 04:30
Compare
Choose a tag to compare
remove extraneous print