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
- Add circuit breaker for runner fallback to Rails on Relay failures
- Add feature_qualified_name to Snowplow billing metadata
- Add runner-side Job Router metrics
- Eliminate duplicate ContainerInspect calls in resume flow
- Auto-select arm64 Windows helper image on ARM64 hosts
- Add concrete-mode pod assembly for the Kubernetes executor
- Allow multiple/alternative filter flags in clear-docker-cache script
- Run a synthetic job at startup before reporting Ready
- Read sentry_dsn from SENTRY_DSN environment variable
- Enable metrics for Snowplow writer for usage logging
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