Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package jfrog-cli for openSUSE:Factory 
checked in at 2026-06-18 18:41:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jfrog-cli (Old)
 and      /work/SRC/openSUSE:Factory/.jfrog-cli.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jfrog-cli"

Thu Jun 18 18:41:47 2026 rev:43 rq:1360185 version:2.109.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/jfrog-cli/jfrog-cli.changes      2026-06-12 
19:29:16.010563460 +0200
+++ /work/SRC/openSUSE:Factory/.jfrog-cli.new.1981/jfrog-cli.changes    
2026-06-18 18:43:26.592094717 +0200
@@ -1,0 +2,16 @@
+Thu Jun 18 07:38:56 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 2.109.0:
+  * New Features
+    - [jfrog-cli] Add AI-agent help text to mcp and uv commands
+      #3545 (@ehl-jf)
+    - [jfrog-cli-artifactory] JGC-492 - Add --format flag for
+      release-bundle-create, promote, and distribute #488 (@ehl-jf)
+  * Bug Fixes
+    - [build-info-go] RTECO-1187 - Updated logic to skip cache
+      check for empty depedency project #392 (@naveenku-jfrog)
+  * Other Changes
+    - [jfrog-cli-core] JGC-501 - Force non-interactive mode when
+      CLI is invoked by an agent #1573 (@ehl-jf)
+
+-------------------------------------------------------------------

Old:
----
  jfrog-cli-2.108.0.obscpio

New:
----
  jfrog-cli-2.109.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ jfrog-cli.spec ++++++
--- /var/tmp/diff_new_pack.egu5IP/_old  2026-06-18 18:43:30.376252836 +0200
+++ /var/tmp/diff_new_pack.egu5IP/_new  2026-06-18 18:43:30.380253002 +0200
@@ -19,7 +19,7 @@
 %define executable_name jf
 
 Name:           jfrog-cli
-Version:        2.108.0
+Version:        2.109.0
 Release:        0
 Summary:        A client that automates access to the JFrog products
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.egu5IP/_old  2026-06-18 18:43:30.444255677 +0200
+++ /var/tmp/diff_new_pack.egu5IP/_new  2026-06-18 18:43:30.448255844 +0200
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="exclude">.git</param>
-    <param name="revision">v2.108.0</param>
+    <param name="revision">v2.109.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.egu5IP/_old  2026-06-18 18:43:30.480257181 +0200
+++ /var/tmp/diff_new_pack.egu5IP/_new  2026-06-18 18:43:30.484257349 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/jfrog/jfrog-cli.git</param>
-              <param 
name="changesrevision">59e741b4e10c923bc8592fba3ffc830f15e90efd</param></service></servicedata>
+              <param 
name="changesrevision">8be8a76511f8226d26fca08cf80d2054209ee269</param></service></servicedata>
 (No newline at EOF)
 

++++++ jfrog-cli-2.108.0.obscpio -> jfrog-cli-2.109.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/build/npm/v2/package-lock.json 
new/jfrog-cli-2.109.0/build/npm/v2/package-lock.json
--- old/jfrog-cli-2.108.0/build/npm/v2/package-lock.json        2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/build/npm/v2/package-lock.json        2026-06-17 
11:57:12.000000000 +0200
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.108.0",
+  "version": "2.109.0",
   "lockfileVersion": 2
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/build/npm/v2/package.json 
new/jfrog-cli-2.109.0/build/npm/v2/package.json
--- old/jfrog-cli-2.108.0/build/npm/v2/package.json     2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/build/npm/v2/package.json     2026-06-17 
11:57:12.000000000 +0200
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.108.0",
+  "version": "2.109.0",
   "description": "🐸 Command-line interface for JFrog Artifactory, Xray, 
Distribution, Pipelines and Mission Control 🐸",
   "homepage": "https://github.com/jfrog/jfrog-cli";,
   "preferGlobal": true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/build/npm/v2-jf/package-lock.json 
new/jfrog-cli-2.109.0/build/npm/v2-jf/package-lock.json
--- old/jfrog-cli-2.108.0/build/npm/v2-jf/package-lock.json     2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/build/npm/v2-jf/package-lock.json     2026-06-17 
11:57:12.000000000 +0200
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.108.0",
+  "version": "2.109.0",
   "lockfileVersion": 1
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/build/npm/v2-jf/package.json 
new/jfrog-cli-2.109.0/build/npm/v2-jf/package.json
--- old/jfrog-cli-2.108.0/build/npm/v2-jf/package.json  2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/build/npm/v2-jf/package.json  2026-06-17 
11:57:12.000000000 +0200
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.108.0",
+  "version": "2.109.0",
   "description": "🐸 Command-line interface for JFrog Artifactory, Xray, 
