-
Notifications
You must be signed in to change notification settings - Fork 0
Versioning and Roadmap
eric edited this page Jul 20, 2026
·
5 revisions
tyo-mq grew through six planned phases (PLAN.md), each released as a backwards-compatible minor version:
| Version | Milestone |
|---|---|
| 0.4.x | Phase 1 — token auth + realm isolation (opt-in) |
| 0.5.x | Phase 2 — persistence, durable queues, TTL (opt-in per subscription) |
| 0.6.x | Phase 3 — ACK, retry, dead-letter queue (ACK negotiated per subscription) |
| 0.7.x | Roles rework — manager role, pre-shared keys, producer acceptance |
| 0.8.x | Phase 4 — topic wildcards, consumer groups, broadcast (opt-in) |
| 0.9.x | Phase 6 tier 1 — cluster settings sync over shared Redis (opt-in) |
| 0.10.x | Phase 5 — opt-in HTTP observability (health, Prometheus metrics, stats, DLQ) |
| 0.11.x | Phase 6 complete — live cross-node routing, shared authorization requests, DLQ tooling; relicensed MIT → Apache-2.0 |
| 0.14.x | Ephemeral Realms (disposable, TTL-swept realm form); opt-in SQLite auth store for realms/tokens (Server Configuration); realm-/prefix-scoped external auth validators (Authentication and Realms); config-driven Remote Namespace relay with WebRTC signaling + catch-all |
| 0.15.x |
Custom Namespaces — pluggable socket.io namespaces from operator modules; /remote refactored onto the same contract |
| 0.16.x | Rate Limits and Quotas — opt-in abuse protection: per-socket/per-IP token buckets, registration/subscription/queue quotas, per-realm overrides |
| 1.0.0 | All phases stable; semantic versioning from here |
-
new Server(),createProducer(),createConsumer()— stable API. - Every major feature is opt-in: auth (
auth.enabled), durability (durableper subscription), ACK (per subscription), topics (mode: 'topic'), groups (group), broadcast (produce option), HTTP API (http_api.enabled), clustering (cluster.enabled), the SQLite auth store (auth_store), ephemeral realms (ephemeralper realm), and scoped external validators (per realm/prefix). A configuration that doesn't mention them behaves like the original broker. - Default port
17352, socket.io transport, and the npm package name don't change.
- socket.io as the transport (browser compatibility, wide client support)
- JavaScript / Node.js
- Apache-2.0 license (relicensed from MIT in 0.11.x)
| Use case | Features |
|---|---|
| Fleet control — commands to remote agents across orgs | realms + durability + ACK + topics + broadcast |
| Multi-tenant SaaS event bus | auth + realms + pre-shared keys |
| Microservice bus with load-balanced workers | consumer groups |
| Reliable task queue surviving worker restarts | durable + ACK + retry + DLQ |
| Real-time dashboards | topic wildcards + metrics |
| Remote screen/control sessions |
/remote ticket streaming |
tyo-mq · README · Improvement Plan · Clustering Guide · Apache-2.0
Basics
Security
- Authentication and Realms
- Ephemeral Realms
- Roles and Connection Authorization
- Authorization Requests
Delivery
Routing
Operations
Reference