Red Hat Quay Release Notes

Red Hat Quay 3.2

Red Hat Quay

Red Hat OpenShift Documentation Team

Abstract

Red Hat Quay Release Notes

Preface

Red Hat Quay is regularly released, containing new features, bug fixes, and software updates. We highly recommend deploying the latest version of Red Hat Quay.

For Red Hat Quay documentation, you should know that:

  • Documentation is versioned along with each major release
  • The latest Red Hat Quay documentation is available from the Red Hat Quay Documentation page
  • Prior to version 2.9.2, the product was referred to as Quay Enterprise
  • Documentation versions prior to 2.9.2 are archived on the CoreOS site

Red Hat Quay, version 3 is the latest major version.

1. Version 3.2.2

Release Date: April 27, 2020

Fixed:

  • Clair correctly downloads vulnerabilities even if one fails (see PROJQUAY-567).

Link to this Release

2. Version 3.2.1

Release Date: February 10, 2020

Fixed:

  • git: Remote code execution in recursive clones with nested submodules Security. (See CVE-2019-1387.)
  • yarn: nodejs-yarn: Install functionality can be abused to generate arbitrary symlinks. (See CVE-2019-10773.)

Link to this Release

3. Version 3.2.0

Release Date: December 17, 2019

Added:

  • New required manual config.yaml entry “DATABASE_SECRET_KEY” will be used to encrypt all robot tokens in the database (CVE-2019-10205)
  • New Container Security Operator integrating security scanning into OpenShift Container Platform.
  • Quay Setup Operator is now generally available (GA).
  • Repository mirroring is now generally available (GA).
  • Support for OpenShift Container Storage 4 leveraging NooBaa Multi-Cloud Gateway.
  • Improved repository mirror logging.
  • Notifications enabled for repository mirror start, finish, and error.
  • Remove validation from repository mirror proxy config.
  • Two guides were added to Red Hat Quay documentation: Deploy Red Hat Quay on OpenShift (Setup Operator) and Red Hat Quay API Guide.

Fixed:

  • Fixed for broken scrollbars in UI on pages such as repository tags.
  • Fix inability to star a repository

Deprecated:

  • "rkt" conversion: This feature is now marked as deprecated in the Red Hat Quay UI. Expect the feature to be removed completely in the near future.
  • Bittorrent: This feature is deprecated and will not appear in the Red Hat Quay UI unless it is already configured in an existing Red Hat Quay config.yaml. Expect the feature to be removed completely in the near future.
  • V1 Push Support: This feature is deprecated. For Red Hat Quay v3.1, the config UI marked this feature as follows:

    Docker V1 protocol support has been officially deprecated by
    Quay and support will be removed in the next major version.
    It is strongly suggested to have this flag enabled and to
    restrict access to V1 push.

Link to this Release

4. Version 3.1.3

Release Date: November 22, 2019

Fixed:

  • NVD stopped publishing the XML feed, Clair now consumes JSON feed

Link to this Release

5. Version 3.1.2

Release Date: October 31, 2019

Fixed:

  • Upgrade base image to latest rhel:7.7
  • Repository mirroring properly updates status
  • Application repositories in public namespaces shown in UI
  • Description of log operations in UI
  • Quay V3 upgrade fails with "id field missing from v1Compatibility JSON"
  • Security token for storage proxy properly URL encoded

Link to this Release

6. Version 3.1.1

Release Date: October 3, 2019

Fixed:

  • clair-jwt image rebuilt with latest go-toolset (related to RHSA-2019:2682-05)
  • Fixed repository mirror credentials properly escaped to allow special characters
  • Fixed repository mirror UI cancel button enabled
  • Fixed repository mirror UI change next sync date
  • Removed kernel-headers package from clair-jwt and quay-builder images to elliminate false vulnerabilities
  • Updated SCL rh-nginx112 (related to CVE-2019-9511, CVE-2019-9513, CVE-2019-9516)

Link to this Release

7. Version 3.1.0

Release Date: September 5, 2019

Added:

  • New Repository Mirror functionality (Technology Preview) to continuously synchronize repositories from external source registries into Red Hat Quay
  • New Repository Mode setting (Normal, Mirrored, Read-Only) to indicate how a repository is updated
  • New Red Hat Quay Setup Operator (Developer Preview) to automate configuring Red Hat Quay on OpenShift
  • Configuration settings for adding NooBaa S3 were added to the configuration tool for Red Hat Quay v3.1 and are supported as Technology Preview.
  • Support for using the Crunchy Data Operator to deploy Postgresql as Red Hat Quay database
  • Ability to use build ARGS as first line in Dockerfiles in Red Hat Quay builds
  • New Red Hat color scheme in Red Hat Quay web UI
  • Documentation updates:

    • New Repository Mirroring section in the Manage Red Hat Quay guide
    • Addition of Clair and Repository Mirroring setup to all deployment guides
    • New procedure in Red Hat Quay Upgrade guide for v3.1

Fixed:

  • Display of repo_verb logs in logs panel
  • Ensure robot accounts being granted access actually belongs in same namespace
  • Numerous documentation improvements

Known Issues:

  • During repository mirroring, in order to fetch tags from a repository, at least one tag in the list of tags to sync must exist exactly as specified. See Repository Mirroring in Red Hat Quay for more details.
  • Repository mirror config has known issues when remote registry username or password has characters requiring special handling for shell commands. Specifically, the tokens for registry.redhat.io with a pipe (|) character in them are incorrectly escaped. Out of an abundance of caution, a fix for this will follow in a subsequent update.

Link to this Release

8. Version 3.0.5

Release Date: August 28, 2019

Added:

  • Config flag to disable TLSv1.0 support

Fixed:

  • LDAP config error when user search results exceeds 1000 objects
  • Remove obsolete 01_copy_syslog_config.sh
  • Config tool fails to set up database when password string contains "$"

