Skip to content

v5.3

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:14

AIProxy 5.3

Standardize operational logging and add a single-file request/response log
for comparing successful and failed HTTP calls.

Changes:

  • Add --request-log-file ./logs/requests.jsonl. A filename enables append-only
    JSONL logging of all completed HTTP requests, including successes, HTTP
    errors, and authentication rejections, without other logging flags.
  • Capture original client headers/body, final HTTP status, request ID, and
    buffered response body. Support logging.request_file in YAML and
    AIPROXY_REQUEST_LOG_FILE in the environment.
  • Use SLF4J + Logback for structured operational/access logging on stderr,
    with request-ID correlation, configurable levels, and external Logback
    configuration support. Preserve normal CLI output on stdout.
  • Make error-only logs metadata-only by default. Use --error-log-bodies,
    logging.error_bodies, or AIPROXY_ERROR_LOG_BODIES to opt into payload capture.
  • Record detected failures inside HTTP 200 streams without changing SSE bytes.
  • Use the request-completion hook so authentication rejection does not skip
    access/error/request-file logging.
  • Reuse bounded secret redaction and synchronized JSONL appends; document
    privacy controls, collection, rotation, and retention responsibilities.

Migration and limitations:

  • Error-only logs no longer include bodies unless explicitly enabled.
  • Operational/access logs now go to stderr instead of stdout.
  • Each captured body is capped at 256 KiB; oversized bodies are marked truncated.
  • SSE response bodies are not buffered or captured. Incoming streaming requests
    are logged, and detected stream failures have metadata records.
  • Unlimited body logging and full streamed-response capture are not implemented.
  • Diagnostic file writes are synchronous. Protect files and manage retention
    externally; prompts and tool output may remain sensitive despite redaction.

Validation:

  • 803 Java tests and 33 offline Python tests pass.
  • Fat JAR builds; version command reports AIProxy 5.3.
  • Packaged CLI logging options and example configuration were checked.
  • Live provider authentication/inference and load testing were not performed.

Requires Java 21 and an account with access to the selected provider/model.

Download AIProxy-5.3.jar and run:
java -jar AIProxy-5.3.jar serve --request-log-file ./logs/requests.jsonl

Full Changelog: v5.2...v5.3