Skip to the content.

Changelog

All notable changes to TRAM are documented here. Format follows Keep a Changelog.


Unreleased

Added


1.3.3 — 2026-05-01

Added

Overview and cluster operator visibility

Shared UI/runtime helpers

Changed

Shell, routing, and templates

Pipeline detail, editor, and settings surfaces

Fixed

Runtime truth and action feedback

Supporting pages and assets

Validated


1.3.2 — 2026-04-21

Added

Standalone live stats parity

Manager operational metrics

UDP multi-worker streams

Large-batch resilience

Changed

Linter rules

Safe staged file output cleanup

Optional post-batch heap cleanup

Validated

ASN.1 structured decode flattening

CDR record shaping — dotted-path transform support

CDR record shaping — new primitives


1.3.1 — 2026-04-20

Added

Placement and K8s exposure for push streams

File sink naming and partitioning

Changed

SNMP dependencies

Helm / K8s defaults

Fixed

Tests


1.3.0 — 2026-04-17

Added

Multi-worker streams for HTTP push sources

Placement persistence and reconciliation

Unified pipeline stats and load-aware dispatch

Changed

Worker ingress split

Manager Helm deployment

Alerts

Fixed

Tests


1.2.3 — 2026-04-16

Fixed

SNMP poll — walk could stall indefinitely at subtree end

Manager + Worker — callback/run metadata correctness

Browser auth bootstrap

SNMP trap sink config naming

Changed

ASN.1 serializer

Example pipelines and docs

SNMP validation

Tests


1.2.2 — 2026-04-15

Fixed

CLI — validate and run --dry-run crashing on valid pipelines

Watcher — hot-reload raising PipelineAlreadyExistsError

Docs — API response shapes drifted from implementation

CI — omniORBpy pip install failure

Tests — stale sha256$ assertion in auth tests

Changed

Repository layout

Documentation

Tests


1.2.1 — 2026-04-14

Fixed

Manager + Worker — run metrics propagation

Executor — skip reason visibility

Manager logs — health poll noise

Settings page — Daemon Status

Changed

UI — Dashboard actions

UI — Pipeline detail

UI — Workers page

UI — Light/dark mode

Load balancing

Worker image


1.2.0 — 2026-04-10

Added

Manager + Worker mode

tram[manager] optional extra

Dockerfile.worker

Helm: manager+worker mode (manager.enabled=true)

melt transform — wide → long pivot: converts a dict-valued field into one record per key/value pair; supports label_fields unnesting, include_only/exclude key filtering, and configurable output column names (metric_name_col, metric_value_col)

pm_xml serializer — 3GPP PM XML (Nokia NCOM / TS 32.432 measData) deserializer; produces one flat record per measValue; auto-closes truncated files; configurable managed_element and numeric casting

Changed

Removed


1.1.4 — 2026-04-08

Added

AI Assist — pipeline generation and modification in the YAML editor

YAML editor improvements

Extended timestamp functions in add_field

Pipeline context in add_field expressions

DB as single source of truth for pipelines

Cluster pipeline update propagation

SNMP improvements

UI auto-refresh and refresh buttons

Helm: hostNetwork support

Fixed


1.1.3 — 2026-04-01

Added

Test coverage — Tier 1 + Tier 2 unit tests


1.1.2 — 2026-03-30

Added

ASN.1 serializer (type: asn1)

Fixed

Pipeline visibility across cluster nodes (API-registered pipelines)

Balanced pipeline distribution across cluster nodes

Reload endpoint now restores DB-registered pipelines

Cluster page — pipeline counts


1.1.1 — 2026-03-30

Added

Run History — expandable error rows

Wizard — complete connector coverage

Wizard — step reorder to match YAML field order

Wizard — UX improvements

Connector Test — full coverage

Helm: pre-mounted connector key files

Fixed


1.1.0 — 2026-03-29

Added

Pipeline Wizard

Live Metrics Dashboard

Alert Rules UI

Connector Test

Pipeline Templates

AI Assist

Password Change

Helm: pre-mounted connector keys

Changed


1.0.9 — 2026-03-25

Added

Shared RWX storage for schemas and MIBs (cluster mode)

Changed


1.0.8 — 2026-03-25

Added

Browser user authentication

Multi-file upload (schemas & MIBs)

Dashboard shortcuts

Settings — restore base URL

PostgreSQL subchart (Helm)

Sample pipeline on install

Changed


1.0.7 — 2026-03-24

Added

