Bump container registry v3.22.0-gitlab
What does this Merge Request do and why?
3.22.0 (2022-01-13)
Features
- track online migration status of repositories in the database (a18b11b)
- configuration: add tagconcurrency to migration stanza (fcc4595)
- handlers: add gitlab v1 API import route (beba40e)
- handlers: add support for tag concurrency to import API route (1bf25b3)
- handlers: send import errors to sentry (968a027)
- limit redirections to Google Cloud CDN based on a feature flag (feb1604)
3.21.0 (2022-01-06)
Bug Fixes
- correct typo cloudfront updatefrenquency (dddf7aa)
- handle missing foreign layers gracefully (ddb578a)
Features
- handlers: add gitlab v1 API base route (6efb384)
3.20.0 (2021-12-30)
Bug Fixes
- datastore: check for blob access before importing layer (84cf639)
- datastore: skip caching of large configuration payloads (748dbaa)
- remove temporary log entries for "finding repository by path" queries (090e34c)
Features
- add Google CDN support (612e861)
- handlers/configuration: enable manifest payload size limit (db18ba1)
3.19.0 (2021-12-17)
Features
- datastore: add not null constraint to event column on GC queues (e489c0d)
- gc: add event label to online GC run metrics (552b83f)
3.18.1 (2021-12-10)
Bug Fixes
- revert enable PostgreSQL pageinspect extension (2c2825c)
3.18.0 (2021-12-09)
Bug Fixes
- datastore: do not panic if database credentials are wrong (cfc51e7)
Features
- datastore: calculate deduplicated repository size (#486) (86d68c1)
- datastore: enable PostgreSQL pageinspect extension (74f6521)
- datastore: extend support for Helm Charts media types (ff2fd80)
- gc: add dangling and event labels to online GC run metrics (738cf24)
- gc: log creation timestamp and event of GC tasks (e0133c3)
3.17.0 (2021-11-22)
Bug Fixes
Features
- gc: track event that led to creation of an online GC blob review task (1354996)
3.16.0 (2021-11-18)
Features
- gc: record event type for manifest tasks queued due to a tag delete or switch (e0d918a)
- gc: record event type for manifest tasks queued due to list delete (68828ea)
3.15.0 (2021-11-16)
Features
- gc: improve logging for artifact deletions (4d77d47)
- gc: record event type for manifest tasks queued due to an upload (1b2a534)
- handlers: temporarily log details of "find repository by path" queries (8a3fcca)
- storage: add Prometheus histogram metric for new blob uploads (8a9c4a0)
3.14.3 (2021-11-09)
Bug Fixes
- datastore: use "safe find or create" instead of "create or find" for namespaces (0feff9e)
- datastore: use "safe find or create" instead of "create or find" for repositories (7b73cc9)
3.14.2 (2021-11-03)
Bug Fixes
- gc: commit database transaction when no task was found (2f4e2f9)
3.14.1 (2021-10-29)
Performance Improvements
- handlers: improve performance of repository existence check for GCS (e31e5ed)
3.14.0 (2021-10-28)
Bug Fixes
- handlers: do not log when blob or manifest HEAD requests return not found errors (0f407e3)
- handlers: use 503 Service Unavailable for DB connection failures (fecb78d)
Features
- handlers: log when migration status is determined (75b8230)
- handlers/configuration: enable enforcing manifest reference limits (2154e73)
3.13.0 (2021-10-14)
Bug Fixes
- update Dockerfile dependencies to allow successful builds (3dc2f1a)
Features
- configuration: use structured logging in configuration parser (49d7d10)
- datastore/handlers: cache repository objects in memory for manifest PUT requests (66bd599)
3.12.0 (2021-10-11)
Bug Fixes
- handlers: only log that a manifest/blob was downloaded if the method is GET (19d9f60)
Features
- datastore: add created_at timestamp to online GC review queue tables (3a38a0a)
- datastore: calculate total manifest size on creation (4c38d53)
- handlers: log metadata when a new blob is uploaded (83cb07e)
3.11.1 (2021-09-20)
Bug Fixes
- api/errcode: extract enclosed error from a storage driver catch-all error (800a15e)
- api/errcode: propagate 503 Service Unavailable status thrown by CGS (21041fe)
- gc: always propagate correlation ID from agent to workers (8de9c93)
- gc/worker: delete task if dangling manifest no longer exists on database (dffdd72)
- handlers: ignore tag not found errors when deleting a manifest (e740416)
3.11.0 (2021-09-10)
Bug Fixes
- handlers: use 400 Bad Request status for canceled requests (30428c6)
- log: use same logger key between both logging packages (04e2f68)
- storage: provide detailed error when blob enumeration cannot parse digest from path (f8d9d40)
Features
- use ISO 8601 with millisecond precision as timestamp format (2c56935)
- handlers: log metadata when a blob is downloaded (ca37bff)
- handlers: use structured logging throughout (97975de)
- configurable expiry delay for storage backend presigned URLs (820052a)
3.10.1 (2021-09-03)
Bug Fixes
- set prepared statements option for the CLI DB client (1cc1716)
- configuration: require rootdirectory to be set when in migration mode (6701c98)
- gc: improve handling of database errors and review postponing (e359925)
3.10.0 (2021-08-23)
Features
- handlers: log metadata when a manifest is uploaded or downloaded (e078c9f)
- handlers: log warning when eligibility flag is not set in migration mode (fe78327)
3.9.0 (2021-08-18)
Features
- handlers: enable migration mode to be paused (9d43c34)
3.8.0 (2021-08-17)
Bug Fixes
- handlers: deny pushes for manifest lists with blob references except manifest cache images (79e854a)
- handlers: enable cross repository blob mounts without FS mirroring (98fe521)
- handlers: handle blob not found errors when serving head requests (2492b4e)
- storage: never write blob links when FS mirroring is disabled (0786b77)
Features
- datastore: allow removing a connection from the pool after being idle for a period of time (0352cc3)
- storage/driver/s3-aws: add IRSA auth support (de69331)
Performance Improvements
- handlers: lookup single blob link instead of looping over all (46f1642)
3.7.0 (2021-08-06)
Bug Fixes
- auth/token: fix migration eligibility validation for read requests (6576897)
- handlers: handle Buildkit index as an OCI manifest when using the database (556ab04)
- use MR diff SHA in commitlint job (f66bccb)
- handlers: default to the schema 2 parser instead of schema 1 for manifest uploads (0c62ea4)
- handlers: display error details when invalid media types are detected during a manifest push (f750297)
- handlers: fallback to OCI media type for manifests with no payload media type (854f3ad)
- handlers: migration_path label should be logged as string (524a614)
- handlers: return 400 Bad Request when saving a manifest with unknown media types on the DB (0a39980)
- storage/driver/azure: give deeply nested errors more context (3388e1d)
Features
- storage: instrument blob download size and redirect option (f091ff9)
Performance Improvements
- storage: do not descend into hashstates directors during upload purge (b46d563)
3.6.2 (2021-07-29)
Bug Fixes
- handlers: always add the migration_path label to HTTP metrics (b152880)
- handlers: reduce noise from client disconnected errors during uploads (61478d7)
- handlers: set correct config media type when saving manifest on DB (00f2c95)
- storage: return ErrManifestEmpty when zero-lenth manifest content is encountered (1ad342b)
Performance Improvements
- handlers: only read config from storage if manifest does not exist in DB (8851793)
Build System
- upgrade aliyungo dependency (2d44f17)
- upgrade aws-sdk-go dependency to 1.40.7 (e48843c)
- upgrade backoff/v4 dependency to 4.1.1 (abcb620)
- upgrade clock dependency to 1.1.0 (15c8463)
- upgrade cobra dependency to 1.2.1 (fed057e)
- upgrade docker/libtrust dependency (16adbf0)
- upgrade go-metrics dependency to 0.0.1 (3b4eae0)
- upgrade golang.org/x/time dependency (15b708c)
- upgrade labkit dependency to 1.6.0 (d56a536)
- upgrade opencontainer image-spec dependency to 1.0.1 (c750921)
- upgrade pgconn dependency to 1.10.0 (756cf1b)
- upgrade pgx/v4 dependency to 4.13.0 (b3ed0df)
- upgrade sentry-go dependency to 0.11.0 (b1ec39f)
- upgrade sql-migrate dependency (d00429e)
[v3.6.1-gitlab] - 2021-07-23
Changed
- registry/storage: Upgrade the GCS SDK to v1.16.0
Fixed
- registry/storage: Offline garbage collection will continue if it cannot find a manifest referenced by a manifest list.
[v3.6.0-gitlab] - 2021-07-20
Changed
- registry/api/v2: Return 400 - Bad Request when client closes the connection, rather than returning 500 - Internal Server Error
- registry/storage: Upgrade Amazon S3 SDK to v1.40.3
[v3.5.2-gitlab] - 2021-07-13
Fixed
- registry/api/v2: Attempting to read a config through the manifests endpoint will now return a not found error instead of an internal server error.
[v3.5.1-gitlab] - 2021-07-09
Removed
- configuration: Remove proxy configuration migration section
- registry: Remove ability to migrate to remote registry
Fixed
- registry/storage: Offline garbage collection now appropriately handles docker buildx cache manifests
Added
- registry/api/v2: Log a warning when encountering a manifest list with blob references
[v3.5.0-gitlab] - 2021-06-10
Changed
- registry/datastore: Partitioning by top-level namespace
Fixed
- registry/storage: Offline garbage collection no longer inappropriately removes untagged manifests referenced by a manifest list
Added
- registry/storage: S3 Driver will now use Exponential backoff to retry failed requests
[v3.4.1-gitlab] - 2021-05-11
Fixed
- registry/storage: S3 driver now respects rate limits in all cases
Changed
- registry/storage: Upgrade Amazon S3 SDK to v1.38.26
- registry/storage: Upgrade golang.org/x/time to v0.0.0-20210220033141-f8bda1e9f3ba
- registry: Upgrade github.com/opencontainers/go-digest to v1.0.0
- registry/storage: Upgrade Azure SDK to v54.1.0
[v3.4.0-gitlab] - 2021-04-26
Changed
- registry/datastore: Switch from 1 to 64 partitions per table
Fixed
- registry: Log operating system quit signal as string
Added
- registry/gc: Add Prometheus counter and histogram for online GC runs
- registry/gc: Add Prometheus counter and histogram for online GC deletions
- registry/gc: Add Prometheus counter for online GC deleted bytes
- registry/gc: Add Prometheus counter for online GC review postpones
- registry/gc: Add Prometheus histogram for sleep durations between online GC runs
- registry/gc: Add Prometheus gauge for the online GC review queues size
[v3.3.0-gitlab] - 2021-04-09
Added
- registry: Add Prometheus counter for database queries
Changed
- registry/storage: Upgrade Azure SDK to v52.5.0
[v3.2.1-gitlab] - 2021-03-17
Fixed
- configuration: Don't require storage section for the database migrate CLI
[v3.2.0-gitlab] - 2021-03-15
Added
- configuration: Add
rootdirectory
option to the azure storage driver - configuration: Add
trimlegacyrootprefix
option to the azure storage driver
[v3.1.0-gitlab] - 2021-02-25
Added
- configuration: Add
preparedstatements
option to toggle prepared statements for the metadata database - configuration: Add
draintimeout
to database stanza to set optional connection close timeout on shutdown - registry/api/v2: Disallow manifest delete if referenced by manifest lists (metadata database only).
- registry: Add CLI flag to facilitate programmatic state checks for database migrations
- registry: Add continuous online garbage collection
Changed
- registry/datastore: Metadata database does not use prepared statements by default
[v3.0.0-gitlab] - 2021-01-20
Added
- registry: Experimental PostgreSQL metadata database (disabled by default)
- registry/storage/cache/redis: Add size and maxlifetime pool settings
Changed
- registry/storage: Upgrade Swift client to v1.0.52
Fixed
- registry/api: Fix tag delete response body
Removed
- configuration: Drop support for TLS 1.0 and 1.1 and default to 1.2
- registry/storage/cache/redis: Remove maxidle and maxactive pool settings
- configuration: Drop support for logstash and combined log formats and default to json
- configuration: Drop support for log hooks
- configuration: Drop NewRelic reporting support
- configuration: Drop Bugsnag reporting support
- registry/api/v2: Drop support for schema 1 manifests and default to schema 2
[v2.13.1-gitlab] - 2021-01-13
Fixed
- registry: Fix HTTP request duration and byte size Prometheus metrics buckets
[v2.13.0-gitlab] - 2020-12-15
Added
- registry: Add support for a pprof monitoring server
- registry: Use GitLab LabKit for HTTP metrics collection
- registry: Expose build info through the Prometheus metrics
Changed
- configuration: Improve error reporting when
storage.redirect
section is misconfigured - registry/storage: Upgrade the GCS SDK to v1.12.0
Fixed
- registry: Fix support for error reporting with Sentry
[v2.12.0-gitlab] - 2020-11-23
Deprecated
- configuration: Deprecate log hooks, to be removed by January 22nd, 2021
- configuration: Deprecate Bugsnag support, to be removed by January 22nd, 2021
- configuration: Deprecate NewRelic support, to be removed by January 22nd, 2021
- configuration: Deprecate logstash and combined log formats, to be removed by January 22nd, 2021
- registry/api: Deprecate Docker Schema v1 compatibility, to be removed by January 22nd, 2021
- configuration: Deprecate TLS 1.0 and TLS 1.1 support, to be removed by January 22nd, 2021
Added
- registry: Add support for error reporting with Sentry
- registry/storage/cache/redis: Add Prometheus metrics for Redis cache store
- registry: Add TLS support for Redis
- registry: Add support for Redis Sentinel
- registry: Enable toggling redirects to storage backends on a per-repository basis
Changed
- configuration: Cloudfront middleware
ipfilteredby
setting is now optional
Fixed
- registry/storage: Swift path generation now generates multiple directories as intended
- registry/client/auth: OAuth token authentication now returns a
ErrNoToken
if a token is not found in the response - registry/storage: Fix custom User-Agent header on S3 requests
- registry/api/v2: Text-charset selector removed from
application/json
content-type
[v2.11.0-gitlab] - 2020-09-08
Added
- registry: Add new configuration for changing the output for logs and the access logs format
Changed
- registry: Use GitLab LabKit for correlation and logging
- registry: Normalize log messages
[v2.10.0-gitlab] - 2020-08-05
Added
- registry: Add support for continuous profiling with Google Stackdriver
Merge Request checklist
-
This change is backward compatible. If not, please include steps to communicate to our users. -
Tests added for new functionality. If not, please raise Issue to follow-up. -
Documentation added/updated, if needed. -
gdk doctor
test added, if needed. -
Add the ~highlight
label if this MR should be included in theCHANGELOG.md
.
Edited by Hayley Swimelar