Change8

v3.15.0

📦 quay-io
9 features🐛 14 fixes🔧 20 symbols

Summary

This release focuses heavily on database query optimization by moving several operations to read replicas, alongside dependency upgrades and improvements to storage backends (S3 STS, GCS multipart upload). Several recent changes related to health checks and graceful shutdown were reverted.

Migration Steps

  1. Alter the id column type for the manifestblob table (conditional check added).
  2. Update dependencies: jinja to 3.1.6, gunicorn, angular to 1.6.4, gevent, cross-spawn to 6.0.6 and 7.0.6.

✨ New Features

  • Added option to check preferred storage during instance health checks.
  • Implemented API lookup by layer artifact type.
  • Modified STS S3 storage backend to use Web Identity Tokens when available.
  • Added support for multipart upload for Google Cloud Storage.
  • Added a full configuration dump endpoint at /api/v1/superuser/config for compliance.
  • Updated configuration schema validation for the /api/v1/superuser/config endpoint.
  • Added a feature flag for user events.
  • Added OpenTelemetry support.
  • Defaulted to using http/protobuf for OTLP tracing.

🐛 Bug Fixes

  • Fixed security URL template variable.
  • Corrected behavior when looking up manifests by adding the allow hidden flag.
  • Stopped modifying the subscription list while iterating over it in billing logic.
  • Corrected pull column alignment in the tag view UI.
  • Fixed metric expression to span over all targets in operations monitoring.
  • Removed unused datasources in operations monitoring.
  • Fixed typo in an exception type in the reconciler.
  • Fixed exception when the user API is called with an empty email.
  • Removed database calls for storing/changing web customer IDs in the reconciler.
  • Garbage collected manifests not targeted by any tags when deleting a repository.
  • Fixed typo in an exception type in the reconciler.
  • Fixed exception when the user API is called with an empty email.
  • Fixed an issue with Dynatrace integration for OpenTelemetry.
  • Fixed unreferenced variable in logging.

🔧 Affected Symbols

healthcheckapistoragesecurity url templatemanifest lookupbilling subscription list iterationtag viewoperations SLO timeseriesgunicorn health checkmodelcardmanifestblob tableuser apimanifest check proxyconfig dump endpointconfig schema validationuser events configopentelemetryotlp tracingdynatracelogging