Skip to content

v0.5.0

Compare
Choose a tag to compare
@kelvinmwinuka kelvinmwinuka released this 07 May 15:09
· 326 commits to main since this release
eb386d5

Changelog

  • 54bed13 Added REMOVE_COMMAND method for removing commands or subcommands
  • dcb88ff Added condition to skip duplicate subcommands when adding a new command with subcommands
  • 851ca6d Added copyright text
  • 281c4f2 Added godoc commends for embedded methods and types to extend commands. Moved constants to internal directory
  • bdf6150 Added godoc comments for LoadModule, UnloadModule and ListModules methods
  • 000115c Created "loadmodules" args for loading ".so" modules into EchoVault. Moved types associated with embedded commands extension into api_admin.go file and deleted types.go file as it's no longer necessary. Updated docker-compose and Dockerfile.dev to pass .so modules to load on startup. Volumes folder is no longer ignores except for the nodes subfolder.
  • b6825c4 Created EXECUTE_COMMAND method that allows raw execution of loaded commands when in embedded mode
  • b439bd2 Created plugin.go file to handle loading and unloading of plugins to EchoVault
  • 44e4f06 Deleted ACL type from pkg types
  • 8baeaa9 Enable adding command with subcommands in ADD_COMMAND method
  • 6ad3b7b Exported EchoVault interface now onlu contains the keyspace methods. All other methods are private. Private methods are accessed using the reflect package in the test folder
  • 2291ba4 Implemented ADD_COMMAND method to add a custom command to echovault
  • 6a32f46 Implemented GetFreePort utility function to get free port for tests. Updated ACL and PubSub tests to use new GetFreePort functions instead of hardcoded ports
  • 8aed3a3 Implemented LoadModules method for loading modules into EchoVault. Implemented UnloadModules methods for removing module from EchoVault. Removed connection from plugin handler function parameters as it should not be modified by the module.
  • 0f6ae1c Implemented LoadModules method to load external modules at runtime. Implemented UnloadModules method to remove modules at runtime. Implemented ListModules method to list the current loaded modules. Implemented "MODULE LOAD", "MODULE UNLOAD", and "MODULE LIST" commands.
  • 1d56e98 Implemented tests for AddCommand, ExecuteCommand and RemoveCommand methods
  • fbf4782 Instead of passing in EchoVault instance to commands handler, we now pass a struct of params containing all the variables and functions used within the handler function. This removes the modules' dependency on the echovault package. Moved string command and api tests to test/modules/string
  • 8be29f7 Merge pull request #32 from EchoVault/refactor/handler-params
  • f017d65 Merge pull request #33 from EchoVault/feature/embedded-extensions
  • fd500d7 Merge pull request #34 from EchoVault/feature/shared-object-extension
  • eb386d5 Merge pull request #35 from EchoVault/chore/test-dynamic-ports
  • 97f4617 Moved all packages from /pkg directory to the root directory. Deleted /pkg directory. Pass keyspace functions to raft package instead of an EchoVault instance. This removes dependency on the echovault pakage from the raft package.
  • 3e04b7a Moved tests for module commands and apis into 'test' folder
  • d9d9160 Moved types.go file into the echovault package and deleted EchoVault interface as it's no longer in use
  • 1a7951f Removed EchoVault interface param from raft Opts
  • b6ddb43 Removed duplicate imports for set, sorted_set, pubsub and acl modules. Moved /modules from /pkg to /internal. Delted commands package: Commands will now be automatically loaded when an EchoVault instance is initialised.
  • c241cc0 Renamed *AccessKey type to better represent the response on *KeyExtractionFunc types
  • 24b5e6d Renamed LoadModules and UnloadModules to LoadModule and UnloadModule respectively because they both deal with one module at a time.
  • 6bf638e Renamed all api test files to api_test.go
  • 972cbe0 Renamed command API methods to use CamelCase
  • 276ca0f Trigger LoadModule methods in NewEchovault function using module paths from the configuration
  • f392303 Update README.md
  • 2b01c73 Update README.md