Files
nutcas3 302b761916 docs: Add comprehensive CHANGELOG entries for v0.1.0 release features and improvements
- Add Payment System section with PaymentController, Stripe integration, and webhook processing
- Add Carrier Connector section with ES2+ protocol handlers, profile repository, and REST API server
- Add eBPF Packet Gateway section with batch sync, XDP program loading, and Redis synchronization
- Add Rate Limiting section with distributed Redis-based implementation and comprehensive middleware
- Add Authentication & Authorization section with JWT, RBAC, Casbin integration
2026-04-25 23:14:04 +03:00

7.0 KiB

Changelog

All notable changes to the TaaS Platform will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0] - 2026-04-01

Added

  • Initial release of TaaS Platform
  • API Server (Go 1.26) with RESTful endpoints
  • Carrier Connector for GSMA ES2+ integration
  • Charging Engine (Rust 1.94) with Redis-based credit control
  • Packet Gateway stub with eBPF architecture
  • Web Dashboard (Next.js 15) with Tailwind CSS
  • Docker deployment with docker-compose
  • Kubernetes manifests for production deployment
  • Complete documentation (API, Architecture, Deployment)
  • Setup scripts for MongoDB and Redis
  • Development environment setup script
  • Comprehensive TODO list with research links

Features

  • eSIM creation and management
  • Real-time credit control
  • Usage tracking and reporting
  • Developer dashboard
  • Webhook support (planned)
  • Multi-tenant architecture
  • Horizontal scaling support

Technical

  • Go 1.26 with Green Tea GC
  • Rust 1.94 with array_windows
  • TypeScript/Next.js 15
  • MongoDB 7.0 for subscriber data
  • Redis 7 for real-time state
  • free5GC integration ready
  • eBPF/Aya framework integration

[Unreleased]

Added

  • Payment System: PaymentController with modular handlers for payment operations, refunds, and webhook processing
  • Stripe Integration: Extracted Stripe gateway types to separate file for improved code organization
  • Carrier Connector:
    • Handler package with carrier info, connectivity check, and shared types for GSMA ES2+ profile management
    • Profile handlers with repository integration for eSIM profile lifecycle management via ES2+ protocol
    • ProfileRepository interface with in-memory implementation for eSIM profile storage and CRUD operations
    • REST API server with Gin framework and comprehensive eSIM profile management endpoints
    • Refactored to use GSMA ES2+ protocol with dedicated client package and context-aware profile download
  • eBPF Packet Gateway:
    • Batch sync mechanism with sync_control flag, sync_buffer map, and stats aggregation
    • eBPF manager with XDP program loading, packet stats tracking, credit management, and bidirectional Redis synchronization
    • Build script for eBPF program compilation with cargo build-bpf integration
    • Integration with XDP program loading, bidirectional Redis sync, and graceful shutdown handling
  • Rate Limiting:
    • Distributed Redis-based rate limiting with sliding window, token bucket, and multi-tier support
    • Comprehensive rate limiting middleware with IP-based, user-based, and endpoint-specific throttling strategies
    • Redis rate limiter refactored to use interface for improved testability
    • Comprehensive Redis rate limiter tests with mock client, middleware validation, and multi-tier support
  • Authentication & Authorization:
    • Authentication models with User, Role, Permission, AuthSession, and APIKey structs
    • Authentication service with JWT token management, session handling, and user operations
    • Authentication middleware with JWT validation, RBAC permission checks, and role-based access control
    • Authentication handler with login, registration, user management, and JWT token operations
    • Authentication configuration with JWT secret and reorganized environment variables
    • Casbin RBAC service with policy management, permission checking, and default role configurations
  • Platform Services:
    • Platform handlers for services, monitoring, deployments, plugins, automations, chaos experiments, and configuration management
    • Platform models for plugins, automations, config, deployments, and chaos experiments
    • Deployment service with CRUD operations, rollback support, and status tracking
    • Plugin service with CRUD operations, filtering, and enable/disable functionality
    • Automation service with workflow execution, scheduling, run history, and comprehensive test coverage
    • Configuration store service with database-backed runtime settings, validation, and sensitive value masking
  • Monitoring & Observability:
    • Comprehensive health monitoring system with component checks, system metrics, and HTTP handlers
    • Comprehensive alerting system with rule evaluation, multi-channel notifications, and health-based alert triggers
    • Prometheus service client with instant query execution, alert retrieval, and health checking
    • Performance middleware with request tracking, metrics collection, and optimization utilities
  • WebSocket: WebSocket handler with hub management, client connections, and real-time broadcasting
  • Kubernetes: Kubernetes service with deployment management, scaling, restart, logs, and pod status monitoring
  • Caching: Cache package with in-memory implementation, LRU eviction, and multi-cache management
  • Error Handling: Centralized error handling with typed error codes, validation support, and enhanced parsing utilities
  • Utilities: millisToDuration utility function for converting milliseconds to time.Duration with zero handling
  • Database: Cached database wrapper with query caching, invalidation, and statistics support; connection pool optimization and statistics monitoring

Changed

  • Refactoring:
    • SubscriberService split into modular files with method organization by domain
    • Carrier connector main.go refactored to extract route setup and handlers into separate packages
    • ES2Client implementation removed from main.go and handlers updated to use internal/es2 package
    • Replaced interface{} with any alias throughout codebase
    • Removed ETag generation and validation middleware, simplified CacheMiddleware to basic Cache-Control header
  • Dependencies: Updated Go dependencies with JWT auth, Swagger docs, Kubernetes client, Casbin RBAC, and testing utilities

Fixed

  • Rate Limiter Tests: Fixed Redis rate limiter mock type mismatch and header name capitalization in tests
  • Test Failures: Fixed TestRateLimit_ErrorHandling in ratelimit_test.go by using high limit instead of invalid limit
  • IPv6 Support: Skipped IPv6 test in IPKeyExtractor due to Gin ClientIP() limitations with IPv6 addresses

Documentation

  • Added comprehensive documentation for error handling, testing strategy, monitoring, and development workflow
  • Added Swagger documentation models for API endpoints with comprehensive field annotations

CI/CD

  • Added GitHub Actions CI workflow with testing, building, and security scanning
  • Added GitHub Actions deployment workflow with staging/production environments and container registry integration
  • Added staging and production environment configurations with protection rules, approvals, and deployment restrictions

Planned Features

  • Complete eBPF packet gateway implementation
  • Real-time webhook delivery
  • Advanced analytics dashboard
  • Multi-region deployment support
  • SGP.32 (IoT eSIM) support
  • CLI tool for developers
  • Terraform provider
  • Enhanced monitoring and alerting

Version History

  • 1.0.0 - Initial release with core functionality