Harbor - v2.3.0

What's New

New Features

  • Declarative Config
    Enhanced the current configuration by adding environment variables to overwrite the Harbor configuration including auth, backing store, system permissions and more. This enables full audit capabilities and prevent config drift. This addresses https://github.com/goharbor/harbor/issues/8076

  • IPv6
    Support running Harbor in Kubernetes with harbor-helm on IPv6-only infrastructure. (Tested on Kubernetes version 1.21.0 and Calico version 3.18.1 )

  • Photon Upgrade
    Upgrade all Harbor base images from Photon 2.0 to 4.0.

  • Postgresql upgrade to v13.3.
  • Redis upgrade to v6.0.13.

  • Additional Features

  • Performance enhancement for concurrent requests.
  • Observability Metrics Improvement: Support Jobservice metrics.
  • Swagger API Improvement: The APIs of project scanners & webhooks support both project id and name in their path.
  • Replication enhancement to support destination namespace flattening.
  • Move the legacy APIs to new programming model.
  • Golang v1.15.12. Harbor is now built using Golang v1.15.12 as of this release.
  • Bump up Trivy 0.17 which adds support for Java JAR/WAR/EAR archives and Go binaries scanning.

Upgrade Considerations

  • During upgrade, Harbor will remove the old Postgres data and migrate it to new destination to compatible new version postgres.
    Please back up your data before upgrading to v2.3.0.


  • The ChartMuseum is scheduled to be deprecated in a future v2.4.0 release. Helm charts can be managed in Harbor through the OCI image registry alongside your container images

Known issues

  • If you upgrade from v2.1.x you may see issues sign image using a pre-generated key, more details see #14932, this will be fixed in v2.3.1
  • Fixing #14932 will cause another break change in the future: If a key is created when signing the image in v2.3.0, a similar key decoding issue like #14932 will happen if you upgrade from v2.3.0 to v2.3.1

Breaking Changes

  • The API to GET artifact under public project such as GET /v2/$public_project/$repo/manifests/$tag, will receive a 401 if the request does not carry "Authorization" header, more details see:

Resolved Issues


  • Will Sun
  • He Weiwei
  • Wang Yan
  • Wenkai Yin(尹文开)
  • Daniel Jiang
  • stonezdj(Daojun Zhang)
  • Qian Deng
  • danfengliu
  • Ziming
  • ChenYu Zhang
  • Steven Zou
  • Alexis
  • rao yunkun
  • Moshe Immerman
  • Daniel Pacak
  • Abigail McCarthy
  • Akiros001
  • Vadim Bauer
  • 疯魔慕薇
  • Eike David Lenz


June 21, 2021, 10:02 a.m.
Register or login to:
  • 🔍View and search all Harbor releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google