Skip to content

Releases: oracle/coherence-go-client

Coherence Go Client - v1.2.2

23 May 00:33
1568eb5
Compare
Choose a tag to compare

Introduction

This is release v1.2.2 of the Coherence Go Client, an API for accessing Coherence via a native Go client.

Requirements

  • Coherence CE 22.06.4+, 24.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

Updates

  • Updated the gRPC resolver address coherence:///host:port to randomize the addresses that it returns. This can be turned off by setting the environment variable COHERENCE_RESOLVER_RANDOMIZE=false

Bug Fixes

  • N/A

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.2.1...v1.2.2

Coherence Go Client - v1.2.1

16 May 08:01
0ec5135
Compare
Choose a tag to compare

Introduction

This is release v1.2.1 of the Coherence Go Client, an API for accessing Coherence via a native Go client.

Requirements

  • Coherence CE 22.06.4+, 24.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

Major New Features

  • Added support to use the Coherence Name Service to lookup gRPC endpoints by specifying the resolve address of coherence:///host:port where host is a machine in the cluster and port is the cluster port.
    E.g. coherence:///localhost:7574

Bug Fixes

  • N/A

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.2.0...v1.2.1

Coherence Go Client - v1.2.0

03 May 00:03
57258e8
Compare
Choose a tag to compare

Introduction

This is release v1.2.0 of the Coherence Go Client, an API for accessing Coherence via a native Go client.

Requirements

  • Coherence CE 22.06.4+, 24.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

Major New Features

  • Added Queue support - See GoDoc for full details.
  • Added the following utility functions InvokeAllKeysBlind, InvokeAllBlind and InvokeAllFilterBlind, which don’t return the actual entry processor values in the function signature for ease of use.

Note: Queues are only available when connecting to a Community Edition 24.03 cluster and above

Bug Fixes

  • Various Events hardening

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.1.1...v1.2.0

Coherence Go Client - v1.1.1

12 Mar 00:15
2178d2d
Compare
Choose a tag to compare

Introduction

This is release v1.1.1 of the Coherence Go Client, an API for accessing Coherence caches via a native Go client.

Note: One issue related to clear operation and near cache was fixed from v1.1.0 and you should use this release.

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

New Features

Near Cache

This release of the Coherence Go client allows you to specify a near cache to cache frequently accessed data in your Go application.

When you access data using Get() or GetAll() operations, returned entries are stored in the near cache and subsequent data access for keys in the near cache is almost instant where without a near cache each operation above always results in a network call.

On creating a near cache, Coherence automatically adds a MapListener to your NamedMap or NamedCache which listens on
all cache events and updates or invalidates entries in the near cache that have been changed or removed on the server.

To manage the amount of memory used by the near cache, the following options are supported when creating one:

  • time-to-live (TTL) – objects expired after time in near cache, e.g. 5 minutes
  • High-Units – maximum number of cache entries in the near cache
  • Memory – maximum amount of memory used by cache entries

See the Godoc and examples for more details.

Fixed Issues since v1.0.3

  • Fixed an timing issue with near cache clear
  • Ensure PutWithExpiry cannot take an invalid expiry
  • Fixed a number of potential race conditions
  • Include -race option when running examples to pickup any new potential conditions

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.0.3...v1.1.1

Coherence Go Client - v1.1.0

08 Mar 05:11
1f3ac0f
Compare
Choose a tag to compare

Introduction

Note: Due to a late breaking issue related to clear operation and near cache , you should use release v1.1.1

This is release v1.1.0 of the Coherence Go Client, an API for accessing Coherence caches via a native Go client.

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    (Always ensure you are using the latest Coherence available patch.)
  • Go 1.19.+

New Features

Near Cache

This release of the Coherence Go client allows you to specify a near cache to cache frequently accessed data in your Go application.

When you access data using Get() or GetAll() operations, returned entries are stored in the near cache and subsequent data access for keys in the near cache is almost instant where without a near cache each operation above always results in a network call.

On creating a near cache, Coherence automatically adds a MapListener to your NamedMap or NamedCache which listens on
all cache events and updates or invalidates entries in the near cache that have been changed or removed on the server.

To manage the amount of memory used by the near cache, the following options are supported when creating one:

  • time-to-live (TTL) – objects expired after time in near cache, e.g. 5 minutes
  • High-Units – maximum number of cache entries in the near cache
  • Memory – maximum amount of memory used by cache entries

