v3.18.0
📦 quay-ioView on GitHub →
✨ 5 features🐛 23 fixes🔧 11 symbols
Summary
This release includes several bug fixes, dependency updates, and new features such as enhanced action logs and manifest track visualization. It also introduces a new `quay serve` command for a minimal OCI Go-based container registry.
Migration Steps
- Disable supervisord logfile writing. If log file writing is critical, re-enable it.
- The IP resolver has been refactored to replace GeoLite2 with IPLocate. Ensure any custom IP resolution logic is compatible with the new IPLocate implementation.
✨ New Features
- Enhance action logs with detailed request context for Splunk/ESS EOI compliance (PROJQUAY-9794).
- Add manifest track visualization for tags (PROJQUAY-9592).
- Add Go config parser and offline validator (PROJQUAY-10615).
- Add `quay serve` cmd to minimal OCI Go-based container registry (PROJQUAY-12412).
- Add OrganizationContactEmail table and migration (PROJQUAY-10588).
🐛 Bug Fixes
- Prevent SSRF in org mirroring API (PROJQUAY-10572).
- Freeze clock in expiration test to avoid midnight wrap.
- Use resolvable hostname in org mirror E2E tests (PROJQUAY-10630).
- Fall back to pure-Python rsa for CloudFront signing (PROJQUAY-10609).
- Fix log_action failed error message losing all context (PROJQUAY-10604).
- Use dynamic redirect URL for OIDC validation (PROJQUAY-1920).
- Use RE2 engine for immutability policy regex to prevent ReDoS (PROJQUAY-10573).
- Preserve site-packages in PYTHONPATH for alembic migrations (PROJQUAY-10656).
- Catch all react rewrite (PROJQUAY-10625).
- Use string-based tab IDs in Settings (PROJQUAY-10574).
- Harden Dockerfile with DROP ALL alignment (PROJQUAY-10168).
- Block manifest deletion by digest when tags are immutable (PROJQUAY-10504).
- Remove unbounded user cache in Splunk log mapper (PROJQUAY-10665).
- Revert use RE2 engine for immutability policy regex to prevent ReDoS (PROJQUAY-10573).
- Add org_mirror events to Usage Logs chart (PROJQUAY-10674).
- Replace N+1 query with batch SELECT+INSERT in sync_discovered_repos (PROJQUAY-10691).
- Fix datetime serialization in audit logs (PROJQUAY-10586).
- Use PYTHONPATH env var in supervisord config (PROJQUAY-10788).
- Add missing change_tag_immutability log description (PROJQUAY-10779).
- Use local time in formatDateForInput (PROJQUAY-10789).
- Omit public param when authenticated in orgmirror (PROJQUAY-10675).
- Grant superusers full visibility on foreign orgs and repos (PROJQUAY-7025).
- Replace datetime-local with DatePicker+TimePicker (PROJQUAY-10739).