# GitLab CLI changelog > A GitLab CLI tool bringing GitLab to your command line - Vendor: GitLab - Category: Developer Tools - Official site: https://gitlab.com/gitlab-org/cli - Tracked by: What's New (https://whatsnew.fyi/product/gitlab-cli) - Harvested from: GitLab (gitlab.com/gitlab-org/cli) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v1.113.0 - Date: 2026-08-11 - Version: v1.113.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.113.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.113.0 - **added** — Parse JSON arrays and objects in --field - **added** — Add glab artifact-registry get-token command - **added** — Add glab artifact-registry status command - **fixed** — Avoid keyring write contention on concurrent OAuth refresh - **fixed** — Explain the OAuth/PAT scheme mismatch and pin the provenance matrix - **fixed** — Stop configure-docker from replacing other credential helpers - **fixed** — Escape square brackets in pipeline view job titles and modals - **fixed** — Highlight the focused modal button - **fixed** — Fix argument count limiters in commands - **fixed** — Allow merge request create with flag-complete inputs outside a git repo ##### Changelog ###### ✨ Features * 439621c5: feat(api): parse JSON arrays and objects in --field (Andrew Dunn ) * e8861a0e: feat(artifact-registry): add glab artifact-registry get-token (Sylvia Shen ) * 6d54bd81: feat(artifact-registry): add glab artifact-registry status (Sylvia Shen ) ###### 🐛 Bug Fixes * f7a6764a: fix(auth): avoid keyring write contention on concurrent OAuth refresh (Stan Hu ) * f6a54bf4: fix(auth): explain the OAuth/PAT scheme mismatch and pin the provenance matrix (Jay McCure ) * 5321bbac: fix(auth): stop configure-docker from replacing other credential helpers (Sylvia Shen ) * 524e759a: fix(ci): escape square brackets in pipeline view job titles and modals (Aleksandr Sheikin ) * 6b1db998: fix(ci): highlight the focused modal button (Aleksandr Sheikin ) * 9523a73c: fix(commands): argument count limiters (Ville Skyttä ) * 73154c2f: fix(mr): allow create with flag-complete inputs outside a git repo (Kai Armstrong ) ###### 📝 Documentation * f42c4cfe: docs(skills): warn bare issue refs don't expand in epic notes (Thiago Figueiró ) * 82812dea: docs: Add a commands landing page (Brendan Lynch ) * 725b2c80: docs: Move authentication documentation from the README to the docs site (Brendan Lynch ) * 26bbceb1: docs: create release command - clarify example reference for assets-links (Uma Chandran ) ###### 📦 Dependencies * b30febac: chore(deps): update module github.com/docker/cli to v29.7.0+incompatible (GitLab Renovate Bot ) * 57fcf187: chore(deps): update module github.com/docker/cli to v29.7.1+incompatible (GitLab Renovate Bot ) ###### 🔧 Maintenance * 48a15b06: refactor(lazy-loader): add lazy loading package (Parth Sharma ) ### v1.112.0 - Date: 2026-08-04 - Version: v1.112.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.112.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.112.0 - **added** — Warn when environment variable token overrides stored credentials during authentication - **added** — Add CI verdict log and summary renderer for df command - **added** — Add df parent command with npm-config and ci-summary subcommands - **fixed** — Avoid dumping HTML error pages in auth status output - **fixed** — Handle nil Response in oauth2 error sanitization - **fixed** — Preserve wrapper context when sanitizing auth errors - **fixed** — Show system notes in text output when --type all is specified - **fixed** — Fix CI pipeline must pass error on closing the MR - **changed** — Update module github.com/mattn/go-runewidth to v0.0.27 - **changed** — Update module github.com/modelcontextprotocol/go-sdk to v1.7.0 - **changed** — Update module gitlab.com/gitlab-org/api/client-go/v2 to v2.53.0 - **changed** — Update module go.yaml.in/yaml/v3 to v3.0.5 - **removed** — Remove ask deprecation notice - **changed** — Fetch board issues in parallel for improved performance ##### Changelog ###### ✨ Features * a102d691: feat(auth): warn when env token overrides stored credentials (Stan Hu ) * c9b64657: feat(df): add CI verdict log and summary renderer (Michael Eddington ) * 1b77d060: feat(df): add df parent command with npm-config and ci-summary (Michael Eddington ) ###### 🐛 Bug Fixes * 78e5651f: fix(auth): avoid dumping HTML error pages in auth status (Stan Hu ) * 7c627d05: fix(auth): handle nil Response in oauth2 error sanitization (Stan Hu ) * 334c6841: fix(auth): preserve wrapper context when sanitizing auth errors (Stan Hu ) * cd0a8301: fix(issue-8220): show system notes in text output when --type all (Syed Saif Ali Alvi ) * e80134a1: fix(mr-close): fixed the ci pipeline must pass error on closing the MR (Parth Sharma ) ###### 📝 Documentation * c049b9aa: docs: document forcing an off-cycle release (Jay McCure ) ###### 📦 Dependencies * 7386a64c: chore(deps): update module github.com/mattn/go-runewidth to v0.0.27 (GitLab Renovate Bot ) * e60e805f: chore(deps): update module github.com/modelcontextprotocol/go-sdk to v1.7.0 (GitLab Renovate Bot ) * 607d7b97: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.53.0 (GitLab Renovate Bot ) * 93117d1b: chore(deps): update module go.yaml.in/yaml/v3 to v3.0.5 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 2c9133c9: chore(duo): remove ask deprecation notice (Kai Armstrong ) * c3c8f397: refactor(utils): simplify EnsureDestinationRoot and consolidate securefile copy (Kai Armstrong ) ###### 🔀 Others * 93219c74: perf(issue): fetch board issues in parallel (Parth Sharma ) ### v1.111.0 - Date: 2026-07-30 - Version: v1.111.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.111.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.111.0 - **added** — Store credentials in OS keyring by default - **added** — Treat altssh.gitlab.com as official GitLab.com SSH alias - **fixed** — Isolate environment PATs from stored OAuth - **fixed** — Include configured subfolder in OAuth URL - **fixed** — Preserve OAuth refresh token during reauthentication - **fixed** — Send a non-blank username with plain token logins - **fixed** — Order pipeline jobs by ID on ties - **fixed** — Write a JSON error object when --output=json - **fixed** — Handle CRLF output lines - **fixed** — Paginate issue board entries - **fixed** — Allow title-only creation without a TTY - **fixed** — Show discussion prefixes in note list - **fixed** — Accept absolute paths in download for packages - **fixed** — Preserve full namespace on create - **fixed** — Support cloning wiki repositories - **fixed** — Accept absolute paths in download for securefiles - **fixed** — Fall back to USERNAME for branch prefix - **fixed** — Stream hook output during sync - **changed** — Fewer API calls when opening an MR in the browser ##### Changelog ###### ✨ Features * bf4226d1: feat(auth): store credentials in OS keyring by default (Stan Hu ) * 6c7b7d23: feat(git): treat altssh.gitlab.com as official GitLab.com SSH alias (Mario Celi ) ###### 🐛 Bug Fixes * 5d6cad21: fix(api): isolate environment PATs from stored OAuth (Tien Ray ) * deb6f2d9: fix(auth): include configured subfolder in OAuth URL (Yarra Vivek ) * dade3568: fix(auth): preserve OAuth refresh token during reauthentication (Yarra Vivek ) * 18b8be9b: fix(auth): send a non-blank username with plain token logins (ANBUCHELVAN GANESAN CSE ) * 8abea3f9: fix(ci): drop the git gem pin now that danger 9.6.1 is out (Jay McCure ) * 8e5156b5: fix(ci): order pipeline jobs by ID on ties (Tien Ray ) * afed8eb8: fix(ci): pin git gem to unblock danger-review (Kai Armstrong ) * 880c8153: fix(cmdutils): write a JSON error object when --output=json (ANBUCHELVAN GANESAN CSE ) * 1061aead: fix(git): handle CRLF output lines (Tien Ray ) * ccbf62dc: fix(issue): paginate issue board entries (Yarra Vivek ) * f915db9f: fix(mr): allow title-only creation without a TTY (Yarra Vivek ) * 5cf6f404: fix(mr): show discussion prefixes in note list (Tien Ray ) * 8d26e5b7: fix(packages): accept absolute paths in download (ANBUCHELVAN GANESAN CSE ) * 6935c9b6: fix(project): preserve full namespace on create (Tien Ray ) * f7a96733: fix(repo): support cloning wiki repositories (Yarra Vivek ) * 93d8ccc9: fix(securefile): accept absolute paths in download (ANBUCHELVAN GANESAN CSE ) * a9a0f41d: fix(stack): fall back to USERNAME for branch prefix (Tien Ray ) * eae64695: fix(stack): stream hook output during sync (Tien Ray ) ###### 📝 Documentation * 968dc517: docs(token): fix revoke command grammar (Mridankan Mandal ) ###### 📦 Dependencies * 0c2b2678: chore(deps): update dependency @commitlint/config-conventional to ^21.2.0 (GitLab Renovate Bot ) * 46e04383: chore(deps): update dependency @commitlint/read to ^21.2.1 (GitLab Renovate Bot ) * 6f4243d4: chore(deps): update module github.com/mattn/go-isatty to v0.0.24 (GitLab Renovate Bot ) * 3af2f826: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.52.0 (GitLab Renovate Bot ) * 8d9c1572: chore(deps): update module k8s.io/client-go to v0.36.3 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 20265c43: ci: retry jobs on transient infrastructure failures (Oscar Tovar ) * 5f47cd23: refactor(ci): use build state constants (Tien Ray ) ###### 🔀 Others * 48d2e49d: perf(mr): fewer API calls when opening an MR in the browser (kang <6156568-kang8@users.noreply.gitlab.com>) * 6b8ea972: test(auth): avoid i686 OAuth expiry overflow (Tien Ray ) * 17ba5979: test(mr note create): cover 8277 usage examples (Mridankan Mandal ) * d494afc5: test(project): fix pagination fixtures (Tien Ray ) ### v1.110.0 - Date: 2026-07-28 - Version: v1.110.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.110.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.110.0 - **added** — Add the firewall MITM proxy and response classifier - **fixed** — Encode empty array fields correctly in API - **fixed** — Preserve NDJSON number precision in API - **fixed** — Remove trailing plus from API errors - **fixed** — Return client errors during placeholder expansion - **fixed** — Persist --git-protocol/--api-protocol non-interactively in authentication - **fixed** — Reject blank launcher commands in browser - **fixed** — Handle Ctrl+M as Enter in pipeline view - **fixed** — Paginate interactive job selection in CI - **fixed** — Reject empty variable keys in CI - **fixed** — Reject failed responses when linting a remote URL in CI - **fixed** — Stop tracing a canceled job in CI - **fixed** — Distinguish missing manifests from read failures in cluster - **fixed** — Return file sync transport errors in cluster - **fixed** — Ignore empty assignee values in command utilities - **fixed** — Report a local config file that cannot be parsed - **fixed** — Require a key ID for deploy-key delete - **fixed** — Match the clone directory for a URL ending in .git/ - **fixed** — Parse SSH config after long lines - **fixed** — Preserve spaces in latest commit title ##### Changelog ###### ✨ Features * 85f9c9d7: feat(df): add the firewall MITM proxy and response classifier (Michael Eddington ) ###### 🐛 Bug Fixes * cebccc86: fix(api): encode empty array fields correctly (vivekyarra ) * d8414a19: fix(api): preserve NDJSON number precision (vivekyarra ) * d42125a6: fix(api): remove trailing plus from errors (Yarra Vivek ) * cf12a56f: fix(api): return client errors during placeholder expansion (Lee Seonghyeon · 이성현 ) * 7cf6d4ed: fix(auth): persist --git-protocol/--api-protocol non-interactively (Kai Armstrong ) * c2dcffd6: fix(browser): reject blank launcher commands (vivekyarra ) * fea85b79: fix(ci): handle Ctrl+M as Enter in pipeline view (Yarra Vivek ) * 1d2b0405: fix(ci): paginate interactive job selection (Lee Seonghyeon · 이성현 ) * 4ac40d4f: fix(ci): reject empty variable keys (Yarra Vivek ) * 8b79539a: fix(ci): reject failed responses when linting a remote URL (Lee Seonghyeon · 이성현 ) * 7a2c3088: fix(ci): stop tracing a canceled job (Lee Seonghyeon · 이성현 ) * f9736cb4: fix(cluster): distinguish missing manifests from read failures (Lee Seonghyeon · 이성현 ) * 42a41eb6: fix(cluster): return file sync transport errors (Yarra Vivek ) * eb186ba6: fix(cmdutils): ignore empty assignee values (vivekyarra ) * d5e698d3: fix(config): report a local config file that cannot be parsed (Lee Seonghyeon · 이성현 ) * 87afdbba: fix(deploy-key): require a key ID for delete (Lee Seonghyeon · 이성현 ) * 63314161: fix(git): match the clone directory for a URL ending in .git/ (Lee Seonghyeon · 이성현 ) * df8e88c6: fix(git): parse SSH config after long lines (vivekyarra ) * 8d0284d7: fix(git): preserve spaces in latest commit title (vivekyarra ) * 5f42e4e8: fix(git): recognize uppercase URL schemes when parsing remotes (Lee Seonghyeon · 이성현 ) * 1ca0edc9: fix(instance): default REST API protocol (vivekyarra ) * 1fdccc5e: fix(iostreams): preserve long pager lines (Yarra Vivek ) * 7cb260b1: fix(iostreams): treat a blank pager command as no pager (Lee Seonghyeon · 이성현 ) * f4e62af5: fix(mcp): preserve UTF-8 in tool descriptions (Yarra Vivek ) * b2b411fe: fix(milestone): return the base repository error instead of panicking (Lee Seonghyeon · 이성현 ) * 92bee1eb: fix(mr diff): support long colored lines (vivekyarra ) * 45b4ec6b: fix(mr merge): handle missing error response (Yarra Vivek ) * 30459639: fix(mr): return to-do transport errors (Yarra Vivek ) * 8eaada65: fix(project create): handle invalid response URL (vivekyarra ) * 6b90190c: fix(project view): load nested README paths (Yarra Vivek ) * 94b61357: fix(project): return fork transport errors (Yarra Vivek ) * 07061fab: fix(project): return remote listing errors (vivekyarra ) * d69d4141: fix(release create): reject long invalid timestamps (vivekyarra ) * 8711911b: fix(release create): return tag transport errors (Yarra Vivek ) * d1d44c87: fix(release download): reject malformed asset URLs (Yarra Vivek ) * 7c8a34f3: fix(repo): normalize dot-git URLs with trailing slash (Yarra Vivek ) * 792e1ddf: fix(schedule): va _[Truncated at 4000 characters — full notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.110.0]_ ### v1.109.0 - Date: 2026-07-21 - Version: v1.109.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.109.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.109.0 - **added** — Add dependency firewall engine foundations - **added** — Add ability to update existing secure files - **added** — Add variable import command - **changed** — Prune and remove deprecated command pages - **fixed** — Skip auth header for unauthenticated source ##### Changelog ###### ✨ Features * e89c6798: feat(df): add dependency firewall engine foundations (Michael Eddington ) * 94b7b4bc: feat(gen-docs): prune and remove deprecated command pages (Brendan Lynch ) * 8fa2aa34: feat(securefile): Ability to Update existing files (Jack <30406998-jack1902@users.noreply.gitlab.com>) * 910ce9df: feat: add variable import command (Olayinka Vaughan ) ###### 🐛 Bug Fixes * 4d1604f2: fix(api): skip auth header for unauthenticated source (Kai Armstrong ) ###### 📝 Documentation * 34c48d54: docs(release): document CI/CD authentication for release create (Kai Armstrong ) * d5e2bc73: docs: Document XDG Base Directory support for glab config (Olayinka Vaughan ) * b8912857: docs: add dependency management and vulnerability reporting sections (Kai Armstrong ) * 5767eed5: docs: note gen-docs pruning of deprecated command pages (Brendan Lynch ) ###### 📦 Dependencies * 463e2b39: chore(deps): bump go to v1.26.5 (Ahmed Hemdan ) * 715df97b: chore(deps): update dependency @commitlint/cli to ^21.2.1 (GitLab Renovate Bot ) * 6ee8a7c7: chore(deps): update module github.com/gdamore/tcell/v2 to v2.13.10 (GitLab Renovate Bot ) * 94b4d856: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.49.0 (GitLab Renovate Bot ) * 8bf5fe51: chore(deps): update module golang.org/x/term to v0.45.0 (GitLab Renovate Bot ) * 56ebadc9: chore(deps): update module golang.org/x/text to v0.40.0 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 05959c35: chore: run docs Hugo test with latest docs Hugo container image (Evan Read ) ### v1.108.0 - Date: 2026-07-14 - Version: v1.108.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.108.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.108.0 - **added** — Show absolute time alongside relative in note output - **added** — Show note and discussion IDs in mr note list - **added** — Remove secure files by name - **added** — Add wait flag for CI status subcommand - **fixed** — Preserve saved values on re-authentication - **fixed** — Strip newline from git describe output - **fixed** — Avoid panic when viewing a closed issue with no closer - **fixed** — Fall back to raw body when markdown rendering fails ##### Changelog ###### ✨ Features * ff181daa: feat(mr): show absolute time alongside relative in note output (Tomas Vik ) * 2b6946d7: feat(mr): show note and discussion IDs in mr note list (Tomas Vik ) * b3fafd19: feat(securefile): remove by name (Jack <30406998-jack1902@users.noreply.gitlab.com>) * 53756300: feat: Add Wait Flag for CI Status Subcommand (Jonathan Bowe ) ###### 🐛 Bug Fixes * 33acf839: fix(auth): preserve saved values on re-authentication (Kai Armstrong ) * 76c823ef: fix(changelog): strip newline from git describe output (Kai Armstrong ) * 3860206d: fix(issue): avoid panic when viewing a closed issue with no closer (Kai Armstrong ) * 24f5e59c: fix(mr): fall back to raw body when markdown rendering fails (Tomas Vik ) ###### 📝 Documentation * f30aa8d1: docs(config): list missing user-settable global keys in help (Kai Armstrong ) * 215c18e8: docs(security): mark experimental subcommands and clarify synopsis (Brendan Lynch ) * 2cabe0db: docs: updates for GitLab Duo CLI GA (Uma Chandran ) ###### 📦 Dependencies * 1f440305: chore(deps): update dependency @commitlint/cli to ^21.2.0 (GitLab Renovate Bot ) * 9d222d04: chore(deps): update module charm.land/bubbletea/v2 to v2.0.8 (GitLab Renovate Bot ) * 1dcfc3c9: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.47.0 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 9ba9110d: chore(git): remove duplicate mockgen directive for GitRunner (Tomas Vik ) * a9044ba3: refactor: enforce IOStreams output helpers over direct fmt.Fprint calls (Oscar Tovar ) ###### 🔀 Others * 152be15c: test(mrutils): parallelize noteTimeAgo test (Tomas Vik ) ### v1.107.0 - Date: 2026-07-07 - Version: v1.107.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.107.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.107.0 - **added** — Support Duo CLI v9 auto-updates - **added** — Add commands to manage security configuration profiles ##### Changelog ###### ✨ Features * ad8642d8: feat(duo): support Duo CLI v9 auto-updates (Tomas Vik ) * b8ba875f: feat(security config): add commands to manage security configuration profiles (Oscar Tovar ) ###### 📝 Documentation * 76d0ac66: docs: add new CLAUDE.md file and reference AGENTS.md (Brendan Lynch ) * 4a143d44: docs: clarify glab token rotate command info (Brendan Lynch ) * 96ab83c0: docs: update stage from Create to AI Coding (Uma Chandran ) ###### 📦 Dependencies * 3329b298: chore(deps): update dependency @commitlint/format to ^21.1.0 (GitLab Renovate Bot ) * d176bd65: chore(deps): update module charm.land/lipgloss/v2 to v2.0.5 (GitLab Renovate Bot ) * b9c46379: chore(deps): update module github.com/docker/cli to v29.6.1+incompatible (GitLab Renovate Bot ) * f6fefa6d: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.45.0 (GitLab Renovate Bot ) * 7fd07149: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.46.0 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 0e195d0d: chore: update documentation MR template (Brendan Lynch ) ### v1.106.0 - Date: 2026-06-30 - Version: v1.106.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.106.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.106.0 - **added** — Add delete command for packages - **added** — Add download command for packages - **added** — Add --reword flag to stack command to fix commits without staging files ##### Changelog ###### ✨ Features * ca99cc32: feat(packages): add delete command (Oscar Tovar ) * 2ffa2f05: feat(packages): add download command (Oscar Tovar ) * b323eaca: feat(stack): add --reword flag to fix commits without staging files (Gary Holtz is no longer with GitLab ) ###### 📝 Documentation * d0f83885: docs(whatsnew): document show_whats_new config and env var (Kai Armstrong ) * 15b64e4e: docs: refine packages and container-registry command help text (Brendan Lynch ) ###### 📦 Dependencies * 45b73a0f: chore(deps): update module github.com/docker/cli to v29.6.0+incompatible (GitLab Renovate Bot ) * 28d5db5c: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.42.0 (GitLab Renovate Bot ) * b14d7c7c: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.43.0 (GitLab Renovate Bot ) * 0987f270: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.44.0 (GitLab Renovate Bot ) ###### 🔧 Maintenance * 2661db6c: chore: explain that token env will work in snap (Tomas Vik ) ### v1.105.0 - Date: 2026-06-23 - Version: v1.105.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.105.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.105.0 - **changed** — Rename --format flag to --response-format in orbit command - **fixed** — Handle new nested status response shape in orbit command - **fixed** — Route deprecation warnings to stderr ##### Changelog ###### ✨ Features * c8fed254: feat(orbit): rename --format flag to --response-format (Dmitry Gruzd ) ###### 🐛 Bug Fixes * e9a1266d: fix(orbit): handle new nested status response shape (Dmitry Gruzd ) * 122f46f4: fix: route deprecation warnings to stderr (Kai Armstrong ) ###### 📦 Dependencies * ba0f56a8: chore(deps): update module gitlab.com/gitlab-org/api/client-go/v2 to v2.40.1 (GitLab Renovate Bot ) ### v1.104.0 - Date: 2026-06-23 - Version: v1.104.0 - Original notes: https://gitlab.com/gitlab-org/cli/-/releases/v1.104.0 - Permalink: https://whatsnew.fyi/product/gitlab-cli/releases/v1.104.0 - **added** — Warn when running duo cli under snap confinement - **added** — Add upload command to packages - **added** — Generate GitLab Docs navigation block for glab ##### Changelog ###### ✨ Features * 5380ef66: feat(duo): warn when running duo cli under snap confinement (Kai Armstrong ) * 4ee1edf5: feat(packages): add upload command (Oscar Tovar ) * 383d5994: feat: generate GitLab Docs navigation block for glab (Brendan Lynch ) ###### 📝 Documentation * 6440f987: docs(skills): improve glab threaded-reply guidance (Thomas Schmidt ) ###### 📦 Dependencies * 2ba749a0: chore(deps): update module charm.land/glamour/v2 to v2.0.1 (GitLab Renovate Bot ) * 5f958dff: chore(deps): update module charm.land/lipgloss/v2 to v2.0.4 (GitLab Renovate Bot ) * 4e20a953: chore(deps): update module github.com/coder/websocket to v1.8.15 (GitLab Renovate Bot ) * 2f358bfa: chore(deps): update module golang.org/x/crypto to v0.53.0 (Jay McCure ) * d9be4c7a: chore(deps): update module k8s.io/client-go to v0.36.2 (GitLab Renovate Bot ) ###### 🔧 Maintenance * dd6eb3c8: chore: update labels in templates (Kai Armstrong ) * 41afe2f6: refactor: uppercase initialisms in test key generators (Jay McCure )