- Significantly reduce memory allocation overhead and excessive GC pressure (#401)
- Bump org.testcontainers:junit-jupiter version to 1.19.3 (#442)
- Bump testcontainers-java-tarantool version to 1.2.0 (#442)
- Bump netty version to 4.1.104.Final (#446)
- Bump msgpack-java version to 0.9.6
- Add support for crud
yield_every
option (#458) - Add support for crud
force_map_call
option (#459) - Add support for crud
fullscan
option (#460) - Add support for crud
prefer_replica
option (#461) - Add support for crud
balance
option (#462) - Add support for crud
vshard_router
option (#463) - Add support for crud
fetch_latest_metadata
option (#465) - Use toString in StringValues to map incorrect UTF-8 string
- Add Interval type support (#447)
- [breaking change] replace
List
type withCollection
for thearguments
client API method parameters - Bump testcontainers-java-tarantool to 1.0.1 (#400)
- Add
"mode"
option for select operation (#107) - Change using of proxy client parameters (
mode
,rollback_on_error
,stop_on_error
) with enum classes (#419) - Change using of option names with the String type in the internal API to using with the ProxyOption enum class (#420)
- Fix Instant converter to parse 8 bytes datetime (#408)
- Fix infinite loop when retrying to get a connection (#440)
- Fix losing address connections in discovery if restart happens faster than discovery task (#404)
- Add toString in tarantool proxy entities (#406)
- [breaking change] Split
call*
client API methods into calls with Tuple result as a return type and calls with generic Object as a return type (#123) - Add buildSingleValueResultMapper() in mapper builder for generic call result mappers. That will simplify the support for auto object converter in SpringData module.
- Support both string and integer values in index fields metadata
- Fix hasMetadata logic
- Remove config request timeout as default parameter in crud client
- Add hasMetadata in TarantoolTuple
- Add "can convert value" check to TupleResultConverter
- Support Datetime type (#214)
- Add details for the case of space metadata fetching failure (#200)
- Close public access to TarantoolResult*Impl (#326)
- Add deep copy instead of shallow copy in default message pack mapper (#166)
- Split retrying into more detailed modules (#341)
- Add a factory builder for constructing mapper hierarchies
- Add ability to pass retrying executor in client builder (#339)
- Do not use sync calls instead of async in retrying (#299)
- Add
fields
option to ProxySpace for controlling the result tuple fields (#236) - Parse metadata from crud response (#272)
- Add parsing of the batch operation errors (#334)
- Move metadata parsing to separate converters (#325)
- Add simple to use TarantoolTupleResultMapper factory (#321)
- Use netty part dependencies instead of netty-all (#295)
- Refactor mappers and split
TarantoolResultConverter
(#301) - [breaking change]
TarantoolResultConverter
was removed, useDefaultArrayValueToTarantoolResultConverter
orDefaultMapValueToTarantoolTupleResultConverter
instead (#301) - [breaking change]
ConverterWrapper
was moved to converters package (#301) - [breaking change]
*MapperFactory
classes were moved to separate package (#301) - [breaking change]
TarantoolTupleMultiResult
was renamed toMultiValueTarantoolTupleResult
(#301) - [breaking change]
TarantoolTupleSingleResult
was renamed toSingleValueTarantoolTupleResult
(#301) - [breaking change]
*MapperFactory
methods were renamed (#301) - [breaking change]
*DefaultConverter
converters moved intomappers.converters.value.defaults
package (#301) - [breaking change] All converters from
mappers.converters.value.custom
moved intomappers.converters.value
package (#301) - Return back the
jmh-generator-annprocess
dependency
- Adding default mapper for long arrays (#290)
- Add dependency management (#296)
- Bump testcontainers-java-tarantool to 0.5.3 (#296)
- Bump slf4j-api to 2.0.3 (#296)
- Bump jackson-databind to 2.14.0 (#296)
- Bump jackson-annotations to 2.14.0 (#296)
- Bump org.testcontainers:junit-jupiter to 1.17.4 (#296)
- Add junit class ordering according the order before junit-jupiter 5.8.0 (#296)
- Bump logback-classic to 1.3.4 (#296)
- Remove org.junit.jupiter:junit-jupiter (#296)
- Remove jmh-generator-annprocess (#296)
- Enable Short to Integer converters (#282)
- Bump jackson-databind to 2.14.1-rc1 (#284)
- Added options parameter to Tarantool Space API (#266)
- Added bucket id parameter to Tarantool Space API (#270)
- Added support for insert_many and replace_many CRUD operations (#259)
- Added client EventLoopThreadsNumber property for control netty work threads (#253)
- Removed code duplication in *ProxyOperations builders (#256)
- Refactor CRUDOperationOptions to a hierarchy of classes (#258)
- Added StringValueToByteArray converter (#230)
- Added IPROTO constants to align code more with Tarantool
- [breaking change] Use ValueType for registering ValueConverters (#213)
- Removed reflection in value converters search for performance (#178)
- Added objects converters for ArrayList and HashMap for increasing performance (#207)
- Fixed converting performance with targetType (#212)
- Added microbenchmark tests
- Added support for SSl/TLS (#180)
- Added support for IPv6 (#199)
- Fixed TarantoolClientConfig.Builder
- Fixed incorrect fieldNumber in the index metadata (#203)
- Fix CVE-2020-36518: jackson-databind bump to 2.12.6
- Fix CVE-2021-43797: bump netty-all to 4.1.75.Final
- Fix NPE in AbstractTarantoolConnectionManager when AddressProvider returns null
- Added new error: TarantoolAccessDeniedException
- Fixed stackoverflow on comparing two null fields #150
- Fixed overwriting endpoint by TarantoolClusterDiscoveryConfig.Builder.withEndpoint() #173
- Fixed closing connections to nodes not returned by address provider #77
- Fixed NPE in RetryingTarantoolClient #184
- Added refresh() method in connection manager to reestablish lacking connections
- Predefined discovery addressProviders now call refresh() when addresses change
- Added new exception type TarantoolNoSuchProcedureException which is useful in retry policies (for example to handle errors caused by not initialized instance states)
- Breaking change error checking callbacks in retry policies now have Predicate type
- Added method to client builder for easy messagepack mapper configuration
- Added method to client builder which allows to use user defined TarantoolClientConfig
- Concurrency issue in connection manager which caused connection creation over defined limit
- Full support for Tarantool field types available in 1.10 and new field types introduced in 2.x: UUID, decimal, double
- Customizable mapping between the protocol primitives (MsgPack) into POJOs
- Default TarantoolTuple object with field access API
- Seamless working with standalone and Cartridge cluster Tarantool instances.
Cluster support is available via a proxy using the customizable API functions exposed on Tarantool router.
- Built-in support for CRUD API (https://github.com/tarantool/crud)
- Schema fetching support for built-in spaces formats and DDL metadata (https://github.com/tarantool/ddl)
- Built-in examples for external server nodes discovery with HTTP or binary discovery endpoints
- Customizable request retry policies for reliable communication
- Automatic reconnects on connection failure