Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package stackit-cli for openSUSE:Factory 
checked in at 2026-10-24 22:04:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/stackit-cli (Old)
 and      /work/SRC/openSUSE:Factory/.stackit-cli.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "stackit-cli"

Sat Oct 24 22:04:53 2026 rev:49 rq:1392192 version:0.76.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/stackit-cli/stackit-cli.changes  2026-10-17 
21:26:45.340267697 +0200
+++ /work/SRC/openSUSE:Factory/.stackit-cli.new.2252680/stackit-cli.changes     
2026-10-24 22:06:43.662892550 +0200
@@ -1,0 +2,40 @@
+Fri Oct 23 15:56:45 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.76.0:
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/mariadb (#1688)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/resourcemanager
+    (#1687)
+  * feat(cli): bump golang version from 1.26.0 to 1.26.10 (#1694)
+  * chore(deps): bump goreleaser/goreleaser-action from 7.2.3 to
+    7.3.0 (#1686)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/logme (#1685)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/edge (#1684)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/serviceenablement
+    (#1683)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/redis (#1682)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/iaas (#1681)
+  * feat(auth): add no browser open flag to login (#1602)
+  * feat(printer): add Noticef and Noticeln methods to printer
+    (#1675)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/authorization
+    (#1676)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/loadbalancer
+    (#1677)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/dns (#1678)
+  * chore(deps): bump
+    github.com/stackitcloud/stackit-sdk-go/services/runcommand
+    (#1679)
+  * feat(iaas): support description field for network and network
+    area cmds (#1673)
+
+-------------------------------------------------------------------

Old:
----
  stackit-cli-0.75.0.obscpio

New:
----
  stackit-cli-0.76.0.obscpio

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

Other differences:
------------------
++++++ stackit-cli.spec ++++++
--- /var/tmp/diff_new_pack.rNW8P2/_old  2026-10-24 22:06:45.705978538 +0200
+++ /var/tmp/diff_new_pack.rNW8P2/_new  2026-10-24 22:06:45.708978664 +0200
@@ -19,7 +19,7 @@
 %define executable_name stackit
 
 Name:           stackit-cli
-Version:        0.75.0
+Version:        0.76.0
 Release:        0
 Summary:        A command-line interface to manage STACKIT resources
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.rNW8P2/_old  2026-10-24 22:06:45.789982073 +0200
+++ /var/tmp/diff_new_pack.rNW8P2/_new  2026-10-24 22:06:45.800982536 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/stackitcloud/stackit-cli.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">refs/tags/v0.75.0</param>
+    <param name="revision">refs/tags/v0.76.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.rNW8P2/_old  2026-10-24 22:06:45.865985272 +0200
+++ /var/tmp/diff_new_pack.rNW8P2/_new  2026-10-24 22:06:45.876985735 +0200
@@ -3,6 +3,6 @@
                 <param 
name="url">https://github.com/stackitcloud/stackit-cli/</param>
               <param 
name="changesrevision">f388e861e2815ed9163cbcbe22088cd7e27f9cc5</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/stackitcloud/stackit-cli.git</param>
-              <param 
name="changesrevision">f02071216a078f1d3fd9cc1e53e0fb839ed3f3f8</param></service></servicedata>
+              <param 
name="changesrevision">5040102b0c4122e36cb4989602186f6b0b9822f9</param></service></servicedata>
 (No newline at EOF)
 

++++++ stackit-cli-0.75.0.obscpio -> stackit-cli-0.76.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/docs/stackit_auth_login.md 
new/stackit-cli-0.76.0/docs/stackit_auth_login.md
--- old/stackit-cli-0.75.0/docs/stackit_auth_login.md   2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/docs/stackit_auth_login.md   2026-10-22 
09:35:59.000000000 +0200
@@ -21,9 +21,10 @@
 ### Options
 
 ```
-  -h, --help       Help for "stackit auth login"
-      --port int   The port on which the callback server will listen to. By 
default, it tries to bind a port between 8000 and 8020.
-                   When a value is specified, it will only try to use the 
specified port. Valid values are within the range of 8000 to 8020.
+  -h, --help              Help for "stackit auth login"
+      --no-browser-open   If set, does not open the browser automatically but 
only prints the URL to the terminal
+      --port int          The port on which the callback server will listen 
to. By default, it tries to bind a port between 8000 and 8020.
+                          When a value is specified, it will only try to use 
the specified port. Valid values are within the range of 8000 to 8020.
 ```
 
 ### Options inherited from parent commands
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/docs/stackit_network_create.md 
new/stackit-cli-0.76.0/docs/stackit_network_create.md
--- old/stackit-cli-0.75.0/docs/stackit_network_create.md       2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/docs/stackit_network_create.md       2026-10-22 
09:35:59.000000000 +0200
@@ -16,6 +16,9 @@
   Create a network with name "network-1"
   $ stackit network create --name network-1
 
+  Create a network with name "network-1" and a description
+  $ stackit network create --name network-1 --description "My network"
+
   Create a non-routed network with name "network-1"
   $ stackit network create --name network-1 --non-routed
 
@@ -38,6 +41,7 @@
 ### Options
 
 ```
+      --description string              Description of the network (up to 255 
characters)
   -h, --help                            Help for "stackit network create"
       --ipv4-dns-name-servers strings   List of DNS name servers for IPv4. 
Nameservers cannot be defined for routed networks
       --ipv4-gateway string             The IPv4 gateway of a network. If not 
specified, the first IP of the network will be assigned as the gateway
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/docs/stackit_network_update.md 
new/stackit-cli-0.76.0/docs/stackit_network_update.md
--- old/stackit-cli-0.75.0/docs/stackit_network_update.md       2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/docs/stackit_network_update.md       2026-10-22 
09:35:59.000000000 +0200
@@ -16,6 +16,12 @@
   Update network with ID "xxx" with new name "network-1-new"
   $ stackit network update xxx --name network-1-new
 
+  Update the description of network with ID "xxx"
+  $ stackit network update xxx --description "My network"
+
+  Clear the description of network with ID "xxx"
+  $ stackit network update xxx --description ""
+
   Update network with ID "xxx" with no gateway
   $ stackit network update --no-ipv4-gateway
 
@@ -32,6 +38,7 @@
 ### Options
 
 ```
+      --description string              Description of the network (up to 255 
characters). Use an empty string to clear it
   -h, --help                            Help for "stackit network update"
       --ipv4-dns-name-servers strings   List of DNS name servers IPv4. 
Nameservers cannot be defined for routed networks
       --ipv4-gateway string             The IPv4 gateway of a network. If not 
specified, the first IP of the network will be assigned as the gateway
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/go.mod 
new/stackit-cli-0.76.0/go.mod
--- old/stackit-cli-0.75.0/go.mod       2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/go.mod       2026-10-22 09:35:59.000000000 +0200
@@ -1,6 +1,6 @@
 module github.com/stackitcloud/stackit-cli
 
-go 1.26.0
+go 1.26.10
 
 require (
        github.com/fatih/color v1.19.0
@@ -18,25 +18,25 @@
        github.com/stackitcloud/stackit-sdk-go/core v0.27.1
        github.com/stackitcloud/stackit-sdk-go/services/alb v0.18.0
        github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.4
-       github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.5
+       github.com/stackitcloud/stackit-sdk-go/services/authorization v0.16.0
        github.com/stackitcloud/stackit-sdk-go/services/automation v0.2.1
        github.com/stackitcloud/stackit-sdk-go/services/cdn v1.21.0
-       github.com/stackitcloud/stackit-sdk-go/services/dns v0.23.1
-       github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.2
+       github.com/stackitcloud/stackit-sdk-go/services/dns v0.25.0
+       github.com/stackitcloud/stackit-sdk-go/services/edge v0.14.0
        github.com/stackitcloud/stackit-sdk-go/services/git v0.14.1
-       github.com/stackitcloud/stackit-sdk-go/services/iaas v1.14.5
+       github.com/stackitcloud/stackit-sdk-go/services/iaas v1.15.1
        github.com/stackitcloud/stackit-sdk-go/services/intake v0.12.0
        github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.2
        github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.13.0
        github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.5.0
        github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.15.0
-       github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.26.1
-       github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.10.2
+       github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.27.0
+       github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.11.0
        github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.19.1
        github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.3
        github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.6.0
        github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.1
-       github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.2
+       github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.8.0
        github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.2
        github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.18.1
        github.com/stackitcloud/stackit-sdk-go/services/valkey v0.3.1
@@ -268,13 +268,13 @@
        github.com/spf13/afero v1.15.0 // indirect
        github.com/spf13/cast v1.10.0 // indirect
        github.com/stackitcloud/stackit-sdk-go/services/kms v1.14.0
-       github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.2
-       github.com/stackitcloud/stackit-sdk-go/services/logme v1.4.0
-       github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.3.1
+       github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.16.0
+       github.com/stackitcloud/stackit-sdk-go/services/logme v1.5.0
+       github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.4.0
        github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.12.0
        github.com/stackitcloud/stackit-sdk-go/services/observability v0.25.2
        github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.5.0
-       github.com/stackitcloud/stackit-sdk-go/services/redis v1.5.0
+       github.com/stackitcloud/stackit-sdk-go/services/redis v1.6.0
        github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.3
        github.com/subosito/gotenv v1.6.0 // indirect
        golang.org/x/sys v0.48.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/go.sum 
new/stackit-cli-0.76.0/go.sum
--- old/stackit-cli-0.75.0/go.sum       2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/go.sum       2026-10-22 09:35:59.000000000 +0200
@@ -614,32 +614,32 @@
 github.com/stackitcloud/stackit-sdk-go/services/alb v0.18.0/go.mod 
h1:zEx3JFbwg1VLB9uKa2P4BA2DdypghX1FT8mbJU+msjE=
 github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.4 
h1:KNEcAPj66Asb00V7f6v3Ku2d6ybP8PL1IwFQubUuxc0=
 github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.4/go.mod 
h1:riXgEDfIjNdFjYk81zNnWt0npkv1+/P1iFRfFIt28Jo=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.5 
h1:r4AkxPNdWeufZ4XaaXYK5dXJ5pzDTIZ5IqhvvjDIWpM=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.5/go.mod 
h1:J8YJeYIUWqyAh7pFEjOCT/r/hIxQ5iLf9v4Wjr/f8mE=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.16.0 
h1:I4NJalm+y2hVk+NhK4nCW86U7i8kTkDqF89eFPReaxw=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.16.0/go.mod 
h1:J8YJeYIUWqyAh7pFEjOCT/r/hIxQ5iLf9v4Wjr/f8mE=
 github.com/stackitcloud/stackit-sdk-go/services/automation v0.2.1 
h1:VxYQ4fCkuZAnzsqKXTSMxG8KX/OlfOgKJ0heB0Rf9gw=
 github.com/stackitcloud/stackit-sdk-go/services/automation v0.2.1/go.mod 
h1:pDhpbmeDlthML6h4jyI7ZRGrG2C4Tx3aIGru5Ts6ISo=
 github.com/stackitcloud/stackit-sdk-go/services/cdn v1.21.0 
h1:lCs1eq/OOTdwGrrkxkJ8qCnS6yLM4XZhznpML3nd1NI=
 github.com/stackitcloud/stackit-sdk-go/services/cdn v1.21.0/go.mod 
h1:NBgvZH5ekJ2hFCNI480C9MdJsa4989YGC1YgX5ELA48=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.23.1 
h1:6hm7oYJeR5Bu8d+PeCvVLWjUXh78pSfdsCTZ7lu5qdc=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.23.1/go.mod 
h1:t59gHqlbUzwV0yBuMHoUFQ8sOFXOYrhkNfneFolOHbY=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.2 
h1:UDkXmgOAlP3y/u7FKp6/MaVxvSi38hNqnj1HytM6bU4=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.2/go.mod 
h1:hlUcPvOgH/CzZqH7u4SwV81qiismCVAtvw5pTAf6si4=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.25.0 
h1:Yn4etadrdEEPU8YcbvF7a/UExSqri+jUC62w62ic4N8=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.25.0/go.mod 
h1:D0iv6XBYkaEwTjbBeom0VTZnwQMfwb48FC8R2jRg80c=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.14.0 
h1:TTwlI34FUb0AisiApxKs5brGNP3Ma9cTvdmbxzNxs40=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.14.0/go.mod 
h1:FBBnDsQns6SjJYQrox3YSY7ydOa4T8FR3sXNwFRTsPc=
 github.com/stackitcloud/stackit-sdk-go/services/git v0.14.1 
h1:7R5peSRer3Y83mfB6wcdCP0vhEjsq4myUdVhl24q6to=
 github.com/stackitcloud/stackit-sdk-go/services/git v0.14.1/go.mod 
h1:kz2pl17t9MNQx0+fNXg10ZAVfjmvOtsHB7VlAzu/Io8=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.14.5 
h1:CVRo4/hCy6vLlh6LQjQikTDnh/0KF43nRhKsiicxyXc=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.14.5/go.mod 
h1:oJmNZY04vvjrQI+y91ZZWOQiCAREcCldkh6cib+YtP0=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.15.1 
h1:5D0ABveu3SZyB7DBkVJcCSS4fr1TiMmfdJA98TgDn/o=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.15.1/go.mod 
h1:o6Mt/ZUB/3qvIwtu4B57m9IlyaUxAFS2Tu5XImiZxCE=
 github.com/stackitcloud/stackit-sdk-go/services/intake v0.12.0 
h1:1RDIGabA3U/kWrV0vkbkTof075liEHMdn39BsNwDI4k=
 github.com/stackitcloud/stackit-sdk-go/services/intake v0.12.0/go.mod 
h1:+v3VG6bXopAB2/uRz5yDXNFUwMSw0qJVRPxb3SDsACM=
 github.com/stackitcloud/stackit-sdk-go/services/kms v1.14.0 
h1:6vZhGEIEqXUcs6pzpVNsHRAcskAVuKRq9lNMCMlYn+Q=
 github.com/stackitcloud/stackit-sdk-go/services/kms v1.14.0/go.mod 
h1:ZBXRYWP4Yz3Gn75VSFz2mfcLSOrDEbiCoGTIXonvXkA=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.2 
h1:a7zyn+0rRgaOTX+W9Ut037KckptGjNC978ArvsjKjfY=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.2/go.mod 
h1:bG7b8OjvqSUf8MTjmkt/RW92YyYhkDgwZ0Z7Y6Evr+c=
-github.com/stackitcloud/stackit-sdk-go/services/logme v1.4.0 
h1:sm6Xw4tnJvHguNoHBqndpMX3wwzNmQx2ZwvPsU03ass=
-github.com/stackitcloud/stackit-sdk-go/services/logme v1.4.0/go.mod 
h1:88EgGOZDYkw31BPtuQsqhh2yqzF9ZfoggsP/cYz7+O0=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.16.0 
h1:zcPGXu16E5NRp5ocF/0JTnm6AyAQmk61iqIlUpAbfgo=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.16.0/go.mod 
h1:tVD3LmpowgML5U3imG9DdGAjhLmccibO92Ta7DPNfc0=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.5.0 
h1:WFok0NMwTUTIZtClkYZW8M2mAkoQwyaIJD8hLltM+z8=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.5.0/go.mod 
h1:88EgGOZDYkw31BPtuQsqhh2yqzF9ZfoggsP/cYz7+O0=
 github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.2 
h1:ZVOAS95S445ZUvXLjs4a+xL6kkxDm1bUHjDzYXwGbU4=
 github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.2/go.mod 
h1:euyZx4EqA2N7lVrC/wWxdCKalZmnY5zjfrjouNkGycA=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.3.1 
h1:FZJLUhHVrlrfFnI5VqAx0dOEcTZpMi/vnk/MxkzTkJI=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.3.1/go.mod 
h1:P1HFWSmuy2i1WA0PhcDfGsa0CRcbGTE+wDb1iEAL8/E=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.4.0 
h1:LFpdvASJnTv5Y/PEfwgK0pn7ixXLgcUmLt2cRTg979g=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.4.0/go.mod 
h1:GpFHOEVEq+Pog9dWPMvGeF4mEvB+MVLIRh3/jB1isUI=
 github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.13.0 
h1:+7cw7kFNw2dZ3opWDusuW+GC+3lwf8mjpHtIvi2+wqs=
 github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.13.0/go.mod 
h1:yNxGU6mwDzXX82/QfgxRzg2M3+ktVNKS1qPzT01QIi0=
 github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.12.0 
h1:IIvEF3DBLuPF38vvBfKWKaOTWKH9NjTpybd1pfAymb0=
@@ -652,12 +652,12 @@
 github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.15.0/go.mod 
h1:7Ka8vrinx+DjCXv6lqCVZbIkDIbrzA4qrkNjXr6MUDM=
 github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.5.0 
h1:SAro5TWVJDDyiqMwew9Ta1tMcItBmWrCRYErIQ9+UBI=
 github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.5.0/go.mod 
h1:mjYkyr/A/+9rZnX5IOLEoAMFqHsRCIToZWpsYzYBwWo=
-github.com/stackitcloud/stackit-sdk-go/services/redis v1.5.0 
h1:+6TwnEoyqED1AgbWsBUkP1iOAg3fXfUqXCsjHqfKeQ4=
-github.com/stackitcloud/stackit-sdk-go/services/redis v1.5.0/go.mod 
h1:/wE98YN+s1s1OcaEPt8Z2xO0Y46Gur3nXlg1AiiMNeY=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.26.1 
h1:6NHoXh6c/GQ7+CO03bszc09rnKCeP0dzMmyrnz6mkvs=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.26.1/go.mod 
h1:IsId3wbkp5oaO0JEaHZpZnbVW6KFHlAptwB+1iG3v3w=
-github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.10.2 
h1:YpTj2lU0sKe7a1mBH9LW30wUijxZZ1z246a7V40zHDc=
-github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.10.2/go.mod 
h1:KQLunYwad9IhSbnXuhkKAldVG9LNxCzIYHR8vMJlKQI=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.6.0 
h1:5UEPilI+RCuXEM8jm4ibREoZAsSAGI1+KnJ0oapye7Q=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.6.0/go.mod 
h1:/wE98YN+s1s1OcaEPt8Z2xO0Y46Gur3nXlg1AiiMNeY=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.27.0 
h1:lZl9X/wl0tF+HufZiurUkYJmk4u6/Vz8/FkdgT3wA10=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.27.0/go.mod 
h1:IsId3wbkp5oaO0JEaHZpZnbVW6KFHlAptwB+1iG3v3w=
+github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.11.0 
h1:EVeeGzvyiCN4VbInHIWXZtL8hPsVzZIdnfXjgyZzUf0=
+github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.11.0/go.mod 
h1:KQLunYwad9IhSbnXuhkKAldVG9LNxCzIYHR8vMJlKQI=
 github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.19.1 
h1:Mym5vqa3YaF42LbqlVXDFYf/evsNU76l0wpUPGEu+0U=
 github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.19.1/go.mod 
h1:oFbKTkCFtp/RVjTeuv5caSuuEnf3/JG8zRDB4nbLYes=
 github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.3 
h1:wqAj7RP4GrfWct1de6ny7UyJpB2vcMaNXR/8xPkPwKg=
@@ -666,8 +666,8 @@
 github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.6.0/go.mod 
h1:z17c+hqIi6S5Op9Uk0FmxaeZIoN6and2AAV7P1viAqQ=
 github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.1 
h1:zVVA/Puge2PK3G8lrGGolnQzxYwwsNUgfMyyRUUQc44=
 github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.1/go.mod 
h1:xJNa86o89czK2o60+s46vz8+NSKDTbQduFGFaztJnsA=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.2 
h1:ne+TBZTWUzIg47X5vRbeyPfJCA1tafIN3R20ADBIu2Q=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement 
v1.7.2/go.mod h1:gmOQuuRATNTmHTuwCsJ6ko1AwHThYpvEkmD2uOYEJCQ=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.8.0 
h1:PsLXr7R/R/ceWIJOkist2B5chWm/Q34IgQd/dmhvWbQ=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement 
v1.8.0/go.mod h1:izKsr/tJKDNPsgZ/LFQ2civLOICA75BKU06NNWgADIw=
 github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.3 
h1:u3IgZPwcD6yncKPK+PYqPKKaRW4EqfH8x4ARa53DlXI=
 github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.3/go.mod 
h1:QDhu6jIIgqgO7l/wAGlfUDHC4Q20vfyUifh3a0qT3W4=
 github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.2 
h1:4ApmRQGkcf/G/h1s19QsqH/vqE3oqfrdG1J/3/40iEM=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/internal/cmd/auth/login/login.go 
new/stackit-cli-0.76.0/internal/cmd/auth/login/login.go
--- old/stackit-cli-0.75.0/internal/cmd/auth/login/login.go     2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/auth/login/login.go     2026-10-22 
09:35:59.000000000 +0200
@@ -14,11 +14,13 @@
 )
 
 const (
-       portFlag = "port"
+       portFlag          = "port"
+       noBrowserOpenFlag = "no-browser-open"
 )
 
 type inputModel struct {
-       Port *int
+       Port          *int
+       NoBrowserOpen bool
 }
 
 func NewCmd(params *types.CmdParams) *cobra.Command {
@@ -43,6 +45,7 @@
                        err = auth.AuthorizeUser(params.Printer, 
auth.UserAuthConfig{
                                IsReauthentication: false,
                                Port:               model.Port,
+                               NoBrowserOpen:      model.NoBrowserOpen,
                        })
                        if err != nil {
                                return fmt.Errorf("authorization failed: %w", 
err)
@@ -62,6 +65,9 @@
                "The port on which the callback server will listen to. By 
default, it tries to bind a port between 8000 and 8020.\n"+
                        "When a value is specified, it will only try to use the 
specified port. Valid values are within the range of 8000 to 8020.",
        )
+       cmd.Flags().Bool(noBrowserOpenFlag, false,
+               "If set, does not open the browser automatically but only 
prints the URL to the terminal",
+       )
 }
 
 func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) 
(*inputModel, error) {
@@ -71,8 +77,11 @@
                return nil, fmt.Errorf("port must be between 8000 and 8020")
        }
 
+       noBrowserOpen := flags.FlagToBoolValue(p, cmd, noBrowserOpenFlag)
+
        model := inputModel{
-               Port: port,
+               Port:          port,
+               NoBrowserOpen: noBrowserOpen,
        }
 
        p.DebugInputModel(model)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network/create/create.go 
new/stackit-cli-0.76.0/internal/cmd/network/create/create.go
--- old/stackit-cli-0.75.0/internal/cmd/network/create/create.go        
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/create/create.go        
2026-10-22 09:35:59.000000000 +0200
@@ -25,6 +25,7 @@
 
 const (
        nameFlag               = "name"
+       descriptionFlag        = "description"
        ipv4DnsNameServersFlag = "ipv4-dns-name-servers"
        ipv4PrefixLengthFlag   = "ipv4-prefix-length"
        ipv4PrefixFlag         = "ipv4-prefix"
@@ -43,6 +44,7 @@
 type inputModel struct {
        *globalflags.GlobalFlagModel
        Name               string
+       Description        *string
        IPv4DnsNameServers []string
        IPv4PrefixLength   *int64
        IPv4Prefix         *string
@@ -70,6 +72,10 @@
                                `$ stackit network create --name network-1`,
                        ),
                        examples.NewExample(
+                               `Create a network with name "network-1" and a 
description`,
+                               `$ stackit network create --name network-1 
--description "My network"`,
+                       ),
+                       examples.NewExample(
                                `Create a non-routed network with name 
"network-1"`,
                                `$ stackit network create --name network-1 
--non-routed`,
                        ),
@@ -122,7 +128,7 @@
                        }
 
                        // Call API
-                       req := buildRequest(ctx, model, apiClient)
+                       req := buildRequest(ctx, model, apiClient.DefaultAPI)
                        resp, err := req.Execute()
                        if err != nil {
                                return fmt.Errorf("create network : %w", err)
@@ -152,6 +158,7 @@
 
 func configureFlags(cmd *cobra.Command) {
        cmd.Flags().StringP(nameFlag, "n", "", "Network name")
+       cmd.Flags().String(descriptionFlag, "", "Description of the network (up 
to 255 characters)")
        cmd.Flags().StringSlice(ipv4DnsNameServersFlag, []string{}, "List of 
DNS name servers for IPv4. Nameservers cannot be defined for routed networks")
        cmd.Flags().Int64(ipv4PrefixLengthFlag, 0, "The prefix length of the 
IPv4 network")
        cmd.Flags().String(ipv4PrefixFlag, "", "The IPv4 prefix of the network 
(CIDR)")
@@ -190,6 +197,7 @@
        model := inputModel{
                GlobalFlagModel:    globalFlags,
                Name:               flags.FlagToStringValue(p, cmd, nameFlag),
+               Description:        flags.FlagToStringPointer(p, cmd, 
descriptionFlag),
                IPv4DnsNameServers: flags.FlagToStringSliceValue(p, cmd, 
ipv4DnsNameServersFlag),
                IPv4PrefixLength:   flags.FlagToInt64Pointer(p, cmd, 
ipv4PrefixLengthFlag),
                IPv4Prefix:         flags.FlagToStringPointer(p, cmd, 
ipv4PrefixFlag),
@@ -246,8 +254,8 @@
        return &model, nil
 }
 
-func buildRequest(ctx context.Context, model *inputModel, apiClient 
*iaas.APIClient) iaas.ApiCreateNetworkRequest {
-       req := apiClient.DefaultAPI.CreateNetwork(ctx, model.ProjectId, 
model.Region)
+func buildRequest(ctx context.Context, model *inputModel, apiClient 
iaas.DefaultAPI) iaas.ApiCreateNetworkRequest {
+       req := apiClient.CreateNetwork(ctx, model.ProjectId, model.Region)
        var ipv4Network *iaas.CreateNetworkIPv4
        var ipv6Network *iaas.CreateNetworkIPv6
 
@@ -297,6 +305,7 @@
 
        payload := iaas.CreateNetworkPayload{
                Name:           model.Name,
+               Description:    model.Description,
                Labels:         model.Labels,
                Routed:         utils.Ptr(!model.NonRouted),
                Ipv4:           ipv4Network,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network/create/create_test.go 
new/stackit-cli-0.76.0/internal/cmd/network/create/create_test.go
--- old/stackit-cli-0.75.0/internal/cmd/network/create/create_test.go   
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/create/create_test.go   
2026-10-22 09:35:59.000000000 +0200
@@ -235,6 +235,26 @@
                        expectedModel: fixtureInputModel(),
                },
                {
+                       description: "description set",
+                       flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
+                               flagValues[descriptionFlag] = "My network"
+                       }),
+                       isValid: true,
+                       expectedModel: fixtureInputModel(func(model 
*inputModel) {
+                               model.Description = new("My network")
+                       }),
+               },
+               {
+                       description: "description empty",
+                       flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
+                               flagValues[descriptionFlag] = ""
+                       }),
+                       isValid: true,
+                       expectedModel: fixtureInputModel(func(model 
*inputModel) {
+                               model.Description = new("")
+                       }),
+               },
+               {
                        description: "required only",
                        flagValues: map[string]string{
                                globalflags.ProjectIdFlag: testProjectId,
@@ -510,6 +530,28 @@
                        expectedRequest: fixtureRequest(),
                },
                {
+                       description: "description set",
+                       model: fixtureInputModel(func(model *inputModel) {
+                               model.Description = new("My network")
+                       }),
+                       expectedRequest: fixtureRequest(func(request 
*iaas.ApiCreateNetworkRequest) {
+                               *request = 
request.CreateNetworkPayload(fixturePayload(func(payload 
*iaas.CreateNetworkPayload) {
+                                       payload.Description = new("My network")
+                               }))
+                       }),
+               },
+               {
+                       description: "description empty",
+                       model: fixtureInputModel(func(model *inputModel) {
+                               model.Description = new("")
+                       }),
+                       expectedRequest: fixtureRequest(func(request 
*iaas.ApiCreateNetworkRequest) {
+                               *request = 
request.CreateNetworkPayload(fixturePayload(func(payload 
*iaas.CreateNetworkPayload) {
+                                       payload.Description = new("")
+                               }))
+                       }),
+               },
+               {
                        description: "only name in payload",
                        model: &inputModel{
                                GlobalFlagModel: &globalflags.GlobalFlagModel{
@@ -632,7 +674,7 @@
        }
        for _, tt := range tests {
                t.Run(tt.description, func(t *testing.T) {
-                       request := buildRequest(testCtx, tt.model, testClient)
+                       request := buildRequest(testCtx, tt.model, 
testClient.DefaultAPI)
 
                        diff := cmp.Diff(tt.expectedRequest, request,
                                cmp.AllowUnexported(tt.expectedRequest),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network/describe/describe.go 
new/stackit-cli-0.76.0/internal/cmd/network/describe/describe.go
--- old/stackit-cli-0.75.0/internal/cmd/network/describe/describe.go    
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/describe/describe.go    
2026-10-22 09:35:59.000000000 +0200
@@ -136,6 +136,8 @@
                table.AddSeparator()
                table.AddRow("NAME", network.Name)
                table.AddSeparator()
+               table.AddRow("DESCRIPTION", 
utils.PtrString(network.Description))
+               table.AddSeparator()
                table.AddRow("STATE", network.Status)
                table.AddSeparator()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/internal/cmd/network/list/list.go 
new/stackit-cli-0.76.0/internal/cmd/network/list/list.go
--- old/stackit-cli-0.75.0/internal/cmd/network/list/list.go    2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/list/list.go    2026-10-22 
09:35:59.000000000 +0200
@@ -143,7 +143,7 @@
                }
 
                table := tables.NewTable()
-               table.SetHeader("ID", "NAME", "STATUS", "PUBLIC IP", 
"PREFIXES", "ROUTED", "ROUTING TABLE ID")
+               table.SetHeader("ID", "NAME", "DESCRIPTION", "STATUS", "PUBLIC 
IP", "PREFIXES", "ROUTED", "ROUTING TABLE ID")
 
                for _, network := range networks {
                        var publicIp, prefixes string
@@ -160,6 +160,7 @@
                        table.AddRow(
                                network.Id,
                                network.Name,
+                               utils.Truncate(network.Description, 70),
                                network.Status,
                                publicIp,
                                prefixes,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network/update/update.go 
new/stackit-cli-0.76.0/internal/cmd/network/update/update.go
--- old/stackit-cli-0.75.0/internal/cmd/network/update/update.go        
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/update/update.go        
2026-10-22 09:35:59.000000000 +0200
@@ -27,6 +27,7 @@
        networkIdArg = "NETWORK_ID"
 
        nameFlag               = "name"
+       descriptionFlag        = "description"
        ipv4DnsNameServersFlag = "ipv4-dns-name-servers"
        ipv4GatewayFlag        = "ipv4-gateway"
        ipv6DnsNameServersFlag = "ipv6-dns-name-servers"
@@ -41,6 +42,7 @@
        *globalflags.GlobalFlagModel
        NetworkId          string
        Name               *string
+       Description        *string
        IPv4DnsNameServers *[]string
        IPv4Gateway        *string
        IPv6DnsNameServers *[]string
@@ -63,6 +65,14 @@
                                `$ stackit network update xxx --name 
network-1-new`,
                        ),
                        examples.NewExample(
+                               `Update the description of network with ID 
"xxx"`,
+                               `$ stackit network update xxx --description "My 
network"`,
+                       ),
+                       examples.NewExample(
+                               `Clear the description of network with ID 
"xxx"`,
+                               `$ stackit network update xxx --description ""`,
+                       ),
+                       examples.NewExample(
                                `Update network with ID "xxx" with no gateway`,
                                `$ stackit network update --no-ipv4-gateway`,
                        ),
@@ -107,7 +117,7 @@
                        }
 
                        // Call API
-                       req := buildRequest(ctx, model, apiClient)
+                       req := buildRequest(ctx, model, apiClient.DefaultAPI)
                        err = req.Execute()
                        if err != nil {
                                return fmt.Errorf("update network area: %w", 
err)
@@ -138,6 +148,7 @@
 
 func configureFlags(cmd *cobra.Command) {
        cmd.Flags().StringP(nameFlag, "n", "", "Network name")
+       cmd.Flags().String(descriptionFlag, "", "Description of the network (up 
to 255 characters). Use an empty string to clear it")
        cmd.Flags().StringSlice(ipv4DnsNameServersFlag, nil, "List of DNS name 
servers IPv4. Nameservers cannot be defined for routed networks")
        cmd.Flags().String(ipv4GatewayFlag, "", "The IPv4 gateway of a network. 
If not specified, the first IP of the network will be assigned as the gateway")
        cmd.Flags().StringSlice(ipv6DnsNameServersFlag, nil, "List of DNS name 
servers for IPv6. Nameservers cannot be defined for routed networks")
@@ -159,6 +170,7 @@
        model := inputModel{
                GlobalFlagModel:    globalFlags,
                Name:               flags.FlagToStringPointer(p, cmd, nameFlag),
+               Description:        flags.FlagToStringPointer(p, cmd, 
descriptionFlag),
                NetworkId:          networkId,
                IPv4DnsNameServers: flags.FlagToStringSlicePointer(p, cmd, 
ipv4DnsNameServersFlag),
                IPv4Gateway:        flags.FlagToStringPointer(p, cmd, 
ipv4GatewayFlag),
@@ -170,12 +182,20 @@
                Labels:             flags.FlagToStringToAny(p, cmd, labelFlag),
        }
 
+       if model.Name == nil && model.Description == nil &&
+               model.IPv4DnsNameServers == nil && model.IPv4Gateway == nil &&
+               model.IPv6DnsNameServers == nil && model.IPv6Gateway == nil &&
+               !model.NoIPv4Gateway && !model.NoIPv6Gateway &&
+               model.RoutingTableId == nil && model.Labels == nil {
+               return nil, &cliErr.EmptyUpdateError{}
+       }
+
        p.DebugInputModel(model)
        return &model, nil
 }
 
-func buildRequest(ctx context.Context, model *inputModel, apiClient 
*iaas.APIClient) iaas.ApiPartialUpdateNetworkRequest {
-       req := apiClient.DefaultAPI.PartialUpdateNetwork(ctx, model.ProjectId, 
model.Region, model.NetworkId)
+func buildRequest(ctx context.Context, model *inputModel, apiClient 
iaas.DefaultAPI) iaas.ApiPartialUpdateNetworkRequest {
+       req := apiClient.PartialUpdateNetwork(ctx, model.ProjectId, 
model.Region, model.NetworkId)
        var payloadIPv4 *iaas.UpdateNetworkIPv4Body
        var payloadIPv6 *iaas.UpdateNetworkIPv6Body
 
@@ -209,6 +229,7 @@
 
        payload := iaas.PartialUpdateNetworkPayload{
                Name:           model.Name,
+               Description:    model.Description,
                Ipv4:           payloadIPv4,
                Ipv6:           payloadIPv6,
                Labels:         model.Labels,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network/update/update_test.go 
new/stackit-cli-0.76.0/internal/cmd/network/update/update_test.go
--- old/stackit-cli-0.75.0/internal/cmd/network/update/update_test.go   
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network/update/update_test.go   
2026-10-22 09:35:59.000000000 +0200
@@ -126,6 +126,28 @@
                        expectedModel: fixtureInputModel(),
                },
                {
+                       description: "description set",
+                       argValues:   fixtureArgValues(),
+                       flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
+                               flagValues[descriptionFlag] = "My network"
+                       }),
+                       isValid: true,
+                       expectedModel: fixtureInputModel(func(model 
*inputModel) {
+                               model.Description = new("My network")
+                       }),
+               },
+               {
+                       description: "description empty",
+                       argValues:   fixtureArgValues(),
+                       flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
+                               flagValues[descriptionFlag] = ""
+                       }),
+                       isValid: true,
+                       expectedModel: fixtureInputModel(func(model 
*inputModel) {
+                               model.Description = new("")
+                       }),
+               },
+               {
                        description: "required only",
                        argValues:   fixtureArgValues(),
                        flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
@@ -143,6 +165,15 @@
                        isValid:     false,
                },
                {
+                       description: "no cmd specific flag values",
+                       argValues:   fixtureArgValues(),
+                       flagValues: map[string]string{
+                               globalflags.ProjectIdFlag: testProjectId,
+                               globalflags.RegionFlag:    testRegion,
+                       },
+                       isValid: false,
+               },
+               {
                        description: "project id missing",
                        argValues:   fixtureArgValues(),
                        flagValues: fixtureFlagValues(func(flagValues 
map[string]string) {
@@ -318,6 +349,39 @@
                        expectedRequest: fixtureRequest(),
                },
                {
+                       description: "description set",
+                       model: fixtureInputModel(func(model *inputModel) {
+                               model.Description = new("My network")
+                       }),
+                       expectedRequest: fixtureRequest(func(payload 
*iaas.PartialUpdateNetworkPayload) {
+                               payload.Description = new("My network")
+                       }),
+               },
+               {
+                       description: "description empty",
+                       model: fixtureInputModel(func(model *inputModel) {
+                               model.Description = new("")
+                       }),
+                       expectedRequest: fixtureRequest(func(payload 
*iaas.PartialUpdateNetworkPayload) {
+                               payload.Description = new("")
+                       }),
+               },
+               {
+                       description: "description only",
+                       model: &inputModel{
+                               GlobalFlagModel: &globalflags.GlobalFlagModel{
+                                       ProjectId: testProjectId,
+                                       Region:    testRegion,
+                               },
+                               NetworkId:   testNetworkId,
+                               Description: new("My network"),
+                       },
+                       expectedRequest: 
testClient.DefaultAPI.PartialUpdateNetwork(testCtx, testProjectId, testRegion, 
testNetworkId).
+                               
PartialUpdateNetworkPayload(iaas.PartialUpdateNetworkPayload{
+                                       Description: new("My network"),
+                               }),
+               },
+               {
                        description: "not setting IPv4DnsNameServers does not 
result in nil pointer dereference",
                        model: fixtureInputModel(func(model *inputModel) {
                                model.IPv4DnsNameServers = nil
@@ -343,7 +407,7 @@
 
        for _, tt := range tests {
                t.Run(tt.description, func(t *testing.T) {
-                       request := buildRequest(testCtx, tt.model, testClient)
+                       request := buildRequest(testCtx, tt.model, 
testClient.DefaultAPI)
 
                        diff := cmp.Diff(request, tt.expectedRequest,
                                cmp.AllowUnexported(tt.expectedRequest),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network-area/route/list/list.go 
new/stackit-cli-0.76.0/internal/cmd/network-area/route/list/list.go
--- old/stackit-cli-0.75.0/internal/cmd/network-area/route/list/list.go 
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/cmd/network-area/route/list/list.go 
2026-10-22 09:35:59.000000000 +0200
@@ -152,14 +152,14 @@
                        routeNexthop := route.Nexthop
                        if routeNexthop.NexthopIPv4 != nil {
                                nextHop = routeNexthop.NexthopIPv4.Value
-                               nextHopType = routeNexthop.NexthopIPv4.Type
+                               nextHopType = 
string(routeNexthop.NexthopIPv4.Type)
                        } else if routeNexthop.NexthopIPv6 != nil {
                                nextHop = routeNexthop.NexthopIPv6.Value
-                               nextHopType = routeNexthop.NexthopIPv6.Type
+                               nextHopType = 
string(routeNexthop.NexthopIPv6.Type)
                        } else if routeNexthop.NexthopBlackhole != nil {
-                               nextHopType = routeNexthop.NexthopBlackhole.Type
+                               nextHopType = 
string(routeNexthop.NexthopBlackhole.Type)
                        } else if routeNexthop.NexthopInternet != nil {
-                               nextHopType = routeNexthop.NexthopInternet.Type
+                               nextHopType = 
string(routeNexthop.NexthopInternet.Type)
                        }
 
                        table.AddRow(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/cmd/network-area/routingtable/route/create/create.go
 
new/stackit-cli-0.76.0/internal/cmd/network-area/routingtable/route/create/create.go
--- 
old/stackit-cli-0.75.0/internal/cmd/network-area/routingtable/route/create/create.go
        2026-10-16 09:48:00.000000000 +0200
+++ 
new/stackit-cli-0.76.0/internal/cmd/network-area/routingtable/route/create/create.go
        2026-10-22 09:35:59.000000000 +0200
@@ -210,14 +210,14 @@
        case destTypeCIDRv4:
                return &iaas.RouteDestination{
                        DestinationCIDRv4: &iaas.DestinationCIDRv4{
-                               Type:  model.DestinationType,
+                               Type:  
iaas.DestinationCIDRv4Type(model.DestinationType),
                                Value: *model.DestinationValue,
                        },
                }
        case destTypeCIDRv6:
                return &iaas.RouteDestination{
                        DestinationCIDRv6: &iaas.DestinationCIDRv6{
-                               Type:  model.DestinationType,
+                               Type:  
iaas.DestinationCIDRv6Type(model.DestinationType),
                                Value: *model.DestinationValue,
                        },
                }
@@ -232,27 +232,27 @@
        case nextHopTypeIPv4:
                return &iaas.RouteNexthop{
                        NexthopIPv4: &iaas.NexthopIPv4{
-                               Type:  model.NextHopType,
+                               Type:  iaas.NexthopIPv4Type(model.NextHopType),
                                Value: *model.NextHopValue,
                        },
                }
        case nextHopTypeIPv6:
                return &iaas.RouteNexthop{
                        NexthopIPv6: &iaas.NexthopIPv6{
-                               Type:  model.NextHopType,
+                               Type:  iaas.NexthopIPv6Type(model.NextHopType),
                                Value: *model.NextHopValue,
                        },
                }
        case nextHopTypeInternet:
                return &iaas.RouteNexthop{
                        NexthopInternet: &iaas.NexthopInternet{
-                               Type: model.NextHopType,
+                               Type: 
iaas.NexthopInternetType(model.NextHopType),
                        },
                }
        case nextHopTypeBlackhole:
                return &iaas.RouteNexthop{
                        NexthopBlackhole: &iaas.NexthopBlackhole{
-                               Type: model.NextHopType,
+                               Type: 
iaas.NexthopBlackholeType(model.NextHopType),
                        },
                }
        default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/internal/pkg/auth/user_login.go 
new/stackit-cli-0.76.0/internal/pkg/auth/user_login.go
--- old/stackit-cli-0.75.0/internal/pkg/auth/user_login.go      2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/pkg/auth/user_login.go      2026-10-22 
09:35:59.000000000 +0200
@@ -51,6 +51,8 @@
        IsReauthentication bool
        // Port defines which port should be used for the UserAuthFlow callback
        Port *int
+       // NoBrowserOpen stops the browser from opening automatically during 
the login flow
+       NoBrowserOpen bool
 }
 
 type apiClient interface {
@@ -250,19 +252,28 @@
                }
        })
 
-       p.Debug(print.DebugLevel, "opening browser for authentication: %s", 
authorizationURL)
        p.Debug(print.DebugLevel, "using authentication server on %s", 
idpWellKnownConfig.Issuer)
        p.Debug(print.DebugLevel, "using client ID %s for authentication ", 
idpClientID)
 
-       // Open a browser window to the authorizationURL
-       err = openBrowser(authorizationURL)
-       if err != nil {
-               return fmt.Errorf("open browser to URL %s: %w", 
authorizationURL, err)
-       }
+       if authConfig.NoBrowserOpen {
+               p.Debug(print.DebugLevel, "skipping browser opening since the 
commandline flag was passed")
 
-       // Print the link
-       p.Info("Your browser has been opened to visit:\n\n")
-       p.Info("%s\n\n", authorizationURL)
+               // Print the link in terminal
+               p.Noticeln("Open the following URL in your browser:\n")
+               p.Outputf("%s\n\n", authorizationURL)
+       } else {
+               p.Debug(print.DebugLevel, "opening browser for authentication: 
%s", authorizationURL)
+
+               // Open a browser window to the authorizationURL
+               err = openBrowser(authorizationURL)
+               if err != nil {
+                       return fmt.Errorf("open browser to URL %s: %w", 
authorizationURL, err)
+               }
+
+               // Print the link
+               p.Info("Your browser has been opened to visit:\n\n")
+               p.Info("%s\n\n", authorizationURL)
+       }
 
        // Start the blocking web server loop
        // It will exit when the handlers get fired and call server.Close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/internal/pkg/print/print.go 
new/stackit-cli-0.76.0/internal/pkg/print/print.go
--- old/stackit-cli-0.75.0/internal/pkg/print/print.go  2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/pkg/print/print.go  2026-10-22 
09:35:59.000000000 +0200
@@ -97,6 +97,16 @@
        mustPrint(fmt.Fprintln(p.StdOut, msg))
 }
 
+// Noticef prints a formatted notice to StdErr, regardless of verbosity or 
output format.
+func (p *Printer) Noticef(msg string, args ...any) {
+       mustPrint(fmt.Fprintf(p.StdErr, msg, args...))
+}
+
+// Noticeln prints a notice followed by a newline to StdErr, regardless of 
verbosity or output format.
+func (p *Printer) Noticeln(msg string) {
+       mustPrint(fmt.Fprintln(p.StdErr, msg))
+}
+
 // Print a Debug level log through the "slog" package.
 // If the verbosity level is not Debug, it does nothing
 func (p *Printer) Debug(level Level, msg string, args ...any) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stackit-cli-0.75.0/internal/pkg/print/print_test.go 
new/stackit-cli-0.76.0/internal/pkg/print/print_test.go
--- old/stackit-cli-0.75.0/internal/pkg/print/print_test.go     2026-10-16 
09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/pkg/print/print_test.go     2026-10-22 
09:35:59.000000000 +0200
@@ -152,6 +152,153 @@
        }
 }
 
+func TestNoticef(t *testing.T) {
+       tests := []struct {
+               description      string
+               message          string
+               args             []any
+               verbosity        Level
+               outputFormatNone bool
+               expectedOutput   string
+       }{
+               {
+                       description:    "debug verbosity",
+                       message:        "Test message",
+                       verbosity:      DebugLevel,
+                       expectedOutput: "Test message",
+               },
+               {
+                       description:    "info verbosity",
+                       message:        "Test message",
+                       verbosity:      InfoLevel,
+                       expectedOutput: "Test message",
+               },
+               {
+                       description:    "with args",
+                       message:        "Test message with args: %s, %d\n",
+                       args:           []any{"arg1", 2},
+                       verbosity:      InfoLevel,
+                       expectedOutput: "Test message with args: arg1, 2\n",
+               },
+               {
+                       description:    "warning verbosity",
+                       message:        "Test message",
+                       verbosity:      WarningLevel,
+                       expectedOutput: "Test message",
+               },
+               {
+                       description:    "error verbosity",
+                       message:        "Test message",
+                       verbosity:      ErrorLevel,
+                       expectedOutput: "Test message",
+               },
+               {
+                       description:      "output format none",
+                       message:          "Test message: %s",
+                       args:             []any{"arg1"},
+                       verbosity:        ErrorLevel,
+                       outputFormatNone: true,
+                       expectedOutput:   "Test message: arg1",
+               },
+               {
+                       description: "empty message",
+                       verbosity:   InfoLevel,
+               },
+       }
+       for _, tt := range tests {
+               t.Run(tt.description, func(t *testing.T) {
+                       var stdout, stderr bytes.Buffer
+                       p := &Printer{
+                               StdOut:    &stdout,
+                               StdErr:    &stderr,
+                               Verbosity: tt.verbosity,
+                       }
+                       viper.Reset()
+                       if tt.outputFormatNone {
+                               viper.Set(outputFormatKey, NoneOutputFormat)
+                       }
+
+                       p.Noticef(tt.message, tt.args...)
+
+                       if output := stderr.String(); output != 
tt.expectedOutput {
+                               t.Errorf("unexpected stderr: got %q, want %q", 
output, tt.expectedOutput)
+                       }
+                       if output := stdout.String(); output != "" {
+                               t.Errorf("unexpected stdout: got %q, want %q", 
output, "")
+                       }
+               })
+       }
+}
+
+func TestNoticeln(t *testing.T) {
+       tests := []struct {
+               description      string
+               message          string
+               verbosity        Level
+               outputFormatNone bool
+       }{
+               {
+                       description: "debug verbosity",
+                       message:     "Test message",
+                       verbosity:   DebugLevel,
+               },
+               {
+                       description: "info verbosity",
+                       message:     "Test message",
+                       verbosity:   InfoLevel,
+               },
+               {
+                       description: "warning verbosity",
+                       message:     "Test message",
+                       verbosity:   WarningLevel,
+               },
+               {
+                       description: "error verbosity",
+                       message:     "Test message",
+                       verbosity:   ErrorLevel,
+               },
+               {
+                       description:      "output format none",
+                       message:          "Test message",
+                       verbosity:        ErrorLevel,
+                       outputFormatNone: true,
+               },
+               {
+                       description: "empty message",
+                       verbosity:   InfoLevel,
+               },
+               {
+                       description: "literal format specifier",
+                       message:     "Test message: %s",
+                       verbosity:   InfoLevel,
+               },
+       }
+       for _, tt := range tests {
+               t.Run(tt.description, func(t *testing.T) {
+                       var stdout, stderr bytes.Buffer
+                       p := &Printer{
+                               StdOut:    &stdout,
+                               StdErr:    &stderr,
+                               Verbosity: tt.verbosity,
+                       }
+                       viper.Reset()
+                       if tt.outputFormatNone {
+                               viper.Set(outputFormatKey, NoneOutputFormat)
+                       }
+
+                       p.Noticeln(tt.message)
+
+                       expectedOutput := tt.message + "\n"
+                       if output := stderr.String(); output != expectedOutput {
+                               t.Errorf("unexpected stderr: got %q, want %q", 
output, expectedOutput)
+                       }
+                       if output := stdout.String(); output != "" {
+                               t.Errorf("unexpected stdout: got %q, want %q", 
output, "")
+                       }
+               })
+       }
+}
+
 func TestPagerDisplay(t *testing.T) {
        tests := []struct {
                description      string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/pkg/services/iaas/utils/utils.go 
new/stackit-cli-0.76.0/internal/pkg/services/iaas/utils/utils.go
--- old/stackit-cli-0.75.0/internal/pkg/services/iaas/utils/utils.go    
2026-10-16 09:48:00.000000000 +0200
+++ new/stackit-cli-0.76.0/internal/pkg/services/iaas/utils/utils.go    
2026-10-22 09:35:59.000000000 +0200
@@ -134,9 +134,9 @@
                nextHopV6 := route.Nexthop.NexthopIPv6
                nextHopV6Matches := nextHopV6 != nil && nextHopV6.Value == 
nexthop
                nextHopInet := route.Nexthop.NexthopInternet
-               nextHopInetMatches := nextHopInet != nil && nextHopInet.Type == 
nexthop
+               nextHopInetMatches := nextHopInet != nil && 
string(nextHopInet.Type) == nexthop
                nextHopBlackhole := route.Nexthop.NexthopBlackhole
-               nextHopBlackholeMatches := nextHopBlackhole != nil && 
nextHopBlackhole.Type == nexthop
+               nextHopBlackholeMatches := nextHopBlackhole != nil && 
string(nextHopBlackhole.Type) == nexthop
                nextHopMatches := nextHopV4Matches || nextHopV6Matches || 
nextHopInetMatches || nextHopBlackholeMatches
                if nextHopMatches {
                        return route, nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stackit-cli-0.75.0/internal/pkg/services/network-area/routing-table/utils/utils.go
 
new/stackit-cli-0.76.0/internal/pkg/services/network-area/routing-table/utils/utils.go
--- 
old/stackit-cli-0.75.0/internal/pkg/services/network-area/routing-table/utils/utils.go
      2026-10-16 09:48:00.000000000 +0200
+++ 
new/stackit-cli-0.76.0/internal/pkg/services/network-area/routing-table/utils/utils.go
      2026-10-22 09:35:59.000000000 +0200
@@ -23,23 +23,23 @@
        var routeDetails RouteDetails
 
        if route.Destination.DestinationCIDRv4 != nil {
-               routeDetails.DestType = route.Destination.DestinationCIDRv4.Type
+               routeDetails.DestType = 
string(route.Destination.DestinationCIDRv4.Type)
                routeDetails.DestValue = 
route.Destination.DestinationCIDRv4.Value
        } else if route.Destination.DestinationCIDRv6 != nil {
-               routeDetails.DestType = route.Destination.DestinationCIDRv6.Type
+               routeDetails.DestType = 
string(route.Destination.DestinationCIDRv6.Type)
                routeDetails.DestValue = 
route.Destination.DestinationCIDRv6.Value
        }
 
        if route.Nexthop.NexthopIPv4 != nil {
-               routeDetails.HopType = route.Nexthop.NexthopIPv4.Type
+               routeDetails.HopType = string(route.Nexthop.NexthopIPv4.Type)
                routeDetails.HopValue = route.Nexthop.NexthopIPv4.Value
        } else if route.Nexthop.NexthopIPv6 != nil {
-               routeDetails.HopType = route.Nexthop.NexthopIPv6.Type
+               routeDetails.HopType = string(route.Nexthop.NexthopIPv6.Type)
                routeDetails.HopValue = route.Nexthop.NexthopIPv6.Value
        } else if route.Nexthop.NexthopInternet != nil {
-               routeDetails.HopType = route.Nexthop.NexthopInternet.Type
+               routeDetails.HopType = 
string(route.Nexthop.NexthopInternet.Type)
        } else if route.Nexthop.NexthopBlackhole != nil {
-               routeDetails.HopType = route.Nexthop.NexthopBlackhole.Type
+               routeDetails.HopType = 
string(route.Nexthop.NexthopBlackhole.Type)
        }
 
        if len(route.Labels) > 0 {

++++++ stackit-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.rNW8P2/_old  2026-10-24 22:06:48.386091335 +0200
+++ /var/tmp/diff_new_pack.rNW8P2/_new  2026-10-24 22:06:48.396091756 +0200
@@ -1,5 +1,5 @@
 name: stackit-cli
-version: 0.75.0
-mtime: 1792136880
-commit: f02071216a078f1d3fd9cc1e53e0fb839ed3f3f8
+version: 0.76.0
+mtime: 1792654559
+commit: 5040102b0c4122e36cb4989602186f6b0b9822f9
 

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

Reply via email to