Distribution, Pipelines and Mission Control 🐸",
   "homepage": "https://github.com/jfrog/jfrog-cli";,
   "preferGlobal": true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/buildtools/cli.go 
new/jfrog-cli-2.109.0/buildtools/cli.go
--- old/jfrog-cli-2.108.0/buildtools/cli.go     2026-06-10 13:09:51.000000000 
+0200
+++ new/jfrog-cli-2.109.0/buildtools/cli.go     2026-06-17 11:57:12.000000000 
+0200
@@ -366,8 +366,8 @@
                {
                        Name:            "uv",
                        Flags:           cliutils.GetCommandFlags(cliutils.Uv),
-                       Usage:           uvcommand.GetDescription(),
-                       HelpName:        corecommon.CreateUsage("uv", 
uvcommand.GetDescription(), uvcommand.Usage),
+                       Usage:           
corecommon.ResolveDescription(uvcommand.GetDescription(), 
uvcommand.GetAIDescription()),
+                       HelpName:        corecommon.CreateUsage("uv", 
corecommon.ResolveDescription(uvcommand.GetDescription(), 
uvcommand.GetAIDescription()), uvcommand.Usage),
                        UsageText:       uvcommand.GetArguments(),
                        ArgsUsage:       common.CreateEnvVars(),
                        SkipFlagParsing: true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/docs/buildtools/uvcommand/help.go 
new/jfrog-cli-2.109.0/docs/buildtools/uvcommand/help.go
--- old/jfrog-cli-2.108.0/docs/buildtools/uvcommand/help.go     2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/docs/buildtools/uvcommand/help.go     2026-06-17 
11:57:12.000000000 +0200
@@ -6,6 +6,29 @@
        return "Run uv command"
 }
 
+func GetAIDescription() string {
+       return `Run a uv (Python package manager) command through JFrog CLI so 
dependencies resolve against Artifactory and build-info can be recorded. 
Arguments are forwarded to the uv binary unchanged; the jf-specific flags are 
the build-info and server options.
+
+When to use:
+- Running 'uv pip install' / 'uv sync' / 'uv add' in a project that resolves 
through an Artifactory-backed index.
+- Capturing build-info for a uv-based Python build by passing --build-name and 
--build-number.
+
+Prerequisites:
+- uv installed and available on PATH.
+- A configured JFrog Platform server (jf c add or jf login), or pass 
--server-id.
+
+Common patterns:
+  $ jf uv pip install -r requirements.txt
+  $ jf uv sync --build-name=my-app --build-number=7
+  $ jf uv add requests --build-name=my-app --build-number=7 --module=api
+
+Gotchas:
+- All arguments after the uv sub-command are passed straight to uv (the 
command uses SkipFlagParsing); only --build-name, --build-number, --module, 
--project, and --server-id are interpreted by jf.
+- Build-info is collected only when --build-name and --build-number are 
provided; publish it afterwards with 'jf rt build-publish'.
+
+Related: jf rt build-publish, jf pip-install`
+}
+
 func GetArguments() string {
        return `        sub-command
                Arguments and options for the uv command.`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/docs/mcp/install/help.go 
new/jfrog-cli-2.109.0/docs/mcp/install/help.go
--- old/jfrog-cli-2.108.0/docs/mcp/install/help.go      2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/docs/mcp/install/help.go      2026-06-17 
11:57:12.000000000 +0200
@@ -6,6 +6,30 @@
        return "Configure an AI agent (cursor or claude) to connect to the 
remote JFrog MCP server."
 }
 
