What's Changed
- frontend: upgrade react from 17 to 18 (PROJQUAY-8793) by @jonathankingfc in #3811
- ui: Add notification drawer to ui (PROJQUAY-6305) by @mfrances17 in #3870
- fix: do not fail on splunk errors when flag set (PROJQUAY-8595) by @jonathankingfc in #3757
- ci: fixing app type import (PROJQUAY-8991) by @bcaton85 in #4021
- proxycache: Download blob not cached when pulling manifests with blobs available locally (PROJQUAY-6708) by @kleesc in #4007
- fix: migrate to logging.warning (PROJQUAY-8996) by @emmanuel-ferdman in #3976
- api: Disallow push of manifests with negative layer size (PROJQUAY-8560) by @ibazulic in #3683
- mirror: Add job timeout to mirror configurations (PROJQUAY-7249) by @ibazulic in #3723
- deps: updating cryptography (PROJQUAY-9008) by @bcaton85 in #4050
- init: dynamically looking up python user base (PROJQUAY-9011) by @bcaton85 in #4055
- deps: config-tool and setup tools packages (PROJQUAY-9015) by @bcaton85 in #4053
- proxycache: fix queueitem payload for proxycachblobworker (PROJQUAY-9018) by @kleesc in #4076
- splunk: only raise error when ALLOW_WITHOUT_STRICT_LOGGING is unset (PROJQUAY-8595) by @jonathankingfc in #4082
- ui: loading repository list immediately (PROJQUAY-5752) by @bcaton85 in #4086
- fix: pin https-proxy-agent version to v5 (PROJQUAY-8793) by @jonathankingfc in #4090
- healthchecks: Use httpGet for liveness and readiness probe checks (PROJQUAY-8747) by @Sunandadadi in #3864
- healthchecks: Use httpGet for liveness and readiness probe checks (PROJQUAY-8747) by @Sunandadadi in #4095
- deps: updating python protobuf (PROJQUAY-9081) by @bcaton85 in #4096
- proxycache: include hidden manifests when querying for child manifests on tag creation (PROJQUAY-8536) by @kleesc in #4097
- deps: update pbkfd2 to version 3.1.3 (PROJQUAY-9051) by @aroyoredhat in #4098
- security: address golang vulnerabilities (PROJQUAY-8635) by @dmesser in #4110
- proxycache: fix references (PROJQUAY-9106) by @kleesc in #4113
- alembic: Install certs during alembic migrations (PROJQUAY-9135) by @ibazulic in #4125
- fix: Build for ppc64le failing due to user permissions by @yussufsh in #4126
- ui: Add Mirroring to ui (PROJQUAY-8886) by @mfrances17 in #4121
- chore: add debug stmt to log token on stage env (PROJQUAY-9149) by @harishsurf in #4131
- Revert "chore: add debug stmt to log token on stage env" (PROJQUAY-9149) by @harishsurf in #4134
- Increase ngnix rate limit on the auth header (PROJQUAY-9149) by @harishsurf in #4133
- ui: add banner for console.redhat.com for SSO issue (PROJQUAY-9124) by @harishsurf in #4136
- api: add missing read permissions for readonly superuser (PROJQUAY-9156) by @kleesc in #4132
- federationuser(ldap): avoid doing LDAP lookups for Robot accounts (PROJQUAY-5137) by @michaelalang in #2505
- nginx: update rate limits on auth endpoint to 120 req/s (PROJQUAY-9149) by @Marcusk19 in #4161
- nginx: rate limit on namespace (PROJQUAY-9203) by @Marcusk19 in #4159
- oauth: Fallback to using depricated_sub since rhsso now has a new value for sub field (PROJQUAY-9124) by @harishsurf in #4152
- nginx: html encoded matching for regex pattern (PROJQUAY-9203) by @Marcusk19 in #4164
- nginx: remove rate_limit_key from nginx logs (PROJQUAY-9203) by @Marcusk19 in #4167
- deploy: create a dedicated template for ROSA deployment (PROJQUAY-0000) by @lechuk47 in #4171
- ui: add retry logic for user api to prevent infinite api call (PROJQUAY-9124) by @harishsurf in #4153
- deps: updated raven dependency to be compatible with python 3.12 (PROJQUAY-9198) by @deshpandevlab in #4169
- dockerfile: update nodejs-16 to nodejs-18 (PROJQUAY-0000) by @Marcusk19 in #4176
- ldap: Get federated login identifier and use that when checking user privileges in FederatedUserManager (PROJQUAY-8879) (PROJQUAY-5880) by @elliot-gustafsson in #3978
- deps: upgrading crypto and azure config-tool packages (PROJQUAY-9159) by @bcaton85 in #4180
- deps: removing unused raven dependencies (PROJQUAY-9198) by @deshpandevlab in #4179
- dockerfile: update to nodejs-22 (PROJQUAY-9279) by @Marcusk19 in #4192
- ui: fixing flake by updating start date by @bcaton85 in #4188
- stripe: apply trial periods for user credit card subscriptions (PROJQUAY-9253) by @dmesser in #4172
- ui: conditionally rendering site unavailable message (PROJQUAY-7270) by @bcaton85 in #4201
- db: enable WAL mode and other PRAGMA stmts for SQLite to avoid db locking during concurrent writes (PROJQUAY-8758) by @harishsurf in #4193
- fix: ROSA deployment template improvements (PROJQUAY-0000) by @lechuk47 in #4177
- ci: updating branch sync to use BRANCH_SYNC_TARGET by @bcaton85 in #4212
- deps: update cipher-base to version 1.0.6 (PROJQUAY-9333) by @aroyoredhat in #4214
- deps: update sha.js to 2.4.12 (PROJQUAY-9332) by @de1987 in #4216
- proxy: fix err on pulls from public repos if anonymous (PROJQUAY-9346) by @bcaton85 in #4229
- quota: only create notification if one doesn't already exist (PROJQUAY-8857) by @bcaton85 in #4092
- fix: resolve Sentry/OpenTelemetry integration conflicts (PROJQUAY-9198) by @deshpandevlab in #4232
- sqlite: Add retry with exponential backoff for sqlite (PROJQUAY-8758) by @harishsurf in #4240
- usagelogs: increasing elasticsearch conn timeout (PROJQUAY-9061) by @bcaton85 in #4246
- bug: Add configurable timeout to Splunk HEC requests (PROJQUAY-9375) by @deshpandevlab in #4248
- Fix the hanging issue when run make local-dev-up by @LiZhang19817 in #4254
- fix: added sentry initialization and logging (PROJQUAY-9198) by @deshpandevlab in #4241
- ui: Add OAuth applications to UI (PROJQUAY-7737) by @mfrances17 in #4165
- workers(quotaregistrysize): added to run quotasizeworker when SUPERUSERS are retrieved from LDAP (PROJQUAY-8086) by @michaelalang in #3322
- fix: Fix Sentry transport KeyError in exception logging initialization (PROJQUAY-9198) by @deshpandevlab in #4295
- nginx: upgrading to 1.24 and removing server version (PROJQUAY-9060) by @bcaton85 in #4308
- workers(quotaregistrysize): fixed wrong condition to run quotasizeworker from PROJQUAY-8086 (PROJQUAY-9460) by @michaelalang in #4313
- docs(oidc): add PKCE implementation and validation documentation (PROJQUAY-9281) by @HammerMeetNail in #4258
- ui: Add column sorting to all tables in UI (PROJQUAY-9271) by @mfrances17 in #4255
- feat(oidc): add PKCE (S256/plain) support with session-verifier flow (PROJQUAY-9281) by @HammerMeetNail in #4256
- test(oidc): add comprehensive PKCE test coverage (PROJQUAY-9281) by @HammerMeetNail in #4257
- ui: Add Quota management functionality to UI (PROJQUAY-8887) by @mfrances17 in #4243
- sentry: filtering out invalid token format errors (PROJQUAY-9436) by @bcaton85 in #4323
- db: Added TagPullStatistics and ManifestPullStatistics tables with migrations (PROJQUAY-8414) by @deshpandevlab in #4318
- web: make team name clickable in Teams View (PROJQUAY-9347) by @jbpratt in #4324
- web: consolidate organization hooks and fix cache invalidation (PROJQUAY-6522) by @jbpratt in #4325
- ui: show custom REGISTRY_TITLE on login page (PROJQUAY-9461) by @jbpratt in #4333
- ci: fix log archiving for cypress tests (PROJQUAY-9535) by @jbpratt in #4341
- ui: mark regex search test as skipped (PROJQUAY-9272) by @jbpratt in #4342
- ci: separate web CI jobs into dedicated workflow (PROJQUAY-9536) by @jbpratt in #4343
- deps: update Authlib to version 1.6.5 (PROJQUAY-9442) by @namansharma18899 in #4344
- chore: Remove gevent preinstall as it is now available on pypi by @yussufsh in #4337
- chore: remove path filters from workflows by @jbpratt in #4358
- feat(ui): display customized REGISTRY_TITLE (PROJQUAY-9525) by @jbpratt in #4360
- chore: npm audit fix by @jbpratt in #4363
- feat: Instrument reconciliationworker (PROJQUAY-8960) by @lechuk47 in #4357
- ui: add show/hide signatures toggle for tags view (PROJQUAY-7019) by @jbpratt in #4334
- fix: create_entitlement return object (PROJQUAY-8960) by @lechuk47 in #4366
- ui: fix Popper positioning in FilterInput advanced search (PROJQUAY-9272) by @jbpratt in #4359
- nginx: Add nginx routing logic to default to react UI for downstream (PROJQUAY-9207) by @harishsurf in #4252
- feat(ui): display Cosign shield icon for signed tags (PROJQUAY-9579) by @jbpratt in #4372
- feat(ui): add manifest layers tab to tag details (PROJQUAY-9269) by @jbpratt in #4364
- konflux: update requirements-build dependencies by @bcaton85 in #4374
- chore: skip flaky ui signin test by @jbpratt in #4379
- ui: Add account settings to the new UI (PROJQUAY-9209) by @jbpratt in #4367
- feat: Added Redis database and Redis flush worker (PROJQUAY-7176) by @deshpandevlab in #4321
- feat(ui): add footer links to login page (PROJQUAY-9152) by @jbpratt in #4378
- feat(ui): read only settings mode and modal for token generation (PROJQUAY-9209) by @jbpratt in #4381
- refactor: Optimize reconciliation worker API calls and improve metrics (PROJQUAY-8960) by @lechuk47 in #4380
- feat(ui): add Information tab as default for repository view (PROJQUAY-9556) by @jbpratt in #4386
- feat(api v1): global readonly superuser support and app token visibility (PROJQUAY-8279) by @HammerMeetNail in #4276
- fix(openshift-deploys): move DVO annotations to Deployment (PROJQUAY-9586) by @cubismod in #4389
- fix(web): prevent infinite re-render loop in tags list (PROJQUAY-9595) by @jbpratt in #4390
- chore: set popperProps for leaking dropdowns by @jbpratt in #4387
- ui: Rewrite OAuthError component for React (PROJQUAY-9498) by @harishsurf in #4383
- feat(ui): add Compact/Expanded view toggle to image tags page (PROJQUAY-9589) by @jbpratt in #4388
- fix(web): enable Red Hat Quay Notification in new UI (PROJQUAY-9020) by @jbpratt in #4376
- fix(ui): use BRANDING.logo for customizable logo URL (PROJQUAY-9462) by @jbpratt in #4393
- tracing: improving otlp handling (PROJQUAY-8902) by @michaelalang in #4198
- fix(ui): return user friendly msg for 500 errs (PROJQUAY-9483) by @jbpratt in #4397
- fix(ui): improve team sync UX with base DN display and proper group binding (PROJQUAY-6923) by @jbpratt in #4396
- feat(api v2): global readonly superuser support and registry auth behavior (PROJQUAY-8279) by @HammerMeetNail in #4277
- fix(ui): validate email as required when creating organization (PROJQUAY-9578) by @jbpratt in #4403
- script: prepopulate local quay instance by @bcaton85 in #4400
- feat: Add image pull statistics API endpoints and UI integration (PROJQUAY-7176) by @deshpandevlab in #4382
- fix(ui): display $app instead of username in application token credentials (PROJQUAY-9623) by @jbpratt in #4408
- feat: Added garbage collection hook for TagPullStatistics and ManifestPullStatistics tables (PROJQUAY-7176) by @deshpandevlab in #4405
- fix(ui): hide security columns and tabs when scanner disabled (PROJQUAY-9624) by @jbpratt in #4409
- chore: cache deps and remove unnecessary seeding by @jbpratt in #4414
- feat(ui): add footer (PROJQUAY-9152) by @jbpratt in #4338
- fix(ui): OAuth token generation should not redirect to Old UI (PROJQUAY-9600) by @harishsurf in #4406
- feat(ui): add system status banner (PROJQUAY-9494) by @jbpratt in #4417
- bug: fixing pull statistics Redis flush worker with aggregation support (PROJQUAY-9607) by @deshpandevlab in #4407
- ui: Add Superuser functionality to UI (PROJQUAY-6307) by @mfrances17 in #4174
- ui: adding DISABLE_ANGULAR_UI config param (PROJQUAY-9590) by @bcaton85 in #4385
- notifications: Support slash in repository names (PROJQUAY-7538) by @asgeirn in #3778
- chore: migrate server state from Recoil to React Query by @jbpratt in #4419
- fix(ui): display global messages on login page (PROJQUAY-9642) by @jbpratt in #4421
- feat(ui): add repository activity heatmap (PROJQUAY-9353) by @jbpratt in #4398
- [redhat-3.16] fix(ui): Add OAuth token authorization flow for assigned users (PROJQUAY-9632) by @openshift-cherrypick-robot in #4433
- [redhat-3.16] fix(ui): remove team creation from robot user dropdown (PROJQUAY-9662) by @openshift-cherrypick-robot in #4435
- [redhat-3.16] chore: implement lazy loading for route components by @openshift-cherrypick-robot in #4441
- [redhat-3.16] fix(ui): display version and contact link on login page footer (PROJQUAY-9651) by @openshift-cherrypick-robot in #4434
- [redhat-3.16] fix(ui): display quota consumed for organizations and user namespaces (PROJQUAY-9641) by @openshift-cherrypick-robot in #4437
- [redhat-3.16] fix(ui): add send recovery email option for superuser user management (PROJQUAY-9657) by @openshift-cherrypick-robot in #4442
- [redhat-3.16] fix(ui): superuser usage logs filter searches across all fields (PROJQUAY-9622) by @openshift-cherrypick-robot in #4457
- [redhat-3.16] fix(web): support shorthand organization and repository URLs with redirect (PROJQUAY-9580) by @openshift-cherrypick-robot in #4459
- [redhat-3.16] fix(ui): add user status labels to organizations table (PROJQUAY-9656) by @openshift-cherrypick-robot in #4475
- [redhat-3.16] fix(ui): fallback to user orgs when superuser API fails (PROJQUAY-9650) by @openshift-cherrypick-robot in #4476
- [redhat-3.16] fix(web): use single quotes in container login commands (PROJQUAY-9683) by @openshift-cherrypick-robot in #4447
- [redhat-3.16] fix(ui): consolidate credential modals and fix state management issues (PROJQUAY-9630) by @openshift-cherrypick-robot in #4477
- [redhat-3.16] chore: migrate SidebarState and AlertState from Recoil to React Context by @openshift-cherrypick-robot in #4481
- [redhat-3.16] chore: add web/AGENTS.md by @openshift-cherrypick-robot in #4479
- [redhat-3.16] fix(web): display backend error message for INVITE_ONLY_USER_CREATION (PROJQUAY-9503) by @openshift-cherrypick-robot in #4483
- [redhat-3.16] chore: bump mypy python_version to 3.12 by @openshift-cherrypick-robot in #4491
- [redhat-3.16] fix(web): show correct error when email verification required (PROJQUAY-9661) by @openshift-cherrypick-robot in #4492
- [redhat-3.16] proxy: Drop error 403 token requests for anonymous pulls (PROJQUAY-9012) by @openshift-cherrypick-robot in #4448
- [redhat-3.16] fix(web): redirect to username confirmation page after LDAP login (PROJQUAY-9735) by @openshift-cherrypick-robot in #4501
- [redhat-3.16] fix(web): use correct API endpoints for user namespace quota limits (PROJQUAY-9730) by @openshift-cherrypick-robot in #4502
- [redhat-3.16] fix(web): hide change email/password for external auth in superuser panel (PROJQUAY-9747) by @openshift-cherrypick-robot in #4504
- [redhat-3.16] fix(web): hide Create User button for external authentication in superuser panel (PROJQUAY-9736) by @openshift-cherrypick-robot in #4505
- [redhat-3.16] chore: enable FEATURE_UI_V2 as default by @openshift-cherrypick-robot in #4513
- [redhat-3.16] fix(api): superuser panel access without SUPERUSERS_FULL_ACCESS (PROJQUAY-9693) by @openshift-cherrypick-robot in #4512
- [redhat-3.16] ui: fixing redirect on org deletion (PROJQUAY-9742) by @openshift-cherrypick-robot in #4519
- [redhat-3.16] fix(ui): Remove local dev test configs (PROJQUAY-9774) by @openshift-cherrypick-robot in #4522
- [redhat-3.16] fix(web): display relative time for application token dates with tooltip (PROJQUAY-9631) by @openshift-cherrypick-robot in #4452
- [redhat-3.16] chore: remove prop-types dependency usage in favor of TypeScript types by @openshift-cherrypick-robot in #4528
- [redhat-3.16] fix(ui): Add missing operation types to usage logs chart (PROJQUAY-6881) by @openshift-cherrypick-robot in #4532
- v3.16.0 Changelog Bump by @github-actions[bot] in #4537
- [redhat-3.16] fix(ui): Add infinite scroll and load more button to usage logs (PROJQUAY-9717) by @openshift-cherrypick-robot in #4533
- [redhat-3.16] bug: removing console warnings from repository page and usagelogs (PROJQUAY-9648) by @openshift-cherrypick-robot in #4543
- [redhat-3.16] fix(ui): Add "Requires fresh login" checks for superuser operations (PROJQUAY-9658) by @openshift-cherrypick-robot in #4548
- [redhat-3.16] fix(web): display backend-generated password in user creation (PROJQUAY-9780) by @openshift-cherrypick-robot in #4552
- [redhat-3.16] fix(ui): Add missing superuser routes to nginx to prevent 404 (PROJQUAY-9741) by @openshift-cherrypick-robot in #4554
- [redhat-3.16] fix(web): hide 'Last Updated' for OIDC team sync (PROJQUAY-9773) by @openshift-cherrypick-robot in #4555
- [redhat-3.16] fix(web): use correct API endpoint for user quota (PROJQUAY-9785) by @openshift-cherrypick-robot in #4553
- [redhat-3.16] fix(web): hide user tabs when superuser views other users (PROJQUAY-9753) by @openshift-cherrypick-robot in #4559
- [redhat-3.16] fix: allow global readonly superusers to access all organization data without FULL_ACCESS (PROJQUAY-9798) by @openshift-cherrypick-robot in #4557
- [redhat-3.16] chore: don't show status code to users by @openshift-cherrypick-robot in #4560
- [redhat-3.16] fix(web): handle user deletion via Actions dropdown (PROJQUAY-9788) by @openshift-cherrypick-robot in #4544
- [redhat-3.16] uibug: updated new UI to ask user to verify the mail when creating new account with email enabled (PROJQUAY-9655) by @openshift-cherrypick-robot in #4450
- [redhat-3.16] ui: rendering error for splunk logs (PROJQUAY-6934) by @openshift-cherrypick-robot in #4564
- [redhat-3.16] ui: paginating application tokens (PROJQUAY-9778) by @openshift-cherrypick-robot in #4563
- [redhat-3.16] fix(web): fix inline markdown code rendering (PROJQUAY-9809) by @openshift-cherrypick-robot in #4572
- [redhat-3.16] ui: allow for team creation while creating notification (PROJQUAY-9727) by @openshift-cherrypick-robot in #4573
- [redhat-3.16] chore: extract logo selection logic into reusable hook by @openshift-cherrypick-robot in #4575
- [redhat-3.16] fix(web): fetch build logs from separate endpoint in superuser panel (PROJQUAY-9714) by @openshift-cherrypick-robot in #4581
- [redhat-3.16] fix: allow global readonly superusers to access quota limit endpoints (PROJQUAY-9804) by @openshift-cherrypick-robot in #4574
- [redhat-3.16] fix(ui): Enable organization/user visibility for read-only superusers (PROJQUAY-6882) by @openshift-cherrypick-robot in #4584
- [redhat-3.16] ui: removing feedback banner (PROJQUAY-9811) by @openshift-cherrypick-robot in #4588
- [redhat-3.16] api: fixing recovery endpoint routing (PROJQUAY-9807) by @openshift-cherrypick-robot in #4589
- [redhat-3.16] fix(ui): Add OAuth state parameter for CSRF protection (PROJQUAY-9805) by @openshift-cherrypick-robot in #4593
- [redhat-3.16] chore: add /about and /security static pages to new UI by @openshift-cherrypick-robot in #4595
- [redhat-3.16] chore: CI improvements by @openshift-cherrypick-robot in #4590
- [redhat-3.16] ui: adding redirect to update info page (PROJQUAY-9744) by @openshift-cherrypick-robot in #4594
- [redhat-3.16] ui: redirect new UI super user for fresh login when authentication type is OIDC (PROJQUAY-9748) by @openshift-cherrypick-robot in #4596
- [redhat-3.16] fix: Added lazy initialization for redis to retry the connection after pod restart automatically connect when available (PROJQUAY-9791) by @openshift-cherrypick-robot in #4551
- [redhat-3.16] fix: Fix race conditions in pull metrics tracking and flushing (PROJQUAY-9776) by @openshift-cherrypick-robot in #4598
- [redhat-3.16] ui: normalize user settings tabs (PROJQUAY-9814) by @openshift-cherrypick-robot in #4599
- [redhat-3.16] fix(ui): preserve mirroring credentials when updating tag pattern (PROJQUAY-9608) by @openshift-cherrypick-robot in #4602
- [redhat-3.16] deps: updated axios version to 1.12.0 (PROJQUAY-9782) by @openshift-cherrypick-robot in #4517
- [redhat-3.16] chore: fix account settings navigation by @openshift-cherrypick-robot in #4609
- [redhat-3.16] fix(test): prevent MySQL deadlocks in parallel proxy model tests (PROJQUAY-0000) by @openshift-cherrypick-robot in #4610
- [redhat-3.16] pullstats: updated bulk upsert function to track correct pull count and timestamp in case of race condition (PROJQUAY-9684) by @openshift-cherrypick-robot in #4527
- fix(web): add CSRF protection to assign_user_to_app endpoint (PROJQUAY-9836) by @harishsurf in #4620
- [redhat-3.16] fix(quota): block quota write operations without SUPERUSERS_FULL_ACCESS (PROJQUAY-9833) by @openshift-cherrypick-robot in #4625
- [redhat-3.16] fix(web): sort Build History by timestamp instead of string (PROJQUAY-9686) by @openshift-cherrypick-robot in #4627
- [redhat-3.16] ui: fix select during org delete bug (PROJQUAY-9843) by @openshift-cherrypick-robot in #4630
- [redhat-3.16] ui: prevent redirect to signin after OIDC username confirmation (PROJQUAY-9835) by @openshift-cherrypick-robot in #4632
- [redhat-3.16] ui: surfacing re-prompt for password (PROJQUAY-9844) by @openshift-cherrypick-robot in #4631
- [redhat-3.16] fix(ui): show quota consumed column for all users in organizations list (PROJQUAY-9850) by @openshift-cherrypick-robot in #4636
- [redhat-3.16] fix(oauth): prevent redirect URI validation bypass (PROJQUAY-9849) by @openshift-cherrypick-robot in #4639
- [redhat-3.16] ui: checking field content in superuser build logs (PROJQUAY-9714) by @openshift-cherrypick-robot in #4642
- [redhat-3.16] fix(web): load external scripts only when BILLING enabled (PROJQUAY-9803) by @openshift-cherrypick-robot in #4645
- [redhat-3.16] chore: add automated PR labeling workflow by @openshift-cherrypick-robot in #4643
- [redhat-3.16] chore: resolve fork PR labeling 403 errors with workflow_run pattern by @openshift-cherrypick-robot in #4649
- [redhat-3.16] fix(web): hide Enable Team Sync when FEATURE_TEAM_SYNCING is false (PROJQUAY-9878) by @openshift-cherrypick-robot in #4656
- [redhat-3.16] fix(web): display avatars for all entries in org table (PROJQUAY-9749) by @openshift-cherrypick-robot in #4637
- [redhat-3.16] fix(web): resolve user settings log display issues (PROJQUAY-9881) by @openshift-cherrypick-robot in #4662
- [redhat-3.16] fix(web): show user namespace quota for non-superusers (PROJQUAY-9886) by @openshift-cherrypick-robot in #4660
- [redhat-3.16] fix(web): use correct error modal titles for different operations (PROJQUAY-9874) by @openshift-cherrypick-robot in #4661
- [redhat-3.16] chore: add workflow to label original PR on backport merge by @openshift-cherrypick-robot in #4664
- [redhat-3.16] chore: remove debug css by @openshift-cherrypick-robot in #4671
- [redhat-3.16] fix(web): disable buttons for global readonly superuser (PROJQUAY-9873) by @openshift-cherrypick-robot in #4670
- [redhat-3.16] chore(deps): update go version to 1.24.8 (PROJQUAY-9842) by @openshift-cherrypick-robot in #4672
- [redhat-3.16] fix(api): return manifest pull stats for digest-only pulls (PROJQUAY-9877) by @openshift-cherrypick-robot in #4677
- [redhat-3.16] config: defaulting FEATURE_UI_MODELCARD to true (PROJQUAY-9915) by @openshift-cherrypick-robot in #4679
- [redhat-3.16] fix(data): clear pull statistics when tags are deleted (PROJQUAY-9887) by @openshift-cherrypick-robot in #4682
- [redhat-3.16] feat(web): show password setup prompt for OIDC users in CLI config (PROJQUAY-9898) by @openshift-cherrypick-robot in #4685
- [redhat-3.16] fix(web): enable user self-service email changes when FEATURE_MAILING enabled (PROJQUAY-9879) by @Sunandadadi in #4684
New Contributors
- @mfrances17 made their first contribution in #3870
- @emmanuel-ferdman made their first contribution in #3976
- @elliot-gustafsson made their first contribution in #3978
- @LiZhang19817 made their first contribution in #4254
- @asgeirn made their first contribution in #3778
Full Changelog: v3.15.2...v3.16.0