* 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>
* chore(TypeORM): Create test case to uncover TypeORM composite key save issue
* chore(TypeORM): Revert package.json test script alteration
* fix the issue
* fixed regression in 1551
* fixed test to prevent issues with auto increment when inserting rows in a different order
* fixed test to prevent issues with auto increment when inserting rows in a different order
---------
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
* refactor: remove oracle docker tests and update DEVELOPER.md
Since oracle runs at thin mode now. Now extra docker tests are needed
* chore: increase oracle version to 21c
* feat: add json column types to oracle
* fix: try to resolve pipeline issue to increase oracle waiting time
* fix: try remove networks from oracle to fix pipeline
* fix: add container name
* fix: add missing oracledb driver in package-lock.json
* fix: corrected tests
* fix: remove tests, since only work with old oracle db
* fix: correct tests
* fix: remove deprecated types
* fix: add missing grant for materialized views
* fix: oracle-isolation.ts test
* fix: issue-3363.ts test
* fix: schema in tests
* chore: increase oracledb version
* feat: optionally use thick client
BREAKING CHANGE: With node-oracledb the thin client is used as default. Added a option to use the thick client. Also added the option to specify the instant client lib
closes: #10277
* fix: make thick driver the default, to assure an easy transition from version 5 to 6
* fix: make thin driver default again
Since there should be no problems with oracle db version >= 12.1
For oracle db < 12.1 the thick client must be used.
* chore: increase oracledb to 6.1.0
* chore: increase oracledb to 6.2.0 and added new option binaryDir
* refactor: fix linting
* update oracledb to 6.3.0
* feat: add support for mssql@10
Add mssql@10 to peerDependency, alongside mssql@9.
Update tests to use latest version of mssql and Node v16.
Closes: #10340
* fixed failing test
---------
Co-authored-by: Alex Messer <dmzt08@gmail.com>