Skip to content

Releases: hazelcast/hazelcast-go-client

v1.4.1

22 Aug 11:09
6763af4
Compare
Choose a tag to compare

Release Notes

This is the seventh stable release of Hazelcast Go Client.

Here are the new features and fixes since v1.4.0.

New features

  • #969, #964 Added support for IPv6 addresses

Fixed Issues

  • #967 Fixed compact serialization
  • #967 Fixed iteration on SQL result

v1.4.0

17 Mar 14:10
5406b0f
Compare
Choose a tag to compare

Release Notes

This is the sixth stable release of Hazelcast Go Client.

Here are the new features and fixes since v1.3.2.

New features

  • Compact Serialization. This feature is compatible with only Hazelcast 5.2.0 and up.
  • Ringbuffer distributed data structure. This feature was contributed by Martin W. Kirst.
  • Atomic Long distributed data structure.
  • Added String() and Float64() methods to types.Decimal.
  • Added ToTime method to custom date/time types.
  • Support for custom discovery strategies.
  • Added ServerName to SSL configuration.

Enhancements

  • SSL ServerName is automatically set and SSL is enabled when Viridian is enabled.

Fixed Issues

Known Issues

There are no known issues.

v1.3.2

10 Feb 12:43
Compare
Choose a tag to compare

Release Notes

This is the second patch release of Hazelcast Go Client v1.3.

Here are the fixes since v1.3.1.

New features

There are no new features.

Changes

There are no API changes.

  • Cloud discovery works with Viridian by default, instead of Hazelcast Cloud.

Fixed Issues

  • #904 Change default cloud coordinator URL to point to Viridian
  • #905 Remove discovery token from debug log
  • #906 Partition ID and serializer ID depends on the LittleEndian configuration
  • #907 UUID serializer read and write methods conflicts with each other
  • #909 Client Cannot Connect To Cluster When All Members Go Down and Up on Kubernetes
  • #913 Nil object serialization should directly return
  • #915 Fix custom serialization code sample and documentation
  • #916 Race Condition in ClassDefinitionContext
  • #921 Avoid creating near cache objects with each Client.GetMap call
  • #922 Use a sync.Map instead of map + mutex for proxy local cache
  • #928 DistinctAggregator serializer must read/write 32 bit not 64 bit
  • #929 Portable objects cannot be written with an idenified data serializable serializer

Known Issues

There are no known issues.

v1.3.1

06 Oct 13:24
Compare
Choose a tag to compare

Release Notes

This is the first patch release of Hazelcast Go Client v1.3.

Here are the fixes since v1.3.0.

New features

There are no new features.

Changes

There are no API changes.

Fixed Issues

  • #872 Map.RemoveAll doesn't clear the near cache
  • #877 Dispatch service Publish may return true if an event is not published after service halt
  • #878 Seed address trial should end once connected to one of the seed addresses
  • #886 Wrong service name when creating Flake ID Generators
  • #994 Fix Portable Array Serializers

Known Issues

There are no known issues.

v1.3.0

22 Jul 09:27
681d92e
Compare
Choose a tag to compare

This is the fifth stable release of Hazelcast Go Client.

Here are the new features and changes since v1.2.1.

New features

Changes

  • Go 1.17 is the minimum supported version.
  • Old Map event listener API is deprecated and will be removed at v2.

Fixed Issues

  • Race conditions in the API were fixed #838.

Known Issues

There are no known issues.

v1.2.1

08 Jul 14:23
6003f0f
Compare
Choose a tag to compare

Release Notes

This is the first patch release of Hazelcast Go Client v1.2.

Here are the fixes since v1.2.0.

New features

There are no new features.

Changes

There are no API changes.

Fixed Issues

  • #831 Map partitions not getting distributed across all nodes
  • #832 SQL Query leaks goroutines if not closed explicitly
  • #833 Failover does not respect individual failover cluster SSL settings
  • #834 Fix uptime on Management Center dashboard.
  • #835 Invocation Service group lost handling
  • #836 Map PutIfAbsentXXX methods returned unserialized values

Known Issues

There are no known issues.

v1.2.0

13 Apr 12:58
c6bf186
Compare
Choose a tag to compare

Release Notes

This is the fourth stable release of Hazelcast Go Client.

Here are the new features and changes since v1.1.1.

New features

Changes

  • int8 values are serialized using the builtin serializer instead of the default fallback serializer (Gob).

Fixed Issues

  • Prevent panic in listener handlers if member not found 691
  • Ensure event handlers run in the receive order per key 696
  • The client erroneously didn't try connecting to all user given addresses before. This is fixed at: b3d3ce0

Known Issues

There are no known issues.

v1.1.1

09 Nov 13:48
b30be4c
Compare
Choose a tag to compare

Release Notes

This is the third stable release of Hazelcast Go Client.

Here are the new features and changes since v1.1.0.

New features

There are no new features.

Changes

There are no API changes.

