Releases
v0.2.0
Compare
Sorry, something went wrong.
No results found
0.2.0 (2026-07-01)
Features
app: pipeline + composition root + CLI (T11) (09dc1bd )
auth: JWT bearer TokenProvider (T2) (07107f2 )
auth: OAuth client_credentials mode + sandbox/production toggle (6bfbccd )
cli: --check flag for offline config + wiring validation (5f63dea )
cli: add 'config example|reference|schema' subcommand (6c5dac5 )
configdoc: generate annotated example YAML from the model (a54ef77 )
configdoc: generate markdown reference + json schema (474b620 )
config: generate example + reference from schema; add drift gate (d733f7e )
deploy: enable org-limits metric poller in docker config (3149d9b )
deploy: persist checkpoint to a bind-mounted ./state volume (e78bf4a )
docker: docker-compose run path + readiness-based healthcheck (9ce8836 )
eventlogfile: hourly-ELF resiliency hardening + close ko.md gaps (4559c00 )
labels: always emit job + service_name, auto-derive environment (e9b0b86 )
loki: label guard + protobuf/json encoders (T5) (ae98268 )
loki: LokiSink HTTP push with retry + 413 split (T6) (e7b6526 )
obs: metrics, health, structured logging (T8) (8089fa4 )
obs: OTel-native metrics via OTLP + Salesforce org-limit metrics (d2bfbdb )
obs: push metrics to Grafana Cloud over OTLP by default (7a84ee1 )
obs: startup banner + pubsub/pipeline operational logging (6306905 )
obs: wire the remaining unwired metrics through (ef8482a )
packaging: Dockerfile, k8s manifests, CI, docs (T12) (34c9d16 )
project skeleton, frozen seams, proto stubs, config (T1) (d92f25c )
salesforce: Pub/Sub gRPC client + Avro codec (T3) (f62a074 )
shaping: derive a per-event log level as structured metadata (e44e6cf )
sources: auto-discover Pub/Sub streams; precedence-aware ELF overlap (18da0d5 )
sources: discover EventLogFile EventTypes with a "*" wildcard (bc2c29e )
sources: EventLogFile ingestion (Phase 3) + either/or docs (b425acc )
sources: EventLogFile source stub (T10) (7ca6b45 )
sources: ingest a broad EventLogFile mix on the Daily interval (9c35aa2 )
sources: per-event-type ELF routing + Loki per-line byte cap (40569c2 )
sources: Phase 2/3 seams — overlap guard, ELF config/metrics, timestamp + sink hardening (dff7982 )
sources: Pub/Sub streaming source (T4) (9171a02 )
sources: SOQL client + eventlog_objects source (T9) (856f04e )
state: file + configmap checkpoint stores (T7) (0b34521 )
tooling: broaden generator API/EventLogFile coverage (0c31277 )
tooling: CSV-driven diverse data + reliable generator cleanup (3a01846 )
Bug Fixes
app: bound graceful shutdown to shutdown_grace (32b868e )
configdoc: comment out inline secrets in example so *_file isn't shadowed (bc81d6d )
configdoc: mark required secret leaves; add regression tests for list/alias/undefined rendering (1d3977b )
config: duration shorthand + ${ENV} interpolation (DESIGN §11) (148c5a4 )
pubsub: create gRPC channel lazily inside the running event loop (69c1150 )
pubsub: invalidate token on UNAUTHENTICATED so streams self-heal (43c6119 )
pubsub: use ChangeEventHeader.commitTimestamp for CDC entry timestamp (575e8a1 )
sources: eventlog_objects entry timestamp uses configured timestamp_field (561946c )
sources: ingest EventLogFile on the Hourly interval, not Daily (faac02a )
sources: SOQL-safe datetime literals + dropped-metric count (review) (0105924 )
Code Refactoring
config: make field docs machine-readable via Field(description) (ca4b6e2 )
state: drop Kubernetes/ConfigMap backend, file store only (ec11398 )
Documentation
add Phase 0 design (DESIGN.md) (39e7cc3 )
config: document generated config reference + drift gate (50f60e5 )
correct OAuth scopes — refresh_token required for pre-authorized JWT bearer (b0c9d51 )
dedupe to single source of truth + add generator doc (0d0b931 )
readme: full External Client App + JWT bearer setup walkthrough (a9c9d8d )
Build & CI
docker: pull the GHCR :main image by default (26aea13 )
You can’t perform that action at this time.