Hazelcast Node.js Client 5.0.0
This document includes the new features, enhancements, and fixed issues for the Hazelcast Node.js Client 5.0.0 release.
Breaking Changes
- Client.getSqlService() renamed to Client.getSql() #963
- Year field in
LocalDate
,LocalDateTime
andOffsetDateTime
classes is now sent as an integer. This means you should use the 5.0 version of the client with a 5.0 server for SQL compatibility with these types, as the SQL service became stable in 5.0 versions of the client and the server. #963 SqlService.execute
now returns a promise. When the returned promise resolves to theSqlResult
, theSqlResult
will receive the first response. Therefore, some API of theSqlResult
changed because these APIs do not need to wait for execution response anymore. #1046
New Features
- Added distinct aggregator support #1007
- Portable support for DECIMAL, DATE, TIME, TIMESTAMP, TIMESTAMP WITH TIMEZONE #967
- BigInt serialization support #975
- New SQL classes for SQL types: LocalDate, LocalTime, LocalDateTime, OffsetDateTime and BigDecimal. Previously you were using explicit CASTs and strings, now you can use them directly without an explicit CAST. #963
Enhancements
- SQL service is now stabilized. The 5.0 client is fully compatible with the 5.0 version of the server in terms of SQL. #963
- SQL rows are deserialized lazily allowing partial deserialization. #1056
- HazelcastSqlException now has a suggestion field that you can use when your query fails. The field includes a remediation query that you can run to fix the exception. #1055
- Client.shutdown() will return the same promise on multiple calls. #1003
- Document and Validate client properties #1001
- Fail fast on configuration error #959
- Fail fast on wrong failover config key #977
- Documentation and API doc improvements and new code samples #1062 #1060 #1057 #1042 #1000 #993 #974 #973 #966 #956
Fixes
- Throw an error in the absence of a deserializer #957
Known Issues
getDistributedObjects
results in error if the send distributed objects is not known by the Node.js client. There is an ongoing discussion about how to fix this. #982