Skip to content

v0.7.0

Compare
Choose a tag to compare
@kelvinmwinuka kelvinmwinuka released this 17 Jun 13:00
· 213 commits to main since this release

Changelog

  • b87c836 Added Makefile commands for building local binary
  • 0a4a3c0 Added TCP/UDP offload disabling in go.yml workflow
  • 3202120 Added client openssl files in order to faciliate MTLS testing. Implemented test of MTLS server.
  • 2d95de3 Added comments to clarify command handler types
  • 088900c Added contribution and code of conduct guides
  • f894a53 Added happy path test case for data replication
  • d27fb87 Added longer yields for file sync after snapshot and aof rewrite
  • 7e585dc Added supported commands links to README.md
  • 3bd09ab Added test coverage for empty command and write command to non-leader node
  • bb667cf Added test coverave + fixed some bugs with pubsub api methods.
  • 55b9bc6 Added test coverave for ACLSave and ACLLoad
  • 7691ec4 Added test coverave for sorted set api methods
  • ae5a675 Added test for TLS connection
  • e8840cb Added test for forward command
  • d4506ce Added tests for ACL LOAD and ACL SAVE commands.
  • 5de2cc8 Admin tests are no longer parallel as module loading interferes with other test results. ForwardCommand test now retries until all values are found in a quorum or a 5 second limit is reached.
  • b7e691b Changed default memberlist config to DefaultWANConfig
  • 7661ab1 Close TTL ticker after shutdown
  • 6f85116 Close client connection on quit command
  • 7807569 Created MakeCluster function to reuse logic for creating clusters. Created test files in raft and memberlist packages to add them to test coverage statistics.
  • 9f371ca Deleted debug fmt.Println statements
  • ef04bae Deleted raft and memberlist test files as there's no need to test internal raft and memberlist functionality. The cluster behaviour can be tested at the echovault package level.
  • 66b6c4b Disable TCP/UDP offloading in GH Action
  • e1d5e82 Disabled cluster test until a more efficient method is found.
  • 57d4718 Finished implementing multi stage build
  • 99be0fd Fixed data race issue when reading and writing ACL user data. Now, a write-lock is acquired before modifying the connection object as well in addition to the users list.
  • fdb3b87 Implemented ACL tests using test suites and server cleanup functions.
  • 15191dc Implemented new param methods and testing through resp connection in set commands package
  • 66b2842 Implemented tests for ACL permissions
  • 30b8b20 Implemented tests for api_acl.go file
  • 06ce6bf Instead of checking if a value is replicated across the entire cluster, only check if it's present in a cluster quorum. Fixed race conditions in pubsub API by replacing connections map with sync.Map
  • 3bb9a1a Merge branch 'chore/add-types-comments'
  • 8f249d7 Merge pull request #43 from EchoVault/chore/echovault-test
  • f81e947 Merge pull request #44 from EchoVault/chore/echovault-test
  • 66ac3b2 Merge pull request #45 from EchoVault/chore/echovault-test
  • aa99038 Merge pull request #46 from EchoVault/chore/echovault-test
  • cf874a3 Merge pull request #47 from EchoVault/chore/echovault-test
  • 3534ce6 Merge pull request #48 from EchoVault/chore/echovault-test
  • 1796004 Merge pull request #51 from EchoVault/fix/remove-in-memory-config
  • 05a23f4 Merge pull request #52 from DMcP89/49-multi-stage-docker-dev
  • 09d19b7 Merge pull request #53 from EchoVault/chore/remove-unused-makefile-commands
  • 39b9e64 Moved TCP SAVE/LASTSAVE test to admin module
  • 60f5d03 Only fail ForwardCommand test if there's an error present.
  • 33d6651 Removed --in-memory config flag. InMemory is now inferred from whether the data directory was provided.
  • df2b481 Removed ./testdata DataDir config parameter from setupServer in echovault test file. This parameter is now an empty string in order to force in-memory stores for raft store.
  • 7855726 Removed TCP/UDP offload disabling in go.yml workflow
  • 168e760 Removed --in-memory flag as it's will no longer be used.
  • ee13c29 Removed debug print statements in acl.go file
  • 502e804 Removed logic to get unexported methods from the echovault package in all tests.
  • 62bf589 Removed parallel testing for load command in acl api module
  • 695e777 Removed unused Makefile commands for building modules and echovault server. The build step is now handled by the dev dockerfile
  • dd323f6 Renamed config variable name in echovault_test.go
  • 5553874 Replaced all time.After instances to time.Ticker
  • 0108444 Replaced fmt.Println statements with log.Println. Return "empty command" error from handleCommand method if an empty command is passed to the server. Wait until connection is no longer nil in acl package tests.
  • 6afef55 Replaced time.After in snapshot and aof engines with ticker.
  • bc6537a Replaces use of time.Sleep with time.Ticker in echovault and echovault tests
  • 166e9a8 Shutdown raft nodes from the last one to the first one in echovault tests. This is to ensure the leader node is shutdown last.
  • 3c2b722 Starting to implement build stage for Dockerfile.dev
  • c5f168a Test standalone snapshot persist and restore
  • abee9ea Uncommented AddCommand method
  • 4912a21 Update README.md
  • 163cafd Update README.md
  • 7a6fbcd Update README.md
  • 98f4ca3 Updated CommandHandlerFuncParams docs comment
  • 93a616c Updated RAFT layer to use new keyspace methods. Fixed API methods for HSET and SINTERCARD to match new key overwriting behaviour.
  • 393700b Updated TLS/mTLS listener log
  • c7560ce Updated all test suites to include connection and server shutdown on cleanup.
  • 926a008 Updated generic and hash package tests to use tcp connection instead of calling the handler directly
  • 43361cd Updated keyspace methods' signatures and made them all private. Ditched lock-per-key for a store-wide rwmutex. Updated HandlerFuncParams to match new keyspace method signatures.
  • af8a002 Updated list command tests to use resp connection instead of directly invoking internal method
  • bdfaf54 Updated logic for loading acl config. If the config file does not exist, it will be created.
  • edf8288 Updated sorted_set commands package to use new keyspace methods and its tests to use resp connection instead of calling handler directly
  • e3ecc42 Updated string commands package to use new keyspace methods and resp connection for tests
  • b48ee54 Updated test suites to retry connection to tcp server. Use concurrency to setup cluster in Test_Cluster suite.
  • 4d56ee9 Use log.Println instead of log.Fatal upon failing to load ACl config
  • bbc53ff Use time.After instead of custom clock wrappet for TTL key eviction when creating a new EchoVault instance.
  • 9904fcd Wait for cluster followers to join cluster before proceeding with raft test in echovault package.
  • cb99ff8 rewriteAOF method in echovault.go now handles the rewrite synchronously. Removed newline character in Write method of append store. Added test case for REWRITEAOF command and restore from AOF.