------------------------------------------------------------------- Fri Jan 30 06:20:10 UTC 2026 - Johannes Kastl - Update to version 1.82.0: * Features - 5ff014e1: feat(installer): Add dark mode support in setup_windows.iss (RC Chuah 4343069-rc-chuah@users.noreply.gitlab.com) - 1304c75f: feat(installer): improve PATH management with programmatic control (Oldřich Jedlička oldium.pro@gmail.com) - e170e21f: feat: add -d- flag support to create commands (Kai Armstrong karmstrong@gitlab.com) - e53cde38: feat: support OAuth2 Access Token only authentication (Timo Furrer tfurrer@gitlab.com) * Bug Fixes - 7883dc24: fix(glrepo): use Host instead of Hostname in FromURL function (Swapnaneel Patra swapnaneel06@gmail.com) - 3aca775d: fix(stack): reorder spinner is displayed over terminal-based editor (Sandro Sauer sauersandro149@gmail.com) - ba8e90ef: fix: normalize nil slices to empty arrays in JSON output (Kai Armstrong karmstrong@gitlab.com) - 9cc43eee: fix: suppress informational messages in JSON output mode (Kai Armstrong karmstrong@gitlab.com) * Documentation - e501773c: docs: Remove EOL spaces in doc files - 2026-01-28 (Marcel Amirault mamirault@gitlab.com) - e6e2eb2d: docs: Remove trailing dot from auth login URL tip (Benedikt Reinartz benedikt.reinartz@statkraft.com) - 56e9970b: docs: Update SHA description for glab mr merge (Brendan Lynch blynch@gitlab.com) - 4c4e16ea: docs: Update install from source instructions (Tom Elliff-O'Shea telliffoshea@rigetti.com) * Dependencies - 52d33754: chore(deps): update dependency golangci-lint to v2.8.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 2d5732d4: chore(deps): update golangci-lint version in CI (Ahmed Hemdan ahemdan@gitlab.com) - b3f9cc6c: chore(deps): update module github.com/docker/cli to v29.2.0+incompatible (GitLab Renovate Bot gitlab-bot@gitlab.com) - 807598a6: chore(deps): update module github.com/gdamore/tcell/v2 to v2.13.8 (GitLab Renovate Bot gitlab-bot@gitlab.com) - b5de98e9: chore(deps): update module github.com/golang-jwt/jwt/v5 to v5.3.1 (GitLab Renovate Bot gitlab-bot@gitlab.com) * Maintenance - 614c42a5: chore(ci): remove unnecessary pre-build step from prepare_go_cache (Kai Armstrong karmstrong@gitlab.com) - dcba5bc1: chore(docs): gen-docs for mr list (Filip Aleksic faleksic@gitlab.com) - ab44a3bf: chore: Add fdignore to gitignore file (Gary Holtz gholtz@gitlab.com) - 2406d1c7: chore: Adding fdignore to prevent markdown edits (Gary Holtz gholtz@gitlab.com) - 7c5b1dfa: chore: clarify sort/order flags and add consistency improvements (Kai Armstrong karmstrong@gitlab.com) - 4f107308: chore: enable a few linters (Oleksandr Redko oleksandr.red+gitlab@gmail.com) - 428e1d2b: ci(deps): remove GOLANGCI_LINT_VERSION from CI configuration (Ahmed Hemdan ahemdan@gitlab.com) * Others - a8c7c1b6: Revert "Merge branch 'gmh-add-fdignore' into 'main'" (Gary Holtz gholtz@gitlab.com) - 21d1ef08: test: fix expires value in TestClear_WithRevoke_ActiveToken (Oleksandr Redko oleksandr.red+gitlab@gmail.com) ------------------------------------------------------------------- Wed Jan 21 12:29:26 UTC 2026 - Johannes Kastl - Update to version 1.81.0: * Features - 508116ae: feat(attestation): implement attestation verification in glab (Sam Roque-Worcel sroque-worcel@gitlab.com) - f1dc549a: feat(ci-autologin): exclusively use predefined vars when enabled (Timo Furrer tfurrer@gitlab.com) - 476c3902: feat(stacked-diffs): allow multiline stack ref descriptions (Kev Kloss kkloss@gitlab.com) - 84176fbc: feat: add --active flag to repo clone command for group filtering (Kai Armstrong karmstrong@gitlab.com) - 48970633: feat: implement Executor factory function (Timo Furrer tfurrer@gitlab.com) * Bug Fixes - b514a082: fix(auth login): Fix missing-client_id message (FeRD (Frank Dana) ferdnyc@gmail.com) - 971f673c: fix: allow approving and revoking approvals on draft merge requests (Kai Armstrong karmstrong@gitlab.com) - d156ceb9: fix: ci lint --dry-run fails with 'Reference not found' when --ref is not specified (Kai Armstrong karmstrong@gitlab.com) - 2eb49b9b: fix: directly open external editor when using -d- flag (Kai Armstrong karmstrong@gitlab.com) - 66ff43ee: fix: prevent panic when baseRepoFactory is not initialized in project mirror (Kai Armstrong karmstrong@gitlab.com) - 09779a25: fix: properly propagate errors in mr create when outside git repo (Kai Armstrong karmstrong@gitlab.com) - 5887ad30: fix: properly setup SIGTERM and SIGINT signal handling (Timo Furrer tfurrer@gitlab.com) * Documentation - 754cadaf: docs: improve project mirror command documentation and error messages (Kai Armstrong karmstrong@gitlab.com) * Dependencies - 21f0a360: chore(deps): update dependency @commitlint/cli to ^20.3.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 01a7223c: chore(deps): update dependency @commitlint/cli to ^20.3.1 (GitLab Renovate Bot gitlab-bot@gitlab.com) - eb4f9e30: chore(deps): update dependency @commitlint/config-conventional to ^20.3.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 478b5921: chore(deps): update dependency @commitlint/format to ^20.3.1 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 4ad653dc: chore(deps): update dependency @commitlint/read to ^20.3.1 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 2f85f2c8: chore(deps): update module github.com/docker/cli to v29.1.5+incompatible (GitLab Renovate Bot gitlab-bot@gitlab.com) - 8e9988f4: chore(deps): update module github.com/docker/docker-credential-helpers to v0.9.5 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 47d3b309: chore(deps): update module github.com/gdamore/tcell/v2 to v2.13.7 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 04c8e4e2: chore(deps): update module github.com/google/renameio/v2 to v2.0.2 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 6e727e16: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.10.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 810aadad: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.11.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - a2e643ac: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.12.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - f0f30513: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.13.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 2790055a: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.14.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 5495005e: chore(deps): update module golang.org/x/crypto to v0.47.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 91c50a8f: chore(deps): update module golang.org/x/term to v0.39.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) * Maintenance - a5f6780c: chore(ci): improve caching with separate cache keys per job type (Kai Armstrong karmstrong@gitlab.com) - bfff40a4: chore(makedeb removal): removing unmaintained software documentation (Filip Aleksic faleksic@gitlab.com) - f1d59ace: chore: fix dupword lint issues (Oleksandr Redko oleksandr.red+gitlab@gmail.com) - 72a7a06d: chore: fix typos in comments and variable names across multiple files (Oleksandr Redko oleksandr.red+gitlab@gmail.com) - f5f3d18c: ci: allow failure in snap release job (Timo Furrer tfurrer@gitlab.com) - f3db768a: refactor(alias): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 1c988f4d: refactor(attestation): use new command executor interface (Timo Furrer tfurrer@gitlab.com) - f88498a8: refactor(auth): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - ea264208: refactor(ci): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - d6f8fdfc: refactor(ci): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 33006b32: refactor(ci): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - ce81090c: refactor(commands): use context from cobra cmd instead of Background (Timo Furrer tfurrer@gitlab.com) - f1028d1b: refactor(deploy key): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - f99ed615: refactor(duo): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - b8936f99: refactor(gpg-key): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 6b5e8803: refactor(httpmock): remove unused httpmock package (Timo Furrer tfurrer@gitlab.com) - 4da67d62: refactor(issuable): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - ff522b28: refactor(issuable): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 228ff301: refactor(issue): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - d4f360c6: refactor(iteration): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 76448cd6: refactor(label): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 080c872d: refactor(mr): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 21c3f34f: refactor(mr): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - aa479583: refactor(opentofu): use new factory executor for tf subprocesses (Timo Furrer tfurrer@gitlab.com) - 94a13bb1: refactor(project): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - c1d841ed: refactor(project): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 889b6a0a: refactor(release): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 5944cd40: refactor(schedule): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 89df3156: refactor(securefile): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 299328d3: refactor(securefile): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 0a19d0ab: refactor(snippet): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 89dae8c8: refactor(stack): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 7f83526b: refactor(stacks): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - af34285b: refactor(testing): allow to override test IOStreams (Timo Furrer tfurrer@gitlab.com) - 543cc13e: refactor(testing): isolate integration test-only helpers (Timo Furrer tfurrer@gitlab.com) - f0b6a94c: refactor(testing): move api test helper to dedicated file (Timo Furrer tfurrer@gitlab.com) - a09aa417: refactor(testing): move factory test helper to dedicated file (Timo Furrer tfurrer@gitlab.com) - 48dba104: refactor(testing): move generic test tools to dedicated file (Timo Furrer tfurrer@gitlab.com) - 9368f8b5: refactor(testing): move iostreams test helper to dedicated file (Timo Furrer tfurrer@gitlab.com) - 8fbfe78b: refactor(testing): remove tests without value (Timo Furrer tfurrer@gitlab.com) - aae3766a: refactor(token): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - 9705ecae: refactor(update): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - c9eba1ae: refactor(update): use cmdtest.SetupCmdForTest instead of custom cmd setup (Timo Furrer tfurrer@gitlab.com) - 396ed205: refactor(variable): use GitLab client-go mocking instead of HTTP mocks (Timo Furrer tfurrer@gitlab.com) - f468a8ad: refactor: allow attestation verify cmd tests to run in parallel (Timo Furrer tfurrer@gitlab.com) - ce31da55: refactor: remove execext package (Timo Furrer tfurrer@gitlab.com) - fafb990e: refactor: remove unused global variable (Timo Furrer tfurrer@gitlab.com) - 4ccb6536: refactor: rename attestation verify command ctor (Timo Furrer tfurrer@gitlab.com) - 37dd5d47: refactor: rename attestation verify command files (Timo Furrer tfurrer@gitlab.com) * Others - 87acb329: test: adjust whitespace in issuable list test (Jay McCure jmccure@gitlab.com) - 751e6793: test: update ci get test expectations for api client v1.14.0 (Tomas Vik tvik@gitlab.com) ------------------------------------------------------------------- Fri Dec 19 08:12:49 UTC 2025 - Johannes Kastl - Update to version 1.80.4 (.3 was not released): * Bug Fixes - e8b10d9d: fix(goreleaser): replace unsupported negative lookahead with group reordering (Kai Armstrong karmstrong@gitlab.com) * Dependencies - chore(deps): update module k8s.io/client-go to v0.35.0 ------------------------------------------------------------------- Thu Dec 18 06:03:24 UTC 2025 - Johannes Kastl - Update to version 1.80.2: * Maintenance - 4bc7ac00: chore(goreleaser): use .ReleaseNotes template variable in Slack announcement (Kai Armstrong karmstrong@gitlab.com) - Update to version 1.80.1: * Bug Fixes - f32543b1: fix: correct syntax for slack announcement (Kai Armstrong karmstrong@gitlab.com) * Maintenance - 6c638a17: refactor(ci): improve Go module caching strategy (Kai Armstrong karmstrong@gitlab.com) - Update to version 1.80.0: * Features - 91cf0912: feat(api): add ndjson output option (Kai Armstrong karmstrong@gitlab.com) - 77b4c815: feat(release): fallback to predefined CI/CD variable for default branch (Timo Furrer tfurrer@gitlab.com) - a9f37d71: feat: migrate prompts from survey to huh (Kai Armstrong karmstrong@gitlab.com) * Bug Fixes - 29753e92: fix(installer): support non-admin Windows installation mode (Oldřich Jedlička oldium.pro@gmail.com) - a8ed68af: fix(mr): enable label priority ordering for project and group MRs (Itzamna itzamna@mayaprotocol.com) * Maintenance - dcbcc550: chore(deps): update dependency @commitlint/config-conventional to ^20.2.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 8048060f: chore(deps): update dependency @commitlint/format to ^20.2.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - bcfa59c6: chore(deps): update dependency @commitlint/lint to ^20.2.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 6e8dabdd: chore(deps): update dependency @commitlint/read to ^20.2.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - c75b1ba7: chore(deps): update dependency golangci-lint to v2.7.2 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 506962fc: chore(deps): update dependency markdownlint-cli2 to v0.20.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 5b07844b: chore(deps): update module github.com/docker/cli to v29.1.3+incompatible (GitLab Renovate Bot gitlab-bot@gitlab.com) - 043f3533: chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1.8.2 (GitLab Dependency Bot tfurrer+gitlab-renovate-bot@gitlab.com) - 4c4b0a44: chore(deps): update module golang.org/x/crypto to v0.46.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 38011a0a: chore(deps): update module golang.org/x/sync to v0.19.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 15d13baf: chore(deps): update module golang.org/x/term to v0.38.0 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 6edf0caa: chore(deps): update module k8s.io/apimachinery to v0.34.3 (GitLab Renovate Bot gitlab-bot@gitlab.com) - 6ca9b74b: chore(deps): update module k8s.io/client-go to v0.34.3 (GitLab Renovate Bot gitlab-bot@gitlab.com) - f2cd4488: chore(tooling): update golangci lint version (Filip Aleksic faleksic@gitlab.com) - 9d1268e6: chore: improve changelog and add slack announce (Kai Armstrong karmstrong@gitlab.com) - 399fe403: chore: migrate note commands from utils.Editor() to IOStreams.Editor() (Kai Armstrong karmstrong@gitlab.com) - 62a747d1: chore: remove explicit Go version requirements in docs and direct to SSOT (Kai Armstrong karmstrong@gitlab.com) - e1955f0a: chore: remove legacy prompt package and complete huh migration (Kai Armstrong karmstrong@gitlab.com) - 5319171e: chore: remove survey/v2 dependency and complete huh migration (Kai Armstrong karmstrong@gitlab.com) - 4ca48d95: refactor: fix modernize lint issues (Oleksandr Redko oleksandr.red+gitlab@gmail.com) - 2727d78f: refactor: use directional channel parameters (Oleksandr Redko oleksandr.red+gitlab@gmail.com) * Others - 91cc1a93: fix(repo create): handle git operation failures and fix NO_PROMPT behavior (Kai Armstrong karmstrong@gitlab.com) - 71060345: fix(repo list): --group with --include-subgroups does not work with --all (Eric de Ruiter eric@famderuiter.net) - ef41e568: fix(variable export): provide clean JSON output on stdout (Daniel Sonck daniel@sonck.nl) ------------------------------------------------------------------- Fri Dec 05 14:09:15 UTC 2025 - Johannes Kastl - Update to version 1.79.0: * chore(deps): update dependency @commitlint/cli to ^20.2.0 * fix: make token cache tests compatible with macOS * feat: add --output flag and deprecate --format for variable export * fix: ensure Git output is in English for stack sync * chore(deps): update dependency golangci-lint to v2.7.1 * chore(deps): update module github.com/mark3labs/mcp-go to v0.43.2 * chore(deps): update module github.com/spf13/cobra to v1.10.2 * chore(deps): update dependency golangci-lint to v2.7.0 * feat: support GITLAB_HOST in auth status * chore: wrap bare urls in markdown syntax for doc generation * feat: CI auto-login * chore(deps): update module github.com/docker/cli to v29.1.2+incompatible * refactor(ci): remove factory dependency and handle empty pipelines * fix(ci): correct branch filtering in ci view command * docs: add example for glab mr note command * feat: add securefile download via name * chore: migrate multi-option select prompts to huh * chore: migrate login prompts to huh * docs: update glab repo delete description * docs: update StringSliceVar flags that support repetition * chore(deps): update module github.com/docker/cli to v29.1.1+incompatible * chore(deps): update module github.com/hashicorp/go-version to v1.8.0 * chore(deps): update module github.com/docker/cli to v29.1.0+incompatible * docs: update description for variable strings option * docs(config set): fixing glab config set helper messages * refactor: move away from deprecated tcell code in v2.12.0 * refactor: adapt to breaking changes of client-go v1 * chore(deps): update module github.com/gdamore/tcell/v2 to v2.12.0 * chore(deps): update module github.com/docker/cli to v29.0.4+incompatible * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v1 ------------------------------------------------------------------- Tue Nov 25 06:20:56 UTC 2025 - Johannes Kastl - Update to version 1.78.3: * chore(deps): update module github.com/docker/cli to v29.0.3+incompatible * chore(deps): update module github.com/mark3labs/mcp-go to v0.43.1 * chore: sort imports with gci formatter * chore(deps): update module github.com/gdamore/tcell/v2 to v2.11.0 * chore(deps): update dependency markdownlint-cli2 to v0.19.1 * chore: allow homebrew to update again for release * chore(deps): update module golang.org/x/crypto to v0.45.0 ------------------------------------------------------------------- Sat Nov 22 07:14:23 UTC 2025 - Johannes Kastl - Update to version 1.78.2: * chore: prevent homebrew update for publishing ------------------------------------------------------------------- Sat Nov 22 07:11:33 UTC 2025 - Johannes Kastl - Update to version 1.78.1: * chore: remove edge publish on tag and pin brew version ------------------------------------------------------------------- Sat Nov 22 06:59:25 UTC 2025 - Johannes Kastl - Update to version 1.78.0: * fix: improve token duration flag clarity and consistency * chore: remove legacy install instruction for script * fix(check-update): avoid using self-hosted credentials for gitlab.com * ci(docs): update Hugo test build * chore(dependencies): roll documentation linting tool versions forward * fix: move token cache info and delete file * chore: refactor make bootstrap to separate script * fix: create config directory earlier in init * feat(token-cache): add token-cache commands for GitLab Agent tokens * chore(deps): update module github.com/gdamore/tcell/v2 to v2.10.0 * chore: update docs for mcp configuration * fix: resource leaks in file handles and HTTP response bodies * chore: fix typos in tests * chore(deps): update module github.com/docker/cli to v29.0.2+incompatible * chore(deps): update module github.com/google/renameio/v2 to v2.0.1 * chore(deps): update module github.com/docker/cli to v29 * chore(deps): update dependency golangci-lint to v2.6.2 * chore(deps): update dependency markdownlint-cli2 to v0.19.0 * chore(deps): update dependency @commitlint/cli to ^20.1.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.160.0 * chore(deps): update module k8s.io/client-go to v0.34.2 * chore: add lefthook configuration and bootstrap tools command * chore(deps): update module k8s.io/apimachinery to v0.34.2 * chore: publish to snapcraft edge on tag release * feat: migrate survey prompts to huh (phase 2) * chore(deps): bump all Go versions to 1.25.4 * chore(deps): update module github.com/mark3labs/mcp-go to v0.43.0 * chore(deps): bump go to v1.25.4 ------------------------------------------------------------------- Wed Nov 12 15:02:15 UTC 2025 - Johannes Kastl - Update to version 1.77.0: * docs(duo): improve documentation for duo and duo ask commands * chore(deps): update module golang.org/x/crypto to v0.44.0 * chore: pin dind version for API mismatch * chore(deps): update module golang.org/x/sync to v0.18.0 * chore(deps): update module golang.org/x/oauth2 to v0.33.0 * feat(milestone): edit and delete * ci(tests): speed up tests execution by using cache * fix: Revert "feat(milestone): edit and delete milestone" * feat(milestone): edit and delete milestone * fix(docs): update the documentation * feat(milestone): added create, list and get commands * refactor(tests): separate unit from integration tests via build tags * chore(deps): update dependency go to v1.25.4 * chore(contributing): fix the vscode debug command * chore(ci): start tests immediately * chore(ci): automate snapcraft build and publishing * feat(label): edit labels * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.159.0 ------------------------------------------------------------------- Wed Nov 05 10:14:33 UTC 2025 - Johannes Kastl - Update to version 1.76.2: * fix(config): deduplicate paths in config file detection * chore(deps): update dependency golangci-lint to v2.6.1 ------------------------------------------------------------------- Wed Nov 05 05:38:44 UTC 2025 - Johannes Kastl - Update to version 1.76.1: * fix(ci): snapcraft remove proxy ------------------------------------------------------------------- Tue Nov 04 20:19:52 UTC 2025 - Johannes Kastl - Update to version 1.76.0: * chore(ci): snapcraft and build stage * fix(config): maintain backward compatibility with legacy config path * fix(logger): clarify log target * chore(tests): create tests for all ssh-key commands * chore(docs): updates name on docs index page * chore(docs): Move images to source directory * chore(docs): prep for Hugo site * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.158.0 * docs(release-process): remove outdated info * feat: migrate Confirm prompts from survey to huh * fix: sign macOS binaries * chore(deps): update dependency golangci-lint to v2.6.0 ------------------------------------------------------------------- Sun Nov 02 06:52:53 UTC 2025 - Johannes Kastl - Update to version 1.75.0: * chore(snapcraft): add more information on how the package is built * chore(ci): update image versions * chore: use a post-build hook to sign binaries * feat: create shared GitLab theme for Charm libraries * chore(release-docs): update the release docs * feat(auth login): auto-detect GitLab URLs from git remotes * fix(docs): remove index with no underscore * feat(ci-view): view any pipeline via id * docs(repo-list): clarify available options * feat(gpg-key): add gpg-key management commands * chore(deps): update module github.com/docker/cli to v28.5.1+incompatible * fix(config): implement XDG Base Directory Spec compliance * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.157.1 * feat(members): add commands to manage project members * build: adding s390x linux build * chore(deps): bump go to v1.25.3 * fix(ci view): display masked variables in job logs * fix(auth git-credentials): refresh oauth2 access token when expired * chore(deps): update module github.com/mark3labs/mcp-go to v0.42.0 * fix(auth git-credentials): ignore unsupported operations * feat(git-credential): properly support all token types in git-credential plugin * chore(deps): update module github.com/avast/retry-go/v4 to v4.7.0 * chore(deps): update module github.com/charmbracelet/huh to v0.8.0 * chore: Update Vale rules from GitLab project * chore(deps): update dependency golang to v1.25.3 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.157.0 * test(job artifact): simplify zip tests * chore(deps): update module golang.org/x/oauth2 to v0.32.0 * chore(deps): update dependency @commitlint/lint to v20 ------------------------------------------------------------------- Fri Oct 17 05:08:55 UTC 2025 - Johannes Kastl - Update to version 1.74.0: * caac5301: fix: do not result in bool parse error for empty config (Timo Furrer tfurrer@gitlab.com) ------------------------------------------------------------------- Mon Oct 13 06:44:22 UTC 2025 - Johannes Kastl - Update to version 1.73.1: * 4ae0efc4: docs: update CLI docs format to work with Hugo (Pearl Latteier platteier@gitlab.com) * 159d7ab4: fix(events): print the title when listing user events (Oleksandr Redko oleksandr.red+gitlab@gmail.com) * 97fcfa9f: fix(tables): add table names to output data (Filip Aleksic faleksic@gitlab.com) * 45524b28: fix: prevent cmdutils.SilentError from printing in error handler (Daniel Lecklider lecklider.6@gmail.com) * 3612240c: fix: return proper not found error for empty hosts in config file (Timo Furrer tfurrer@gitlab.com) * 6e9ce18e: fix: stop generating documentation for deprecated commands (Kai Armstrong karmstrong@gitlab.com) ------------------------------------------------------------------- Tue Oct 07 05:53:07 UTC 2025 - Johannes Kastl - Update to version 1.73.0: * b47057c7: feat(api): Add support for custom HTTP headers via config (which can point to environment variables) (Henri Cook 2467396-henricook@users.noreply.gitlab.com) * ac56c58a: feat(auth logout): logout from job token and OAuth2 auth (Timo Furrer tfurrer@gitlab.com) * ba8946a7: feat(config): setting empty config value removes its node from config (Timo Furrer tfurrer@gitlab.com) * 0555045f: feat(duo / codex): Added Codex support to Duo (Shekhar Patnaik spatnaik@gitlab.com) * 2839a829: feat(duo claude): add option to configure GitLab MCP for claude code (Timo Furrer tfurrer@gitlab.com) * 85b5a8bf: feat(env): deprecate glab variables without GLAB_ prefix (Filip Aleksic faleksic@gitlab.com) * 5e6c63aa: feat(securefile): Add --all flag to download all secure files (Fred Reinink freinink@gitlab.com) * 5b79e347: feat(securefile): Verify checksum when downloading secure files (Fred Reinink freinink@gitlab.com) * d176a870: feat: add support for CI/CD pipeline inputs in ci run and ci run-trig commands (Florian Forster fforster@gitlab.com) * b427ce28: fix(ci status): properly exit status (Kai Armstrong karmstrong@gitlab.com) * b0013035: fix(mr view): runtime error: invalid memory address or nil pointer dereference (Kai Armstrong karmstrong@gitlab.com) * e068b8d5: fix(repo list): fix project group filtering reliability (Eric de Ruiter eric@thisisdevelopment.nl) * 493e48ca: fix(tests): avoid duplicate test case names (Timo Furrer tfurrer@gitlab.com) * 0d3765e6: fix(tests): properly use t.Parallel() where it's currently used (Timo Furrer tfurrer@gitlab.com) * 6c9f1f1c: fix: cli display parity chars (Jose Gabriel Companioni Benitez 53531665+elC0mpa@users.noreply.github.com) * 8e59a412: fix: prevents claude tests from writing settings.json (Kai Armstrong karmstrong@gitlab.com) * db9d5296: refactor(cmdtest): mark test helper as such (Timo Furrer tfurrer@gitlab.com) * 7c1c95e5: refactor(confirm): use new IOStreams Confirm (Timo Furrer tfurrer@gitlab.com) * 7947cff0: refactor(dependency): remove dependency to securejoin by using os.Root (Timo Furrer tfurrer@gitlab.com) * 973c3f17: refactor(duo ask): use cmdtest.SetupCmdForTest directly (Timo Furrer tfurrer@gitlab.com) * 58e6abec: refactor(select): use select prompt from huh (Timo Furrer tfurrer@gitlab.com) * 668c79b9: refactor(testing): setup test factory for huh (Timo Furrer tfurrer@gitlab.com) * chore(deps): adjust test for client-go bump * chore(deps): update dependency @commitlint/config-conventional to v20 * chore(deps): update dependency @commitlint/format to v20 * chore(deps): update dependency @commitlint/read to v20 * chore(deps): update dependency golangci-lint to v2.5.0 * chore(deps): update module github.com/charmbracelet/fang to v0.4.3 * chore(deps): update module github.com/docker/docker-credential-helpers to v0.9.4 * chore(deps): update module github.com/mark3labs/mcp-go to v0.40.0 * chore(deps): update module github.com/mark3labs/mcp-go to v0.40.0 * chore(deps): update module github.com/mark3labs/mcp-go to v0.41.0 * chore(deps): update module github.com/mark3labs/mcp-go to v0.41.1 * chore(deps): update module github.com/mattn/go-runewidth to v0.0.17 * chore(deps): update module github.com/mattn/go-runewidth to v0.0.19 * chore(deps): update module github.com/mattn/go-runewidth to v0.0.19 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.146.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.147.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.147.1 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.148.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.148.1 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.149.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.150.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.151.0 ------------------------------------------------------------------- Thu Sep 18 07:26:12 UTC 2025 - Johannes Kastl - Update to version 1.72.0: * chore: flag claude and mcp features as experimental * feat(cluster agent): introduce revoke command * fix: normalized all commands chars * refactor(login): use url.Parse instead of regex to validate hostname ------------------------------------------------------------------- Thu Sep 18 07:22:16 UTC 2025 - Johannes Kastl - Update to version 1.71.2: * feat(duo claude): improve error message when duo claude token retrieval is forbidden * chore: optimize MCP tool descriptions and reduce token usage * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.145.0 ------------------------------------------------------------------- Thu Sep 18 07:16:23 UTC 2025 - Johannes Kastl - Update to version 1.71.1: * Revert "chore: enable signing for all (test)" * chore: enable signing for all (test) * fix: tweak signature name to avoid bin/ ------------------------------------------------------------------- Thu Sep 18 07:11:03 UTC 2025 - Johannes Kastl - Update to version 1.71.0: * a61ec841: fix: add checksums to signing (Stan Hu) ------------------------------------------------------------------- Thu Sep 18 07:01:51 UTC 2025 - Johannes Kastl - Update to version 1.70.0 (1.69.0 does not exist): * fix(release): ignore .gitlab-secrets * feat: sign all macOS and Windows binaries in goreleaser * feat(duo claude): add MCP server integration for enhanced Claude Code functionality * fix: glab ci status fails for an MR branch, when Merged Results Pipelines are enabled * docs: Fix malformed link in CONTRIBUTING * feat: sign Windows installer * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.144.1 * feat: sign Windows glab.exe * chore: Use go 1.25.1 * chore: Better explain hosts + Self-Managed for 'repo create' * chore(deps): update module k8s.io/client-go to v0.34.1 * fix(auth): allow dash in hostname URI * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.143.3 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.143.2 * chore: Remove period from "EXPERIMENTAL" string * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.143.1 * docs: Revise docs for 'release create' command * chore(deps): update module golang.org/x/oauth2 to v0.31.0 * chore(deps): update module github.com/spf13/viper to v1.21.0 * feat(opentofu init): support OAuth2 token auth * chore(deps): update module golang.org/x/crypto to v0.42.0 * fix(debug http): deep-copy body for request dump * chore(deps): update module oss.terrastruct.com/d2 to v0.7.1 * chore(deps): update module golang.org/x/sync to v0.17.0 * chore(deps): update module github.com/coder/websocket to v1.8.14 * fix: Subsequent job traces fail to load after the first call to RunTraceSha() * feat: add automatic documentation generation for root command * chore(cluster/graph): add HelmRelease metadata ------------------------------------------------------------------- Sun Sep 14 11:55:51 UTC 2025 - Johannes Kastl - Update to version 1.68.0: * Changelog - 78c7dc2f: feat(agent bootstrap): support configuring commit author (Timo Furrer tfurrer@gitlab.com) - ab9c7f09: feat(agent): implement token list command (Timo Furrer tfurrer@gitlab.com) - 3a4d34d5: feat(duo/claude): Added support for Claude Code (Shekhar Patnaik spatnaik@gitlab.com) - a1809f2b: feat(issue-list): sort and order functionality (Filip Aleksic faleksic@gitlab.com) - 240f6800: feat(mr): add URL parsing support for mr (Munish munishkumar631@gmail.com) - 76692fd8: feat(release): remove experimental status from --use-package-registry flag (Timo Furrer tfurrer@gitlab.com) - 5101d572: feat(schedule-id): print schedule id on creation (Filip Aleksic faleksic@gitlab.com) - 6e81bd0d: fix(cluster/agent/get_token): clean up lock on OS signal (Mikhail Mazurskiy mmazurskiy@gitlab.com) - 376f3ffa: fix(commands): fixes to commands and env vars (Filip Aleksic faleksic@gitlab.com) - 713ea1b7: fix(env-var): respect GITLAB_HOST environment variable in all commands (Timo Furrer tfurrer@gitlab.com) - 8a6f45d7: fix(help): preserve newlines in glamour output (Jay McCure jmccure@gitlab.com) - d2c2e9da: fix(mr ci): use gitlab api to fetch default branch with fallback to main when... (Munish munishkumar631@gmail.com) - 6adb5415: fix: resolve host mismatch bug in repository resolution (Alex Romanov alex@romanov.ws) - 2fc5d0c6: refactor(cluster/agent/get_token): ensure the right error is returned (Mikhail Mazurskiy mmazurskiy@gitlab.com) * Dependencies - chore(deps): update module github.com/docker/cli to v28.4.0+incompatible - chore(deps): update module github.com/spf13/pflag to v1.0.10 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.6 - chore(deps): update module github.com/spf13/cobra to v1.10.1 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.4 - chore(deps): update module k8s.io/client-go to v0.34.0 - chore(deps): update module github.com/stretchr/testify to v1.11.1 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.2 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.1 - chore(deps): update module github.com/stretchr/testify to v1.11.0 - chore(deps): update module github.com/gdamore/tcell/v2 to v2.9.0 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.0 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.141.2 - chore(deps): update mock/mockgen to v0.6.0 - chore(deps): update golangci-lint to v2.4.0 - chore(deps): bump go to v1.25.0 in .tool-versions and .gitlab-ci.yml - chore(deps): bump go to v1.25.0 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.141.1 - chore(deps): bump effectively used mockgen version - chore(deps): update module go.uber.org/mock to v0.6.0 - chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.139.2 - chore(deps): update dependency golangci-lint to v2.4.0 ------------------------------------------------------------------- Mon Aug 18 13:03:16 UTC 2025 - Johannes Kastl - Update to version 1.67.0: * refactor(release download): cleanup request creation * fix(release download): use unauthenticated client for non-GitLab asset links * feat(opentofu): add `terraform` and `tf` as aliases for the `opentofu` * feat(debug): support `GLAB_DEBUG_HTTP` env variable to log HTTP traffic * chore(deps): update module k8s.io/client-go to v0.33.4 ------------------------------------------------------------------- Mon Aug 18 12:54:02 UTC 2025 - Johannes Kastl - Update to version 1.66.0: * feat(agent token): generate new token if cached token has been revoked * feat(agent token): lock token creation for concurrent plugin calls * feat(agent token): force keyring mode by default * feat(opentofu): add delete command * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.139.0 * chore(opentofu): fix command docs * fix(tests): Add missing can_create_organization to mock * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.138.0 * feat(state list): add OpenTofu state download command * feat(state list): add OpenTofu state unlock command * feat(state list): add OpenTofu state lock command * feat(state list): add OpenTofu state list command * refactor(release): avoid repeating calls to cmd.Flags() * feat(release): support configuring name of release asset package * fix(git): fix git test * chore: Apply 3 suggestion(s) to 3 file(s) * feat(cluster/graph): support ignoring arc direction when filtering by roots * feat(opentofu): implement new `opentofu init` command * feat(project): enhance fork handling for existing repos * chore: add .vscode/launch.json for debugging configuration * fix(mr checkout): respect git_protocol configuration instead of hardcoding SSH * fix(warnings): fix misc warnings across the code base * chore(deps): update module golang.org/x/crypto to v0.41.0 * refactor(factory): rename GitLab client variables * refactor(factory): rename misleading HttpClient func to GitLabClient * refactor: simplify tests with t.TempDir and t.Chdir * chore(deps): bump go to v1.24.6 * chore(deps): update dependency golang to v1.24.6 * feat(cluster/graph): support filtering by roots * feat: add autofill flags to mr update command * docs: Add a troubleshooting subheading to the README * feat(help): document -h short option * chore: Add additional mocks to git package * chore: don't run tests for doc changes only * chore(deps): remove duplicate golangci-lint entry from tools-versions * chore(deps): update dependency golangci-lint to v2.3.1 * docs: testing against staging * chore(hostname): remove h flag for hostname * chore(gen-docs): run gen docs without cmdtest package dependency * fix(api): respect --hostname argument * chore(deps): update module github.com/golang-jwt/jwt/v5 to v5.3.0 * feat(mr-list): support "Any" user * chore: simplified token validation * feat(duo ask): self-hosted instance url check ------------------------------------------------------------------- Fri Aug 01 08:14:10 UTC 2025 - Johannes Kastl - Update to version 1.65.0: * fix(get-token): gracefully handle concurrent token cache writes * feat(issue-update): add due-date functionality * chore(deps): update module github.com/docker/cli to v28.3.3+incompatible * feat(issue): Remove --label and --not-label mutual exclusivity * feat(mr): display file and line context for code comments * feat(job artifact): Add --list-paths to print paths ------------------------------------------------------------------- Thu Jul 24 07:47:34 UTC 2025 - Johannes Kastl - Update to version 1.64.0: * fix(ci run): honor passing `--variables` * docs: Add bare explanation of mTLS config * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.137.0 * chore(deps): update dependency golangci-lint to v2.3.0 * refactor: use AutoMerge * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.135.0 * refactor: factory ApiClient method does not ned to rely on config * refactor(config): remove unused UnsetHost method from Config * fix(docker-credential-helper): default config stub fixes * fix(api): use correct API path for GraphQL requests * refactor(get-token): us os.UserCacheDir instead of own version * feat: show all configured hosts in interactive login prompt * refactor(agent get-token): support cache mode * chore(enum flag): implement enum flag helper * refactor(agent get-token): use keyring and fallback to fs for token cache * feat(release): support uploading release assets to generic package registry * chore(deps): update module k8s.io/client-go to v0.33.3 * chore(deps): update module k8s.io/client-go to v0.33.3 * chore(deps): update module github.com/golang-jwt/jwt/v5 to v5.2.3 * feat(agent): support configurable token expiration duration * refactor(agent update-kubeconfig): remove unnecessary use of persistent flags * feat(agent get-token): cache token in local file * refactor(agent get-token): move pat creation into separate function ------------------------------------------------------------------- Wed Jul 16 06:21:15 UTC 2025 - Johannes Kastl - Update to version 1.63.0: * fix(docker-credential-helper): init cred helpers if empty * feat(hidden-variables): List and set hidden variables * refactor: do not use SSH URL translator for non-SSH URLs * refactor: remove unused url translator function * chore(deps): bump go to v1.24.5 * chore(deps): update dependency golangci-lint to v2.2.2 * chore(deps): update module golang.org/x/crypto to v0.40.0 * chore(deps): update module github.com/docker/cli to v28.3.2+incompatible ------------------------------------------------------------------- Fri Jul 11 04:46:15 UTC 2025 - Johannes Kastl - adjust patch glab-disable_update_check.patch - Update to version 1.62.0: * feat: allow (un)archiving repo with `repo update --archive` * chore(deps): update module golang.org/x/text to v0.27.0 * chore(deps): update module golang.org/x/sync to v0.16.0 * refactor: use oauth2 package from GitLab client-go * refactor: use context in OAuth2 authorization flow * refactor: use x/oauth2 instead of custom OAuth2 types * refactor: rename oAuthClientID to oauthClientID * refactor: use x/oauth2 for authorization flow * refactor: use x/oauth2 for refreshing token * chore(deps): update module github.com/docker/cli to v28.3.1+incompatible * feat: add docker-credential-helper * chore: Backport change to backend file * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.134.0 * chore: Revise UI and docs strings * fix: glab auth login to work with mTLS by using api.NewClientWithCfg instead of native HTTPClient * feat(var): add option to list instance vars * refactor: do not write test key files if they already exist * chore(pipeline): add job to verify generated code * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.133.0 * fix: reflection panic when using survey with release create * refactor: improve structure of API client constructor * refactor: make api client auth source available for OAuth2 refresh workflow * refactor: use context for client HTTPRequest functions * refactor: make api client initialization more flexible and more maintainable * refactor: remove condition httpclient nil check in api client * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.132.0 * refactor: remove globals in variable create command * refactor: remove globals in create issue board command * refactor: remove globals in ci run command * refactor: remove globals in ci lint command * refactor: remove globals in issue board view command * refactor: move global API functions that are overridden in tests to a local scope * refactor: use GitLab client-go directly in some commands * refactor: use GitLab client-go directly in some ci commands * refactor: use GitLab client-go mocks instead of HTTP mocks in changelog commands * refactor: use GitLab client-go mocks instead of HTTP mocks in auth commands * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.131.0 * refactor: speed up dpop generate test by pre-generating test data * refactor: remove unused BaseURL method in API client * refactor: remove unnecessary lazy initalization of GitLab Client in API client * refactor: rename api.NewClientWithCfg to api.NewClientFromConfig * refactor: remove unused protocol parameter for api.NewClientWithCfg * refactor: remove unnecessary if err check when creating new client * refactor: move commands/flag into cmdutils * chore(pipeline): use 2x large runners for release test * refactor: use NewTestFactory instead of manually constructing test factory * refactor: use NewTestFactory with NewTestApiClient to remove TestClient * refactor: rename MustTestClient to NewTestApiClient * refactor: remove unused cmdtest.InitFactory * refactor: use NewTestFactory instead of InitFactory in command tests * feat(cluster/graph): use struct for arc attributes * refactor: use NewTestFactory in SetupCmdTest * refactor: move hooks package into telemetry files in main pkg * fix: prevent crash when it is not possible to get client for telemtry * refactor: do not used named returns unless it makes sense * refactor: remove unused parameters * refactor: remove unneccessary type conversions * refactor: remove deadcode * refactor: move httpmock to testing/ and introduce testing/gitmock * refactor: remove unused git_mock package * refactor: move api package into internal/ * refactor: add depguard rule that no testing package is used in non-testing code * refactor: only depend on cmdutils from commands * refactor: move cmdutils package from commands/ to internal/ directly * refactor: move cmdtest package into internal/testing * refactor: move packages from pkg/ under internal/ * refactor: move commands/ under internal/ * refactor: cache base repo * chore(deps): update dependency golangci-lint to v2.2.1 * chore(deps): update dependency golangci-lint to v2.2.0 * feat(cluster/graph): better error reporting * refactor: remove integration test that doesn't make sense * refactor: remove manual RepoOverride from integration tests * refactor: remove manual RepoOverride from commands * chore(deps): update dependency golangci-lint to v1.64.8 * ci: upgrade golangci-lint to v2 * chore(ci): enable race detector in tests * refactor: update check from main function * refactor: rename telemtry hook setup function * refactor: concentrate debug mode setup in one place * refactor: move survey core setup out of main function * refactor: introduce build info to factory and use consistently in commands * refactor: remove global debug variable * refactor: remove global default hostname and protocol variables * refactor: remove global build info and introduce user agent to factories * refactor: use ExecuteCommand in favor of RunCommnad * refactor: remove exotic FirstLine test helper function * refactor: remove custom Eq test helper * refactor: use prod factory directly in integration tests * refactor: directly create factory with test config instead of stubbing * refactor: do not stub factory when no required * refactor: initialize config exactly once * refactor: reduce down to single factory creation function * refactor: configure iostreams from config in factory func * refactor: create config before factory to improve factory immutability * refactor: exclusively use `cmdtest.TestIOStreams` factory func in tests * refactor: unexport internal 256 color support check function * refactor: use tagged switch instead of if to set iostreams prompt * refactor: introduce proper factory for iostreams * refactor: remove global terminal-related variables * refactor: remove IOStreams globals * refactor: remove global apiClient instance * refactor: always use factory to create client from commands * refactor: introduce ApiClient factory function * refactor: remove unneccessary use of global apiClient * refactor: remove obsolete client refresh functionality * refactor: remove introduce HTTP client override functionality * refactor: introduce http client client option funcs * refactor: unexport internal gitlab client * refactor: unexport client protocol * refactor: introduce client option funcs to replace various client factory functions * refactor: unexport private client factory functions * refactor: move API test client to cmdtest package * refactor: add allowInsecure flag to tlsConfig func ------------------------------------------------------------------- Mon Jun 30 12:46:31 UTC 2025 - Johannes Kastl - remove ldflags '-s -w' from build command - fix missing git commit in 'glab version' output ------------------------------------------------------------------- Wed Jun 25 12:26:39 UTC 2025 - Johannes Kastl - Update to version 1.61.0: * refactor: remove unused option struct fields * refactor: align more commands with common structure * refactor: remove unnecessary copying of test var * refactor: remove unused runE / runF cmd args * feat(cluster/graph): extra docs on CEL * feat(cluster/graph): support logging watch request * feat(cluster/graph): support selecting namespaces * feat: add 'repo update' command * feat: command for ci run mr * refactor: first pass of aligning command structure * chore(deps): update module k8s.io/client-go to v0.33.2 * feat(cluster/graph): enhance docs * feat(cluster/graph): allow selecting resources by name * feat(cluster/graph): allow selecting common resources in common groups * refactor(cluster/graph): rework default query construction * fix(cluster/graph): remove print * chore(deps): update module k8s.io/apimachinery to v0.33.2 * chore(deps): update module github.com/hashicorp/go-retryablehttp to v0.7.8 ------------------------------------------------------------------- Thu Jun 19 06:32:24 UTC 2025 - Johannes Kastl - Update to version 1.60.2: * chore: Make telemetry warning debug level * refactor: custom factory for docs generation * refactor: use the test factory * refactor: use stubs in the test factory * refactor: mutate io before passing * refactor: rework test factory * refactor: use IO function * refactor: pass IO streams to factory constructor * refactor: remove error handling from RepoOverride() calls * refactor: use the interface * refactor: new factory interface ------------------------------------------------------------------- Wed Jun 18 04:57:04 UTC 2025 - Johannes Kastl - Update to version 1.60.1: * fix: fix regression from 6fbcfab310b545cdd1cd4ca20918b5862be34255 * chore(deps): bump go to v1.24.4 ------------------------------------------------------------------- Tue Jun 17 18:04:00 UTC 2025 - Johannes Kastl - Update to version 1.60.0: * fix: correctly use t.Setenv() in tests * refactor: remove unused fucntions * refactor: do not use global OverrideAPIProtocol, set it on local client * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.130.1 * refactor(agent bootstrap): use options struct * refactor(cluster agent): mock GitLab API in get token cmd tests * refactor(cluster agent): use options struct * fix(agent): use UTC when calculating token expiration * chore: Readding telemetry, fixing segfault * refactor(cluster graph): unexport run method * refactor: Add thread safety for factory * chore(deps): update module github.com/coder/websocket to v1.8.13 * feat: cluster graph command * feat: :wrench: Add helm-repository-address to cluster agent bootstrap command * fix(cluster/agent): propagate repo host and name * refactor: cleanup cluster agent update-kubeconfig * fix: Improving user feedback when no jobs exist in a pipeline * fix: log errors to StdErr * fix(deps): drop direct golang.org/x/exp dependency * fix: add missing newline * docs(workspace): update doc for using workspace with cli project * chore(docs): update example to $># format * refactor: remove globals from tests * chore(deps): update module golang.org/x/crypto to v0.39.0 * chore(deps): update module golang.org/x/text to v0.26.0 * refactor: remove some of the global state, part 2 ------------------------------------------------------------------- Thu Jun 05 04:59:53 UTC 2025 - Johannes Kastl - Update to version 1.59.2: * Revert "fix(telemetry): remove data race in telemetry hook" ------------------------------------------------------------------- Wed Jun 04 18:34:00 UTC 2025 - Johannes Kastl - Update to version 1.59.1: * fix(telemetry): remove data race in telemetry hook ------------------------------------------------------------------- Wed Jun 04 18:30:22 UTC 2025 - Johannes Kastl - Update to version 1.59.0: * refactor: do not use the global client * refactor: do not use api.GetClient() in commands/api * fix: make HttpClient always safe to use * chore(usage-ping): Add telemetry data for commands/projects/namespaces * feat(config): added GitDir to get proper location to put local configs * chore: Update command examples following new style guide * feat: add pagination to ci trigger command * docs(api): add simple GraphQL oneliner ------------------------------------------------------------------- Thu May 29 05:18:38 UTC 2025 - Johannes Kastl - Update to version 1.58.0: * feat(deploy-key): Deploy key functionality * fix(auth): fix CI JOB TOKEN with custom CA file * chore: Adding initial git function mocks * chore(usage-ping): Add configuration option to opt out of usage data * feat(securefile): add project secure file get support * chore: Update command examples following new style guide, fixes #7833 * chore: Make scopes of non-admin PATs clearer * chore(docs): update example to $># format * chore(deps): update module k8s.io/client-go to v0.33.1 * chore(deps): update module k8s.io/apimachinery to v0.33.1 * chore(deps): update dependency markdownlint-cli2 to v0.18.1 * docs: Add mise as an install method * chore: Update go to 1.24.3 * chore(deps): update dependency markdownlint-cli2 to v0.18.0 * chore(deps): update dependency @commitlint/read to ^19.8.1 * chore(deps): update dependency @commitlint/format to ^19.8.1 * chore(deps): update dependency @commitlint/lint to ^19.8.1 * feat(cluster): add FluxCD environment creation during agent bootstrap * chore(deps): update dependency golang to v1.24.3 * refactor(auth): Move auth helper to its own location * chore(deps): update module golang.org/x/oauth2 to v0.30.0 * chore(docs): update example tro $># format * fix: try to update ref head only if remote has diverged * chore(deps): update module golang.org/x/crypto to v0.38.0 * docs: improve help text for `ci run` `--variables-from` * feat: Add iteration command * chore: Update links to docs.gitlab.com * chore(docs): update example to $># format * test(stacked-diffs): adding missing test for stack save * refactor(cmdutils): remove used once function ------------------------------------------------------------------- Fri May 02 07:51:01 UTC 2025 - Johannes Kastl - Update to version 1.57.0: * test: Use GITLAB_TOKEN_TEST instead of GITLAB_TOKEN * chore: update to gomock 0.5.2 * chore(deps): update module go.uber.org/mock to v0.5.2 * test: Add UT for StackRootDir * chore: apply gopls modernize * chore(deps): update module k8s.io/client-go to v0.33.0 * chore(deps): add node * chore: account for breaking changes in client-go 0.128.0 * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.128.0 * chore: format release commands * chore: format schedule commands * chore(deps): update module k8s.io/apimachinery to v0.32.4 * refactor: mrutils.getMRForBranch & mrutils.mrOptions * chore(deps): update module github.com/charmbracelet/glamour to v0.10.0 ------------------------------------------------------------------- Thu Apr 24 06:37:39 UTC 2025 - Johannes Kastl - Update to version 1.56.0: * feat(securefile): add project secure file create support * chore: Update command examples following new style guide * fix(release): allow use of commit log for release notes * fix: readibility & consistency of persing pipeline variable error * refactor: Explicit nil return for error in successful snippet creation * chore: apply new style guide for MR command examples * fix: Initialize factory HTTP client with error handling to support stub behavior * chore: apply new style guide for misc ci command help texts * chore: apply new style guide for more cli ci command help texts * chore: Change plaintext syntax to 'console' for examples * chore: apply new style guide for cli ci command help texts * chore(docs): update examples to $># format * chore(docs): update example to $># format * chore: apply new style guide for more cli help texts * docs: Add docs change to clear a couple of Vale warnings * chore: Update Vale rules for project * chore: apply new style guide for cli help texts * chore(docs): update example to $># format * chore(docs): update example to $># format * chore(docs): update example to `$>#` format * chore(docs): update example to $># format * chore(docs): update example to $># format * chore: disable markdownlint rule MD014 * fix: change the example cli help example section * feat: ouput option json for project search * chore: Update linting tools in project * feat(issue): Implement the `--epic` option for `issue list` * docs: Fix last markdownlint errors, restore linting * feat(securefile): add project secure file remove support * chore: restrict access to test job artifacts * fix(project): remove extra --tag option from "publish catalog" command * feat(securefile): add project secure file download support * chore(deps): update module golang.org/x/oauth2 to v0.29.0 * chore(deps): update module go.uber.org/mock to v0.5.1 * chore(deps): update module golang.org/x/crypto to v0.37.0 * feat(securefile): add project secure file list support * chore(deps): update module gitlab.com/gitlab-org/api/client-go to v0.127.0 * fix(update-check): environment variable has higher priority * chore: Update glamour version * ci: update commit lint to the latest version * feat(logout): support token removal * fix(ci list): correct timezone format * chore(deps): update dependency @commitlint/config-conventional ^19.8.0 * chore(deps): update dependency @commitlint/read to ^19.8.0 * chore(deps): bump golang to v1.24.2 * chore(ci): enable dependency proxy * chore(deps): update module github.com/gdamore/tcell/v2 to v2.8.1 * chore(deps): update dependency @commitlint/format to ^19.8.0 * chore(deps): update dependency danger-review to v2.1.0 * refactor: set HTTPClient without factory * chore: Fixing homebrew pull request version bump * chore(deps): update module github.com/spf13/viper to v1.20.1 * docs(examples): update all examples * chore(deps): update module k8s.io/client-go to v0.32.3 ------------------------------------------------------------------- Tue Mar 25 05:40:12 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 1.55.0: * chore(deps): update module github.com/golang-jwt/jwt/v5 to v5.2.2 * refactor(cluster agent): use new client-go testing pkg * refactor(tokens): Add description and refactor token creation * feat(config-edit): add config edit command * build(windows-builds): include installer sha in checksum file * feat: add command for publishing to CI catalog * refactor: move CI/CD catalog publishing to project command - change BuildRequires from golang(API), as the latter is unresovable with the constraint >= 1.24.1 - rebase glab-disable_update_check.patch ------------------------------------------------------------------- Thu Mar 20 05:45:46 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 1.54.0: * chore(deps): update dependency axios to ^1.8.4 * build(version): standardize versions accross builds * feat: create project command can skip creating git repository * chore: Updating client-go * feat: Create stack from created branch * chore(deps): update golang to v1.24.1 * test: Start using mocks for git tests * feat(ssh-key): add usage-type when creating ssh key * chore(deps): update module github.com/spf13/viper to v1.20.0 * chore(deps): adjust for breaking changes in client-go * chore(deps): update module client-go to v0.125.0 * fix(issue/mr create): add ability to assign group milestones * feat: Render markdown help text in glamour * chore(deps): update module k8s.io/apimachinery to v0.32.3 * chore(deps): update dependency axios to ^1.8.3 * chore: update gitlab.com/gitlab-org/api/client-go v0.124.0 * feat(dpop): add option to generate DPoP JWTs * chore(deps): update dependency @commitlint/lint to ^19.8.0 * fix: goreleaser archives.format is deprecated * chore(deps): update dependency axios to ^1.8.2 * chore(deps): update module golang.org/x/oauth2 to v0.28.0 * chore(deps): update module golang.org/x/crypto to v0.36.0 * chore(deps): update module golang.org/x/text to v0.23.0 * chore(docs): use consistent language in flags * chore: Add USERNAME to environment variables cleared for test * fix(formatting): fixed output formatting for commands * chore: Update source of documentation linting image * chore: Update Vale rules from 'gitlab' project * chore(deps): update golang to v1.24.0 * chore(deps): update dependency axios to ^1.8.1 * feat: give credits in changelog * chore(deps): update module golang.org/x/oauth2 to v0.27.0 * chore(deps): update module golang.org/x/crypto to v0.35.0 * chore(deps): update module github.com/avast/retry-go/v4 to v4.6.1 * feat(var): make count of listed vars configurable * fix(token-list): expiration time can be null * docs(help): document all environment variables * chore: Improve re-auth and self-managed strings * fix(ci status): allow live to loop with NO_PROMPT * chore(snap): update base and fix version * feat(ssh-key): add usage type to output * feat: show help hint on error instead of full usage * docs: improve ci job variable docs * fix(token-list): token list works outside a repository * fix: replace `GetLastPipeline` calls with `GetLatestPipeline` * chore(deps): update module github.com/spf13/cobra to v1.9.1 * feat(ci status): return error when pipeline failed * fix(ci status): use GetLatestPipeline API for branches * chore(deps): update gitlab.com/gitlab-org/api/client-go to v0.123.0 * feat(ci-run-web): add --web flag to ci run * chore(deps): update module k8s.io/apimachinery to v0.32.2 * chore(ca-certificates): include ca-certificates in docker * fix(ci get): do not require branch if pipelineID is given * fix(mr update): multiple draft prefixes * chore(onboarding): update urls * chore(deps): update module golang.org/x/crypto to v0.33.0 * test: create with multiple files * fix(table-headers): add table headers to output * fix(parsing): recover from unparsable structs * chore(deps): update module golang.org/x/term to v0.29.0 * fix: accept input from stdin when stdin is TTY * fix: print to `Opts.IO` because it can be processed * docs: document multiple files feature * feat(snippets): support uploading multiple files * refactor(snippets): use newer files API * feat(snippets): support multiple files * refactor: remove unnecessary `opts.Lab` ------------------------------------------------------------------- Sun Feb 16 09:12:14 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 1.53.0: * feat(release): add experimental notes text-or-file parameter * feat(diffs): Add --raw option to mr diffs * fix: fix incorrect API host being shown in status * fix(docs): document GLAB_CHECK_UPDATE environment variable * chore(tests): added ssh-key list tests * refactor(pagination): add parameters on struct creation * feat(repo): list user projects * fix(pkg/tableprinter): handle nil pointer cell values * test(archive): fix flaky archive test * chore(deps): update module golang.org/x/text to v0.22.0 * refactor(main): move SilentError check out of printError * chore: Fixing a test that keeps failing * fix(issueable list): remove support multiple not- filter flags * chore(uploads): ignore deprecated UploadFile function * refactor(issues): rename ListIssues to ListProjectIssues * chore(client-go): account for breaking changes * chore(deps): update module client-go to v0.122.0 * fix: make SilentError exit with code 1 as documented * feat(update): check for updates periodically * chore(deps): update module golang.org/x/oauth2 to v0.26.0 * fix(snippet): show friendly error for project snippet without repo * feat(variables): add option to list/update/set description of vars * chore(deps): update dep @commitlint/config-conventional to ^19.7.1 * chore(deps): update dependency @commitlint/lint to ^19.7.1 * refactor(git): remove excessive argument processing for RunClone * docs(project-search): Fixed project search example usage * chore(deps): update dependency @commitlint/lint to ^19.7.1 * feat(label): add command to delete labels * test(label): add missing tests to label-creation * docs: Shift environment variables from unordered list to table * fix(snippet create): complete usage info * chore: Tidy up docs for 'schedule update' * feat(update_check): Rename variable to GLAB_CHECK_UPDATE * build(flags): strip symbols from binary * refactor(var): rename functions to match what they do * fix(artifact): create subdirs instead of failing * fix(mr merge): friendly error when merges require CI to pass * refactor(perms): cleanup Windows permissions FIXME * fix(ci status): detect branch repo from remote * feat(schedule): Add option to edit an existing scheduled pipeline * chore: show colored diff when docs update is needed * fix: listing of group variables without git repository * feat(update check): Add env variable to skip update check * fix(repo clone): correctly separate gitflags arguments * feat(mr list): Add sorting functionality for MRs * feat(cancel): implement glab ci cancel command * docs(repo): explain archive-flag better * feat(repo clone): document group syntax in usage * feat: add debug output for tracing `glab ci status` * chore(deps): update module k8s.io/client-go to v0.32.1 * chore(deps): update module k8s.io/client-go to v0.32.1 - rebase glab-disable_update_check.patch ------------------------------------------------------------------- Mon Jan 20 13:51:23 UTC 2025 - opensuse_buildservice@ojkastl.de - Update to version 1.52.0: * feat(release): add --no-close-milestone flag for release creation * chore(deps): update module github.com/briandowns/spinner to v1.23.2 * chore: roll docs linting tooling forward * feat(release): Add --no-update to release create * chore(deps): update module k8s.io/apimachinery to v0.32.1 * chore(deps): update module github.com/mattn/go-colorable to v0.1.14 * fix: update path where config.yml is displayed * feat: Add reordering of stacks * fix(docs): change toc to show actual contents * chore: Post-merge review of UI strings * docs: Fix missing period in display * chore(deps): update golang to v1.23.4 * docs: add command for previewing release commits * chore(deps): update module golang.org/x/crypto to v0.32.0 * chore(deps): update module golang.org/x/term to v0.28.0 * chore(deps): update module github.com/otiai10/copy to v1.14.1 * chore(deps): update module golang.org/x/oauth2 to v0.25.0 * feat: add support for setting issue weight in glab issue update * chore(dep): update x/net * chore(deps): update golang to v1.23.3 ------------------------------------------------------------------- Fri Dec 20 07:49:13 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.51.0: * feat(ci): add more flags to filter ci list output * refactor: Moving and adding some test helpers for `stack reorder` * feat(list): add project list filter for all non-archived projects * chore(deps): update module k8s.io/client-go to v0.32.0 * chore(deps): migrate go-gitlab to gitlab.com/gitlab-org/api/client-go * chore(deps): update module k8s.io/apimachinery to v0.32.0 * chore(deps): update module golang.org/x/crypto to v0.31.0 * fix(variable): add quotes to export-commands * refactor: Refactor some functions and add some stack helpers * feat: add --active flag to glab token list * fix(agent bootstrap): panic when cfg exists but no user access defined * chore(deps): update module golang.org/x/term to v0.27.0 * chore(deps): update module golang.org/x/text to v0.21.0 * chore(deps): update dependency danger-review to v2 * chore(deps): update dependency axios to ^1.7.9 * feat: added mr list filtering flag --not-draft ------------------------------------------------------------------- Mon Dec 9 02:06:17 UTC 2024 - Georg Pfuetzenreuter - Add glab-disable_update_check.patch to disable the update check by default (it is not useful for distribution packages) ------------------------------------------------------------------- Fri Nov 29 08:29:43 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.50.0: * feat(release): "release create --publish-to-catalog" flag * feat: add environment scope for export * chore(deps): update dependency axios to ^1.7.8 * feat(label list): flag to list group labels * chore(deps): update module github.com/stretchr/testify to v1.10.0 * feat(auth): support CI JOB TOKEN * refactor: Fix some package names * chore(deps): update module k8s.io/client-go to v0.31.3 * fix(cluster agent): constructing KAS Kubernetes API Proxy URL * chore(dep): update cross-spawn * test: Add basic stack sync testing * chore(deps): update dependency @commitlint/config-conventional ^19.6.0 * chore(deps): update dependency @commitlint/lint to ^19.6.0 * fix: adjust test data for new go-gitlab release * chore(deps): update module github.com/xanzy/go-gitlab to v0.114.0 * docs(debug): add information about debugging glab * feat(test): Integration test for create mr with recover option ------------------------------------------------------------------- Fri Nov 15 07:19:50 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.49.0: * chore: Restore markdownlint testing, disable rule MD029 for ol-prefix * fix(stacked-diffs): remove merged or closed MRs in sync * feat(test): Integration test for create issue with recover option * docs: Spacing, capitalization, and punctuation * fix(commands/cluster/agent/get_token): agentID is always 64 bit * feat(release): "release create --tag-message" flag * refactor: Remove package-level vars * fix(diff): return most recent diff version only * chore(deps): update module golang.org/x/oauth2 to v0.24.0 * chore(deps): update module golang.org/x/crypto to v0.29.0 * feat: list personal, project or group access tokens * chore(deps): update module github.com/xanzy/go-gitlab to v0.113.0 * test: Adding checking of post body to http mocks * chore(license): Update LICENSE * docs: add flux bootstrap path note to agent bootstrap cmd * docs: ignore generated documentation when running markdownlint-cli2 * fix: add more info to gitlab agent reconcile error * chore(deps): update module github.com/zalando/go-keyring to v0.2.6 * chore(deps): update module k8s.io/client-go to v0.31.2 * chore(deps): update module k8s.io/apimachinery to v0.31.2 * feat: add environment format for variable export * feat(auth login): allow more non-interactive login options * feat(issues): add filter by iteration option to issue list * feat: rotate personal, project or group access tokens * fix: utilize api_host in config to avoid git subdomain issues * chore(deps): update module go.uber.org/mock to v0.5.0 * feat(agent bootstrap): support specifying Agent Helm Chart values ------------------------------------------------------------------- Thu Oct 17 14:31:12 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.48.0: * docs: Explain set-upstream for stacks in forks * chore(release): release for freebsd and ppc64le * feat: configure KAS address explicitly in agent bootstrapping * feat: add token id reference to agent secret * feat: implement environment and dashboard support * chore(deps): update module github.com/xanzy/go-gitlab to v0.112.0 * refactor(pkg/utils): Add require.Equals in pkg/utils_test.go * chore: use goreleaser nightly * chore(deps): update golang to v1.23.2 * fix(staging): consider foo.gitlab.com self managed * chore(deps): update module github.com/xanzy/go-gitlab to v0.111.0 * chore(go-gitlab): bump to 0.110.0 * chore: make goreleaser use the go version in GitLab CI * docs: Add notes on discussing large contributions * chore(deps): update module golang.org/x/crypto to v0.28.0 * chore(deps): update module golang.org/x/text to v0.19.0 * feat: revoke personal, project and group access tokens * docs: make documentation conform to linting rules * chore: update linting tools and configuration * feat: add `stack switch` command * chore: don't run 'release-test' for actual releases ------------------------------------------------------------------- Thu Oct 03 10:04:45 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.47.0: * feat(stacked-diffs): Add origin fetch so sync will fully pull+push * docs: revise token-create page lightly * feat(stack): introduce stack list command * fix: use conventional linux package and archive file names * chore(ci): run build_windows asap * fix(stacked-diffs): fix MR creation for forks * feat: cluster agent bootstrap command * fix: glab mr view prompt disabled if NO_PROMPT is set with multiple mr * chore: insert commit subject + body to MR template descriptions * chore: increase size of CI runners * chore: optimize pipeline runtime * feat: create personal, project or group tokens * chore(deps): update @commitlint/config-conventional to ^19.5.0 * fix(repo clone): fix --with-shared behaviour * chore: bump code intel component to v0.0.3 * chore(deps): update module k8s.io/client-go to v0.31.1 * chore(deps): update dependency @commitlint/lint to ^19.5.0 * fix: revise docker image dependencies * chore(deps): update dependency @commitlint/format to ^19.5.0 * chore(deps): update golang to v1.23.1 * chore(deps): update module golang.org/x/oauth2 to v0.23.0 ------------------------------------------------------------------- Wed Sep 11 06:56:24 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.46.1: * fix(login): use verifier to create oauth challenge * docs: fix violation of updated linting rules * chore(deps): use latest docs Docker image and linting configuration * chore(deps): update module golang.org/x/crypto to v0.27.0 * chore(deps): update module golang.org/x/text to v0.18.0 * fix(typo): update token generation URL * chore(deps): update module golang.org/x/term to v0.24.0 ------------------------------------------------------------------- Mon Sep 09 11:12:50 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.46.0: * fix: fix example command for stack sync * refactor: Add a more secure way to generate a random string * chore(deps): update dependency axios to ^1.7.7 * fix(api): ensure stable sorting of MRs by descending CreatedAt * feat(variable get): allow scope for group vars * chore(deps): update dependency @commitlint/lint to ^19.4.1 * chore: add GitLab Advanced SAST to CI/CD config * style: Removing `exportloopref` since we're using go 1.22 * fix(api): enable group MR listing with reviewer and assignee filters * chore(deps): update dependency axios to ^1.7.5 * chore: remove space before colons * chore: update code intelligence component to v0.0.2 * feat(stack): stack save/amend use $EDITOR * chore(deps): upgrade to go 1.23 * feat: repo list include/exclude subgroups and archived support * fix(snippet create): allow for stdin * chore: switch to code intel CI/CD Component * chore(deps): update module golang.org/x/text to v0.17.0 * chore(deps): update module golang.org/x/crypto to v0.26.0 * chore(deps): update dependency axios to ^1.7.4 * fix: restrict zip decompression * chore(deps): update module k8s.io/client-go to v0.31.0 * chore: update axios for commit lint * chore(deps): update module golang.org/x/sync to v0.8.0 * chore(deps): update module github.com/spf13/cast to v1.7.0 * Gitignore gitlab reports * chore(deps): update module golang.org/x/term to v0.23.0 * chore(deps): update module github.com/charmbracelet/glamour to v0.8.0 * docs(installation): Add ASDF section in the installation_options TOC * fix(release upload): fix asset URL format for uploads in GitLab 17.2 * chore(deps): update dependency axios to ^1.7.3 * chore(deps): update module github.com/xanzy/go-gitlab to v0.107.0 * chore: Merge security fixes * docs: Adding snapcraft info * chore: Downcase 'personal access token' (CLI) * chore: catch up security fork * chore: merge security branch * test(duo ask): integration test for duo ask ------------------------------------------------------------------- Thu Aug 01 10:43:33 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.45.0: * Go mod tidy * fix: validate state parameter passed in OAuth2 login * Address linter findings for stack save * Add current timestamp to hashed data in stack save * Rework stack save to make hashes without exec * Fix command injection stack save, remove newline from hash gen ------------------------------------------------------------------- Mon Jul 22 18:24:47 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.44.1 (1.44.0 was not released): * chore: CI/CD changes to fix release bug * chore(deps): update module github.com/mattn/go-runewidth to v0.0.16 * fix(ci view): pipeline creator is shown incorrectly * chore(deps): update module k8s.io/client-go to v0.30.3 * chore(deps): update module k8s.io/apimachinery to v0.30.3 * fix(config): negate `HasSecurePerms` and fix workaround on windows * chore(deps): update golang to v1.22.5 * chore: use latest-available Markdown linting Docker image * chore: manually update Vale and markdownlint rules from GitLab project * chore: Second (final) pass through docs / UI strings * fix(view/list release): use url returned from API as link * chore(deps): update module golang.org/x/crypto to v0.25.0 * fix(snippet create): use filename when path missing * feat(snippets): allow creation of personal snippets * chore: Updating goreleaser config to v2 * fix(issuable note): respect editor from config * chore: finish the UI string pass * chore: String fixes for project-related strings * chore: fix strings related to merge requests * fix: allow listening hostname to be provided * feat: remove experimental wording for duo * chore: Yet more string cleanup * fix(config): ignore windows config file permission checks * chore: ensure user's settings don't impact tests * chore: Fix capitalization and punctuation in commands * chore: Fix punctuation and phrasing in messages * chore(deps): update dependency danger-review to v1.4.1 * chore: add goleak testing for goroutine leaks * fix: always stop spinner to avoid to mess up the terminal * chore(deps): update module github.com/zalando/go-keyring to v0.2.5 ------------------------------------------------------------------- Mon Jun 24 18:53:41 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.43.0: * chore: Merge security fork * chore(deps): update dependency danger-review to v1.4.0 * docs: add details to stack command * chore: remove alias for `ask` and `git` as part of `duo` * chore: switch to heredoc v2 * perf: always skip check-update after completion command * fix: Require CLI configuration file to have 0600 permissions * fix(auth status): move warning to end of auth status * chore(deps): update module github.com/spf13/cobra to v1.8.1 ------------------------------------------------------------------- Mon Jun 17 18:48:36 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.42.0: * feat(stacked-diffs): add stacked diffs feature * Revert "Merge branch..." * ci: use the danger-review component * fix: require user configuration files to only have 600 permissions * chore(deps): update module github.com/briandowns/spinner to v1.23.1 * feat(mr create): Add --signoff option * feat(user): Add json format option to events * chore(deps): update module k8s.io/client-go to v0.30.2 * chore(deps): update golang to v1.22.4 * fix: Mention all available token environment variables in warning * chore: remove multi-version Go testing from CI * chore(deps): update github.com/hashicorp/go-retryablehttp to v0.7.7 * chore(ci): fail on linting issues * chore(deps): update module github.com/gdamore/tcell/v2 to v2.7.4 * chore(deps): update module golang.org/x/text to v0.16.0 * chore(deps): update module github.com/otiai10/copy to v1.14.0 * chore(deps): update module github.com/charmbracelet/glamour to v0.7.0 * chore(deps): update module golang.org/x/term to v0.21.0 * chore(deps): update dependency golang to v1.22.3 * chore: update docs linting image and check Markdown links in pipelines * chore(deps): update module github.com/spf13/viper to v1.19.0 * fix(cluster agent): fix joining KAS proxy subpaths * chore: fix code_navigation job for latest GO_VERSION * docs: minor update to GitLab Duo title * chore(deps): update module github.com/makenowjust/heredoc to v2 * chore(deps): update module github.com/muesli/termenv to v0.15.2 * chore(deps): update module github.com/mattn/go-isatty to v0.0.20 ------------------------------------------------------------------- Wed May 29 08:13:29 UTC 2024 - pdostal@suse.com - Update to version 1.41.0: * feat(issue): add epic and due-date to issue create * chore(deps): update dependency go to v1.22.3 * chore(deps): update module github.com/xanzy/go-gitlab to v0.105.0 * chore(deps): update module github.com/spf13/viper to v1.18.2 * fix(cluster-agent): construct kubeconfig authinfo name with agent id * feat: rename `ask git` to `duo ask` * chore(deps): update module github.com/hashicorp/go-version to v1.7.0 * docs: improve integration test docs * docs: clarify that fill option automatically pushes * chore(deps): update dependency axios to ^1.7.2 * chore(deps): update dependency @commitlint/format to ^19.3.0 * fix(auth status): better output for auth status * chore(deps): update module golang.org/x/term to v0.20.0 * chore(deps): update module github.com/mattn/go-runewidth to v0.0.15 * chore(deps): update module k8s.io/client-go to v0.30.1 * chore(deps): update module golang.org/x/text to v0.15.0 * docs: Fix broken or redirecting links * chore(deps): update module gopkg.in/yaml.v2 to v3 * chore(deps): update module github.com/spf13/cobra to v1.8.0 * chore: update code nagivation to use scip * chore(deps): update module github.com/spf13/cast to v1.6.0 * chore(deps): update module github.com/zalando/go-keyring to v0.2.4 * chore(deps): update module github.com/alecaivazis/survey/v2 to v2.3.7 * chore: upgrade to Go 1.22 * feat(cluster): Add check manifest usage command * build: Updating golanglint recommendation * fix(glab repo fork): clone if --clone flag set * test: fixing error running integration test locally * fix(project): don't request statistics * fix(auth status): exit with code 1 when auth fails * chore: fix typo in Dangerfile * refactor: Moving test helper functions to their own file for reuse * chore: Add a Maintainer Onboarding issue template * test: have git tests actually use git instead of stubs ------------------------------------------------------------------- Thu Apr 25 05:13:51 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.40.0: * feat: allow to provide custom client-id * chore(deps): Update retry-go dependency * feat(release): support `direct_asset_path` and alias `filepath` * chore(ci): remove deprecated Jobs/License-Scanning.latest.gitlab-ci.yml * fix(docs): w/o issue-no, the example will fail * chore(docs): update dependencies for commit-lint script * chore: run tests with Go 1.22 * feat: Create a job artifact command * test: fix issue with environment variables being set * chore(deps): update github.com/xanzy/go-gitlab to v0.103.0 * docs(config): update editor and browser config docs ------------------------------------------------------------------- Thu Apr 18 19:37:49 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.39.0: * feat: Add new command to run Pipeline Triggers * fix(deps): update github.com/xanzy/go-gitlab to v0.101.0 * fix(issue list): change output flag back to output-format * fix(test): update test data for updated github.com/xanzy/go-gitlab * fix: Getting the last pipeline is broken with merged results * fix: update "glab ci run-trig" to use new go-gitlab functions * refactor: Moving sanitize function to utilities ------------------------------------------------------------------- Sat Apr 06 20:04:09 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.38.0: * fix: updating golang version * feat(checkout): Fixing bug with private forks * refactor: Refactor code that returns buffer contents in tests * chore: fix typo in trigger command docs * chore: fix typo support -> supported ------------------------------------------------------------------- Sun Mar 31 18:28:24 UTC 2024 - chris@computersalat.de - fix deps * BuildRequires: golang-packaging is not available for RedHat & Co * build: upgrade go version from 1.19 to 1.21 https://gitlab.com/gitlab-org/cli/-/releases ------------------------------------------------------------------- Fri Mar 08 16:53:10 UTC 2024 - opensuse_buildservice@ojkastl.de - Update to version 1.37.0: * feat: Json output * fix: support transparent background on all tui views * fix: reorganise commands/variable/update like commands/variable/set * docs: Add a stub changelog file * fix: ci trigger does interactively ask for job (#7462) * feat(ci): add compile command to show full ci config * chore: Vale and Markdown rule refresh for project * docs: Add mention of 1Password collaboration * chore: Update .gitlab-ci.yml - use GO_VERSION var for code_navigation * fix(release): use link to display release URL * fix: change `repo list` alias from `users` to `ls` * fix: use gitlab.Client.BaseURL to build release upload URL * docs(sourcefile): fix gitFlags comment * docs: add glab ask GitLab Duo docs to README * docs: document SemVer adoption and usage * chore(dependency): update to github.com/google/renameio/v2 * build: upgrade go version from 1.19 to 1.21 * docs: Lint URL fragments for validity * feat(pagination): add pagination to release list * feat(schedule): add option to create a scheduled pipeline with variables * feat(lint): provide dry-run, include-jobs and ref options * chore: remove deprecated `config init` command ------------------------------------------------------------------- Thu Dec 14 11:16:06 UTC 2023 - kastl@b1-systems.de - Update to version 1.36.0: * feat: use ciutils.getJobId in trigger cmd (#7424) * fix: prefer CTRL+D for cancel job (#1286) * docs: add information about docker image * feat(ci-delete): add flags for filtering and pagination * feat(ci): add ci trigger (#682) * feat(ci): align job id resolution ( #7422) * feat(ci): add flag with-job-details to output job data as table (#1226) * docs: clarify archived flag on repo clone * docs: Create minimal template for docs MRs * fix: git-credential command by using oauth2 user * docs: Statement of support for GitLab 16.0 * chore: update Vale and Markdownlint versions and configuration * feat(delete): Add perpage and page flags to ssh-key delete command * feat(repo): add option to limit list in one group * feat: add --web to glab ci view command * chore: Do not set CGO_ENABLED when running tests * fix(mr create): support non-english languages ------------------------------------------------------------------- Fri Nov 10 09:33:35 UTC 2023 - Johannes Kastl - adapt BuildRequires to allow building on Fedora/RHEL/CentOS/Almalinux/RockyLinux - BuildRequire go1.19 on openSUSE ------------------------------------------------------------------- Tue Nov 07 07:37:25 UTC 2023 - kastl@b1-systems.de - Update to version 1.35.0: * feat(set): add raw flag for set variable command * chore(templates): Add environment information section to bug template * fix(repo search): Fix missing color reset and broken links in Bash * chore: Bump minimum supported Go version to 1.19 * feat(cluster): Implement basic `update-kubeconfig` command * feat(get): add perpage and page options to ssh-key get command * fix(mr create): better error message when no accces ------------------------------------------------------------------- Tue Oct 24 09:39:17 UTC 2023 - kastl@b1-systems.de - Update to version 1.34.0: * fix(ci variable list): print entity type * docs: Adding precedence order to docs * fix: upgrade x/net * chore: Fixing lint job for CI * feat(sshkey): add ssh-key delete command * feat(cluster): implement cluster agent `get-token` command * Revert "Merge branch 'nh/pin-gitlab-dangerfiles-version' into 'main'" * chore: Pin gitlab-dangerfiles version * chore(dependency): remove alecthomas/assert module * chore(dependency): remove jarcoal/httpmock * fix: Parse string arrays passed to glab api --field command * feat(cluster): add cluster agent list command * feat: Add note about homebrew zsh for completions * fix: only show web login for GitLab SaaS * test(repo clone): seperate integration tests ------------------------------------------------------------------- Thu Sep 21 04:41:05 UTC 2023 - kastl@b1-systems.de - Update to version 1.33.0: * feat: prefill scope parameter for PAT generation * chore: Update which docs files are linted * fix(check-update): remove auth for check-update * docs: Add feature design guidelines * docs(mr delete): change close to delete * fix(auth login): encode scopes for oauth url * docs(config): add check_update and display_hyperlinks * fix: Fix errors which show up when running `make check' * fix: glab ci status needs terminal on stdin * chore: update golangci-lint image * docs: Add note about maintainership ------------------------------------------------------------------- Tue Aug 22 07:44:39 UTC 2023 - pdostal@suse.com - Update to version 1.32.0: * feat: handle response from VertexAI instead of OpenAI * feat: add support for child pipelines in ci view * fix: Don't add glab-resolved when it already exists in a remote * feat(ci): add Pipeline IID to `ci list` * fix(deps): upgrade go-gitlab to v0.88.0 * fix(issue): fix using issue commands from non-git dir * test: Fix test Test_repoArchive_Integration integration test * chore: use latest tview version * chore: downgrade tview * fix: Handle trailing slash in remote URL * fix(ci run): use correct default branch * release: fix assets-links suggestion/help * fix: use basereporemote.name as argument to GetDefaultBranch * chore: enable better debugging for flaky test * docs: clarify possible options for parameters for "ci list" * chore(ci): save test log as an artifact * chore: bumping go-gitlab to 0.86.0 * chore(ci): remove ssh key from build * fix: goreleaser deprecated replacements, fixing the filename templates * fix: Preventing a panic when not using a sub command * feat: add incident note command * chore: use new test repo for clone integration tests * fixup! set error context in mrBody * fixup! no index trickery, compare values * feat(mr): populate description from commit messages * refactor(mr): split mrBody out of mrBodyAndTitle ------------------------------------------------------------------- Wed Jun 28 06:37:40 UTC 2023 - pdostal@suse.com - Update to version 1.31.0: * chore: Sync canonical repo * fix(repo view): consider current host when viewing a repo details * chore: Keeping in regular repo in sync * docs: add installation options with wakemeops * docs: fix mr create example * chore: Continue to rename 'when pipeline succeeds' to 'auto merge' * docs: Clarifying method change when using --update for api command * feat(incident): add incident subscribe command * chore: Renames strings to auto-merge * fix: Update multiple labels bug for glab mr create labels * feat(schedule): Fixed broken test for delete schedule * fix(check-update): always show error when check-update fails * feat(schedule): Add commands to create and delete schedules * feat(mr/checkout): Track by default without adding extra remotes * fix: Adjusting timeout value to prevent hangs * feat: Make mr create prompt for reviewers * fix(check-update): remove unicode characters in favor of ascii * fix(repo list): #1327 fix filters ------------------------------------------------------------------- Sat May 20 10:34:07 UTC 2023 - pdostal@suse.com - Update to version 1.30.0: * feat: better error messages for no matching remotes * chore: Updating snapcraft info * feat: add new changelog command * fix(ci): Fixed issue with API deprecation for CI lint * chore: stop overwriting config file in test ------------------------------------------------------------------- Sun May 14 06:08:50 UTC 2023 - kastl@b1-systems.de - Update to version 1.29.4: * fix(ci): Fixed issue with API deprecation for CI lint * chore: Fix typos in new AI commands * docs: change release process not to push all tags * chore: stop overwriting config file in test * chore: use testdata dir rather than fixtures ------------------------------------------------------------------- Thu May 11 19:19:49 UTC 2023 - kastl@b1-systems.de - Update to version 1.29.3: * fix(auth login): use token when logging in ------------------------------------------------------------------- Thu May 11 04:45:39 UTC 2023 - kastl@b1-systems.de - Update to version 1.29.2: * feat(ask): add a message that the ask-git response are AI-generated * feat(incident): add incident unsubscribe command * refactor: move issue/unsubscribe to issuable/unsubscribe ------------------------------------------------------------------- Tue May 09 05:18:13 UTC 2023 - kastl@b1-systems.de - Update to version 1.29.1: * chore: downgrade tview ------------------------------------------------------------------- Fri May 05 05:10:42 UTC 2023 - kastl@b1-systems.de - Update to version 1.29.0: * feat(ci delete): add dry-run flag to ci delete * fix(ask git): do not show prompt when no commands * feat: add command that generates Git commands from natural language * docs: add OAuth to authentication instructions * feat(auth login): Add support for OAuth2 * feat: update go and dependency versions * fix(spinner): Bump spinner library version * refactor: autogenerate config stub from lockfile * feat(incident): add incident reopen command * fix: remove executable flag from non-executables * fix: do not enforce argument for 'ci delete' when using filter * refactor(release): update `release download` cmd to remove `external` * refactor: move issue/close to issuable/close * test: add some test to improve coverage * docs: update godoc for function ------------------------------------------------------------------- Mon Apr 24 09:39:13 UTC 2023 - Jan Engelhardt - Trim filler wording and duplicate info (present in License field). ------------------------------------------------------------------- Mon Apr 24 06:39:15 UTC 2023 - kastl@b1-systems.de - Update to version 1.28.1: * docs: Update installation_options.md * docs: update string for merge request flag on repo * docs: et cetera without dots * docs: Update README.md - fix punctuation * fix: Disable breaking test for CI Lint endpoint * chore: fix broken link * chore: improve documentation visibility * chore: replace README badges with native project badges * fix: add newline to auth status command output * test: fix Test_getFromKeyring not passing in CI * test: fix assertion order, clear token in keyring test * chore: update use-keyring flag description * test: add tests for loading and storing tokens in keyring * chore: update docs, fix lint error * chore: replace native keyring with os keyring in login argument desc * docs: regenerate the docs * feat: add support for token storage in encrypted keychains ------------------------------------------------------------------- Thu Apr 13 17:43:20 UTC 2023 - pdostal@suse.com - Update to version 1.28.0: * chore: simpler installation method from binary if Go is available * fix: Change platform generating code * fix: purposely adding the "v" goreleaser strips out * refactor: default check_update true on new install * chore: modify MIT license and inspiration * feat(incident): add `incident close` command * refactor: move issue/close to issuable/close ------------------------------------------------------------------- Thu Apr 06 03:28:33 UTC 2023 - kastl@b1-systems.de - Update to version 1.27.1: * chore: upgrade go-gitlab to 0.81.0 * chore: fix testing repo to a local GitLab one * feat(docs): Add aliases to gen-docs ------------------------------------------------------------------- Mon Apr 03 12:48:31 UTC 2023 - kastl@b1-systems.de - Update to version 1.27.0: * chore: security release merge * fix: markdown fence shell script needs to be "shell" * feat(pagination): add pagination to user events * chore: update golang/x/net package * fix(variable set): scope for group variables * refactor(test): replace os.Setenv with t.Setenv in tests * docs: configuration for self-signed certs * fix(test): use gray256 color in tests when enabled * fix(color): fix gray color for 256 color terminal * test(glab auth login): use temp config for test * docs: fix link to issue command in index * fix(issue): display list of comments in raw format * docs(config): clarify config help * docs(readme): clarify config file location and environment variables * feat(label): display label colors in the list * security: Remove configuration import for old locations ------------------------------------------------------------------- Wed Mar 15 08:08:40 UTC 2023 - kastl@b1-systems.de - set tar and recompress services to "buildtime" - use obscpio file for local go-modules run - cleanup spec file, remove old %go macros - Update to version 1.26.0: * Merge security fix for v1.26.0 release * refactor(test): use http constants in tests * refactor: use HTTP constants in code * chore: Remove profclems/glab from .goreleaser.yml * chore: add debug environment variable to Makefile * chore: remove build date and add architecture * refactor(project): Stop requsting for README when viewing project on web * docs: add guidelines for triaging bugs * chore: Modify UserAgent to be more like other CLIs * docs: self-managed doc improvements * docs: fix link to issue command in README * chore(ci/test): separate integration tests * docs: update core commands with links * fix(issue create): better error message when users are not members * docs: reword homebrew section * docs: Build jump list of core commands * docs(installation): Add asdf-vm to install options * feat: variable export * docs: specify [flags] position in clone command * feat(schedule): Add command to run schedules * refactor: use strings.Join in comma separated list functions * fix(repo): URL encode branch name when viewing on web * refactor(test): combine issue/incident list tests * refactor(issue/view): extract issuable/list package * fix(project): Remove repo override functionality * chore: Add test-race make target * ci: lock down go lint image version * docs: Add Fedora to installation options * docs: Updating instructions for homebrew release * ci(coverage): report correct coverage * fix(ci): Fix issue where `ci get` fails if user is not maintainer * fix: check-update command output to StdErr * refactor(test): adjust issuable tests to cover both types * refactor(issue/view): extract issuable/view package * chore: Expose make gen-docs task * chore: Run tests in different Go versions * fix: making sure homebrew doesn't try to open a browser * test: fix timing issue with release tests ------------------------------------------------------------------- Wed Mar 15 06:53:12 UTC 2023 - Johannes Kastl - adapt to new URL https://gitlab.com/gitlab-org/cli - BuildRequire go1.18 ------------------------------------------------------------------- Tue Feb 07 14:07:31 UTC 2023 - pdostal@suse.com - Update to version 1.25.3: * Update .gitlab-ci.yml file * Update .gitlab-ci.yml file * chore: better omit test and chores from changelog * fix: Adding git name/email for homebrew * docs: update installation instructions for windows * test(project): add missing project tests * fix(project): fixes issue with filtering with starred and membership * fix(mr): Fixed EOF error when todo is called multiple times ------------------------------------------------------------------- Tue Jan 11 02:28:38 UTC 2022 - Orville Q. Song - Update to version 1.22.0: * feat: Add group flag to mr list command (#931) * chore: Update Arch README link to official repos * fix: Write aliases to symlink if it exists (#930) * added push mirror and command (#887) * feature: Read config directory from GLAB_CONFIG_DIR (#921) * feature: add variable update command (#902) * feat(mr): Only output MR URL to stdout if output is not a TTY (#883) * fix(mr_create/issue_create): add encoding to title and change description encoding (#871) * fix: add linebreak to check-output msg (#895) * mr: deprecate `mr for` command * Require Go 1.17+ (#898) * feature: add variable delete command (#890) * Add support for terminal hyperlinks (#852) * Update docs for `ci run` to include passing variables * commands/project/create: fix typo * update dependencies (#884) * fix: allow setting variable without using --value (#881) * fix: obsolete % char for weights * fix(mr-create): escape titles in new MR preview URLs * fix(ci status): add check for pending pipelines * refactor: rename Squash to SquashBeforeMerge * Handle invalid job id * Apply improvements from code review * feat(command/ci/retry): Add new command to retry CI jobs * Update README.md * Update README.md * docs(README): add awesome-go badge to README * fix: weird condition when prompt disabled * feat(mr update): add --squash parameter * fix ci pipeline view incorrect timestamp being used * ci: fix the linter by targeting the pull request instead of the target * refactor: rename Squash to SquashBeforeMerge * chore: remove colon * docs(template): use different header styles for the Pull Request template * feat(mr create): add --squash parameter * docs(mr create): remove doc entry as it's automatically generated * docs(mr create): add --reviewer parameter to docs * feat(mr create): add --reviewer parameter * chore: use errors.Is instead of error equality * docs(readme): update Fosshost.org logo location * add remoteName flag to 'create project' command * fix(ci trace): exit normally when prompts are interrupted * docs: remove --autofill references * docs(update): v1.21.1 ------------------------------------------------------------------- Tue Jan 4 08:12:22 UTC 2022 - Orville Q. Song - Fix for reproducible builds ------------------------------------------------------------------- Sun Dec 05 11:42:32 UTC 2021 - Orville Q. Song - Update to version 1.21.1: * fix debian packaging installer location * auth login use OverridableDefault * Login using default hostname string * Move glinstance to pkg * {go.mod,go.sum}: update dependencies * api: fix wrong comment * fix: error 404 when creating release * Handle paginated response in pipeline.GetPipelineJobs * Update ssh-key.go * feat(cmdutils): Add group milestones to the prompt ------------------------------------------------------------------- Sat Dec 4 16:39:53 UTC 2021 - Orville Q. Song - Init glab Package An open-source GitLab command line tool bringing GitLab's cool features to your command line. Current Version: v1.21.1 Commit Hash: 5cb2858d1fb7a5317e89259fc4ac135414e99be2