What's Changed
Exciting New Features 🎉
Supporting OCI Distribution Spec v1.1.0-rc1
- add referrers api by @wy65701436 in #18324
- add middleware for artifact with subject by @wy65701436 in #18369
- add subject artifact repo by @wy65701436 in #18394
Support for sending webhook payloads with CloudEvents format
The webhook functionality has undergone significant improvements, aimed at delivering enhanced management and debugging capabilities. The latest update includes the addition of CloudEvents format support, enabling users easily integrate with other systems and services.
- refactor: refact the webhook API and life process by @chlins in #18255
- Enhance webhook UI by @AllForNothing in #18291
- feat: integrate CloudEvents to webhook by @chlins in #18322
Jobservice Dashboard Phase 2
Displaying logs for running tasks, which provides users with real-time visibility into the progress and status of their running jobs.
Cleanup expired running executions, which helps users to automatically cleaning unfinished or expired executions.
- Get job log by job_id in worker by @stonezdj in #18261
- Fix dangling state execution by @stonezdj in #18272
Option to Skip Update Pull Time for Scanner
Allows users to skip the automatic update on pull time that performed by a scanner during a scan task
- Add scanner_skip_update_pulltime property for system setting by @AllForNothing in #18214
- Skip to update pull time and pull count for scanner robot account by @stonezdj in #17807
Additional Features
- Allow the Identity Provider to be the primary auth method in Harbor. by @tpoxa in #17627
- Add logs column for worker datagrid by @AllForNothing in #18307
- Add dynamic column support by @AllForNothing in #18331
- bump up golang to 1.19.4 for main by @MinerYang in #17997
- feat: update TRIVYVERSION=v0.38.2 & TRIVYADAPTERVERSION=v0.30.9 by @zyyw in #18473
- refactor: refresh the execution status in async mode by @chlins in #18434
Deprecations ❌
Removal of ChartMuseum
Starting with version v2.8.0, Harbor no longer includes ChartMuseum in either the user interface or the backend.
- Remove helm chart UI by @AllForNothing in #18099
- remove chartmuseum backend by @wy65701436 in #18191
- Remove chart api by @AllForNothing in #18265
- Update the replication rule related to the Chartmuseum by @YangJiao0817 in #18274
- Migrate robot account and notification policy related to Chartmuseum by @YangJiao0817 in #18316
Enhancement 🚀
- Update datePicker component by @AllForNothing in #18070
- Add i18n support for Clarity components by @AllForNothing in #18076
- aws auth use default creds when none are supplied by @caleblloyd in #17932
- Translate English to Chinese for primary auth mode tooltip by @AllForNothing in #18196
- Display error message by defaul for event panel by @AllForNothing in #18226
- Add next scheduled time for tag retention by @AllForNothing in #18223
- Sort user and usergroup by most match order by @stonezdj in #18273
- Support vpc and internal network (goharbor#17488) by @szyhf in #17489
- Improve Portal french translation by @thcdrt in #18289
- Support accessory recursion for artifact list by @AllForNothing in #18366
- Make label filter editable for replication rule by @AllForNothing in #18357
- Add copy digest button for accessories by @AllForNothing in #18433
- Add new app level warning message by @AllForNothing in #18449
- Update styles for UI according to the designer's suggestions by @AllForNothing in #18463
Component updates ⬆️
- fix: upgrade TRIVYADAPTERVERSION to v0.30.5 by @zyyw in #18002
- bump up golang.org/x/net to v0.2.0 by @MinerYang in #17910
- controller/robot: use global regexp vars by @Iceber in #17915
- fix dragonfly response when p2p preheat by @mr-002 in #15916
- fix the setting of data slice length for tablewriter by @Iceber in #17918
- remove artifact_blob with aritfact deletion by @wy65701436 in #17913
- Update the log information in proxy cache by @stonezdj in #17936
- Avoid internal error in the UI when reset a schedule by @stonezdj in #17946
- Fix some UI issues by @AllForNothing in #17964
- remove the redundant data from table artifact_blob by @wy65701436 in #17937
- fix: upgrade trivy version to v0.35.0 and trivy-adapter version to v0.30.3 by @zyyw in #17976
- fix: Don't supress redis error messages to make debugging easier by @czenker in #17986
- i18n: fix password+secret limit tooltips by @0xC0ncord in #17916
- Switch listUsers to searchUsers for adding project member by @AllForNothing in #18022
- bump up helm/v3/pkg to v3.10.3 on main by @MinerYang in #18050
- Upgrade Angular and Clarity to the latest version by @AllForNothing in #18059
- Bump up TRIVYADAPTERVERSION to v0.30.6 by @zyyw in #18052
- Fix a typo in make/photo/Makefile by @ctrlaltdel in #18111
- fix: remove the scan exports volume by @chlins in #18107
- fix retention/immutable API issue by @zyyw in #18158
- Bump google-github-actions/auth from 0 to 1 by @dependabot in #17771
- Correct total count for schedule list datagrid by @AllForNothing in #18148
- Support searching artifacts by specified tag name by @AllForNothing in #18175
- fix: reset user password by @zyyw in #18192
- fix: update the replication API handler by @chlins in #18197
- feat: bump-up trivyVersion to v0.37.2, trivyAdapterVersion to v0.30.7 by @zyyw in #18217
- fix: add "next_scheduled_time" by @zyyw in #18102
- fix: resolve the oidc or ldap group user cannot export cve by @chlins in #18219
- Change queue name for purge audit log and filter the old one by @stonezdj in #18182
- Improve swagger descriptions (without changing security settings) by @okin in #18205
- Add retry times for calling CVE data export execution list API by @AllForNothing in #18297
- Update UI for the deprecation of Artifact Hub by @AllForNothing in #18303
- Modified to check the expiration time of the allowlist when determining the vulnerability of an artifact by @hyeyoung-leee in #18106
- Update robot account to skip NotFoundErr by @YangJiao0817 in #18321
- replace subject id with digest by @wy65701436 in #18278
- fix robot account list project by @wy65701436 in #18304
- Skip robot account for oidc_cli middleware by @stonezdj in #18317
- Check tag name for OCI spec by @stonezdj in #18311
- feat: upgrade mockery version by @zyyw in #18332
- Remove go routine to reloadSetting by @stonezdj in #18318
- Improve webhook UI by @AllForNothing in #18325
- migration: add sql to migrate the old webhook job to new way by @chlins in #18342
- Update UI packages by @AllForNothing in #18312
- add external redis username config to support redis6 ACL by @MinerYang in #18364
- feat: upgrade golang to 1.20.1 by @reasonerjt in #18370
- Fix some UI issues by @AllForNothing in #18371
- feat: support configrate the jobservice logger sweeper duration by @chlins in #18365
- Bump webpack from 5.74.0 to 5.76.0 in /src/portal/app-swagger-ui by @dependabot in #18352
- Upgrade Golang packages by @AllForNothing in #18376
- refactor: refactor the old goroutine execution sweep by @chlins in #18361
- feat: support configurate the http client timeout for webhook job by @chlins in #18382
- revert subject id in the accessory by @wy65701436 in #18377
- Change storage_service.redirect.disabled in harbor.yml.tmpl to storage_service.redirect.deactivate by @balonik in #14615
- fix: register sweeper retain counts for purge audit log job by @chlins in #18390
- fix 2.8 migration issue by @wy65701436 in #18389
- Fix sql error in FixDanglingStateExecution by @stonezdj in #18411
- fix referrers api response issue by @wy65701436 in #18430
- fix: add remove chartmuseum notice message by @zyyw in #18426
- Correct a grammatical error by @AllForNothing in #18431
- Upgrade @clr/angular and @clr/ui to 15.0.3 by @AllForNothing in #18427
- fix: fix the invalid jobid for scan data export by @chlins in #18398
- Remove markdown pipe for webhook payload data by @AllForNothing in #18439
- fix the copy artifact issue by @wy65701436 in #18441
- fix: escape the event data for slack webhook payload by @chlins in #18424
- fix copy artifact issue by @wy65701436 in #18460
- fix: correct the retention webhook payload by @chlins in #18462
- fix: wrap schedule/exec/task creation as orm tx by @chlins in #18458
- bump golang 1.20.2 by @MinerYang in #18469
- fix accessory replication issue by @wy65701436 in #18471
Docs update 🗄️
- docs(readme): fix syntax errors in the document by @Fish-pro in #18113
- Fix project setup step. by @akshatdalton in #18271
Community update 🧑🏻🤝🧑🏾
- Update RELEASE and CONTRIBUTING with main instead of master by @OrlinVasilev in #17983
- docs: Updated Web UI URL in CONTRIBUTING.md by @WilfredAlmeida in #18362
- Update the support matrix by @reasonerjt in #18417
Other Changes
- Bump the auto assignees to 3 by @OrlinVasilev in #17914
- Skip CI tests when *.md modifications are made by @OrlinVasilev in #17975
- Bump up version to v2.8.0 by @YangJiao0817 in #18062
- Fix Setup Docker error in CI by @YangJiao0817 in #18237
- Add JobService Dashboard API test cases by @YangJiao0817 in #18234
- Update DB Dockerfile.base by @YangJiao0817 in #18249
- Bump actions/stale from 6.0.1 to 7.0.0 by @dependabot in #18018
- Remove chartmuseum test case by @YangJiao0817 in #18267
- Add agent config for ng serve by @AllForNothing in #18323
- Fixes Publish to Github Packages by @Nageshbansal in #18180
- Add Job Service Dashboard Job Queues testcase by @YangJiao0817 in #18347
- Remove release-note/update label from dependabot for github-actions by @OrlinVasilev in #18103
- Bump mheap/github-action-required-labels from 2 to 3 by @dependabot in #18039
- Bump actions/stale from 7.0.0 to 8.0.0 by @dependabot in #18409
- Update webhook and repliation element xpath by @YangJiao0817 in #18456
- Update UI test cases by @YangJiao0817 in #18470
New Contributors
- @Iceber made their first contribution in #17915
- @mr-002 made their first contribution in #15916
- @czenker made their first contribution in #17986
- @asta1992 made their first contribution in #18009
- @0xC0ncord made their first contribution in #17916
- @al-cheb made their first contribution in #18023
- @CoderTH made their first contribution in #18057
- @ctrlaltdel made their first contribution in #18111
- @Fish-pro made their first contribution in #18113
- @caleblloyd made their first contribution in #17932
- @okin made their first contribution in #18205
- @hyeyoung-leee made their first contribution in #18106
- @Nageshbansal made their first contribution in #18180
- @szyhf made their first contribution in #17489
- @thcdrt made their first contribution in #18289
- @WilfredAlmeida made their first contribution in #18362
- @balonik made their first contribution in #14615
- @akshatdalton made their first contribution in #18271
Full Changelog: v2.7.0...v2.8.0