AmpNexus

Changelog

What's new in AmpNexus

Release notes pulled straight from our delivery pipeline — every entry ships with verified quality and performance data.

346 releases

  1. stableService

    Meter API – 1.4.0

    meter-api
    Qualitytests: 59 passedcoverage: 15% line

    1.4.0 (2026-02-25)

    Bug Fixes

    • allow platform admin meter SSE (a1cca9f)
    • allow tenant_global meter sse (5ff4f11)

    Features

    • meter-api: consume platform.ocpp.events meter values (c60d3d8)
  2. stableService

    Device API – 1.1.0

    device-api
    Qualitytests: 19 passedcoverage: 5% line

    1.1.0 (2026-02-25)

    Features

    • add setup-existing endpoint for field device imports (8a42dde)
  3. stableService

    Firmware Orchestrator – 1.1.0

    firmware-orchestrator
    Qualitytests: 12 passedcoverage: 4% line

    Bug Fixes

    • ci: inline orchestrator changes rules for valid gitlab config (266c0b2)
    • ci: remove skip-ci release message from semantic-release commits (35e711d)
    • ci: trigger orchestrator image builds for release and build config changes (646d560)
    • db: correct postgres placeholders for enum casts (06fdc0d)
    • db: tolerate idempotent ingest inserts (b83c169)
    • events: consume fw.device.status telemetry (e073886)
    • rabbitmq: auto-reconnect consumer on stream drop (ac271c4)
    • rollouts: cast status enums in db updates (af0c1fc)

    Features

    • rollouts: ingest approval snapshot and allow via rabbitmq (ee52735)
  4. stableService

    Release API – 1.4.2

    release-api
    Qualitytests: 95 passedcoverage: 7% line

    1.4.2 (2026-02-24)

    Bug Fixes

    • ci: trigger builds when release and ci configs change (593102f)
    • performance overview now includes releases with recent tests regardless of release date (7a9bec3)

    Performance Improvements

    • add index and concurrent queries for lower list_releases latency (b7c93b6)
    • add slow request logging middleware for latency debugging (49e731a)
    • optimize db connection pool for lower latency (c89b330)
  5. stableFirmware

    PlugStream Firmware 1.10.2

    PlugStream 7PlugStream 22
    Qualitytests: 127 passedcoverage: 93% line· 93% branch

    Bug Fixes

    • evse: move meter reads off esp_timer task (56eddf7)
    • ota: clear pending state immediately after boot validation (ac8c194)
    • ota: harden boot partition persistence (b59a47a)
    • ota: harden resume flow after reboot (3a5008a)
    • ci: run staging publish on develop->staging MRs (edd69e3)
    • correct SecurityEvent timestamps and quote transaction column (9373bbe)
    • defer security events until boot accepted (6cccf4f)
    • evse: gate charging start on profile/random delay (4e416f0)
    • improve GetTransactionStatus ongoingIndicator (dffea8e)
    • network: add connectivity watchdog for WS DNS failures (79c8fa2)
    • network: delay captive portal on outages and keep STA reconnecting (eb5365a)
    • ocpp: accept DateTime fractional seconds (2ed09f7)
    • ocpp: add missing enum string helpers (fedab93)
    • ocpp: harden inbound CSMS CALL handling (3bf0a94)
    • ocpp: harden SetChargingProfile validation (e5a3f5b)
    • ocpp: prune expired profiles and enforce storage cap (595b1e7)
    • ocpp: remove duplicate ChargingStateHelper definition (3e37f49)
    • ocpp: wire ChangeAvailability, CertificateSigned, GetTransactionStatus (bcfcbf3)
    • prevent security_evt stack overflow (6056e45)
    • reduce heap churn in VariableRegistry persistence (877deea)
    • tests: remove gtest dependency for host tests (94da004)
    • websocket: prevent reconnect lockout and keep retrying (a783c09)
    • wolfssl: enable OpenSSL-compat APIs for cert utilities (a9acc2d)
    • ws: validate inbound OCPP frames (b70c5a6)
    • ocpp: encode metering sampled values as numbers (1bd4981)

    Features

    • add DataTransfer and local auth list support (de1f9dc)
    • add handlers for all missing OCPP actions (d6ed9dd)
    • enrich security event tech info (91e26af)
    • implement CertificateSigned certificate persistence (687df3f)
    • implement SetNetworkProfile with NVS persistence (93287fd)
    • implement SignCertificate CSR generation (83f92c4)
    • led: add connectivity override LED when websocket offline (cc350d7)
    • metering: add snapshot + ms timestamps for MeterValues (40fbebd)
    • ocpp: add v201 variable monitoring service (675d814)
    • ocpp: enrich GetCompositeSchedule response (7662280)
    • ocpp: enrich GetTransactionStatus and telemetry (9466195)
    • ocpp: enrich NotifyChargingLimit schedule preview (3e2a317)
    • ocpp: enrich TransactionEvent metering + cost (397342b)
    • ocpp: implement certificate management messages (27cb32c)
    • ocpp: implement CertificateSigned message - Phase 1 Complete (v1.3.0) (c66e1b5)
    • ocpp: implement ChangeAvailability message (Phase 1 critical stub) (f1f3ada)
    • ocpp: implement ClearedChargingLimit message (Phase 1 critical stub) (86199bd)
    • ocpp: implement GetTransactionStatus message (v1.2.0) (9595076)
    • ocpp: implement OCPP 2.0.1 reservation system (37f2712)
    • ocpp: implement v201 Variables schema + validation (89dbd9d)
    • ocpp: persist variable monitoring across reboot (10f6fdc)
    • ocpp: validate charging profiles before install (afe8cfb)
    • ocpp: wire v201 variable monitoring and events (692bb5b)
    • ota: preflight reboot, resume pending update, and clean firmware.bin (bb9af83)
    • ota: send SecurityEvent before preflight reboot (a6424ee)
    • persist auto token and send SecurityEventNotification (f63a7a6)
    • scripts: add automatic serial logging to monitor scripts (c7eb8ba)
    • security: persist CP cert and enable mutual TLS (880dbff)
  6. stableFirmware

    PlugStream Firmware 1.9.0

    PlugStream 7PlugStream 22
    Qualitytests: 39 passedcoverage: 89% line· 89% branch

    Bug Fixes

    • firmware: harden OTA validation and rollback handling (7b65d37)
    • prevent LED standby light spam when override is active (df4ba4e)
    • websocket: ignore late CALLRESULTs (80c3bdc)
    • add BLE notification failure diagnostics and tracking (13abc23), closes #10
    • add stabilization delay for socket lock state feedback (4354c1e)
    • Added esp-idf selection in ci pipelines (35671a8)
    • address ArduinoJson deprecations and cleanup includes (8ef1175)
    • allocate StaticTask_t in internal RAM for PSRAM tasks (55a9573)
    • avoid abort on bt controller mem release (7908234)
    • avoid aborts on ledc duty updates (154aeca)
    • avoid printf formatting for ocpp payload logs (041ecde)
    • bluetooth,wifi: WiFi scan on-demand + DNS graceful shutdown (ada1d92)
    • bluetooth: avoid NimBLE stop crash (1fa9f29)
    • bluetooth: avoid nimble_port_deinit crash during OTA (c75a65c)
    • bluetooth: prevent os_mbuf memory leak on notification failures (709f129), closes #2
    • bluetooth: prevent WiFi scan task memory leak and dangling pointer (4b045d3), closes #3 #4 #3 #4
    • bluetooth: stop leaking WiFi scan tasks and avoid NimBLE double-init (f31730b)
    • ci: change releases MR target from master to staging (3cf6352)
    • ci: correct firmware binary filename in GitLab releases (6578ffb)
    • ci: remove redundant changes rule to prevent pipeline skipping (109cff6)
    • ci: send portal-friendly release notes to API (e6610da)
    • clear default netif when Ethernet loses IP (55be7ca)
    • correct firmware download log format (e087b88)
    • correct firmware download task stack sizing (0f7614c)
    • correct firmware stack watermark logging (5d3c4a3)
    • correct inverted socket lock state GPIO polarity (ba8c7aa)
    • correct JSON field parsing and persist provisioning data to NVS (cc3ce6f)
    • correct ota task stack sizes (idf bytes) and reduce hash stack usage (161f4ae)
    • correct socket lock timing to match PCB design requirements (be40eb5)
    • correct stack sizing for ws/adc tasks (e4052a5)
    • correct task stack size units for firmware tasks (a29b21d)
    • correct task stack sizing and reduce monitor heap churn (9a6af00)
    • correct voltage measurement using peak-to-RMS method (8066d80)
    • defer ota install task to ensure internal stack (2b7be2e)
    • disable network stats due to RAM constraints (e7c583d)
    • downgrade socket lock state feedback mismatch to warning (a8b1da9)
    • Eliminate database memory leaks and prevent SQLITE_BUSY errors (e4ca9a9)
    • emit cp healthy event after evse health check (30d3498)
    • enlarge ocpp_monitor stack to 12kb (45fe171)
    • enlarge ws_rx internal stack to avoid overflow (32d9d01)
    • ensure installed status emitted by auto-marking validation (652a991)
    • free RAM before download task and retry with smaller stack (a784952)
    • guard bluetooth stop against double calls (db0c8de)
    • hal: resolve critical HAL safety and logic issues (2761737)
    • handle empty result from database integrity check (a46c9a1)
    • handle ESP_ERR_NOT_SUPPORTED in OTA partition state check (e97c488)
    • handle WiFi state properly when starting captive AP (20094f1)
    • harden captive portal wifi transitions (df0bcae)
    • harden ethernet init and default netif set (c2b510d)
    • harden led driver and smooth boot rainbow (fed226d)
    • harden websocket/logging and PEN fault persistence (7ad3ec3)
    • improve low-memory resilience and non-critical init (1f91a06)
    • increase DNS catchall task stack from 4KB to 8KB (4f42851)
    • increase NTP task stack to 6KB to prevent overflow (aca6956)
    • Increase stack size for CP Activation task via Bluetooth (8fdbd86)
    • increase task stack sizes to prevent overflows (a1b6cce)
    • increase task stacks for large OCPP message safety (e5d2e98)
    • increase WebSocket buffer size for large OCPP messages (0fc665d)
    • install immediately when installDate not provided (c2db347)
    • install immediately when schedule time is past (ce79778)
    • keep websocket running during ota (92ad191)
    • led: keep firmware update override active (63e95ad)
    • make adc continuous isr cache safe (9cfd8d1)
    • make coverage script compatible with CI lcov (21c1b5b)
    • make sntp init idempotent (ffac48c)
    • miscellaneous improvements and stack optimizations (e2c1a35)
    • move stacks to PSRAM and reduce internal heap pressure (7e8144e)
    • ocpp,websocket: harden rx and remote stop handling (4265798)
    • ocpp: critical OCPP message handling improvements (3d7e7f1), closes #2 #3 #4
    • ocpp: implement CALLERROR processing and message ID validation (cca0d51), closes #1 #5
    • only set Ethernet as default interface when it has IP (49f513e)
    • optimize processedMessages with deque+set hybrid for O(1) lookup (825e21a), closes #9
    • ota: add robust download validation and error handling (2266778)
    • ota: prevent timer memory leaks and improve resource management (d314a51)
    • ota: replace statvfs with ESP-IDF littlefs API for filesystem space check (92dd99f)
    • pause ble during ota to free ram (80627f2)
    • pause websocket during OTA and shrink download buffers (419f14e)
    • prevent download task stack overflow (663bc9b)
    • prevent duplicate BootNotification on reconnect and fix LED state (0dadebb)
    • prevent duplicate BootNotification on WebSocket reconnect (9821f75)
    • prevent PSRAM task from accessing flash/NVS (crash fix) (090b631)
    • properly allocate task stacks in PSRAM instead of internal RAM (bb195f6)
    • reduce LogWorker stack usage by removing std::regex (34c4141)
    • rely on evse health event for ota validation (3de20f8)
    • remove blocking wait for Ethernet IP and set priority (bdb94c9)
    • remove coverage flags from firmware build (43e8cdd)
    • remove deadlock in MeterManager saveToNvs (a577b2c)
    • remove nested mutex locks causing TLS memory exhaustion (cd0ae49)
    • remove redundant esp_wifi_connect() call causing race condition (6e49b45)
    • remove stray escape sequences in LED control (118e864)
    • resolve critical meter accuracy issues (adf224b)
    • resolve EVSE control loop bugs and improve code quality (ca79184)
    • Resolved stack overflow on Bluetooth WiFi Network scan with large amount of Access Points. (aae93f5)
    • Resolved web socket failure on Activation Task processing (2ec7205)
    • Resolved websocket reconnect on Bluetooth CP Activation (17564c4)
    • reuse persistent NVS handle to reduce flash overhead (aef1a80), closes #8
    • revert flash I/O tasks to internal RAM (9aaef4c)
    • revert NTP task to internal RAM - stack overflow on cleanup (608a051)
    • route EVSE and meter NVS writes through main loop queue (67baf92)
    • run install on separate high-stack task (921b86d)
    • run websocket RX task on internal stack to avoid flash cache assert (9f65e84)
    • start mdns only with softap clients (b42685c)
    • update firmware root CA for api.s3.ampnexus.net (1b3d287)
    • use iram tx stack and rfc3339 firmware times (5ff67c3)
    • use PSRAM for NTP task stack to preserve internal RAM (c9acc13)
    • WebSocket race condition in message processing (3be366c)
    • websocket: add mutex protection for wsclient to prevent race conditions (5392152), closes #6
    • websocket: connect CSMS after network up (87094f2)
    • websocket: harden tx queue under stalled CSMS (5b036b6)
    • websocket: prevent processedMessages memory leak (48ae5c8), closes #1
    • websocket: resolve critical safety and threading issues (b68183a)
    • ci: Trigger CI Build (1ec1744)
    • ci: Trigger CI Build (13c6e6f)
    • ci: Trigger CI Pipeline (b805338)
    • release: Trigger CI Build (f414203)
    • release: Trigger CI Build (3134d9e)
    • release: Trigger CI Build (a0dbffa)
    • release: Trigger CI Build (d8cd5bc)
    • Trigger CI Build (b8e3c69)
    • Trigger CI Build (3d884f1)
    • Trigger CI Build (b354592)
    • Trigger CI Build (8668559)
    • Updated CI Dispatcher to remove reference to branch for templates (6f05af0)
    • Updated CI Pipeline template name to use correct version (655ab84)
    • Updated CI Pipelines to use jolt-builder image (e1783d9)
    • Updated image url (6202868)

    Features

    • ocpp: implement GetLog upload + LogStatusNotification (1432df5)
    • ocpp: implement TriggerMessage + harden stub responses (38bc156)
    • ocpp: phase 1 charging profiles and limit notifications (b016774)
    • account ota traffic in system monitor (c78cbdb)
    • add boot reason watchdog for accurate OCPP 2.0.1 BootNotification (4785dce)
    • add DEBUG_SYSTEM_MONITOR flag and network stats display (05513b2)
    • add environment-based URL configuration for builds (a775f2d)
    • add network statistics tracking to SystemMonitor (6f5d462)
    • add OCPP monitoring task for CPU optimization (4e1b1b6)
    • add SystemMonitor for CPU/RAM/task statistics (9b8100e)
    • add WebSocket TX task for event-driven processing (58e8594)
    • Added additional network tracking to support Onboarding wizard via Bluetooth (8d29b7a)
    • Added additional WiFi event handling (d0d2508)
    • Added catch2 test support with coverage calculations (871de5f)
    • buffer firmware download in psram before writing (eec8beb)
    • ci: add staging branch with RC releases (a97edec)
    • firmware update LED override and install gating (01ed1bd)
    • implement event-based OTA validation system (15659de)
    • implement NVS write queue for PSRAM task safety (32e8f89)
    • Implement OCPP 2.0.1 registration status handling (Pending/Rejected) (a067d4c)
    • implement real power metering with power factor correction (c3936cc)
    • improve WiFi connection reliability with reconnection logic (2dbfb17)
    • integrate OCPP and WebSocket tasks into main loop (abede10)
    • keep Bluetooth running during OTA updates (1d4d687)
    • load firmware TLS CAs dynamically from CA store (e1d16ad)
    • load websocket TLS CAs dynamically from CA store (29e368b)
    • make NTP sync non-blocking with automatic periodic updates (f43aa5d)
    • move 5 major tasks to PSRAM freeing 20KB internal RAM (6a1f220)
    • ocpp: improve charging profile support (gating + throttling) (2a5790f)
    • Phase 1 PSRAM task optimization - security events and monitoring (457bfad)
    • Reworked checkCpProvisioned into a single timeout-governed loop that continues retrying provisioning while the device remains unprovisioned (b06da83)
    • Updated Bluetooth Manager to support Mobile App Adoption (dfbddd4)
    • Updated PEN fault detection and alerting (a031a94)
    • Updated PEN fault to use Voltage RMS to avoid [secure] positives. Changed NTP to only block when network connection available (ae70de4)
    • wifi: Persist long WiFi creds correctly, dedupe scan results in HAL, drop forced reboots on WiFi connect. (8c1197c)

    Performance Improvements

    • add thread-local JsonDocument pooling to OCPP handlers (1d551c2)
    • enable BSS segment external memory (PSRAM) (f700a98)
    • increase NimBLE stack to 8KB for better BLE throughput (2e1e2bc)
    • move ADC and DNS tasks to PSRAM (0a0bc1a)
    • move OCPP task to PSRAM with security profile caching (e56ae60)
    • move WebSocket RX task to PSRAM with increased stack (1b19c91)
    • optimize NTP task memory usage (edc551c)
    • optimize WebSocket header caching and DNS polling (01a0386), closes #11 #12 #11 #12
    • reduce TLS buffer sizes to free internal RAM (c5927a4)
    • websocket: optimize string allocation in OCPP message hot path (b834c61), closes #5
    • wifi: reduce DNS task stack size from 16KB to 8KB (ef6fe8b), closes #7
  7. stableService

    Device API – 1.0.1

    device-api
    Qualitytests: 17 passedcoverage: 5% line

    1.0.1 (2026-01-07)

    Bug Fixes

    • expose performance test under /device/v1 (7cf8193)
  8. stableService

    Ocpp API – 2.1.1

    ocpp-api
    Qualitytests: 138 passedcoverage: 8% line

    2.1.1 (2026-01-07)

    Bug Fixes

    • add v1 performance test alias (8a266be)
    • expose versioned performance-test endpoint (5d52d3a)
    • make performance test endpoint resilient to missing tables (66acd32)
  9. stableService

    Firmware API – 1.4.0

    firmware-api
    Qualitytests: 173 passedcoverage: 7% line

    1.4.0 (2026-01-07)

    Bug Fixes

    • add v1 alias for performance test (1ce56f2)
    • align device.tags with postgres json column (7fc8e1f)
    • allow platform global to query tenant_global devices (3402557)
    • allow platform/global device validation for tenant_global devices (7df4a23)
    • cast rollout device status enum for fw.device.status (f8778f4)
    • enable distribute preview + sync tenant changes (0e25617)
    • events: consume fw.device.status from ocpp core (bab1af5)
    • handle duplicate model mappings in firmware uploads (7626af1)
    • prevent allow request from downgrading rollout status (6134b8e)
    • releases: persist groups_any as json (817c98d)
    • return device_count in groups list (edc48f6)
    • rollouts: make rollout device index unique (de12cbc)

    Features

    • add cohort preview endpoint (e4db7c1)
    • add delete cancelled rollout endpoint (9f42460)
    • Add endpoint to list devices for tenant (6c88ee5)
    • allow SKU-based model mapping for compatibility (63b6d12)
    • enrich rollout responses with product and version labels (77218ae)
    • firmware: add rollouts list endpoint (1c49515)
    • populate rollout cohort totals and canary (a1a18ef)
    • retention: delete withdrawn firmware objects after 7d (e26594f)
    • rollouts: add stats REST and SSE endpoints (da0b082)
    • rollouts: enroll devices and execute via rabbitmq (2f2fae0)
  10. stableService

    Meter API – 1.3.1

    meter-api
    Qualitytests: 56 passedcoverage: 14% line

    1.3.1 (2026-01-04)

    Bug Fixes

    • expose performance test under meter v1 (0b76c92)
  11. stableService

    Tenant API – 1.4.1

    tenant-api
    Qualitytests: 174 passedcoverage: 5% line

    1.4.1 (2025-12-29)

    Bug Fixes

    • add v1 performance test alias (cc0a464)
  12. stableService

    Ocpp Integration – 1.1.1

    ocpp-integration
    Qualitytests: 5 passedcoverage: 1% line

    Ocpp Integration – 1.1.1 (2025-12-29)

    Release notes not available.

  13. stableService

    Tariff API – 1.2.2

    tariff-api
    Qualitytests: 92 passedcoverage: 11% line

    1.2.2 (2025-12-29)

    Bug Fixes

    • expose performance test under tariff v1 (d4dbe33)
  14. stableService

    Reporting API – 1.3.1

    reporting-api
    Qualitytests: 1 passedcoverage: 0% line

    1.3.1 (2025-12-29)

    Bug Fixes

    • add v1 alias for performance test (64699ab)
  15. stableService

    Release API – 1.4.1

    release-api
    Qualitytests: 95 passedcoverage: 7% line

    1.4.1 (2025-12-29)

    Bug Fixes

    • expose performance test under releases v1 (7b09aed)
  16. stableService

    Device API – 1.0.0

    device-api
    Qualitytests: 16 passedcoverage: 5% line

    1.0.0 (2025-12-29)

    Bug Fixes

    • add semantic-release configuration for GitLab (3ddfb02)
    • device-api: accept legacy mac_address on setup (c96476b)
    • update route path syntax for Axum 0.7+ compatibility (fd34e69)

    Features

    • add version endpoint and Dockerfile metadata (10e3de8)
    • Move health endpoints under /device/v1 (8440c51)
  17. stableService

    Auth API – 1.5.0

    auth-api
    Qualitytests: 85 passedcoverage: 34% line

    1.5.0 (2025-12-29)

    Features

    • Added chargepoint setup endpoint to public exclusion (5073ee3)
    • auth-api: add /v1/health alias (7bcae86)
  18. stableService

    Tenant API – 1.4.0

    tenant-api
    Qualitytests: 174 passedcoverage: 5% line

    Features

    • Expose health endpoints under /tenant/v1 (e2e8333)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (c38f819)

    Bug Fixes

    • enforce org/tenant scoping on tenant endpoints (143ba57)
    • fusionauth: include firmware permissions in unified sync (1479727)
    • security: enforce tenant isolation and add unit tests (bdd1a3c)
    • tenancy: use tenant slug for platform context (6e2e7fb)
  19. stableService

    Tariff API – 1.2.1

    tariff-api
    Qualitytests: 92 passedcoverage: 11% line

    Bug Fixes

    • expose health endpoints under /tariff/v1 (f663bbf)

    Features

    • add multi-tenant filtering support with tenant-api integration (cdf5651)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (db35b23)
  20. stableService

    Firmware API – 1.3.0

    firmware-api
    Qualitytests: 165 passedcoverage: 8% line

    Features

    • Expose health endpoints under /firmware/v1 (94dce81)
    • sync device events and enforce firmware model compatibility (0b8d670)
    • firmware: add distribute-by-device-tenants admin endpoint (7401bb2)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (06fcf26)

    Bug Fixes

    • add postgres enum migration for firmware channel/state/criticality (b8bdc9c)
    • auth: request-scoped auth ctx and rate limit key (675660d)
    • db: align entity names with migrations (07e5c15)
    • db: handle firmware_state default during enum migration (217c52a)
    • firmware: tenant-scoped distribute endpoint (7c6758d)
    • internal: validate performance-test service token (a38eb15)
    • performance: align internal perf endpoint auth (fc9b122)
    • tenancy: enforce RBAC and tenant isolation (258c0f2)
    • Updated s3 storage client for firmware storage and presigned url config (bccabc7)
  21. stableService

    Release API – 1.4.0

    release-api
    Qualitytests: 95 passedcoverage: 7% line

    Bug Fixes

    • expose health endpoints under /release/v1 (2ff6970)
    • expose internal performance overview under internal releases namespace (7a4edba)
    • performance overview only includes services with recorded tests (70e2ce4)
    • Add default SLO targets to internal performance time series endpoint (7242b91)

    Features

    • add database connection pool with pre-warmed connections to reduce cold-start errors (3f8d31e)
    • add internal performance overview endpoint (c3f6d46)
    • add performance overview API endpoint for dashboard view (33e6016)
    • extend performance_tests table with full k6 metrics (total_requests, total_errors, availability_percent, concurrent_users, test_tool) (95462c7)
    • persist performance test data to dedicated table for long-term trend analysis (08284c0)
    • query performance data from dedicated table for 12-month trend analysis (20287f2)
    • update default availability SLO target from 99.9% to 99.5% (55ccb5d)
  22. stableService

    Reporting API – 1.3.0

    reporting-api
    Qualitytests: 1 passedcoverage: 0% line

    Features

    • Expose health endpoints under /reporting/v1 (034531c)
    • implement multi-tenant filtering architecture (4cc06ea)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (3fa2264)
  23. stableService

    Chargepoint API – 1.3.0

    chargepoint-api
    Qualitytests: 49 passedcoverage: 17% line

    Features

    • Expose health endpoints under /chargepoint/v1 (2dcc2a7)
    • add organisation-based device filtering for resellers/CPOs (99bf483)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (4539c8b)
    • support global device listing for platform admins (60c8c1f)

    Bug Fixes

    • apply organisation filtering to single-resource device endpoints (e62d6bc)
    • Mount OpenAPI docs under /chargepoint/v1 prefix (fd54ca1)
    • security: enforce org tenant filtering and add SQL tests (8f6a1ae)
    • tenancy: accept tenant_global as platform-global alias (844fe8e)
    • use tenant-api internal endpoints for tenant/org lookups (bbb9f1e)
  24. stableService

    Meter API – 1.3.0

    meter-api
    Qualitytests: 56 passedcoverage: 14% line

    Features

    • Expose health endpoints under /meter/v1 (472e0b2)
    • implement multi-tenant filtering with organisation support (5776ab0)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (f1e0ea2)
  25. stableService

    Ocpp API – 2.1.0

    ocpp-api
    Qualitytests: 138 passedcoverage: 8% line

    Features

    • Expose health endpoints under /ocpp/v1 (4b03f0a)
    • implement multi-tenant filtering with organisation support (ba29f22)
    • optimize database connection pool (min: 5, max: 20) to reduce cold-start errors (108e5cd)

    BREAKING CHANGES

    • URL patterns changed from tenant_slug to tenant (tenant_id)
      Clients will need to update their API calls to use tenant IDs instead of slugs
      Key security improvements:
    • Platform admins can access tenant_global for platform-wide view
    • Organisation-based filtering for resellers/CPOs via tenant-api
    • as_tenant query parameter for platform admin impersonation
    • Changed URL paths from /tenants/{tenant_slug} to /tenants/{tenant}
    • All endpoints enforce tenant allowlist filtering
      Changes:
    • Add tenant-api client with internal endpoint support
    • Add filtering helpers for tenant resolution and org expansion
    • Update all route handlers with compliant filtering logic
    • Change URL pattern from tenant_slug to tenant throughout
    • Add TENANT_API_BASE_URL and INTERNAL_AUTH_TOKEN config
    • Remove old ensure_tenant logic from AuthContext
    • Add comprehensive unit tests for filtering scenarios
      All endpoints now enforce proper tenant isolation with audit logging.