@bymax-one/nest-cache 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.2.5] - 2026-10-31
10
+
11
+ A documentation and test release. Nothing you execute changes: `dist/` differs from 1.2.4 only in one comment, the
12
+ JSDoc of `ConnectionManager.createSubscriberClient`, which no longer calls cluster Pub/Sub experimental.
13
+
14
+ ### Documentation
15
+
16
+ - The README states that Pub/Sub works in cluster mode: channel and pattern subscribers both receive the
17
+ message. The same sentence in the `createSubscriberClient` JSDoc described it as an experimental
18
+ passthrough.
19
+
20
+ ### Tests
21
+
22
+ - The cluster end-to-end suite runs three masters on `redis:8-alpine`, formed with `redis-cli --cluster
23
+ create`, and measures what the cluster guards claim: `keys`, `getClient`, `scan`, `flushNamespace` and the
24
+ administration calls that read keys throw `UNSUPPORTED_IN_CLUSTER`, a rejected `ttlSeconds` writes nothing,
25
+ and Pub/Sub delivers to channel and pattern subscribers. Without the `keys` guard a real cluster returned
26
+ 2 of 6 seeded keys.
27
+
9
28
  ## [1.2.4] - 2026-10-31
10
29
 
11
30
  Two calls now refuse input they could not honor, one error code is added, and the documentation catches up with the code.
@@ -460,7 +479,8 @@ type or export moved.
460
479
  - Published with npm OIDC provenance — no long-lived tokens
461
480
  - Zero direct runtime dependencies (`dependencies: {}`) — `ioredis` and NestJS via peer deps
462
481
 
463
- [Unreleased]: https://github.com/bymaxone/nest-cache/compare/v1.2.4...HEAD
482
+ [Unreleased]: https://github.com/bymaxone/nest-cache/compare/v1.2.5...HEAD
483
+ [1.2.5]: https://github.com/bymaxone/nest-cache/compare/v1.2.4...v1.2.5
464
484
  [1.2.4]: https://github.com/bymaxone/nest-cache/compare/v1.2.3...v1.2.4
465
485
  [1.2.3]: https://github.com/bymaxone/nest-cache/compare/v1.2.2...v1.2.3
466
486
  [1.2.2]: https://github.com/bymaxone/nest-cache/compare/v1.2.1...v1.2.2
package/README.md CHANGED
@@ -324,6 +324,9 @@ Channels are namespaced like keys. The subscriber connection is created lazily o
324
324
  subscription. Redis Pub/Sub is fire-and-forget — messages published while a subscriber is offline
325
325
  are not replayed.
326
326
 
327
+ Pub/Sub also works in cluster mode: channel and pattern subscribers both receive the message, which
328
+ the end-to-end suite verifies against a three-master cluster.
329
+
327
330
  ---
328
331
 
329
332
  ## 📜 Lua Scripts
@@ -354,7 +354,8 @@ exports.ConnectionManager = class ConnectionManager {
354
354
  * ready buffers until connected instead of failing fast like the data-plane
355
355
  * main client (whose offline queue stays disabled to avoid silent buffering).
356
356
  * This override applies to standalone/sentinel modes only; in cluster mode
357
- * {@link createClient} ignores it (cluster Pub/Sub is an experimental passthrough).
357
+ * {@link createClient} ignores it and the cluster client manages its own subscriber
358
+ * connection.
358
359
  *
359
360
  * @returns A fresh client wired with `subscriber`-role event listeners.
360
361
  */
@@ -399,7 +399,8 @@ declare class ConnectionManager implements OnModuleInit, OnModuleDestroy {
399
399
  * ready buffers until connected instead of failing fast like the data-plane
400
400
  * main client (whose offline queue stays disabled to avoid silent buffering).
401
401
  * This override applies to standalone/sentinel modes only; in cluster mode
402
- * {@link createClient} ignores it (cluster Pub/Sub is an experimental passthrough).
402
+ * {@link createClient} ignores it and the cluster client manages its own subscriber
403
+ * connection.
403
404
  *
404
405
  * @returns A fresh client wired with `subscriber`-role event listeners.
405
406
  */
@@ -399,7 +399,8 @@ declare class ConnectionManager implements OnModuleInit, OnModuleDestroy {
399
399
  * ready buffers until connected instead of failing fast like the data-plane
400
400
  * main client (whose offline queue stays disabled to avoid silent buffering).
401
401
  * This override applies to standalone/sentinel modes only; in cluster mode
402
- * {@link createClient} ignores it (cluster Pub/Sub is an experimental passthrough).
402
+ * {@link createClient} ignores it and the cluster client manages its own subscriber
403
+ * connection.
403
404
  *
404
405
  * @returns A fresh client wired with `subscriber`-role event listeners.
405
406
  */
@@ -352,7 +352,8 @@ var ConnectionManager = class {
352
352
  * ready buffers until connected instead of failing fast like the data-plane
353
353
  * main client (whose offline queue stays disabled to avoid silent buffering).
354
354
  * This override applies to standalone/sentinel modes only; in cluster mode
355
- * {@link createClient} ignores it (cluster Pub/Sub is an experimental passthrough).
355
+ * {@link createClient} ignores it and the cluster client manages its own subscriber
356
+ * connection.
356
357
  *
357
358
  * @returns A fresh client wired with `subscriber`-role event listeners.
358
359
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bymax-one/nest-cache",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Typed Redis cache for NestJS based on ioredis 6, with namespace strategy, Pub/Sub and Lua script management.",
5
5
  "author": "Bymax One <support@bymax.one>",
6
6
  "license": "MIT",