Link to this Release

9. Version 3.0.4

Release Date: July 15, 2019

Fixed:

  • Package vulnerability notifications now shown in UI
  • Fixed error while deleting manifest after pushing new tag
  • Manifest now shown in UI for all types
  • CSRF rotation corrected
  • nginx access and error logs now to stdout

Link to this Release

10. Version 3.0.3

Release Date: June 20, 2019

Fixed:

  • Security scan notifications endpoint not working
  • Exception raised during parallel pushes of same manifest on Postgres
  • Connection pooling was ignoring environment variable
  • Exception when in OAuth approval flow

Link to this Release

11. Version 3.0.2

Release Date: May 20, 2019

Fixed:

  • Running Red Hat Quay in config mode now works in a disconnected option which doesn’t require pulling resources from the Internet.
  • Red Hat Quay’s security scan endpoint is now enabled at startup for viewing results of Clair container image scans.
  • A flaw was found in the way the DES/3DES cipher was used as part of the TLS/SSL protocol. A man-in-the-middle attacker could use this flaw to recover some plaintext data by capturing large amounts of encrypted traffic between TLS/SSL server and client if the communication used a DES/3DES based ciphersuite. (CVE-2016-2183)

Link to this Release

12. Version 3.0.1

Release Date: May 13, 2019

Fixed:

  • Health API endpoint (/health/instance) now correctly checks the internal port to verify all services.

Link to this Release

13. Version 3.0.0

Release Date: May 1, 2019

Red Hat Quay V3 offers the following new features:

13.1. Red Hat Quay Web UI configuration tool

A new Red Hat Quay configuration tool option within the quay image lets you create Red Hat Quay configuration files before starting a Red Hat Quay installation. The result of the configuration tool is a tarball of Red Hat Quay configuration files. Using that tarball greatly simplifies multi-instance deployments. The tarball contains the config.yaml file, and any optional files such as an SSL certificate (ssl.cert) and SSL key (ssl.key).

Choosing between the two different configuration tool options, you can either create a configuration file from scratch or modify an existing set of configuration files. In both cases, after you create the configuration, you can carry the tarball to each machine in your new Red Hat Quay cluster or apply it on an OpenShift or other Kubernetes cluster to use it to actually deploy Red Hat Quay.

The new Red Hat Quay configuration tool greatly simplifies the deployment of Red Hat Quay on OpenShift and other Kubernetes platforms. Using this tool helps you automatically deploy changes to nodes and can trigger Kubernetes blue-grean deployments of Red Hat Quay containers for configuration updates.

13.2. Support for Windows Container Images

Windows containers offer a way to run applications written for Microsoft Windows server platforms on container-enabled platforms, such as OpenShift and Kubernetes. By supporting Windows containers, Red Hat Quay V3 allows you to store your Windows containers in your Red Hat Quay registry using the same kinds of tools you use to push and pull your Linux containers.

13.3. Multi-Architecture Container Image Support

Red Hat Quay V3 now supports multi-architecture container manifests. The Docker Registry API spec v2_s2 container specification supports multi-architecture containers by adding an architecture label to the image manifest. Having this field set for a particular architecture allows images of the same architecture type to be pushed to a Red Hat Quay repository and later automatically accessed from a Red Hat Quay repository, while still requesting generic names for containers. Supported architectures IBM Power LE and z System workloads, ARM based IoT devices and Windows-based workloads.

13.4. Built on Red Hat Enterprise Linux

As part of the process of moving Red Hat Quay toward fully integrating into the Red Hat Product lineup, Red Hat Quay V3 is now delivered in a Red Hat Enterprise Linux 7.x container image. Moving Red Hat Quay into a RHEL container does not in any way change the interface or general functioning of the container, but simply allows Red Hat Quay to become better aligned with other Red Hat product offerings.

13.5. Red Hat Quay images now in redhat repo on Quay.io

Red Hat Quay images formerly stores in the quay.io/coreos repository are moving to quay.io/redhat for Red Hat Quay version 3. Available images include:

  • quay.io/redhat/quay
  • quay.io/redhat/quay-builder
  • quay.io/redhat/clair-jwt

Earlier version of quay and quay-builder images will remain on quay.io/coreos. For example, quay.io/coreos/quay:v2.9.5.

Container Images based on RHEL inherit all certification and support features from RHEL. They can also take advantage of quickly leveraging security fixes and updates as they become available in RHEL.

13.6. Changes to support running containers in unprivileged mode

Previous versions of images required running in privileged mode. To remove this restriction, container config and ports were changed.

  • clair-jwt config has moved from /config to /clair/config
  • You must update references to additional files, such as certificates, in clair-jwt’s config.
  • The quay HTTP port is now 8080. The HTTPS port is 8443.
  • If you use the proxy port on quay, it has been moved to 7443.

The move to a RHEL base image means the certificate install path has changed to /etc/pki/ca-trust/source/anchors. Examples running the images have been updated to reflect this.

Link to this Release

14. Version 2.9.5

Release Date: March 27, 2019

Added:

  • Signature V4 Authentication for AWS S3

Fixed:

  • Prohibit DES TLS ciphers

Link to this Release

15. Version 2.9.4

Release Date: November 1, 2018

