Changelog

New Commands

  • Support for JSON.TYPE command
  • Support for EXPIREAT command
  • Support for DBSIZE command
  • Support for EXPIRETIME command
  • Deque implementation for LPUSH, RPUSH, LPOP, and RPOP commands
  • JSON support in WHERE clause for queries

Performance

  • Improved performance of JSON WHERE clause evaluation
  • Refactored store abstraction as a prerequisite for multi-threading

Bug Fixes

  • Type deduction logic for integers and related fixes
  • RENAME command now fetches the key before renaming
  • Fixed QWATCH response format and executor type inference logic
  • Fixed type casting logic for SET and GET commands
  • Corrected INCR/DECR logic and added tests
  • Fixed incorrect benchmark iterations for QueueRef
  • Corrected the JSON.SET command Arity
  • Standardized error messages across codebase
  • Updated AUTH error message to be consistent with Redis
  • Keep JSON.TYPE consistent with Redis
  • Fixed flaky tests due to JSON ordering

Testing

  • Added unit and integration tests for EXPIRE and EXPIRETIME commands
  • Added stubbed time for tests
  • Run complete test suite on PRs

Docs

  • Created document on inconsistencies between DiceDB and Redis

Developer Workflow

  • Added make target for linter
  • Updated linter.yml

Discussions




  • © DiceDB, 2024