# GitLab CLI v1.110.0 - Product: GitLab CLI (https://whatsnew.fyi/product/gitlab-cli) - Vendor: GitLab - 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 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'. --- - **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]_