Fixed:

  • Georeplication under certain failure conditions would incorrectly mark storage as replicated (#3283)

Link to this Release

16. Version 2.9.3

Release Date: July 24, 2018

Fixed:

  • Changed to using v4 of Gitlab API now that v3 has been deprecated and removed (#3110)

Link to this Release

17. Version 2.9.2

Release Date: May 16, 2018

Note

This release fixes a bug in which the deletion of namespaces did not result in the deletion of robot accounts under that namespace. While this is not a security issue (no permissions or credentials are leaked), it can appear unusual to users, so an upgrade is highly recommended. This change also includes a migration that cleans up the aforementioned robot accounts, so the migration step can take several minutes. Please plan accordingly.

Added:

  • Support for custom query parameters on OIDC endpoints (#3050)
  • Configurable options for search page length and maximum number of pages (#3060)
  • Better messaging for when the maximum search page is reached (#3060)
  • Support for browser notifications (#3068)

Fixed:

  • Robot accounts were not being immediately deleted under namespaces (#3071)
  • Setup under latest versions of Kubernetes (#3051)
  • Viewing of logs in repositories with many, many logs (#3082)
  • Filtering of deleting users and organizations in superuser panel (#3080)
  • Incorrect information displayed for builds triggered by deleted build triggers (#3078)
  • Robots could not be created with empty descriptions (#3073)
  • Inability to find Dockerfile in certain archives (#3072)
  • Display of empty tab in credentials dialog under certain circumstances (#3061)
  • Overflow of robot names when extremely long (#3062)
  • Respect CPU affinity when determining number of workers to run (#3064)
  • Breakage in RECATPCHA support (#3065)

Link to this Release

18. Version 2.9.1

Release Date: April 9, 2018

Note

This release fixes the 2.9.0 migration. If you experienced an error during the 2.9.0 migration, manually rollback and then upgrade your quay instance to 2.9.1.

Fixed:

  • Specify default server value for new integer fields added (#3052)
  • Overflow of repository grid UI (#3049)

Link to this Release

19. Version 2.9.0

Release Date: April 3, 2018

Added:

  • Automatic cleanup of expired external application tokens (#3002)
  • Make deletions of namespaces occur in the background (#3014)
  • Ability to disable build triggers (#2892)
  • Have repeatedly failing build triggers be automatically disabled (#2892)
  • Automatic caching of registry Blob data for faster pull operations (#3022)
  • Creation date/time, last usage date/time and other metadata for robot accounts (#3024)
  • Collaborators view under organizations, for viewing non-members (#3025)

Fixed:

  • Make superusers APIs for users and organizations visible in the API browser (#3017)
  • Better messaging when attempting to create a team that already exists (#3006)
  • Prevent possible reflected text attacks by limiting API access (#2987)
  • Have checkable menus in UI respect filters (#3013)
  • Users being invited to a new organization must always be invited (#3029)
  • Removed all license requirements in Quay (#3031)
  • Squashed images with hard links pointing to deleted files no longer fail (#3032)
  • 500 error when trying to pull certain images via torrent (#3036)

Link to this Release

20. Version 2.8.0

Release Date: February 13, 2018

Added:

  • Support for Azure Blob Storage (#2902)
  • Ability to filter out disabled users in users list API (#2954)
  • Image ID in expanded tags view (#2965)
  • Processes auto-scale based on CPU count (#2971, 2978)
  • Health checks for all workers (#2977)
  • Health checks and auto-rotation for service keys (#2909)
  • Ability to back GitHub or Google login with LDAP/Keystone (#2983)
  • Configurable page size for Docker Registry V2 API pagination (#2993)

Fixed:

  • Anonymous calls to API discovery endpoint (#2953)
  • Optimized creation of repositories
  • Optimized manifest pushing
  • LDAP password input is now password field (#2970)
  • 500 raised when sending an invalid release name for app repos (#2979)
  • Deletion of expired external app tokens (#2981)
  • Sizing of OIDC login buttons (#2990)
  • Hide build-related UI when builds are not enabled (#2991)
  • Incorrect caching of external application token expiration (#2996)
  • Warning bar should not be displayed for already expired application tokens (#3003)

Link to this Release

21. Version 2.7.0

Release Date: January 8, 2018

Note

This release removes support for the OIDC token internal authentication mechanism and replaces it with support for a new app-specific token system. All customers using the old OIDC token auth mechanism must change their configuration after updating manually in config.yaml.

Added:

  • Support for external application tokens to be used on the Docker CLI (#2942)
  • Explore tab for browsing visible repositories (#2921)
  • Ability to view and copy full manifest SHAs in tags view (#2898)
  • Support for robot tokens in App Registry pushes and pulls (#2899)

Fixed:

  • Failure when attempting to use Skopeo tool to access the registry (#2950)
  • Ordering of segments in Swift to match spec (#2920)
  • Squashed image downloading when using Postgres DB (#2930)
  • Hide "Start Build" button if the action is not allowed (#2916)
  • Exception when pushing certain labels with JSON-like contents (#2912)
  • Don’t add password required notification for non-database auth (#2910)
  • Tags UI spacing on small displays (#2904)
  • Push updated notification now shows correct tags (#2897)
  • "Restart Container" button in superuser config panel (#2928)
  • Various small JavaScript security fixes

Link to this Release

22. Version 2.6.2

Release Date: December 19, 2017

Added:

  • License validation before config save

Fixed:

  • Failure to register uploaded TLS certificates (#2946)

Link to this Release

23. Version 2.6.1

Release Date: October 26, 2017

Added:

  • Optimized overhead for direct downloads from Swift storage (#2889)

Fixed:

  • Immediately expire image builds that fail to start (#2887)
  • Failure to list all GitHub Enterprise namespaces (#2894)
  • Incorrect links to builds in notifications (#2895)
  • Failure to delete certain app repositories (#2893)
  • Inability to display Tag Signing status (#2890)
  • Broken health check for OIDC authentication (#2888)

Link to this Release

24. Version 2.6.0

Release Date: October 10, 2017

Added:

  • Ability to use OIDC token for CLI login (#2695)
  • Documentation for OIDC callback URLs in setup tool
  • Ability for users to change their family and given name and company info (#2870)
  • Support for invite-only user sign up (#2867)
  • Option to disable partial autocompletion of users (#2864)
  • Georeplication support in Swift storage (#2874)

Fixed:

  • Namespace links ending in slashes (#2871)
  • Contact info setup in setup tool (#2866)
  • Lazy loading of teams and robots (#2883)
  • OIDC auth headers (#2695)

Link to this Release

25. Version 2.5.0

Release Date: September 7, 2017

Added:

  • Better TLS caching (#2860)
  • Feature flag to allow read-only users to build logs (#2850)
  • Feature flag to enable team sync setup when not a superuser (#2813)
  • Preferred public organizations list (#2850)
  • OIDC support for OIDC implementations without user info endpoint (#2817)
  • Support for tag expiration, in UI and view a special quay.expires-after label (#2718)
  • Health checks report failure reasons (#2638)
  • Enable database connection pooling (#2834)

Fixed:

  • Setting of team resync option
  • Purge repository on very large repositories

Link to this Release

26. Version 2.4.0

Release Date: July 10, 2017

Added:

  • Kubernetes Applications Support
  • Full-page search UI (#2529)
  • Always generate V2 manifests for tag operations in UI (#2608)
  • Option to enable public repositories in v2 catalog API (#2654)
  • Disable repository notifications after 3 failures (#2652)
  • Remove requirement for flash for copy button in UI (#2667)

Fixed:

  • Upgrade support for Markdown (#2624)
  • Kubernetes secret generation with secrets with CAPITAL names (#2640)
  • Content-Length reporting on HEAD requests (#2616)
  • Use configured email address as the sender in email notifications (#2635)
  • Better peformance on permissions lookup (#2628)
  • Disable federated login for new users if user creation is disabled (#2623)
  • Show build logs timestamps by default (#2647)
  • Custom TLS certificates tooling in superuser panel under Kubernetes (#2646, #2663)
  • Disable debug logs in superuser panel when under multiple instances (#2663)
  • External Notification Modal UI bug (#2650)
  • Security worker thrashing when security scanner not available
  • Torrent validation in superuser config panel (#2694)
  • Expensive database call in build badges (#2688)

Link to this Release

27. Version 2.3.4

Release Date: May 3, 2017

Added:

  • Always show tag expiration options in superuser panel

Link to this Release

28. Version 2.3.3

Release Date: May 2, 2017

Added:

  • Prometheus metric for queued builds (#2596)

Fixed:

  • Allow selection of Gitlab repository when Gitlab sends no permissions (#2601)
  • Failure when viewing Gitlab repository with unexpected schema (#2599)
  • LDAP stability fixes (#2598, #2584, #2595)
  • Viewing of repositories with trust enabled caused a 500 (#2594, #2593)
  • Failure in setup tool when time machine config is not set (#2589)

Link to this Release

29. Version 2.3.2

Release Date: April 27, 2017

Added:

  • Configuration of time machine in UI (#2516)

Fixed:

  • Auth header in OIDC login UserInfo call (#2585)
  • Flash of red error box on loading (#2562)
  • Search under postgres (#2568)
  • Gitlab namespaces with null avatars (#2570)
  • Build log archiver race condition which results in missing logs (#2575)
  • Team synchronization when encountering a user with a shared email address (#2580)
  • Create New tooltip hiding dropdown menu (#2579)
  • Ensure build logs archive lookup URL checks build permissions (#2578)

Link to this Release

30. Version 2.3.1

Release Date: April 21, 2017

Note

This release fixes the 2.3.0 migration. If you experienced an error during the 2.3.0 migration, manually rollback and then upgrade your quay instance to 2.3.1.

Fixed:

  • Specify default server value for new bool field added to the repository table

Link to this Release

31. Version 2.3.0

Release Date: April 20, 2017

Note

This release has known issues, related to database migrations, and will not work for many customers. If you are using this release, upgrade your Quay cluster to 2.3.4 or later.

Added:

  • LDAP Team Sync support (#2387, #2527)
  • Improved search performance through pre-computed scores (#2441, #2531, #2533, #2539)
  • Ability to allow pulls even if audit logging fails (#2306)
  • Full error information for build errors in Superuser panel (#2505)
  • Better error messages passed to the Docker client (#2499)
  • Custom git triggers can specify separate build context directory (#2517, #2509)
  • Improved performance on repository list API (#2542, #2544, #2546)

Fixed:

  • Handle undefined case in build message (#2501)
  • OIDC configuration in Superuser panel (#2520)
  • Ability to invite team members by email address (#2522)
  • Avatars for non-owner namespaces in GitLab (#2507, #2532)
  • Update dependencies and remove warnings (#2518, #2511, #2535, #2545, #2553)
  • Remove link to blog (#2523)
  • Better handling for unavailable frontend dependencies (#2503)
  • Top level redirect logic for missing repositories (#2540)
  • Remove extra slash from missing base image permissions error in build logs (#2548)
  • Backfill replication script when adjusting replication destinations (#2555)
  • Errors when deleting repositories without security scanning enabled (#2554)

Link to this Release

32. Version 2.2.0

Release Date: March 31, 2017

Note

This release contains a migration that adds a new feature to the build system. This requires shutting down the entire cluster including builders and running one instance to migrate the database forward. You must use a v2.2.0 builder with a v2.2.0 Quay cluster.

Added:

  • Separate build contexts from Dockerfile locations (#2398, #2410, #2438, #2449, #2480, #2481)
  • Configuration and enforcement of maximum layer size (#2388)
  • OIDC configuration in the Super User Panel (#2393)
  • Batching of Security Scanner notifications (#2397)
  • Auth Failures now display messages on the docker client (#2428, #2474)
  • Redesigned Tags page to include Labels, Image ID Type, and more informative Security Scanner information (#2416)

Fixed:

  • Parsing new docker client version format (#2378)
  • Improved repository search performance (#2392, #2440)
  • Miscellaneous Build Trigger page issues (#2405, #2406, #2407, #2408, #2409, #2414, #2418, #2445)
  • Remove all actionable CVEs from the docker image (#2422, #2468)
  • Minor bugs in Repository views (#2423, #2430, #2431)
  • Improve performance by deleting keys in redis rather than expiring (#2439)
  • Better error messages when configuring cloud storage (#2444)
  • Validation and installation of custom TLS certificates (#2473)
  • Garbage Collection corner case (#2404)

Link to this Release

33. Version 2.1.0

Release Date: February 22, 2017

POSTGRESQL USERS: This release adds full-text searching capabilities to Quay Enterprise. In order to support this feature, the upgrade migration will attempt to create the pg_trgm extension in the database. This operation requires superuser access to run, and requires the PostgreSQL Additional Modules to be installed. See https://coreos.com/quay-enterprise/docs/latest/postgres-additional-modules.html to learn how to install the extensions.

Added:

  • Full text search support (#2272)
  • OIDC support (#2300, #2348)
  • API for lookup of security status of a manifest (#2334)
  • More descriptive logs (#2358)

Fixed:

  • Datetime bug in logs view (#2318)
  • Display bug in logs view (#2345)
  • Display of expiration date for licenses with multiple entries (#2354)
  • V1 search compatibility (#2344)

Link to this Release

34. Version 2.0.5

Release Date: January 30, 2017

Added:

  • Build logs viewer in superuser panel

Fixed:

  • Support for wildcard certs in the superuser config panel

Link to this Release

35. Version 2.0.4

Release Date: January 26, 2017

Added:

  • Expand allowed length of namespaces to be between 2 and 255 characters (#2291)
  • Better messaging for namespaces (#2283)
  • More customization of Message Of The Day (MOTD) (#2282)
  • Configurable and default timeout for LDAP (#2247)
  • Custom SSL certificate panel in superuser panel (#2271, #2274)
  • User and Organization list pagination on superuser panel (#2250)
  • Performance improvements for georeplication queuing (#2254)
  • Automatic garbage collection in security scanner (#2257)
  • RECAPTCHA support during create account flow (#2245)
  • Always display full git error in build logs (#2277)
  • Superuser config clarification warnings (#2279)
  • Performance improvements around queues (#2276, #2286, #2287)
  • Automatic retry for security scanning (#2242)
  • Better error messaging on security scanner lookup failure (#2235)
  • Ensure robot accounts show at top of entity autocomplete (#2243)

Fixed:

  • Exception when autocompleting users in teams (#2255)
  • Port mapping in ACI conversion (#2251, #2273)
  • Error messaging for attempting to join a team with invalid email (#2240)
  • Prometheus metrics for scale (#2237)
  • Security scanner notification pagination (#2233, #2249)

Regressed:

  • Support for wildcard certs in the superuser config panel

Link to this Release

36. Version 2.0.3

Release Date: December 9, 2016

Added:

  • Allow extra_ca_certs to be a folder or a file (#2180)

Fixed:

  • Cancelling build bug (#2203)
  • Allow license to be set in setup tool (#2200)
  • Improve queue performance (#2207, #2211)
  • Improve security scan performance (#2209)
  • Fix user lookup for external auth engines (#2206)

Link to this Release

37. Version 2.0.2

Release Date: December 2, 2016

Added:

  • Ability to cancel builds that are already building. (#2041, #2127, #2186, #2189, #2190)
  • Notifications when a build is canceled (#2173, #2184)
  • Remove deprecated email flag from generated docker login commands (#2146)
  • Upgrade nginx to v1.11.5 (#2140)
  • Improve performance of robots management UI (#2145)
  • Add data about specific manifest or tag pulled in audit logs (#2152)
  • Debug nginx logs from non-proxy protocol connection (#2167)
  • Accept multiple team invitations simultaneously (#2169)
  • Password recovery defaults to resetting password (#2170)
  • Gzip javascript and svg assets (#2171)
  • Add support for custom ports in RADOS and S3 storage engines (#2185)
  • Prometheus metric for number of unscanned images (#2183)

Fixed:

  • Fix entity search under Postgres (regression in v2.0.0) (#2172)
  • Error displayed for OAuth if an existing token already matches scopes (#2139)
  • Reduce timeouts of the build manager when under heavy load (#2143, #2157)
  • Fix guage metrics on prometheus endpoint (#2153)
  • Disable CoreOS update-engine on ephemeral Kubernetes builders (#2159)
  • Fix notifications generated by the build manager (#2163)
  • JSON encoding for chunk cleanup in Swift storage engine (#2162)
  • Fix configuration validator when setting up storage engine (#2176)
  • Multiline message of the day to not cover the search box (#2181)

Regressed:

  • User lookup for external auth engines broken

Link to this Release

38. Version 2.0.1

Release Date: November 17, 2016

Added:

  • A defined timeout on all HTTP calls in notification methods
  • Customized Build start timeouts and better debug logs
  • A warning bar when the license will become invalid in a week
  • Collection of user metadata: name and company
  • New Prometheus metrics
  • Support for temp usernames and an interstitial to confirm username
  • Missing parameter on RADOS storage
  • Stagger worker startup
  • Make email addresses optional in external auth if email feature is turned off
  • External auth emails to entity search
  • Banner bar message when license has expired or is invalid

Fixed:

  • Make sure to check for user before redirecting in update user
  • 500 on get label endpoint and add a test
  • KeyError in Github trigger setup
  • Change LDAP errors into debug statements to reduce log clutter
  • Bugs due to conflicting operation names in the API
  • Cannot-use-robot for private base image bug in build dialog
  • Swift exception reporting on deletion and add async chunk cleanup
  • Logs view for dates that start in zero
  • Small JS error fixes
  • A bug with accessing the su config panel without a license
  • Buildcomponent: raise heartbeat timeout to 60s
  • KeyError in config when not present in BitBucket trigger
  • Namespace lookup in V1 registry search
  • Build notification ref filtering setup in UI
  • Entity search API to not IndexError
  • Remove setup and superuser routes when SUPER_USERS is not enabled
  • TypeError in Gitlab trigger when user not found

Regressed:

  • Superuser config panel cannot save

Link to this Release

39. Version 2.0.0

Release Date: October 26, 2016

This release is a required release and must be run before attempting an upgrade to v2.0.0+.

In order to upgrade to this version, your cluster must contain a valid license.

Added:

  • Require valid license to enable registry actions (#2009, #2018)
  • The ability to delete users and organizations (#1698)
  • Add option to properly handle TLS terminated outside of the container (#1986)
  • Updated run trigger/build dialog (#1895)
  • Update dependencies to latest versions (#2012)
  • Ability to use dots and dashes in namespaces intended for use with newer Docker clients (#1852)
  • Changed dead queue item cleanup from 7 days to 1 day (#2019)
  • Add a default database timeout to prevent failed DB connections from hanging registry and API operations (#1764)

Fixed:

  • Fix error if a vulnerability notification doesn’t have a level filter (#1995)
  • Registry WWW-Authenticate and Link headers are now Registry API compliant (#2004)
  • Small fixes for Message of the Day feature (#2005, #2006)
  • Disallow underscores at the beginning of namespaces (#1852)
  • Installation tool liveness checks during container restarts (#2023)

Regressed:

  • Entity search broken under Postgres

Link to this Release

40. Version 1.18.1

Release Date: October 31, 2016

Fixed:

  • Exception when using RADOS GW Storage driver (#2057)

Link to this Release

41. Version 1.18.0

Release Date: October 13, 2016

Changed:

  • Add message of the day (#1953)
  • Add repository list pagination (#1858)
  • Add better 404 (and 403) pages (#1857)

Fixed:

  • Improved reliability of several JS functions (#1959) (#1980) (#1981)
  • Handle unicode in entity search (#1939)
  • Fix tags API pagination (#1926)
  • Add configurable timeout and debug flags to Keystone users (#1867)
  • Build notifications were failing to fire (#1859)
  • Add feature flag to turn off requirement for team invitations (#1845)
  • Don’t exception log for expected 404s in Swift storage (#1851)

Link to this Release

42. Version 1.17.1

Release Date: September 22, 2016

Changed:

  • Repository admins can now invoke build triggers manually (#1822)
  • Improved notifications UI and features (#1839)
  • Improved UX for managing teams (#1509)

Fixed:

  • Timeline’s delete-then-tag display bug (#1824)
  • Add .well-known endpoint for Quay (#1790)
  • .tar.gz does not work when building from archive via web UI (#1832)
  • Delete empty Swift chunks (#1844)
  • Handling of custom LDAP cert (#1846)

Link to this Release

43. Version 1.17.0

Release Date: September 12, 2016

Changed:

  • Added Labels API (#1631)
  • Kubernetes namespace existence check (#1771)
  • New UI and permissions handling for robots and teams (#1754, #1815)
  • Retry attempts to the S3-like storages (#1748, #1801, #1802)
  • Improved messaging when changing email addresses (#1735)
  • Emails now include logos (#1691)
  • Improved messaging around expired builds (#1681)

Fixed:

  • Logs inside the container failing to rotate (#1812)
  • Filtering of repositories only visible to organization admins (#1795)
  • Invalid HTTP response when creating a duplicate tag (#1780)
  • Asynchronous Worker robustness (#1778, #1781)
  • Manual build failure when using Bitbucket triggers (#1767)
  • Missing "Sign Out" link on mobile UI (#1765)
  • Miscellaneous changes to title usage (#1763)
  • Repository star appearing when not logged in (#1758)
  • Invalid AppC manifests generated when missing an ENV (#1753)
  • Timezones now incorporated into audit logs (#1747)
  • Fixed redirection to specific tags using short URLs (#1743)
  • Broken pagination over only public repositories (#1724, #1726, #1730)
  • Invisible glyph icons on date selectors (#1717)
  • Possibility storage of duplicate images (#1706)
  • Broken "Your Account" links in emails (#1694)
  • Non-admin users no longer default to organization-wide read (#1685)
  • Database performance (#1680, #1688, #1690, #1722, #1744, #1772)

Link to this Release

44. Version 1.16.6

Release Date: August 17, 2016

Changed:

  • Added ability to override secure cookie setting when using HTTPS protocol (#1712)

Link to this Release

45. Version 1.16.5

Release Date: August 3, 2016

Changed:

  • Better logging for delete issues in Swift (#1676)
  • Storage validation on /status endpoint (#1660)
  • Better logging for upload issues (#1639, #1670)
  • Support for Swift retries (#1638)
  • Support for Swift timeouts (#1634)

Fixed:

  • Pagination off-by-one issue in repository tags API (#1672)
  • Missing requires_cors on archived build logs URL (#1673)
  • Tutorial disconnect UI (#1657)
  • Enter key in password dialogs in Firefox (#1655)
  • Custom trigger links in UI (#1652)
  • GC database query optimizations (#1645, 1662)
  • Multipart refs on builds (#1651)
  • Invalid tags on builds (#1648)
  • Fresh login check failure (#1646)
  • Support for empty RDN in LDAP configuration (#1644)
  • Error raised on duplicate placements when replicating (#1633)

Link to this Release

46. Version 1.16.4

Release Date: July 18, 2016

Changed:

  • Configuration of multiple RDNs for LDAP login (#1601)
  • Key Server health check (#1598)
  • Prometheus endpoint (#1596)
  • Upgrade to latest upstream PyGitHub (#1592)

Fixed:

  • Race condition around starting builds (#1621)
  • Geo-replication for CAS objects (#1608)
  • Popularity metrics on list repositories API endpoint (#1599)
  • Removed redundant namespaces from repository listings (#1595)
  • Internal error when paginating a PostgreSQL-backed Quay (#1593, #1622)
  • GitHub API URLs are properly stripped of trailing slashes (#1590)
  • Tutorial fails gracefully without Redis (#1587)

Link to this Release

47. Version 1.16.3

Release Date: June 27, 2016

Changed:

  • Repository Activity Heatmap (#1569, #1571)
  • Restyled Robots View (#1568)
  • LDAP certificates specified by name (#1549)
  • Multiselect toggles for permissions (#1562)
  • Dynamically generated sitemap.txt (#1552)

Fixed:

  • Fixed URLs missing ports in setup process (#1583)
  • OAuth key not found error when setting up Dex (#1583)
  • Timestamps in syslog now display the proper time (#1579)
  • Added offset for clock skew in JWT expiration (#1578)
  • Replacement of illegal characters in usernames (#1565)
  • Differentiate between different tags on generated ACIs (#1523)
  • Decreased lifetime of various redis keys (#1561)
  • Build pages now robust to redis outage (#1560)
  • Validation of build arguments before contacting a build worker (#1557)
  • Removed hosted Quay.io status from Enterprise 500 page (#1548)
  • Performance of database queries (#1512)

Link to this Release

48. Version 1.16.2

Release Date: June 16, 2016

Changed:

  • Ability for admins to "Take Ownership" of a namespace (#1526)

Fixed:

  • Encrypted Password Dialog can use External Auth Usernames (#1541)
  • Logging race condition in container startup (#1537)
  • Improved database performance on various pages (#1511, #1514)
  • The 'Return' key now works in password dialogs (#1533)
  • Repository descriptions breaking log page styles (#1532)
  • Styles on Privacy and Terms of Service pages (#1531)

Link to this Release

49. Version 1.16.1

Release Date: June 8, 2016

Changed:

  • Registry JWT now uses Quay’s Service Keys (#1498, #1527)
  • Upgrade to Ubuntu 16.04 LTS base image (#1496)
  • Storage Replication for Registry v2 images (#1502)
  • Better error messaging for build logs (#1500)
  • Granting of OAuth tokens for users via xAuth (#1457)
  • Random generation of key configuration values (#1485)
  • Upgrade to AngularJS v1.5 (#1473)
  • Swift API v3 storage support (#1472)
  • Clarification on various tool tip dialogs (#1468)
  • Various backend performance increases (#1459, #1493, #1510, #950)
  • New Credentials, Team, Robot Dialogs (#1421, #1455)

Fixed:

  • Pagination keys must be url-safe base64 encoded (#1485)
  • Sign In to work with more password managers (#1508)
  • Role deletion UI (#1491)
  • UI expansion when large HTML "pre" tags are used in markdown (#1489)
  • Usernames not properly linking with external auth providers (#1483)
  • Display of dates in action logs UI (#1486)
  • Selection bug with checkboxes in the setup process (#1458)
  • Display error with Sign In (#1466)
  • Race condition in ACI generation (#1463, #1490)
  • Incorrect calculation of the actions log archiver
  • Displaying many image tracks on the Repository tags page (#1451)
  • Handling of admin OAuth Scope (#1447)

Link to this Release

50. Version 1.16.0

Release Date: May 6, 2016

Changed:

  • Unified dashboard for viewing vulnerabilities and packages (#268)
  • Expose createOrganization API endpoint (#1246)
  • ACI key setup to the setup tool (#1211)
  • JWT Key Server (#1332)
  • New Login Screen UI (#1346)
  • API errors return application/problem+json format (#1361)
  • JWT Proxy for authenticating services (#1380)
  • New design for user and org settings (#1409)
  • Sescan configuration to setup tool (#1428)

Fixed:

  • Remove uses of target="_blank" anchors (#1411)
  • Bulk operations don’t allow "shift selection" (#1389)
  • Add tag pushed to usage log (#798)
  • Increase timeout on V2 (#1377)
  • Save rotated logs to storage via userfiles (#1356)
  • Include all possible response codes in Swagger document (#1018)
  • Improve notification lookup performance (#1329)
  • Future-proof uncompressed size calculation for blob store (#1325)
  • Client side chunk paths (#1306)
  • ACI Volume Names (#1308)
  • Issue when linking to a parent with a different blob (#1291)
  • Not all 401s set www-authenticate header (#1254)
  • Key error when updating V1 Ids (#1240)
  • Unicode error when calculating new V1 IDs (#1239)
  • Error when turning on receipt emails (#1209)

Link to this Release

51. Version 1.15.5

Release Date: February 12, 2016

Fixed:

  • Docker pushes with v2 sha mismatch were breaking v2 functionality (#1236)

Link to this Release

52. Version 1.15.4

Release Date: February 11, 2016

Changed:

  • Check that will fail if Quay tries to mislink V1 layers with Docker 1.10 (#1228)

Fixed:

  • Backfill of V2 checksums (#1229)
  • 'BlobUpload' Migration (2015-12-14) for MySQL 5.5 (#1227)
  • Minor UI error in tag specific image view (#1222)
  • Notification logo (#1223)

Link to this Release

53. Version 1.15.3

Release Date: February 3, 2016

Changed:

  • 502 page (#1198)
  • Token based pagination (#1196, #1095)

Fixed:

  • Trust upstream QE proxies to specify https scheme in X-Forwarded-Proto (#1201)
  • Refreshed dependencies to address security issues (#1195, #1192, #1186, #1182)
  • Tests (#1190, #1184)
  • Setup tool storage engine validation (#1194)

Link to this Release

54. Version 1.15.2

Release Date: January 25, 2016

This release tracks changes in the Docker v2 image format and adds official support for library repositories.

Changed:

  • Formal support for library repositories (#1160)

Fixed:

  • Content-Type of V2 manifests to match updated Docker V2 spec (#1169)
  • Scope handling for Docker 1.8.3 (#1162)
  • Typos in docs (#1163, #1164)

Link to this Release

55. Version 1.15.0

Release Date: January 12, 2016

This release repairs a bug in torrent hash calculations.

Fixed:

  • Fix torrent hash calculation (#1142)

Link to this Release

56. Version 1.14.1

Release Date: January 6, 2016

This release is primarily to address a bug in a migration found in v.1.14.0 related to migrating v1 data to the new format for v2 in the database.

Changes:

  • Removed image diff feature (#1102, #1116)
  • Added list view of repositories in all displays (#1109)
  • Added better recovery of organizations (#1108)
  • Added QE version in footer
  • Improved database query performance (#1068, #1097)
  • Added namespaces in docker search results (#1086)

Bug Fixes:

  • Fixed migration of V1 metadata (#1120)
  • Fixed log bug around month handling (#1114)
  • Fixed Content-Type on errors with JSON bodies (#1107)
  • Fixed unhandled exceptions in Queue
  • Fixed UI for dismissing notifications (#1094)

Link to this Release

57. Version 1.14.0

Release Date: December 18, 2015

This new release introduces Docker Registry v2 support and makes Quay Enterprise fully backward and forward compatible with both v1 and v2. Push and pull your images securely with any version of Docker Engine (≥0.10) and enjoy the performance boost that registry v2 delivers.

Changes:

  • Added Docker Registry v2 support (#885)
  • Added the ability to blacklist v2 for specific versions (#1065)
  • Added HTTP2 support (#1031)
  • Added automatic action logs rotation (#618)
  • Made garbage collection frequency configurable (#1074)
  • Added storage preferences configuration (#725, #807)
  • Added Gitlab, Bitbucket and Github schema support to custom triggers (#525)

Bug fixes:

  • Fixed user, repositories and images under MySQL (#830, #843, #1075)
  • Fixed ACI volumes (#1007)
  • Fixed date display in Firefox (#937)
  • Fixed page titles (#952)
  • Fixed numerous builder failures

Link to this Release

58. Version 1.13.3

Release Date: November 10, 2015

Bug Fixes:

  • Various issues related to upgrading previous versions of Quay Enterprise have been fixed

Quay Enterprise v1.13.x contains long-running migrations and should be updated during a maintenance window where administrators will have several hours of time to dedicate to the database migrating. Quay Enterprise will not be available while these migrations run.

Link to this Release

59. Version 1.13.2

Release Date: November 3, 2015

  • Fixed 404 API calls redirecting to 404 page (#762)

Link to this Release

60. Version 1.13.1

Release Date: November 3, 2015

  • Fixed broken database migration (#759)
  • Added OpenGraph preview image (#750, #758)

Link to this Release

61. Version 1.13.0

Release Date: November 2, 2015

  • Added new Quay Enterprise rebranding (#723, #738, #735, #745, #746, #748, #747, #751)
  • Added a styled 404 page (#683)
  • Hid the run button from users that haven’t created a trigger (#727)
  • Added timeouts to calls to GitLab, Bitbucket, GitHub APIs (#636, #633, #631, #722)
  • Added more fields to responses from user API (#681)
  • Fixed bug where every repository appeared private in repository listings (#680)
  • Added an error when geo-replication is enabled with local storage (#667)
  • Enabled asynchronous garbage collection for all repositories (#665)
  • Improved UX uploading Dockerfiles (#656)
  • Improved registry resiliancy to missing image sizes (#643)
  • Improved Teams UI (#647)
  • Added a limit to logs pagination API (#603)
  • Upgrade docker search to use the new search system (#595)
  • Fixed database hostname validation to include "." and "" (#579)
  • Improved build system’s resiliancy if operating without redis (#571)
  • Updated repository name and namespace validation to match new docker behavior (#535, #644)
  • Refactored and improved Build Trigger validation (#478, #523, #524, #527, #544, #561, #657, #686, #693, #734)
  • Optimized moving tags (#520)
  • Optimized database usage (#517, #518, #519, #598, #601, #605, #615, #641, #675)
  • Migrated all GitHub triggers to use deploy keys (#503)
  • Added ability to 'RUN cat .git/HEAD' to get git SHAs in builds (#504)
  • Improved repository count limitations UI (#492, #529)
  • Added a releases table to database (#495)
  • Made repository deletion more robust (#497)
  • Optimized Swift storage to support direct downloads (#484)
  • Improved build logs UX (#482, #507)
  • Add basic Kubernetes secret-store support (#272)
  • Improved internal test suite (#470, #511, #526, #514, #545, #570, #572, #573, #583, #711, #728, #730)
  • Improved background worker stability (#471)

Link to this Release

62. Version 1.12.0

Release Date: September 10, 2015

  • Added experimental Dex login support (#447, #468)
  • Fixed tag pagination in API (#463)
  • Improved performance for archiving build logs (#462, #466)
  • Optimized cloud storage copying (#460)
  • Fixed bug where LDN directory was given a relative domain not absolute (#458)
  • Allow robot account names to have underscores (#453)
  • Added missing SuperUser aggregate logs endpoint (#449)
  • Made JWT validation more strict (#446, #448)
  • Added dialog around restarting the container after setup (#441)
  • Added selection of Swift API version (#444)
  • Improved UX around organization name validation (#437)
  • Stopped relying on undocumented behavior for OAuth redirects (#432)
  • Hardened against S3 upload failures (#434)
  • Added experimental automatic storage replication (#191)
  • Deduplicated logging to syslog (#431, #440)
  • Added list org member permissions back to API (#429)
  • Fixed bug in parsing unicode Dockerfiles (#426)
  • Added CloudWatch metrics for multipart uploads (#419)
  • Updated CloudWatch metrics to send the max metrics per API call (#412)
  • Limited the items auto-loaded from GitHub in trigger setup to 30 (#382)
  • Tweaked build UX (#381, #386, #384, #410, #420, #422)
  • Changed webhook notifications to also send client SSL certs (#374)
  • Improved internal test suite (#381, #374, #388, #455, #457)

Link to this Release

Legal Notice

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.