Fixed Issues

  • 32-bit compilation issue for goarch:i386 616
  • Client should not open multiple connections to same member 632
  • Client does not print whole memberlist when membership changes 633
  • ConnectionManager.handleInitialMembersAdded can cause panic at channel close 637
  • InvocationTimeout is not honored in map.get() 638
  • Flaky test: TestMap_EntryNotifiedEvent 641
  • User callbacks for events should not block internals of the client 643
  • Invocations hang indefinitely on shutdown 653
  • Client is leaking memory 654
  • Handle Lost Invocations 684

Known Issues

There are no known issues.

v1.1.0

14 Sep 15:42
d9718cc
Compare
Choose a tag to compare

Release Notes

This is the second stable release of Hazelcast Go Client.

Here are the new features and changes since v1.0.0.

New features

  • Blue/Green Deployments (Enterprise feature): Ability to divert the client automatically to another cluster on demand or when the intended cluster becomes unavailable.
  • Flake ID Generator: Ability to generate cluster-wide unique identifiers.
  • GetDistributedObjects method.
  • Address port is optional and defaults to 5701.
  • Added port ranges to the network configuration.

Changes

  • Added encoding/json package functions to serialization.JSON

Fixed Issues

  • Client tries to connect non-existent members 600
  • Client does not return the same object for consecutive Get* calls 609

Known Issues

We are aware of the following issues, which will be fixed in the next patch release:

  • Client hangs at the start of connection manager 627
  • Client should not open multiple connections to same member 632
  • ConnectionManager.handleInitialMembersAdded can cause panic at channel close 637

v1.0.0

14 Jul 11:22
2f8b2c6
Compare
Choose a tag to compare

Release Notes

This is the first stable release of Hazelcast Go Client. The client was revamped to support Hazelcast 4.x and 5.x and have a more idiomatic API.

Here are the new features and changes since the last preview release.

New features

  • Connection strategy configuration.
  • Load balancer implementation.
  • Map aggregations.
  • Client configuration can be unmarshalled from JSON.

Changes

  • Zero value of hazelcast.Config is the default configuration.
  • Removed Config suffix from configuration sections.
  • Unexported these configuration fields which cannot be unmarshalled from JSON: config.ClusterConfig.SSLConfig.TLSConfig, config.SerializationConfig.GlobalSerializer, config.SerializationConfig.CustomSerializers, config.SerializationConfig.GlobalSerializer, config.SerializationConfig.IdentifiedDataSerializableFactories, config.SerializationConfig.PortableFactories, config.SerializationConfig.ClassDefinitions
  • Changed configuration items which are of type time.Duration to types.Duration in order to support human readable duration values in JSON configuration, such as 5s or 10h.
  • config.ClusterConfig.SmartRouting (default true) is renamed to config.Cluster.Unisocket (default false) in order to support zero value of hazelcast.Config.
  • config.SerializationConfig.BigEndian (default true) is renamed to config.Serialization.LittleEndian (default false) in order to support zero value of hazelcast.Config.
  • Moved config.ClusterConfig.Address to config.Cluster.Network.Addresses.
  • Moved config.ClusterConfig.ConnectionTimeout to config.Cluster.Network.ConnectionTimeout.
  • Moved config.ClusterConfig.SSLConfig to config.Cluster.Network.SSL.
  • Moved Username and Password settings in config.ClusterConfig.SecurityConfig to config.Cluster.Security.Credentials.
  • Renamed config.SerializationConfig.AddPortableFactory function to config.Serialization.SetPortableFactories.
  • Renamed config.SerializationConfig.AddIdentifiedSerializableFactory function to config.Serialization.SetIdentifiedSerializableFactories.
  • Renamed config.SerializationConfig.AddClassDefinition function to config.Serialization.SetClassDefinitions.
  • Idiomatic errors: You can use errors.Is function to check whether an expected error is returned from Go client functions. Check hzerrors/errors.go for the list of errors client functions return.
  • hazelcast.StartNewClient, hazelcast.StartNewClientWithConfig and hazelcast.Shutdown functions take a context.Context parameter.
  • hazelcast.LifecycleStateClientConnected and hazelcast.LifecycleStateClientDisconnected constants are renamed to hazelcast.LifecycleStateConnected and hazelcast.LifecycleStateDisconnected respectively.
  • Introduced hazelcast.EntryEventType type instead of int32 EventType in EntryNotified struct.
  • Unexported hzerrors.ServerError.
  • Renamed map.LockWithLeaseTimeout function to map.LockWithLeaseAndTimeout.
  • Changed the signature of replicatedMap.AddEntryListener to have an extra bool parameter to control including values.
  • Changed the name and signature of queue.AddListener to queue.AddItemListener and to have an extra bool parameter to control including values.
  • Renamed topic.AddListener to topic.AddMessageListener.
  • Removed hazelcast.IndexValidationError. Expect hazelcast.ErrIllegalArgument instead.
  • Changed signature of replicatedMap.PutAll function.

Fixed Issues

  • Hazelcast Cloud integration: The client attempts to connect to internal addresses when the cluster is re-started.
  • Retryable errors.
  • Field names with runes outside of ASCII character range in Portable serialization are encoded as expected.