Releases: alexpota/nestjs-redlock-universal
Releases · alexpota/nestjs-redlock-universal
v0.3.0
What's Changed
Added
- Valkey GLIDE Support: Added support for Valkey's official GLIDE client via
GlideAdapter - Re-exported Adapters:
NodeRedisAdapter,IoredisAdapter, andGlideAdapterare now re-exported fromnestjs-redlock-universalfor convenience - Updated peer dependency to
redlock-universal ^0.8.0
Documentation
- Added Valkey GLIDE configuration examples
- Updated all examples to use re-exported adapters from
nestjs-redlock-universal - Updated features list to mention Valkey support
v0.2.3
Dependencies
- Updated
redlock-universalpeer dependency: ^0.7.2 → ^0.7.5 - Updated
redlock-universaldev dependency: ^0.7.2 → ^0.7.5
Benefits
- Script SHA caching for improved lock operation performance
- Eliminates static analysis false positives
- All tests passing with new version
Testing
- All 40 tests passing
- Build successful
- Zero breaking changes
v0.2.2
Fixed glob security vulnerability (CVE-2025-64756) and updated redlock-universal dependency.
Security
- Added npm override to enforce
glob@^10.5.0 - Addresses CVE-2025-64756 command injection vulnerability in glob CLI
- Installed
audit-cifor security audit handling
Dependencies
- Updated
redlock-universalpeer dependency:^0.7.2→^0.7.3 - Added
audit-cifor CI/CD security auditing
Testing
- All 40 tests passing
- Build successful
- Zero vulnerabilities detected
Related
- Fixes #3 (Dependabot alert)
v0.2.1
🐛 Bug Fix
Fixed redlock-universal dependency configuration - moved from dependencies to peerDependencies.
Why This Matters
Before: Two copies of redlock-universal installed (bundled + user's) ❌
After: Single shared copy ✅
Benefits
- No duplicate installations
- Smaller bundle size
- Users control version
- Follows NestJS best practices
v0.2.0
🎉 What's New
Added optional logger parameter to RedlockModuleOptions for integration with Winston, Pino, and Bunyan.
Quick Example
import * as winston from 'winston';
const logger = winston.createLogger({ level: 'info' });
RedlockModule.forRoot({
nodes: [new NodeRedisAdapter(redis1)],
logger, // Winston works directly!
})
📦 Changes
- Add logger?: ILogger to RedlockModuleOptions
- Update Node.js requirement to >=22.0.0
- Update redlock-universal to ^0.7.2
📚 Docs
| Logger | Works Directly | Adapter Needed |
|---------|----------------|-----------------------|
| Winston | ✅ | No |
| Pino | ⚠️ | createPinoAdapter() |
| Bunyan | ⚠️ | createBunyanAdapter() |v0.1.1
Changes
- Fix package.json exports map for proper TypeScript resolution
- Add
.d.ctsreference for CommonJS type definitions - Add
keepNamesto preserve decorator metadata in builds
Impact
Resolves TypeScript resolution issues and ensures NestJS dependency injection works correctly with the published package.
v0.1.0
Initial Release
First public release of nestjs-redlock-universal - NestJS integration for distributed Redis locks.
Features
- RedlockModule: Dynamic module with
forRoot()andforRootAsync()configuration - RedlockService: Injectable service for programmatic lock management
acquire(): Manual lock acquisitionrelease(): Manual lock releaseusing(): Automatic lock management with extension support
- @redlock Decorator: Method-level distributed locking with zero boilerplate
- Static and dynamic lock keys
- Custom TTL and retry configuration
- Universal Redis Client Support: Works with both node-redis and ioredis
- Automatic Strategy Selection: SimpleLock (1-2 nodes) or RedLock (3+ nodes)
- Full TypeScript Support: Strict mode with complete type safety
Installation
npm install nestjs-redlock-universal redlock-universal