tram-ui — Bootstrap 5 web UI

Image — UI embedded in daemon

Helm — dedicated UI Service

Changed


[1.0.6] — 2026-03-13

Added

Changed


[1.0.5] — 2026-03-13

Added

ndjson serializer

Per-sink serializer_out override

serializer_out optional at pipeline level

Changed


[1.0.4] — 2026-03-13

Added

Schema Registry consolidation

Schema Registry proxy

Pipeline management

ClickHouse connector

REST connector fix (httpx 0.28)

Example pipelines

Changed


[1.0.3] — 2026-03-09

Added

SNMP MIB management

Schema file management

Protobuf serializer improvements

Dependency

Changed

Fixed


[1.0.2] — 2026-03-06

Added

SNMPv3 USM support


[1.0.1] — 2026-03-06

Added

SNMP Poll enhancements

Changed

Build / versioning


[1.0.0] — 2026-03-06

Added

Security

Reliability

SNMP MIB Integration

Observability

Operations / DX

Changed


[0.9.0] — 2026-03-05

Added

thread_workers — intra-node parallelism

batch_size — record cap per run

on_error: "dlq" — explicit DLQ routing

Processed-file tracking

CORBA source connector

Helm: ConfigMap checksum annotation

Tests — 62 new tests (test_thread_workers.py ×13, test_batch_size_on_error.py ×10, test_processed_files.py ×15, test_corba_connector.py ×24); 535 total, all passing

Changed


[0.8.1] — 2026-03-05

Fixed

Kafka consumer group isolation

NATS queue group for cluster mode

Pipeline name injection

Helm chart

Tests — 20 new tests (test_kafka_connectors.py ×16, test_nats_connectors.py ×5 new); 473 total, all passing


[0.8.0] — 2026-03-05

Added

StatefulSet self-organizing cluster

DB: node_registry table

Cluster env vars (AppConfig)

Scheduler: dynamic rebalance

Cluster API endpoint

Helm: always-StatefulSet design

Tests — 22 new tests (test_cluster.py); 453 total, all passing

Changed


[0.7.0] — 2026-03-05

Added

SQLAlchemy Core DB abstraction

Node identity

dlq_count persisted

Graceful shutdown

Readiness DB check

Run history pagination

Schema migration

Tests — 25 new tests (test_db_v07.py ×15, test_config_v07.py ×6, test_runresult_v07.py ×4); 431 total, all passing

Changed


[0.6.0] — 2026-03-05

Added

Dead-Letter Queue (DLQ)

Per-Sink Transform Chains

Alert Rules

Helm Chart (helm/)

GitHub Actions

SQLite

Tests — 35 new tests (test_dlq.py ×11, test_sink_transforms.py ×8, test_alerts.py ×16); 406 total, all passing

Changed


[0.5.0] — 2026-03-03

Added

Conditional Multi-Sink Routing

SQLite Persistence (tram/persistence/db.py)

Prometheus Metrics (tram/metrics/registry.py)

Webhook Source (tram/connectors/webhook/source.py)

WebSocket Connector (tram/connectors/websocket/)

Elasticsearch Connector (tram/connectors/elasticsearch/)

Prometheus Remote-Write Source (tram/connectors/prometheus_rw/source.py)

Schema Registry (tram/schema_registry/client.py)

New Pydantic Models

Tests — 49 new tests; 371 total, all passing


[0.4.0] — 2026-03-03

Added

New Serializers

New Source Connectors

New Sink Connectors

New Transforms

Tests — 322 total, all passing


[0.3.0] — 2026-03-03

Added

New Connectors

Tests — 198 total, all passing


[0.2.0] — 2026-03-03

Added

New Transforms

New Connectors

Tests — 124 total, all passing


[0.1.0] — 2026-03-03

Added

Core

Plugin InterfacesBaseSource, BaseSink, BaseTransform, BaseSerializer

Plugin Registry@register_* decorators + get_*() lookups + list_plugins()

Pydantic ModelsPipelineConfig with discriminated unions; ScheduleConfig

Serializersjson, csv, xml

Transformsrename, cast, add_field, drop, value_map, filter

Connectorssftp source + sink

Pipeline Engineloader.py, executor.py (batch/stream/dry-run), manager.py

SchedulerTramScheduler (APScheduler batch + threads stream)

REST API — FastAPI on port 8765; health, pipelines, runs, daemon endpoints

CLI — Typer; direct + daemon-proxy commands

Tests — 69 total, all passing