+func GetAIDescription() string {
+       return `Add the remote JFrog MCP server to an AI agent's configuration 
so the agent can call JFrog Platform tools. Writes the MCP entry for Cursor or 
Claude Code; authentication is completed via OAuth in the agent itself, so no 
credentials are written to the agent config.
+
+When to use:
+- Onboarding Cursor or Claude Code to the JFrog Platform MCP integration.
+- Adding the MCP server at project scope (default) or user scope (--global).
+
+Prerequisites:
+- A configured JFrog Platform server (jf c add or jf login), or pass 
--server-id / --url.
+- The target agent (Cursor or Claude Code) installed locally.
+
+Common patterns:
+  $ jf mcp install --agent=cursor
+  $ jf mcp install --agent=claude --global
+  $ jf mcp install --agent=cursor --dry-run
+
+Gotchas:
+- Before writing config, the command verifies the MCP server is reachable; 
pass --skip-check to bypass that probe.
+- After installing, complete the OAuth authorization in the agent (e.g. run 
/mcp in Claude Code, or approve the server in Cursor) to activate the 
connection.
+- Default scope is the current project; --global writes the user-level agent 
config instead.
+
+Related: jf mcp show, jf mcp uninstall`
+}
+
 func GetArguments() string {
        return `        EXAMPLES
   # Configure Cursor for the current project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/docs/mcp/show/help.go 
new/jfrog-cli-2.109.0/docs/mcp/show/help.go
--- old/jfrog-cli-2.108.0/docs/mcp/show/help.go 2026-06-10 13:09:51.000000000 
+0200
+++ new/jfrog-cli-2.109.0/docs/mcp/show/help.go 2026-06-17 11:57:12.000000000 
+0200
@@ -6,6 +6,27 @@
        return "Print the remote MCP (Model Context Protocol) server endpoint 
for the configured JFrog Platform."
 }
 
+func GetAIDescription() string {
+       return `Print the remote MCP (Model Context Protocol) server endpoint 
for the configured JFrog Platform, derived as <platform-url>/mcp. Use this to 
discover the URL an AI agent should connect to, or to confirm which platform 
the MCP integration points at.
+
+When to use:
+- Looking up the MCP endpoint to configure an agent manually (rather than via 
'jf mcp install').
+- Verifying which platform / server the MCP integration resolves to before 
installing.
+
+Prerequisites:
+- A configured JFrog Platform server (jf c add or jf login), or pass 
--server-id / --url.
+
+Common patterns:
+  $ jf mcp show
+  $ jf mcp show --server-id=my-platform --format=json
+
+Gotchas:
+- The endpoint defaults to <platform-url>/mcp; override it with --mcp-url or 
the JFROG_CLI_MCP_URL environment variable.
+- This is the remote, platform-hosted MCP server. It is unrelated to 'jf 
source-mcp', which runs a local MCP server for source-code analysis.
+
+Related: jf mcp install, jf mcp uninstall`
+}
+
 func GetArguments() string {
        return `        EXAMPLES
   # Print the MCP endpoint for the default server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/docs/mcp/uninstall/help.go 
new/jfrog-cli-2.109.0/docs/mcp/uninstall/help.go
--- old/jfrog-cli-2.108.0/docs/mcp/uninstall/help.go    2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/docs/mcp/uninstall/help.go    2026-06-17 
11:57:12.000000000 +0200
@@ -6,6 +6,27 @@
        return "Remove the JFrog MCP server entry previously added to an AI 
agent's configuration."
 }
 
