What's Changed
Exciting New Features 🎉
Enhanced Proxy-cache
Syncs state with the upstream registry by deleting local cache when artifacts are removed; Serves the local manifest if its digest matches the upstream registry
- Add manifestcache push for tag and digest to local repository by @raphaelzoellner in #21141
- Delete local cache if the artifact doesn't exist in upstream registry by @stonezdj in #22175
Single Active Replication
Adds an option to enforce single active replication, preventing parallel runs under the same policy. For more details, please refer to the design proposal: https://github.com/goharbor/community/blob/main/proposals/new/single-active-replication.md
Enhanced artifact scanning
Adds support for fixVersion in CVE reports; Skips vulnerability checks for non-scannable artifacts.
- Add status of CVEs to artfact scan report by @reasonerjt in #22177
Enhanced garbage collection
Displays GC progress while running
Enhanced CNAI Model integration
Adds support for raw CNAI model format. For more details, please refer to the model spec.
Component updates ⬆️
- feat: support customize the job execution retention count by env by @chlins in #22129
- Add Russian language support by @sergey-akhmineev in #21083
- bump base version for v2.14 by @wy65701436 in #21819
- Update dependencies in Harbor UI by @bupd in #21823
- fix: support preheat cnai model artifact by @chlins in #21849
- fix jobservice container loglevel consistent with job_log by @MinerYang in #21874
- update artifact info by @stonezdj in #21902
- fix: check blob exist before copying layers samller than chunk size by @liubin in #21883
- revise make file for lint api by @wy65701436 in #21906
- Remove the error check never happen by @stonezdj in #21916
- enhance the query judgement by @wy65701436 in #21924
- FIX: Display 'No SBOM' in multi-arch images in HarborUI by @bupd in #21459
- Update the severity, fixed version and cvss_score_v3 by @stonezdj in #21915
- unify the golang image version by @wy65701436 in #21935
- Generate URI of token service via Host in request by @reasonerjt in #21898
- refactor: replace interface{} to any by @chlins in #21973
- Fix: Helm Chart Copy Button in UI by @bupd in #21969
- add build flag for harbor exporter by @wy65701436 in #21988
- update robot permission table by @wy65701436 in #21989
- bump up golang version to v1.24.3 by @wy65701436 in #21993
- increase docker client timeout for robot case by @MinerYang in #21994
- Test update for adding nil value to list by @miledxz in #21990
- chore(deps): bump github.com/aliyun/alibaba-cloud-sdk-go from 1.63.84 to 1.63.107 in /src by @dependabot[bot] in #21943
- feat: add rate limiter for alibaba cloud acr adapter by @njucjc in #21953
- chore(deps): bump k8s.io/client-go from 0.32.2 to 0.33.1 in /src by @dependabot[bot] in #22011
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.0.185 to 1.1.10 in /src by @dependabot[bot] in #22035
- chore: fix the arguments for codecov v5 by @chlins in #22050
- Refactor: Simplify SearchAndOnBoardGroup Logic by @bupd in #22058
- Remove document link from Image Scanner by @stonezdj in #22064
- chore(deps): bump helm.sh/helm/v3 from 3.17.2 to 3.18.2 in /src by @dependabot[bot] in #22060
- fix: CVE Allowlist Validation by @bupd in #22077
- refactor: simplify some implementations by modern go features by @chlins in #21998
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.1.11 to 1.1.17 in /src by @dependabot[bot] in #22089
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.1.17 to 1.1.19 in /src by @dependabot[bot] in #22133
- add dockernetwork parameter for build process by @MinerYang in #22138
- add BUILD_INSTALLER parameter for optionally build prepare and log container by @MinerYang in #22148
- lazy load v2_swagger_client module by @MinerYang in #22154
- Fix: Audit Log Eventtype antipattern in System Settings UI by @bupd in #22147
- Add 400 code response in swagger.yaml for updateRegistry updateReplicationPolicy and headProject by @yuzp1996 in #22165
- Update FixVersion and ScoreV3 by @strigazi in #22007
- Set MAX_JOB_DURATION_SECONDS from jobservice config.yml by @stonezdj in #22116
- clean up project metadata for tag retention policy after deletion by @MinerYang in #22174
- chore(deps): bump helm.sh/helm/v3 from 3.18.2 to 3.18.3 in /src by @dependabot[bot] in #22113
- chore(deps): bump helm.sh/helm/v3 from 3.18.3 to 3.18.4 in /src by @dependabot[bot] in #22188
- Don't always skip vuln check when artifact is not scannable by @reasonerjt in #22187
- add the replicaiton adapter whitelist by @wy65701436 in #22198
- fix: correct the permission of project maintainer role for webhook policy by @chlins in #22135
- update the orm filter func by @wy65701436 in #22208
- bump golang version by @wy65701436 in #22205
- Add HTTP 409 error when creating robot account by @stonezdj in #22201
- The tag retention job failed with 403 error message by @stonezdj in #22159
- remove extra build_base=false && pull_base_from_dockerhub=false check logic by @MinerYang in #22233
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.1.19 to 1.1.25 in /src by @dependabot[bot] in #22225
- bump go version by @wy65701436 in #22238
- bump base verson for v2.15.0 by @wy65701436 in #22241
- build base images by @wy65701436 in #22249
- add prepare migration script for 2.14.0 by @MinerYang in #22247
- chore(deps): bump helm.sh/helm/v3 from 3.18.4 to 3.18.5 in /src by @dependabot[bot] in #22258
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.1.25 to 1.1.26 in /src by @dependabot[bot] in #22244
- Refine the sql to query non empty repositories by @stonezdj in #22269
- chore(deps): bump github.com/beego/beego/v2 from 2.3.6 to 2.3.8 in /src by @dependabot[bot] in #22282
- chore(deps): bump github.com/prometheus/client_model from 0.6.1 to 0.6.2 in /src by @dependabot[bot] in #22283
- chore(deps): bump github.com/cloudevents/sdk-go/v2 from 2.15.2 to 2.16.1 in /src by @dependabot[bot] in #22281
- chore(deps): bump github.com/go-openapi/swag from 0.23.0 to 0.23.1 in /src by @dependabot[bot] in #22243
- chore(deps): bump github.com/volcengine/volcengine-go-sdk from 1.1.26 to 1.1.29 in /src by @dependabot[bot] in #22284
- build base for v2.14.0 by @wy65701436 in #22299
- bump base images for v2.14.0-rc2 by @wy65701436 in #22334
- build base for rc2 by @wy65701436 in #22341
Docs update 🗄️
- README.md: add artifact hub badge by @mohamedawnallah in #20736
- Update contributing.md by @chethanm99 in #22082
- Update Swagger 's readme.md by @chethanm99 in #22087
- Update CHANGELOG.md, RELEASES.md and ROADMAP.md by @chethanm99 in #22095
- Improve portal README.md formatting and clarity by @rgcr in #22173
- chore: Updated RELEASE.md by updating Minor Release Support Map by @mooneeb in #22145
Other Changes
- Update robot testcase related to security hub row count to 15 by default by @stonezdj in #21846
- update gitaction machine to 22.04 by @wy65701436 in #21900
- Add missing step in e2e pipeline setup by @bupd in #21888
- change python ./setup.py install to pip install . because deprecated by @stonezdj in #21952
- udpate storage to s3 by @wy65701436 in #21999
- chore(deps): bump aws-actions/configure-aws-credentials from 4.1.0 to 4.2.1 by @dependabot[bot] in #22003
- Add environment variable add network_type env by @stonezdj in #22097
- change the pass-CI rules to exclude the resources and robot-cases folder by @stonezdj in #22121
- Remove testcase Open Image Scanners doc page by @stonezdj in #22180
- Display download url for BUILD_PACKAGE action by @stonezdj in #22197
- Upload build logs to github artifact by @stonezdj in #22223
- chore(deps): bump actions/checkout from 3 to 5 by @dependabot[bot] in #22250
- Adjust the xpath to find the package column in testcase by @stonezdj in #22292
- Remove gitlab replication by @stonezdj in #22298
- (cherry-pick) Remove port 9443 from harbor IP for webhook event check by @stonezdj in #22331
- (cherry-pick) Remove GCR replication because GCR account is removed by @stonezdj in #22332
New Contributors
- @raphaelzoellner made their first contribution in #21141
- @miledxz made their first contribution in #21990
- @chethanm99 made their first contribution in #22082
- @sergey-akhmineev made their first contribution in #21083
- @strigazi made their first contribution in #22007
- @rgcr made their first contribution in #22173
- @mooneeb made their first contribution in #22145
Full Changelog: v2.13.0...v2.14.0