Skip to content

Improve UX of adding project versions#1570

Merged
nscuro merged 1 commit into
DependencyTrack:mainfrom
nscuro:add-project-version-ux
Jun 4, 2026
Merged

Improve UX of adding project versions#1570
nscuro merged 1 commit into
DependencyTrack:mainfrom
nscuro:add-project-version-ux

Conversation

@nscuro
Copy link
Copy Markdown
Member

@nscuro nscuro commented Jun 4, 2026

Description

Improves UX of adding project versions:

  • Makes the version selector more visible by rendering it as a pill, and including an indicator for the number of versions.
  • Moves the button to add a new version from the project details modal to the version dropdown. Makes it more visible and requires fewer clicks to reach.
  • Marks latest versions with a star icon instead of a verbose LATEST VERSION label.
  • Migrates cloning itself to the v2 API, which is synchronous and returns the UUID of the cloned project.
  • Keep the version creation modal open with a spinner until cloning completes.
  • Navigates to the cloned project after request completion.
  • Provides inline feedback when a project with the chosen version already exists.
  • Makes dependencies between to-carry-over project data more visible by automatically toggling them. For example, disabling "Include components" also disables "Include findings", since the latter depends on the former.
  • Makes the version creation modal a proper form, so submission via enter works.

Addressed Issue

N/A

Additional Details

Docs PR: DependencyTrack/docs#125

Before

Screenshot From 2026-06-04 16-08-35 Screenshot From 2026-06-04 16-09-15 Screenshot From 2026-06-04 16-09-01 Screenshot From 2026-06-04 16-10-01

After

Screenshot From 2026-06-04 16-33-07 Screenshot From 2026-06-04 16-33-16 Screenshot From 2026-06-04 16-09-52

Checklist

* Makes the version selector more visible by rendering it as a pill, and including an indicator for the number of versions.
* Moves the button to add a new version from the project details modal to the version dropdown. Makes it more visible and requires fewer clicks to reach.
* Marks latest versions with a star icon instead of a verbose `LATEST VERSION` label.
* Migrates cloning itself to the v2 API, which is synchronous and returns the UUID of the cloned project.
* Keep the version creation modal open with a spinner until cloning completes.
* Navigates to the cloned project after request completion.
* Provides inline feedback when a project with the chosen version already exists.
* Makes dependencies between to-carry-over project data more visible by automatically toggling them. For example, disabling "Include components" also disables "Include findings", since the latter depends on the former.
* Makes the version creation modal a proper form, so submission via enter works.

Signed-off-by: nscuro <nscuro@protonmail.com>
@nscuro nscuro added this to the 5.0 milestone Jun 4, 2026
Copilot AI review requested due to automatic review settings June 4, 2026 14:36
@nscuro nscuro added the enhancement New feature or request label Jun 4, 2026
@owasp-dt-bot
Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refines the “add project version” flow to make version switching/creation more discoverable and to streamline cloning by switching to the synchronous v2 cloning API, keeping the modal open with progress feedback and navigating to the cloned project on completion.

Changes:

  • Updates the Project page version selector to a pill-style dropdown with tooltips, latest-version star indicator, and an optional version-count badge; moves “Add Version” into that dropdown.
  • Refactors the “Add Version” modal into a real form (Enter-to-submit), adds inline conflict feedback, adds carry-over dependency toggling, and migrates cloning to POST /api/v2/projects/{uuid}/clone with a blocking spinner state.
  • Adds/updates i18n strings needed for the new UX (new keys in en, placeholders in other locales).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/views/portfolio/projects/ProjectDetailsModal.vue Removes the “Add Version” button from the details modal footer (entry point moved elsewhere).
src/views/portfolio/projects/ProjectAddVersionModal.vue Converts modal to a form with inline validation feedback, dependent toggles, synchronous v2 clone call, spinner/lockout while cloning, and navigation on success.
src/views/portfolio/projects/Project.vue Implements pill-style version dropdown UI, adds “Add Version” action in dropdown, uses star icon for latest, and adds version count indicator.
src/i18n/locales/zh.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/zh-TW.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/uk-UA.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/ru.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/pt.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/pt-BR.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/pl.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/ja.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/it.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/hi.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/fr.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/es.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.
src/i18n/locales/en.json Adds the new UX strings, adjusts carry-over labels, and removes the no-longer-used cloning message.
src/i18n/locales/de.json Adds new message keys (placeholders) and removes no-longer-used cloning/audit-history strings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nscuro nscuro merged commit 089e2ea into DependencyTrack:main Jun 4, 2026
10 checks passed
@nscuro nscuro deleted the add-project-version-ux branch June 4, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants