* docs: fix link to email, when vulnerability found
* Update package.json
* Update CONTRIBUTING.md
---------
Co-authored-by: Giorgio Boa <35845425+gioboa@users.noreply.github.com>
* chore: bump sha.js from 2.4.11 to 2.4.12 (fix security issue: CVE-2025-9288)
* test: add unit tests for hash() to ensure sha.js upgrade compatibility
- Verify SHA1 output for known inputs
- Test truncation with options.length
- Handle empty string input
- Confirm deterministic behavior for identical inputs
* removed .only from test/unit/util/string-utils.ts to run all the unit tests
* fix(hash): ensure negative or zero options.length returns full hash
- Updated hash() to only truncate when options.length > 0
- Prevents accidental truncation when options.length is negative
- Maintains expected behavior for full-length hash
* added strict +ve number input validation for hash()
* simplified the logic to check number len before applying slice() in StringUtils.ts->hash()
---------
Co-authored-by: Prateek Hegde <prateek.hegde@deliverysolutions.co>
Co-authored-by: Prateek Hegde <prateek@Prateeks-MacBook-Pro.local>
* feat: add Redis 5 support to cache implementation
- Add version detection for Redis client to handle API differences
- Support Redis 5 Promise-based API while maintaining backward compatibility
- Update methods to use appropriate API based on Redis version
- Add tests for Redis 5 compatibility
Redis 5 introduced Promise-based API as default, replacing the callback-based
API. This change detects the Redis version and uses the appropriate API calls
to ensure compatibility with Redis 3, 4, and 5.
Closes#11528
* feat: add Redis 5 support to cache implementation
Implement automatic version detection for Redis client libraries to support
Redis 3, 4, and 5 seamlessly. The implementation uses runtime API testing
to determine the appropriate Redis client behavior without breaking existing
functionality.
Changes include:
- Dynamic Redis version detection based on client API characteristics
- Promise-based API support for Redis 5.x
- Backward compatibility with Redis 3.x and 4.x callback-based APIs
- Safe fallback mechanism defaulting to Redis 3 behavior
- Updated peer dependency to include Redis 5.x versions
The cache implementation now automatically adapts to the installed Redis version, ensuring optimal performance and compatibility across all supported Redis client versions while maintaining full backward compatibility.
* fix: delete wrong migration guide
* feat: add package-lock.json
* refactor: optimize Redis client creation to reduce memory usage
Eliminate unnecessary Redis client recreation by using explicit tempClient
variable management, reducing potential client instances while maintaining
full Redis 3/4/5 compatibility and accurate version detection.
* refactor: improve Redis version detection to avoid cache pollution
Replace test key creation method with client method signature analysis
to prevent potential cache pollution and improve performance.
* style: apply Prettier formatting to RedisQueryResultCache.ts
* Added a new SQL tagged template feature for executing raw SQL queries with automatic parameter handling.
---------
Co-authored-by: Simon Garner <simon@equalogic.com>