Skip to content

Changelog

Complete history of AfterLink releases, sourced from the official GitHub repository. Follows Keep a Changelog & Semantic Versioning.

Latest: v2.0.2
│ 11 releases
│ 83 documented changes
│ Since 2026-05-01

v2.0.2

latest PATCH
Released 2026-07-07 · 1 change

Patch release with incremental fixes and improvements over v2.0.1.

  • FIX Incremental stability and compatibility improvements across all packages

v2.0.1

PATCH
Released 2026-07-06 · 3 changes

Critical npm publishing fixes, Redis Cluster support, and Dart SDK serialization fix.

  • FIX npm Publishing — renamed root workspace package to avoid name collision, updated scope-renaming script to recursively replace scope names inside code and markdown documentation
  • NEW Redis Cluster Support — enabled cluster-wide pub/sub and slot routing in @ajaymyth/cluster using Redis.Cluster when configured with a nodes array or cluster flag
  • FIX Dart SDK — migrated from streaming-only messagepack dependency to standard msgpack_dart package, resolving compilation issues and ensuring robust MessagePack serialization

v2.0.0

MAJOR
Released 2026-07-03 · 5 changes

Protocol v2, multi-language SDKs, and production-grade observability.

  • NEW Protocol v2 Header — 16-byte fixed layout with version negotiation (v1/v2), priority queues (0-7), custom string routing keys (0-255 bytes), ROUTE_REQUEST and PRIORITY_ACK frame types
  • NEW Node Clustering — new @ajaymyth/cluster package with Redis-backed shared pub/sub routing, worker crash detection/restarts, and SIGUSR2 rolling restarts
  • NEW Metrics & Observability — self-contained Prometheus endpoint, Grafana dashboard JSON template, OpenTelemetry-compliant TracingManager with AsyncLocalStorage context propagation
  • NEW Python SDK — async client, async server, sync wrapper, type hints, and Pydantic validation support
  • NEW Dart Client SDK — native TCP and web WebSocket transports using conditional compilation loaders

v1.2.4

PATCH
Released 2026-06-06 · 4 changes

Security hardening and CLI upgrade command.

  • NEW afterlink upgrade CLI command to easily keep all packages up to date
  • NEW Umbrella afterlink package now uses latest version resolution for all dependencies
  • FIX Security: Removed @ajaymyth/ai-assistant from default dependencies — eliminates vulnerable ML packages (LangChain, protobufjs), bringing vulnerability count to 0
  • FIX Switched npm publication to pnpm publish to correctly resolve workspace:* dependencies

v1.2.1

PATCH
Released 2026-06-01 · 8 changes

Critical JWT auth fix and TcpClient addition.

  • FIX Connection._validateAuth — replaced synchronous require('jose') with await import('jose') for ESM-only jose v6 compatibility
  • FIX Connection._handleHandshake — made async with await before _validateAuth, fixing session.user always being null
  • FIX session.user — decoded JWT payload now stored on _jwtPayload and written during HELLO handshake for correct user context
  • FIX ws-bridge JWT auth — handleWsHandshake now async with jwtVerify, WebSocket sessions populate session.user correctly
  • FIX ws-bridge frame coalescing — fixed silent frame loss when HELLO and REQUEST arrive in same TCP packet
  • FIX ws-bridge CORS — connections without Origin header now allowed when cors.origins is empty (default)
  • NEW @ajaymyth/core TcpClient — new class wrapping net.Socket with full AfterLink framing, Promise-based connect() and request()
  • NEW TypeScript — TcpClient, TcpClientOptions, and HelloData interfaces added to types/index.d.ts

v1.2.0

MINOR
Released 2026-05-19 · 17 changes

Error taxonomy, health endpoints, browser SDK, WebSocket bridge, and CLI tool.

  • NEW Error taxonomy — AfterLinkError base + 22 typed subclasses (ProtocolError, AuthError, RouteError, ValidationError, RateLimitError, ConnectionError, ServerError, CompressionError)
  • NEW fromError(), fromFramePayload(), getErrorClassByCode() utility functions
  • NEW TypeScript definitions (.d.ts) for @ajaymyth/core, @ajaymyth/server, @ajaymyth/client
  • NEW Health endpoint — /__health, /__health/live, /__health/ready, /__health/stats with configurable thresholds
  • NEW Protocol detection on TCP socket (GET vs HELLO frame) for same-port health checks
  • NEW Browser SDK (@ajaymyth/browser) — zero-dependency WebSocket client with auto-reconnect, ping/keepalive, pub/sub
  • NEW WebSocket bridge (ws-bridge.js) — translates WS binary frames to AfterLink frames with CORS origin validation
  • NEW CLI tool (@ajaymyth/cli) — afterlink ping, call, inspect, monitor commands with colored terminal output
  • NEW examples/browser-example/ — working browser demo with inline client, health dashboard, chat pub/sub
  • NEW 67 new tests — 39 error class, 11 health, 8 CLI integration, 9 browser integration
  • CHG Connection.js — PING/PONG handled at connection level (no longer dispatched to router)
  • CHG Server.js rewritten — stats tracking, health endpoint integration, WS bridge, state machine lifecycle
  • CHG Router.js — latency tracking via finally block and _onRequestComplete callback hook
  • CHG All throw new Error() replaced with typed errors across core, server, and client packages
  • FIX Frame.js and Serializer.js reverted to native Error/RangeError to eliminate circular require() dependencies
  • FIX Used workspace:* protocol for @ajaymyth/core dependency to fix vitest module resolution
  • FIX Browser client ws.send() now sends Buffer directly to avoid ArrayBuffer size mismatch