+func GetAIDescription() string {
+       return `Remove the JFrog MCP server entry previously added to an AI 
agent's configuration (Cursor or Claude Code). Only the JFrog entry is removed; 
other configured MCP servers are left untouched.
+
+When to use:
+- Disconnecting an agent from the JFrog Platform MCP integration.
+- Cleaning up before re-installing against a different platform or scope.
+
+Prerequisites:
+- The agent (Cursor or Claude Code) with a JFrog MCP entry previously added by 
'jf mcp install'.
+
+Common patterns:
+  $ jf mcp uninstall --agent=cursor
+  $ jf mcp uninstall --agent=claude --global
+
+Gotchas:
+- Match the scope used at install time: a --global install is removed with 
--global; a project install is removed from the project config.
+- If the entry was installed under a non-default name, pass --name to target 
it.
+
+Related: jf mcp install, jf mcp show`
+}
+
 func GetArguments() string {
        return `        EXAMPLES
   # Remove the JFrog MCP server from Cursor (current project)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/go.mod new/jfrog-cli-2.109.0/go.mod
--- old/jfrog-cli-2.108.0/go.mod        2026-06-10 13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/go.mod        2026-06-17 11:57:12.000000000 +0200
@@ -16,13 +16,13 @@
        github.com/BurntSushi/toml v1.6.0
        github.com/agnivade/levenshtein v1.2.1
        github.com/buger/jsonparser v1.2.0
-       github.com/gocarina/gocsv v0.0.0-20260523204920-c264028e67ea
+       github.com/gocarina/gocsv v0.0.0-20260607070740-0735908c6461
        github.com/jfrog/archiver/v3 v3.6.3
-       github.com/jfrog/build-info-go v1.13.1-0.20260610071651-260ad6720e0d
+       github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305
        github.com/jfrog/gofrog v1.7.6
-       github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260608074325-4de652aef752
-       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260610074911-82ce7d90edbd
-       github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260609101026-df3091b39d06
+       github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260617073349-d68ee3120aa8
+       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260617065038-e7be947840da
+       github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260615072209-8ccac4f0072e
        github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260601141509-8df6c9a4bc9b
        github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260601140139-4cefb6add7b7
        github.com/jfrog/jfrog-cli-security v1.30.0
@@ -34,7 +34,7 @@
        github.com/testcontainers/testcontainers-go v0.42.0
        github.com/urfave/cli v1.22.17
        github.com/xeipuuv/gojsonschema v1.2.0
-       golang.org/x/exp v0.0.0-20260527015227-08cc5374adb3
+       golang.org/x/exp v0.0.0-20260603202125-055de637280b
        gopkg.in/yaml.v2 v2.4.0
        gopkg.in/yaml.v3 v3.0.1
 )
@@ -134,7 +134,7 @@
        github.com/in-toto/attestation v1.2.0 // indirect
        github.com/in-toto/in-toto-golang v0.11.0 // indirect
        github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // 
indirect
-       github.com/jedib0t/go-pretty/v6 v6.7.10 // indirect
+       github.com/jedib0t/go-pretty/v6 v6.8.0 // indirect
        github.com/jfrog/froggit-go v1.22.0 // indirect
        github.com/jfrog/go-mockhttp v0.3.1 // indirect
        github.com/jfrog/jfrog-apps-config v1.0.1 // indirect
@@ -146,9 +146,9 @@
        github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e // 
indirect
        github.com/magiconair/properties v1.8.10 // indirect
        github.com/manifoldco/promptui v0.9.0 // indirect
-       github.com/mattn/go-colorable v0.1.14 // indirect
+       github.com/mattn/go-colorable v0.1.15 // indirect
        github.com/mattn/go-isatty v0.0.22 // indirect
-       github.com/mattn/go-runewidth v0.0.23 // indirect
+       github.com/mattn/go-runewidth v0.0.24 // indirect
        github.com/mattn/go-tty v0.0.8 // indirect
        github.com/microsoft/azure-devops-go-api/azuredevops/v7 v7.1.0 // 
indirect
        github.com/minio/sha256-simd v1.0.1 // indirect
@@ -169,7 +169,7 @@
        github.com/owenrumney/go-sarif/v3 v3.3.0 // indirect
        github.com/package-url/packageurl-go v0.1.6 // indirect
        github.com/pelletier/go-toml/v2 v2.3.1 // indirect
-       github.com/pierrec/lz4/v4 v4.1.26 // indirect
+       github.com/pierrec/lz4/v4 v4.1.27 // indirect
        github.com/pjbgf/sha1cd v0.6.0 // indirect
        github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
        github.com/pkg/errors v0.9.1 // indirect
@@ -220,14 +220,14 @@
        go.opentelemetry.io/otel/trace v1.44.0 // indirect
        go.yaml.in/yaml/v2 v2.4.4 // indirect
        go.yaml.in/yaml/v3 v3.0.4 // indirect
-       golang.org/x/crypto v0.52.0 // indirect
+       golang.org/x/crypto v0.53.0 // indirect
        golang.org/x/mod v0.36.0 // indirect
-       golang.org/x/net v0.55.0 // indirect
+       golang.org/x/net v0.56.0 // indirect
        golang.org/x/oauth2 v0.36.0 // indirect
-       golang.org/x/sync v0.20.0 // indirect
-       golang.org/x/sys v0.45.0 // indirect
-       golang.org/x/term v0.43.0 // indirect
-       golang.org/x/text v0.37.0 // indirect
+       golang.org/x/sync v0.21.0 // indirect
+       golang.org/x/sys v0.46.0 // indirect
+       golang.org/x/term v0.44.0 // indirect
+       golang.org/x/text v0.38.0 // indirect
        golang.org/x/time v0.15.0 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20260526163538-3dc84a4a5aaa // indirect
        google.golang.org/genproto/googleapis/rpc 
v0.0.0-20260526163538-3dc84a4a5aaa // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/go.sum new/jfrog-cli-2.109.0/go.sum
--- old/jfrog-cli-2.108.0/go.sum        2026-06-10 13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/go.sum        2026-06-17 11:57:12.000000000 +0200
@@ -291,8 +291,8 @@
 github.com/go-test/deep v1.1.1/go.mod 
h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/go-viper/mapstructure/v2 v2.5.0 
h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro=
 github.com/go-viper/mapstructure/v2 v2.5.0/go.mod 
h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
-github.com/gocarina/gocsv v0.0.0-20260523204920-c264028e67ea 
h1:XvL0wVLiLmxbUB0xbPE3vY70Qrk0bkCdD8h7SL1Hyl4=
-github.com/gocarina/gocsv v0.0.0-20260523204920-c264028e67ea/go.mod 
h1:5YoVOkjYAQumqlV356Hj3xeYh4BdZuLE0/nRkf2NKkI=
+github.com/gocarina/gocsv v0.0.0-20260607070740-0735908c6461 
h1:VVnRfhuF6uyGqgcRnVK7PHOKNtiSh/YO24jfN8X/WDE=
+github.com/gocarina/gocsv v0.0.0-20260607070740-0735908c6461/go.mod 
h1:5YoVOkjYAQumqlV356Hj3xeYh4BdZuLE0/nRkf2NKkI=
 github.com/godbus/dbus/v5 v5.1.0 
h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
 github.com/godbus/dbus/v5 v5.1.0/go.mod 
h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/golang-jwt/jwt/v4 v4.5.2 
h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
@@ -386,16 +386,16 @@
 github.com/inconshreveable/mousetrap v1.1.0/go.mod 
h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 
h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod 
h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
-github.com/jedib0t/go-pretty/v6 v6.7.10 
h1:B/2qW2Bkv2L6n14PP8o1kx75kWzHOQ3YTluWzg9icac=
-github.com/jedib0t/go-pretty/v6 v6.7.10/go.mod 
h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU=
+github.com/jedib0t/go-pretty/v6 v6.8.0 
h1:fQOTjATVQl5RhssBro6ZuHANFybCkmJ7FjYPo4b7sEY=
+github.com/jedib0t/go-pretty/v6 v6.8.0/go.mod 
h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU=
 github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7 
h1:FWpSWRD8FbVkKQu8M1DM9jF5oXFLyE+XpisIYfdzbic=
 github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7/go.mod 
h1:BMxO138bOokdgt4UaxZiEfypcSHX0t6SIFimVP1oRfk=
 github.com/jellydator/ttlcache/v3 v3.4.0 
h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY=
 github.com/jellydator/ttlcache/v3 v3.4.0/go.mod 
h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4=
 github.com/jfrog/archiver/v3 v3.6.3 
h1:hkAmPjBw393tPmQ07JknLNWFNZjXdy2xFEnOW9wwOxI=
 github.com/jfrog/archiver/v3 v3.6.3/go.mod 
h1:5V9l+Fte30Y4qe9dUOAd3yNTf8lmtVNuhKNrvI8PMhg=
-github.com/jfrog/build-info-go v1.13.1-0.20260610071651-260ad6720e0d 
h1:34G3TEVZfbpAFqAt/BiXrS4dA8vZfofkdW7qCQAYSgM=
-github.com/jfrog/build-info-go v1.13.1-0.20260610071651-260ad6720e0d/go.mod 
h1:CYRUCvLKfyARjoJXLWAxce1qNUxTEtbRKAARkV42vpE=
+github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305 
h1:q7/hTPm6ibQf45CztScTgPb8cAmKIeQ9im0ClISsq7Y=
+github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305/go.mod 
h1:CYRUCvLKfyARjoJXLWAxce1qNUxTEtbRKAARkV42vpE=
 github.com/jfrog/froggit-go v1.22.0 
h1:eeN5F8sOUo+h2cXkzArAu4nvSdjkDTAZtgqwrct70qg=
 github.com/jfrog/froggit-go v1.22.0/go.mod 
h1:wRDryqyp3oe+eHgME2mpnEQmO8XBECIPagFwj0nHmdI=
 github.com/jfrog/go-mockhttp v0.3.1 
h1:/wac8v4GMZx62viZmv4wazB5GNKs+GxawuS1u3maJH8=
@@ -404,12 +404,12 @@
 github.com/jfrog/gofrog v1.7.6/go.mod 
h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
 github.com/jfrog/jfrog-apps-config v1.0.1 
h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY=
 github.com/jfrog/jfrog-apps-config v1.0.1/go.mod 
h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
-github.com/jfrog/jfrog-cli-application v1.0.2-0.20260608074325-4de652aef752 
h1:Fcb54+kmZjEuBbGstzerLz37Lk6SutfMF7CxLqgXRlE=
-github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260608074325-4de652aef752/go.mod 
h1:EeLKgLeJfKcS7671H52bfCgj1xK8wyJJGBRD5a+vJMc=
-github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260610074911-82ce7d90edbd 
h1:1AKWhJehl5Z8X69ibX7Azjt70x2L4PnBdnrGiVzdWxY=
-github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260610074911-82ce7d90edbd/go.mod 
h1:VqV0Bed11HoBlugAEGa3RumbwnDVslEf0gKocTzLs9s=
-github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260609101026-df3091b39d06 
h1:A8hWKHyvqzGXfWmh+8lXv3waAkim4xiucBfGhl7ZOeQ=
-github.com/jfrog/jfrog-cli-core/v2 
v2.60.1-0.20260609101026-df3091b39d06/go.mod 
h1:9R90mhbczGXwW5EGlDs7F08ejQU/xdoDhYHMvzBiqgE=
+github.com/jfrog/jfrog-cli-application v1.0.2-0.20260617073349-d68ee3120aa8 
h1:FG+SfgPgrIuBHSos4sw4KNZq2MKxebbCZ6KZZRfaYcs=
+github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260617073349-d68ee3120aa8/go.mod 
h1:p8yLtbmCxxQucIbLZKnWu0F+EDtj6NLXbRQCEK/nb6o=
+github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260617065038-e7be947840da 
h1:BnmMBxYQlJ/WMrVO31q7LumJ5fDLQdIm3MVGNrNDC4w=
+github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260617065038-e7be947840da/go.mod 
h1:VqV0Bed11HoBlugAEGa3RumbwnDVslEf0gKocTzLs9s=
+github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260615072209-8ccac4f0072e 
h1:E3B8OyEkCsdEdGsZifTphBDUPrd00yKoemL9+l25Qj8=
+github.com/jfrog/jfrog-cli-core/v2 
v2.60.1-0.20260615072209-8ccac4f0072e/go.mod 
h1:9R90mhbczGXwW5EGlDs7F08ejQU/xdoDhYHMvzBiqgE=
 github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260601141509-8df6c9a4bc9b 
h1:V0FxnU3xh29y8yJHWymm6rPr1MrjG1DdPQlr3ckImwk=
 github.com/jfrog/jfrog-cli-evidence 
v0.9.5-0.20260601141509-8df6c9a4bc9b/go.mod 
h1:t2luv7YHtrKe/Yf1xLZgLOkkiPtk1DsKj0OLXL2GwYo=
 github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260601140139-4cefb6add7b7 
h1:wqOk6luH2NFVhK+3p7DyHCa0e5Prie4QQpo5hPyCFwI=
@@ -455,8 +455,8 @@
 github.com/mattn/go-colorable v0.1.7/go.mod 
h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.9/go.mod 
h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.12/go.mod 
h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
-github.com/mattn/go-colorable v0.1.14 
h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
-github.com/mattn/go-colorable v0.1.14/go.mod 
h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
+github.com/mattn/go-colorable v0.1.15 
h1:+u9SLTRGnXv73cEsnsmoZBom+dMU88B2M0aDcWy0/jY=
+github.com/mattn/go-colorable v0.1.15/go.mod 
h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
 github.com/mattn/go-isatty v0.0.8/go.mod 
h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.10/go.mod 
h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
 github.com/mattn/go-isatty v0.0.12/go.mod 
h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
@@ -465,8 +465,8 @@
 github.com/mattn/go-isatty v0.0.22/go.mod 
h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
 github.com/mattn/go-runewidth v0.0.6/go.mod 
h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod 
h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.23 
h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw=
-github.com/mattn/go-runewidth v0.0.23/go.mod 
h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
+github.com/mattn/go-runewidth v0.0.24 
h1:cpokDiIn0MGnhdHwuWnJBITySJ20QyNGnY2kR/ay2DU=
+github.com/mattn/go-runewidth v0.0.24/go.mod 
h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
 github.com/mattn/go-tty v0.0.3/go.mod 
h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
 github.com/mattn/go-tty v0.0.8 h1:yxtc0Ye17/1ne/bjy993YUoyP8bJJFa9n5M9XTdwoZQ=
 github.com/mattn/go-tty v0.0.8/go.mod 
h1:f2i5ZOvXBU/tCABmLmOfzLz9azMo5wdAaElRNnJKr+k=
@@ -524,8 +524,8 @@
 github.com/pelletier/go-toml/v2 v2.3.1/go.mod 
h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
 github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 
h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI=
 github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod 
h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
-github.com/pierrec/lz4/v4 v4.1.26 
h1:GrpZw1gZttORinvzBdXPUXATeqlJjqUG/D87TKMnhjY=
-github.com/pierrec/lz4/v4 v4.1.26/go.mod 
h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
+github.com/pierrec/lz4/v4 v4.1.27 
h1:+PhzhWDrjRj89TH2sw43nE3+4+W8lSxIuQadEHZyjUk=
+github.com/pierrec/lz4/v4 v4.1.27/go.mod 
h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
 github.com/pjbgf/sha1cd v0.6.0 h1:3WJ8Wz8gvDz29quX1OcEmkAlUg9diU4GxJHqs0/XiwU=
 github.com/pjbgf/sha1cd v0.6.0/go.mod 
h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c 
h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
@@ -760,10 +760,10 @@
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.19.0/go.mod 
h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/crypto v0.21.0/go.mod 
h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988=
-golang.org/x/crypto v0.52.0/go.mod 
h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc=
-golang.org/x/exp v0.0.0-20260527015227-08cc5374adb3 
h1:VHEvKbpgPXcPXn40t9cDTGK3JZwMikIEyF/CTrFfu7k=
-golang.org/x/exp v0.0.0-20260527015227-08cc5374adb3/go.mod 
h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw=
+golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto=
+golang.org/x/crypto v0.53.0/go.mod 
h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio=
+golang.org/x/exp v0.0.0-20260603202125-055de637280b 
h1:v1uXiEBHo8QA0LiGCo7UgHMzHT4Kdfpl2zmtH5vaP1Q=
+golang.org/x/exp v0.0.0-20260603202125-055de637280b/go.mod 
h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
@@ -778,8 +778,8 @@
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
 golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
-golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
-golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
+golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o=
+golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
 golang.org/x/oauth2 v0.36.0/go.mod 
h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
@@ -788,8 +788,8 @@
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
-golang.org/x/sync v0.20.0/go.mod 
h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
+golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM=
+golang.org/x/sync v0.21.0/go.mod 
h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
 golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -819,16 +819,16 @@
 golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
-golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw=
+golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
 golang.org/x/term v0.17.0/go.mod 
h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
 golang.org/x/term v0.18.0/go.mod 
h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
-golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
-golang.org/x/term v0.43.0/go.mod 
h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
+golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc=
+golang.org/x/term v0.44.0/go.mod 
h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -836,8 +836,8 @@
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
-golang.org/x/text v0.37.0/go.mod 
h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
+golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE=
+golang.org/x/text v0.38.0/go.mod 
h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
 golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U=
 golang.org/x/time v0.15.0/go.mod 
h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/lifecycle_test.go 
new/jfrog-cli-2.109.0/lifecycle_test.go
--- old/jfrog-cli-2.108.0/lifecycle_test.go     2026-06-10 13:09:51.000000000 
+0200
+++ new/jfrog-cli-2.109.0/lifecycle_test.go     2026-06-17 11:57:12.000000000 
+0200
@@ -491,6 +491,54 @@
        assertStatusCompleted(t, lcManager, tests.LcRbName1, number1, "")
 }
 
+// TestReleaseBundleFormatFlag verifies the --format flag output of the 
lifecycle commands:
+//   - release-bundle-create --format=json emits a JSON confirmation object.
+//   - release-bundle-promote --format=table renders a summary table.
+//
+// The release-bundle-promote --format=json (default) path is already covered 
by promoteRb.
+func TestReleaseBundleFormatFlag(t *testing.T) {
+       cleanCallback := initLifecycleTest(t, 
signingKeyOptionalArtifactoryMinVersion)
+       defer cleanCallback()
+       lcManager := getLcServiceManager(t)
+
+       deleteBuilds := uploadBuilds(t)
+       defer deleteBuilds()
+
+       // release-bundle-create --format=json emits a JSON confirmation object.
+       specFile, err := tests.CreateSpec(tests.LifecycleBuilds12)
+       assert.NoError(t, err)
+       createOutput := lcCli.RunCliCmdWithOutput(t, "rbc", tests.LcRbName1, 
number1,
+               getOption("spec", specFile),
+               getOption(cliutils.SigningKey, gpgKeyPairName),
+               getOption(cliutils.Sync, "true"),
+               getOption(cliutils.Format, "json"))
+       defer deleteReleaseBundle(t, lcManager, tests.LcRbName1, number1)
+
+       var created struct {
+               Name    string `json:"release_bundle_name"`
+               Version string `json:"release_bundle_version"`
+               Status  string `json:"status"`
+       }
+       assert.NoError(t, json.Unmarshal([]byte(createOutput), &created))
+       assert.Equal(t, tests.LcRbName1, created.Name)
+       assert.Equal(t, number1, created.Version)
+       assert.Equal(t, "created", created.Status)
+
+       // release-bundle-promote --format=table renders a summary table.
+       tableOutput := lcCli.RunCliCmdWithOutput(t, "rbp", tests.LcRbName1, 
number1, prodEnvironment,
+               getOption(cliutils.SigningKey, gpgKeyPairName),
+               getOption(cliutils.IncludeRepos, tests.RtProdRepo1),
+               "--project=default",
+               getOption(cliutils.Format, "table"))
+       // The bundle name column wraps across lines, so assert on stable, 
non-wrapping
+       // content: the table title, headers, and the environment value.
+       assert.Contains(t, tableOutput, "Promotion Result")
+       assert.Contains(t, tableOutput, "BUNDLE NAME")
+       assert.Contains(t, tableOutput, "ENVIRONMENT")
+       assert.Contains(t, tableOutput, prodEnvironment)
+       assertStatusCompleted(t, lcManager, tests.LcRbName1, number1, "")
+}
+
 func TestReleaseBundleCreationWithDraftFlagFromSpec(t *testing.T) {
        cleanCallback := initLifecycleTest(t, draftBundleArtifactoryMinVersion)
        defer cleanCallback()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/mcp/cli.go 
new/jfrog-cli-2.109.0/mcp/cli.go
--- old/jfrog-cli-2.108.0/mcp/cli.go    2026-06-10 13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/mcp/cli.go    2026-06-17 11:57:12.000000000 +0200
@@ -25,8 +25,8 @@
                {
                        Name:         "show",
                        Flags:        
cliutils.GetCommandFlags(cliutils.McpShow),
-                       Usage:        showDocs.GetDescription(),
-                       HelpName:     corecommon.CreateUsage("mcp show", 
showDocs.GetDescription(), showDocs.Usage),
+                       Usage:        
corecommon.ResolveDescription(showDocs.GetDescription(), 
showDocs.GetAIDescription()),
+                       HelpName:     corecommon.CreateUsage("mcp show", 
corecommon.ResolveDescription(showDocs.GetDescription(), 
showDocs.GetAIDescription()), showDocs.Usage),
                        UsageText:    showDocs.GetArguments(),
                        ArgsUsage:    common.CreateEnvVars(),
                        BashComplete: corecommon.CreateBashCompletionFunc(),
@@ -35,8 +35,8 @@
                {
                        Name:         "install",
                        Flags:        
cliutils.GetCommandFlags(cliutils.McpInstall),
-                       Usage:        installDocs.GetDescription(),
-                       HelpName:     corecommon.CreateUsage("mcp install", 
installDocs.GetDescription(), installDocs.Usage),
+                       Usage:        
corecommon.ResolveDescription(installDocs.GetDescription(), 
installDocs.GetAIDescription()),
+                       HelpName:     corecommon.CreateUsage("mcp install", 
corecommon.ResolveDescription(installDocs.GetDescription(), 
installDocs.GetAIDescription()), installDocs.Usage),
                        UsageText:    installDocs.GetArguments(),
                        ArgsUsage:    common.CreateEnvVars(),
                        BashComplete: 
corecommon.CreateBashCompletionFunc("cursor", "claude"),
@@ -45,8 +45,8 @@
                {
                        Name:         "uninstall",
                        Flags:        
cliutils.GetCommandFlags(cliutils.McpUninstall),
-                       Usage:        uninstallDocs.GetDescription(),
-                       HelpName:     corecommon.CreateUsage("mcp uninstall", 
uninstallDocs.GetDescription(), uninstallDocs.Usage),
+                       Usage:        
corecommon.ResolveDescription(uninstallDocs.GetDescription(), 
uninstallDocs.GetAIDescription()),
+                       HelpName:     corecommon.CreateUsage("mcp uninstall", 
corecommon.ResolveDescription(uninstallDocs.GetDescription(), 
uninstallDocs.GetAIDescription()), uninstallDocs.Usage),
                        UsageText:    uninstallDocs.GetArguments(),
                        ArgsUsage:    common.CreateEnvVars(),
                        BashComplete: 
corecommon.CreateBashCompletionFunc("cursor", "claude"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.108.0/utils/cliutils/cli_consts.go 
new/jfrog-cli-2.109.0/utils/cliutils/cli_consts.go
--- old/jfrog-cli-2.108.0/utils/cliutils/cli_consts.go  2026-06-10 
13:09:51.000000000 +0200
+++ new/jfrog-cli-2.109.0/utils/cliutils/cli_consts.go  2026-06-17 
11:57:12.000000000 +0200
@@ -4,7 +4,7 @@
 
 const (
        // General CLI constants
-       CliVersion  = "2.108.0"
+       CliVersion  = "2.109.0"
        ClientAgent = "jfrog-cli-go"
 
        // CLI base commands constants:

++++++ jfrog-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.egu5IP/_old  2026-06-18 18:43:32.716350615 +0200
+++ /var/tmp/diff_new_pack.egu5IP/_new  2026-06-18 18:43:32.720350782 +0200
@@ -1,5 +1,5 @@
 name: jfrog-cli
-version: 2.108.0
-mtime: 1781089791
-commit: 59e741b4e10c923bc8592fba3ffc830f15e90efd
+version: 2.109.0
+mtime: 1781690232
+commit: 8be8a76511f8226d26fca08cf80d2054209ee269
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/jfrog-cli/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.jfrog-cli.new.1981/vendor.tar.gz differ: char 13, 
line 1

Reply via email to