v2.0.0
We are excited to announce the release of version v2!
This major update was necessary due to the initial design of interfaces that were either incorrect or redundant.
In addition, we have fully adapted to work with Tarantool 3,
eliminating the dependency on UUID-based replica sets and instances.
While you can still use these elements for supplementary information, they are no longer mandatory.
The update also includes changes to several previously public methods,
which were not intended to be exposed in the original vshard implementation.
We would like to express our gratitude to everyone who shared their migration issues with us,
as your feedback was invaluable in shaping the current state of the interfaces.
FEATURES:
- Implemented Pooler method that returns go-tarantool Pooler interface. That can be used by some go-tarantool modules(
like box).
BUG FIXES:
- ClusterBootstrap: eliminate direct access to r.idToReplicaset.
CHANGES:
- Instance UUID no more required, use instance name instead.
- Removed toolchain go1.23.3.
- Refactored GetTyped interface and logic. Now we use raw msg buffer instead raw messages. Interface works and looks
like go-tarantool response. - ReplicaCall, RouterCallImpl, RouterMapCallRWImpl, BucketResolve, BucketDiscovery, RouterBucketID, RouterBucketIDMPCRC32 methods were removed cause they work invalid, look useless or redundant.
- All PR, issue references in #XYZ format in commits older than 42f3637 refer to https://github.com/KaymeKaydex/go-vshard-router.
- VshardRouterCallMode type renamed to CallMode for simplicity.
- StorageResultTypedFunc type removed as useless type.
- Updated msgpack version from v5.3.5 to v5.4.1.
- Replicaset identifier now is replicaset name instead uuid.
- Remove unused Makefile target.
- Update README.md, README_ru.md.
- Rename RouterRouteAll -> RouteAll, RouterRoute -> Route, RouterBucketIDStrCRC32 -> BucketIDStrCRC32.
- Replace github links to master branch with permalinks.
TESTS:
- Write tests in tests/tnt folder are deprecated.
- Removed empty todo tests from tests/tnt.
- Moved TestReplicasetReplicaCall and Go benches from tests/tnt to tarantool_test.go .
- TestRouterCallProto rewrote.
- Start using constants in tarantool_test.go instead duplicate variables.
- TestRouterMapCall moved to tarantool_test.go and renamed to TestRouter_RouterMapCallRWImpl.
- Remove discovery_test.go, move tests/tnt/discovery_test.go -> tarantool_test.go