v1.1.2

PATCH
Released 2026-05-19 · 2 changes

npm package documentation improvements.

  • NEW Full README.md included in all npm packages (@ajaymyth/core, @ajaymyth/server, @ajaymyth/client, afterlink)
  • NEW Package pages on npm now show complete documentation, features, and quick start guides

v1.1.1

PATCH
Released 2026-05-19 · 2 changes

npm registry compatibility fix.

  • FIX Normalized workspace:* dependencies to ^1.1.1 for npm registry compatibility
  • FIX All packages now install correctly via npm install afterlink

v1.1.0

MINOR
Released 2026-05-19 · 15 changes

TLS/SSL, compression, rate limiting, and graceful shutdown.

  • NEW TLS/SSL encryption via afterlinks:// URL scheme with generateDevCerts() utility
  • NEW zlib/Brotli payload compression with per-frame Flags bit and negotiation in handshake
  • NEW Per-connection token-bucket rate limiting with RATE_LIMITED error code and retryAfter
  • NEW server.close() graceful shutdown — drains active requests, SERVER_CLOSING frame type (0x11)
  • NEW Server lifecycle events: closing, drained, closed + client server-closing event
  • NEW server.handleProcessSignals() — auto-registers SIGTERM/SIGINT handlers
  • NEW Flags byte specification in frame header (bit 0: compressed) with capability advertisement
  • NEW Three new examples: tls-example, compression-example, rate-limit-shutdown-example
  • CHG HELLO/HELLO_ACK payloads extended with capabilities, compression, and rateLimit fields
  • CHG server.close() now async (returns Promise) — drains active requests before closing
  • CHG server.on() now supports both route registration and event listening
  • CHG Server version bumped to AL/1.1 in HELLO_ACK
  • FIX Client autoReconnect correctly distinguishes graceful vs unplanned disconnects
  • FIX Rate limiter middleware properly integrated into request handling pipeline
  • FIX Request tracking for accurate graceful shutdown drain detection

v1.0.1

PATCH
Released 2026-05-18 · 8 changes

Initial TLS support and capabilities handshake.

  • NEW TLS/SSL encryption support via afterlinks:// URL scheme
  • NEW generateDevCerts() utility for development environments
  • NEW TLS transport wrappers for server and client
  • NEW TLS error types: TLS_CERT_UNTRUSTED, TLS_CERT_ERROR, TLS_CONFIG_ERROR
  • NEW Server.isTLS() and Client.isTLS() methods
  • NEW examples/tls-example/ demo
  • CHG HELLO handshake updated with capabilities field
  • CHG All packages bumped to v1.0.1

v1.0.0

MAJOR
Released 2026-05-01 · 18 changes

Initial release — binary TCP protocol, pub/sub, and middleware system.

  • NEW Binary TCP communication protocol with 10-byte frame header
  • NEW Frame types: REQUEST, RESPONSE, STREAM_START/DATA/END, ERROR, PING/PONG, BROADCAST, SUBSCRIBE, UNSUBSCRIBE, PUBLISH, CLOSE, CLOSE_ACK, HELLO, HELLO_ACK
  • NEW MessagePack payload serialization
  • NEW HELLO/HELLO_ACK connection handshake
  • NEW Request/response with 32-bit message ID (multiplexing)
  • NEW Built-in Pub/Sub (PUBLISH/SUBSCRIBE/UNSUBSCRIBE)
  • NEW Express-style middleware chain
  • NEW Automatic Zod schema validation per route
  • NEW JWT authentication option in HELLO handshake
  • NEW Auto-reconnect client with configurable delay and max attempts
  • NEW Ping/pong keep-alive
  • NEW Streaming frames (STREAM_START / STREAM_DATA / STREAM_END)
  • NEW Monorepo structure: @ajaymyth/core, @ajaymyth/server, @ajaymyth/client
  • NEW afterlink meta-package — installs all three packages
  • NEW Published to npm: npmjs.com/package/afterlink
  • NEW Demo suite: hello-world, chat, dashboard, microservice, demo-runner
  • NEW DEPLOYMENT.md guide (PM2, Docker, Railway, Render, Fly.io, AWS, Kubernetes)
  • NEW SECURITY.md policy

This changelog is automatically synced from the AJAYMYTH/AfterLink repository.