Skip to content

Releases: ottermq/goodiesdb

Release v0.7.0

23 Nov 03:15

Choose a tag to compare

Highlights

New Features

  • Configurable Persistence Path: Persistence file paths are now configurable via .env file, offering greater flexibility for deployment setups.

  • Docker Support:

    • Dockerfile: Added a multi-stage Dockerfile for efficient and lightweight containerization.

    • Docker Compose: Added docker-compose.yml for easy multi-container management and deployment.

Continuous Integration/Continuous Deployment (CI/CD)

  • GitHub Actions: Implemented GitHub Actions for automated building and testing, ensuring reliability and stability of the codebase.

  • Build and Test Status Badge: Added a GitHub badge to display the status of Go build and test workflows, improving visibility and tracking of build health.

Improvements

  • Optimized Docker Image: Utilized multi-stage builds to produce a slim and efficient final Docker image, reducing overhead and improving performance.

Full Changelog: v0.6.0...v0.7.0

Release v0.6.0

22 Nov 08:00

Choose a tag to compare

Highlighs

This release marks the reach of the original milestones for this project, although there is a lot of work to do.
The next goal is to do some minor polishing, optimizations and adjustments for better compatibility with redis clients.

A parallel project is in the planning phase. It is a web api that serves as a client for GoodiesDB server.

Full Changelog: v0.5.0...v0.6.0

Release v0.5.0

22 Nov 05:13

Choose a tag to compare

New Features and Improvements

  • Server Commands: Implemented essential server-related commands such as INFO, PING, ECHO, QUIT, SELECT, FLUSHDB, and FLUSHALL to enhance server management and interaction.
  • Signal Handling: Added termination signal handling for graceful server shutdown on receiving signals like SIGINT (Ctrl+C) and SIGTERM.
  • Command Organization: Refactored the server to improve the organization and management of available commands.
  • Flexible Persistence Configuration: Enabled configuration to support various persistence modes: AOF, RDB, both, or none. This allows users to choose their preferred persistence method using environment variables.
  • Dynamic Git Versioning: Integrated dynamic versioning using Git tags, ensuring the server version is always up-to-date based on the latest Git tag.
  • Logging Enhancements: Improved logging for better debugging and diagnostics, providing clear insights into server operations and command handling.

Bug Fixes

Persistence Handling: Fixed initialization and startup flow to ensure proper recovery and persistence handling, preventing the server from hanging during startup.

How to Update

To update to this release, pull the latest changes from the repository and build the project using the Makefile:

git pull
make build
make run

Full Changelog: v0.4.0...v0.5.0

Release v0.4.0

21 Nov 05:41

Choose a tag to compare

New Features

  • Implemented LPUSH, RPUSH, LPOP, and RPOP: Enhanced list management functionalities.
  • Added LRANGE and LTRIM: New commands to handle ranges and trimming lists.

Improvements

  • AOF Handling: Updated to support the new list commands.
  • Expiration Checks: Integrated expiration checks in LPOP and RPOP.
  • Testing: Comprehensive tests for the new commands to ensure robustness.

Bug Fixes

  • Fixed LPUSH Implementation: Corrected the insertion order for LPUSH.

Full Changelog: v0.3.0...v0.4.0

Release v0.3.0

20 Nov 04:11

Choose a tag to compare

Release v0.3.0: Security and Configuration Enhancements

Overview

This release introduces important security features and enhancements for flexible configuration.

Features

  • AUTH Command:

    • Implemented the AUTH command to enable password-protected client connections.
    • Ensured that commands are only processed if the connection has been authenticated.
  • Configuration Loading:

    • Added support for loading configuration from environment variables and .env files.
    • Implemented fallback to default values if no configuration is found.
    • Enhanced flexibility for deployment in different environments.

Improvements

  • Environment Configuration:
    • Integrated godotenv to load configuration from .env files.
    • Updated the server configuration to support environment-specific settings.

Notes

  • These changes improve the security and flexibility of the Redis clone server.
  • Feedback and contributions are welcome! Feel free to open issues or submit pull requests to help improve the project.

Thank you for supporting our project. Stay tuned for more updates!

Full Changelog: v0.2.0...v0.3.0

Release v0.2.0

20 Nov 00:10

Choose a tag to compare

Release v0.2.0: Persistence Enhancements

Overview

This release introduces robust persistence mechanisms, ensuring data durability and reliable state recovery.

Features

  • RDB Snapshots:

    • Periodic saving of the entire dataset to a snapshot file.
    • Ability to load the dataset from a snapshot on startup.
  • AOF Logging:

    • Append-Only File (AOF) logging for all write operations.
    • Replay AOF logs on startup to restore the server state.

Improvements

  • Enhanced Testing:
    • Comprehensive tests for snapshot saving, loading, and AOF recovery.

Notes

  • These changes significantly improve data durability and reliability.
  • Feedback and contributions are welcome! Feel free to open issues or submit pull requests to help improve the project.

Thank you for supporting our project. Stay tuned for more updates!

Full Changelog: v0.1.0...v0.2.0