Releases: hazelcast/hazelcast-go-client
v1.4.1
v1.4.0
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()
andFloat64()
methods totypes.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
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
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
This is the fifth stable release of Hazelcast Go Client.
Here are the new features and changes since v1.2.1.
New features
- Near Cache support for the Map. See the Near Cache Documentation and the Near Cache Client Documentation.
- New event listener API for Map: See the Map.AddListener Documentation.
- Enabled the
database/sql
compatible SQL Driver: See the SQL Driver Documentation.
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
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
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
- SQL support for Hazelcast 5.0 and 5.1. See hazelcast package documentation.
- Custom logger interface to override the builtin logger with the user provided one. See logger package documentation.
- MultiMap distributed data structure. See MultiMap documentation.
- Several new Map methods: ExecuteOnKey, ExecuteOnKeys, ExecuteOnEntriesWithPredicate, SetTTLAffected.
- Serialization support for big.Int and decimals. See serialization package documentation.
- Portable serialization of time, date, timestamp, timestamp with timezone, decimal and their array variants.
- GetRawDataInput/GetRawDataOutput methods in the Portable interface.
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
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
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:
v1.0.0
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
totypes.Duration
in order to support human readable duration values in JSON configuration, such as5s
or10h
. config.ClusterConfig.SmartRouting
(defaulttrue
) is renamed toconfig.Cluster.Unisocket
(defaultfalse
) in order to support zero value ofhazelcast.Config
.config.SerializationConfig.BigEndian
(defaulttrue
) is renamed toconfig.Serialization.LittleEndian
(defaultfalse
) in order to support zero value ofhazelcast.Config
.- Moved
config.ClusterConfig.Address
toconfig.Cluster.Network.Addresses
. - Moved
config.ClusterConfig.ConnectionTimeout
toconfig.Cluster.Network.ConnectionTimeout
. - Moved
config.ClusterConfig.SSLConfig
toconfig.Cluster.Network.SSL
. - Moved
Username
andPassword
settings inconfig.ClusterConfig.SecurityConfig
toconfig.Cluster.Security.Credentials
. - Renamed
config.SerializationConfig.AddPortableFactory
function toconfig.Serialization.SetPortableFactories
. - Renamed
config.SerializationConfig.AddIdentifiedSerializableFactory
function toconfig.Serialization.SetIdentifiedSerializableFactories
. - Renamed
config.SerializationConfig.AddClassDefinition
function toconfig.Serialization.SetClassDefinitions
. - Idiomatic errors: You can use
errors.Is
function to check whether an expected error is returned from Go client functions. Checkhzerrors/errors.go
for the list of errors client functions return. hazelcast.StartNewClient
,hazelcast.StartNewClientWithConfig
andhazelcast.Shutdown
functions take acontext.Context
parameter.hazelcast.LifecycleStateClientConnected
andhazelcast.LifecycleStateClientDisconnected
constants are renamed tohazelcast.LifecycleStateConnected
andhazelcast.LifecycleStateDisconnected
respectively.- Introduced
hazelcast.EntryEventType
type instead ofint32
EventType
inEntryNotified
struct. - Unexported
hzerrors.ServerError
. - Renamed
map.LockWithLeaseTimeout
function tomap.LockWithLeaseAndTimeout
. - Changed the signature of
replicatedMap.AddEntryListener
to have an extrabool
parameter to control including values. - Changed the name and signature of
queue.AddListener
toqueue.AddItemListener
and to have an extrabool
parameter to control including values. - Renamed
topic.AddListener
totopic.AddMessageListener
. - Removed
hazelcast.IndexValidationError
. Expecthazelcast.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.