GitLab Runner v19.2.0

v19.2.0

Version v19.2.0

Added 16
  • Add Snowplow writer for usage-based billing
  • Add nanoserver:ltsc2025 and nanoserver:ltsc2025-arm64 helper images
  • Add native steps support to the instance executor
  • Add ability to push image indexes with pusher
  • Make git credential helper visible to user-authored commands
  • Improve error message for wrong-architecture container images
Fixed 2
  • Point default helper image tag at latest Alpine base
  • Remove Docker stop-kill timeout and add duration logging
Security 2
  • Bump golang.org/x/net to v0.56.0 to resolve CVEs
  • Bump go-jose/go-jose/v4 to v4.1.4 to resolve CVE-2026-34986
New features
  • Add Snowplow writer for usage-based billing !5886
  • Add nanoserver:ltsc2025 and nanoserver:ltsc2025-arm64 helper images !6717 (Shanush Prema Thasarathan @shanushpt)
  • Add native steps support to the instance executor !6807
  • Add ability to push image indexes with pusher !5316 (Anthony Juckel @ajuckel)
  • Make git credential helper visible to user-authored commands !6729
  • Improve error message for wrong-architecture container images (closes #38824) !6907 (Ashmit Sharma @4shm1td06)
  • Add circuit breaker for runner fallback to Rails on Relay failures !6839
  • Add feature_qualified_name to Snowplow billing metadata !6898
  • Add runner-side Job Router metrics !6841
  • Eliminate duplicate ContainerInspect calls in resume flow (closes #39458) !6790 (Ashmit Sharma @4shm1td06)
  • Auto-select arm64 Windows helper image on ARM64 hosts !6854 (Shanush Prema Thasarathan @shanushpt)
  • Add concrete-mode pod assembly for the Kubernetes executor !6817
  • Allow multiple/alternative filter flags in clear-docker-cache script (closes #39234) !6912 (Ashmit Sharma @4shm1td06)
  • Run a synthetic job at startup before reporting Ready !6756
  • Read sentry_dsn from SENTRY_DSN environment variable !6899
  • Enable metrics for Snowplow writer for usage logging !6649
Security fixes
  • Bump golang.org/x/net to v0.56.0 to resolve CVEs !6856
  • Bump go-jose/go-jose/v4 to v4.1.4 to resolve CVE-2026-34986 !6857
Bug fixes
  • Point default helper image tag at latest Alpine base !6897
  • Remove Docker stop-kill timeout and add duration logging !6951
  • Bump github.com/moby/spdystream to v0.5.1 !6885
  • Reclassify benign WaitDelay outcome in script_legacy step !6848
  • Update labkit/v2 to 2.26.1 !6914
  • Fix powershell generate save script !6713 (Sean Fausett @gitfool)
  • Stage concrete scratch under the build mount, not os.TempDir() !6832
  • Use Runner UUID as subject in snowplow billing event !6903
  • Fix disconnectNetwork container ID matching !6872 (Pishel @pishel65)
  • Fix autoscaler pruning active instances on token rotation !6810
  • Docker+machine: Fix VM leak when shutdown races a machine create or remove !6754
  • Increase Docker stop timeout to 2m and improve error messaging !6868
  • Add --docker-pull-policy flag to register command (closes #39304) !6930 (Ashmit Sharma @4shm1td06)
  • Classify invalid docker DNS/MAC address as ConfigurationError !6942
  • Retry transient docker image pull failures !6873
  • Update module github.com/go-git/go-git/v5 to 5.19.1 !6884
  • Classify secret-resolution failures by cause !6904
Maintenance
  • 202606 - Fix broken external links !6843
  • Product Docs AI Translation: GITTECHA-835 #1 !6866
  • Enable minmax modernizer in golangci-lint !6875
  • Migrate from .tool-versions to mise.toml !6880
  • Classify invalid docker container-create requests as ConfigurationError !6958
  • Install splitic from its canonical module path !6935
  • Add FreeBSD supported versions statement !6908
  • Update grpc to v1.81.1 in runner_wrapper (CVE-2026-33186) !6940
  • [FixPipeline] https://gitlab.com/gitlab-org/gitlab-runner/-/pipelines/2637656030 !6894
  • Wrap plain errors in image-pull paths with BuildError !6844
  • Add TLS, DNS, and many-exposed-ports integration tests for moby v29 !6925
  • Bump base-images to 0.0.45 !6845
  • Wrap remaining plain errors in Kubernetes Prepare() with BuildError !6881
  • Fix nonexistent timeout key names in Custom executor !6938
  • Update RUNNER_IMAGES_VERSION to 0.0.47 to resolve ubi-fips CVEs !6950
  • Adds GITTECHC to use for CI Translations !6909
  • Product Docs AI Translation: GITTECHA-703 #1 !6783
  • Stop pinning exact digest in helper image config test !6944
  • Fix UBI image trigger artifact ref for merge train and detached pipelines !6877
  • (docsi18n) - Monthly maintenance - fix markdown lint errors in docs-locale !6959
  • Update the version or the logging field validator !6956
  • Retry jobs interrupted by external termination !6921
  • Remove dead code from CI pipeline definitions !6826
  • Update docker Docker tag to v27.5.1 !6461
  • Pass git clean args as separate args in submodule foreach !6949
  • Product Docs AI Translation: GITTECHA-834 #1 !6865
  • Add AGENTS.md and CLAUDE.md files for documentation !6860
  • Improve Go build caching strategy in CI !6906
  • Add RHEL-family libvirt base image, fix --os-variant !6937
  • Document dns and mac_address validation behavior !6947
  • Migrate Docker SDK to moby/moby v29 to fix docker/* CVEs !6902
  • Use per-branch Go build cache with main fallback !6915
  • Rootless Podman resource limits (cgroups v2) and socket safety !6936
  • Builtin functions implement BuiltinFunction interface !6874
  • Product Docs AI Translation: GITTECHA-836 #1 !6867
  • Classify image-pull access-denied errors as ConfigurationError !6850
View original

Upgraded? How did it go?

Discussion