See the Godoc and examples for more details.

Fixed Issues since v1.0.3

  • Ensure PutWithExpiry cannot take an invalid expiry
  • Fixed a number of potential race conditions
  • Include -race option when running examples to pickup any new potential conditions

Documentation

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

What's Changed

Full Changelog: v1.0.3...v1.1.0

Coherence Go Client - v1.0.3

28 Oct 09:47
1b171aa
Compare
Choose a tag to compare

Introduction

This is release v1.0.3 of the Coherence Go Client, an API for accessing Coherence caches via native Go client.

Documentation

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    Always ensure you are using the latest available patch.
  • Go 1.19.+

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

Fixed Issues since v1.0.2

All changes since v1.0.2

v1.0.2...v1.0.3

Coherence Go Client - v1.0.2

12 Oct 00:46
1fef7ba
Compare
Choose a tag to compare

Introduction

This is release v1.0.2 of the Coherence Go Client, an API for accessing Coherence caches via native Go client.

Documentation

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    Always ensure you are using the latest available patch.
  • Go 1.19.+

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

Fixed Issues since v1.0.1

All changes since v1.0.1

v1.0.1...v1.0.2

Coherence Go Client - v1.0.1

21 Aug 05:37
ba5515a
Compare
Choose a tag to compare

Introduction

This is release v1.0.1 of the Coherence Go Client, an API for accessing Coherence caches via native Go client.

Documentation

Requirements

  • Coherence CE 22.06.4+, 23.03+, or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
    Always ensure you are using the latest available patch.
  • Go 1.19.+

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

New features since v1.0.0

  • Added the IsReady() function to determine if the NamedCache or NamedMap is ready to accept requests. An example of when this method would return false would be where a partitioned cache service that owns this cache has no storage-enabled members. This call is only available when connecting to CE 23.03.1+, CE 22.06.05+ and commercial version 14.1.1-2206-5+
  • Added the the following options to NewSession to allow for setting ot TLS options:
    • WithTLSConfig() allows you to set a specific tls.Config when you require fine grained control
    • WithTLSClientCert(), WithTLSClientKey() and WithTLSCertsPath() allows you to set TLS options directly when creating a session rather than relying on environment variables
  • Additional CI tests against various Go versions

Fixed Issues since v1.0.0

  • Fix a number of issues with timeouts when reconnecting to gRPC proxy servers.

All changes since v1.0.0

v1.0.0...v1.0.1

Coherence Go Client - v1.0.0

03 Jul 06:28
45bf604
Compare
Choose a tag to compare

Introduction

This is the official v1.0.0 release of the Coherence Go Client, an API for accessing Coherence caches via native Go client.

Documentation

Requirements

  • Coherence CE 22.06.4+ or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
  • Go 1.19.+

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

New features since 1.0.0-rc3

  • Changed the COHERENCE_SESSION_TIMEOUT env var to COHERENCE_CLIENT_REQUEST_TIMEOUT to match other gRPC clients see here for details.
  • Added the ability to wait for a connection to be ready rather that fail fast, which is the default. See here for details
  • Added the ability to control the maximum amount of time, in milliseconds, a Session may remain in a disconnected state
    without successfully reconnecting. See here for details.

Fixed Issues since 1.0.0-rc3

N/A

Coherence Go Client - v1.0.0-rc3

20 Jun 06:01
f549614
Compare
Choose a tag to compare

Introduction

This is the third release candidate (v1.0.0-rc3) of the Coherence Go Client, an API for accessing Coherence caches via native Go client.

Documentation

Requirements

  • Coherence CE 22.06.4+ or Coherence 14.1.1.2206.4+ Commercial edition with a configured gRPCProxy.
  • Go 1.19.+

Getting Started

go get github.com/oracle/coherence-go-client@latest

After executing this command coherence-go-client is ready to use, and it's source will be in:

$GOPATH/pkg/mod/github.com/oracle/coherence-go-client@latest

New features since 1.0.0-rc2

  • Added the ability to specify a session timeout using either coherence.WithSessionTimeout session option, providing a Context that has a deadline or specifying the COHERENCE_SESSION_TIMEOUT environment variable. See here for more details.
  • Minor updates to examples

Fixed Issues since 1.0.0-rc2

  • Fixed an issue where a session would never exit if the underlying gRPC server died