github txlog/server v1.18.1

23 hours ago

🚀 Release v1.18.1

This patch release focuses on improving data accuracy in monthly package
reporting, enhancing API robustness for transaction ingestion, and updating a
dependency. There are no database schema changes or migration requirements for
this update.

✨ Key Highlights

  • More accurate operating system attribution in monthly package reports.
  • Idempotent handling of duplicate transaction submissions.

Reporting & Data Accuracy

  1. Monthly package data now derives OS version from the most recent executions
    entry per machine (via a latest_executions CTE) instead of
    transactions.release_version. This yields more reliable OS metadata.
  2. CSV output format for monthly package data has changed:
    • Previous header: Package Name,Servers Affected,Total Updates
    • New header: OS Version,Package RPM,Servers Affected,Total Updates
    • RPM field now constructed as: package-version-release.arch (example:
      nginx-1.20.1-14.el9.x86_64).
  3. CSV fields are now properly escaped when containing commas, quotes, or
    newlines.

API / Transaction Ingestion

  • PostTransactions endpoint now:
    • Uses ON CONFLICT (transaction_id, machine_id) DO NOTHING to avoid failing
      on duplicates.
    • Detects when a transaction already exists and returns 200 OK with a JSON
      message: { "message": "Transaction already exists" } instead of inserting
      redundant data.
    • Rolls back the transaction early if the insert was a no‑op, preventing
      unnecessary item inserts and ensuring idempotency.

Dependencies

  • Updated: golang.org/x/oauth2 from v0.32.0 to v0.33.0.

🐳 Docker Image

docker pull cr.rda.run/txlog/server:v1.18.1

🔗 Links

Don't miss a new server release

NewReleases is sending notifications on new releases.