Changelog

📦v1.0.0📅2026-04-10🔄Updated 2026-04-28👤Admin Team
referencechangelogrelease-notesversioning

Changelog

All notable changes to the SMS Gateway Proxy platform are documented here. This project follows Semantic Versioning.


v1.0.0 — 2026-04-10

Initial stable release of the SMS Gateway Proxy platform.

Features

Core Messaging

  • REST API (HTTP/JSON, port 8080) and gRPC API (HTTP/2, port 44044) for SMS submission
  • Automatic message segmentation for long SMS (GSM7 and UCS2 encoding)
  • UUID-based transaction tracing across the full message lifecycle
  • Delivery receipt (DLR) tracking with per-segment status reporting
  • Message status query via SmsInfo endpoint

SMPP Infrastructure

  • SMPP v3.4 client connections to carrier SMSCs
  • Virtual pools with Smooth Weighted Round-Robin load balancing
  • Configurable per-link rate limits (esme_rate / esme_rate_burst)
  • Automatic link health monitoring with 10-second check cycle
  • Dynamic pool rate adjustment when links go up or down
  • IP whitelist per SMPP link

Rate Limiting

  • L1 in-process rate limiter for low-latency global throttling
  • L2 distributed rate limiter via Redis for cluster-wide coordination
  • Per-link and per-pool rate enforcement with burst support
  • HTTP 429 / gRPC RESOURCE_EXHAUSTED on limit exceeded

Message Control Platform (MCP)

  • Node-RED-based contact policy engine
  • CP1 strategy — daily and weekly per-number frequency caps
  • CP1 On-Build — frequency management during campaign build phase
  • CP2 strategy — message deduplication within configurable time window
  • Blacklist filtering from S3/MinIO CSV files with auto-renewal
  • Pluggable filter architecture via config_local.yaml

Authentication and Security

  • JWT-based authentication with configurable token TTL
  • Admin API key for privileged operations
  • Per-user app_id / app_secret credentials
  • IP whitelist enforcement per SMPP link

Observability

  • Prometheus-compatible /metrics endpoint
  • OpenTelemetry tracing support with configurable sampling
  • Real-time dashboards: /dashboard/stats, /dashboard/smpp-links, /dashboard/load-balancers
  • Health check endpoint: /healthy

Storage and Export

  • Aerospike for message state persistence with configurable TTL
  • Statistics exporter for CDR (Call Detail Records) to S3-compatible storage
  • Configurable export intervals and S3 bucket/path settings

Deployment

  • Docker Compose deployment with pre-built images
  • Centralized configuration via config_local.yaml and smpp_rules.toml
  • Multi-node cluster support with shared Redis state

Known Limitations

  • TLS for the gRPC listener is disabled by default — use a reverse proxy or service mesh for encrypted gRPC transport
  • The REST API does not support bidirectional streaming — use gRPC SendMessageStream for high-throughput integrations
  • Blacklist CSV files must be uploaded to S3/MinIO manually or via an external process