GitLab Runner v19.0.0

v19.0.0

Version v19.0.0

Added 12
  • Add OpenTelemetry tracing for CI job execution
  • Add LTSC2025 and LTSC2025-arm64 based gitlab-runner-helper images for windows
  • Use Pipeline ID from job payload for logging
  • Allow configuring parallelism and chunk sizes for cache uploads
  • Add mount propagation option to emptyDir volumes
  • Add StepRunnerStream writer that detects pre-stamped lines
Changed 5
  • Enforce prepare_timeout config field
  • Treat span id as required
  • Cache: list valid types and accept any case for cache Type
  • Normalize Windows exit codes from unsigned to signed 32-bit
  • Update the parallels executor to work with Windows guests
Fixed 3
  • Recover helper argv when image entrypoint drops CMD
  • Adaptive request concurrency: do not treat retried requests as capacity
  • Fix proxy-exec and step-runner hangs when scripts spawn background processes
Security 1
  • Resolve CVE-2026-32285 in github.com/invopop/jsonschema dependency
New features
  • Document prepare_timeout setting !6731
  • Add OpenTelemetry tracing for CI job execution !6518
  • Add LTSC2025 and LTSC2025-arm64 based gitlab-runner-helper images for windows !6033 (Shanush Prema Thasarathan @shanushpt)
  • Use Pipeline ID form job payload for logging and similar !6631
  • Allow configuring parallelism and chunk sizes for cache uploads and... !6401 (Rafael Fonseca @rafael.fonseca1)
  • Dispatch run: through concrete via a nested step-runner job !6703
  • Add mount propagation option to emptyDir volumes !6553 (Rafael Fonseca @rafael.fonseca1)
  • Add StepRunnerStream writer that detects pre-stamped lines !6710
  • Enforce prepare_timeout config field !6708
  • Add mode label to failed_jobs_total and job_duration_seconds metrics !6620
  • User Job Cancellation Calls Cancel API !6681
  • Treat span id as required !6692
  • Map step-runner errors to job failure reasons !6597
  • Add support for nfs mounts !6544 (Julian Rettelbach @rettelbachj)
  • Cache: list valid types and accept any case for cache Type !6736
  • Add suspend/resume support for instance autoscaler executor !6570
  • Add prepare_timeout config field !6653
  • Add variable with network name when using FF_NETWORK_PER_BUILD !6632 (Pishel @pishel65)
Bug fixes
  • Merge branch 'sh-fix-role-arn-injection' into 'main' !6714
  • Update Kubernetes executor service container naming documentation !6730
  • Recover helper argv when image entrypoint drops CMD !6725
  • Adaptive request concurrency: do not treat retried requests as capacity !6677
  • Restore timeout-warning trace parity with legacy in concrete mode !6704
  • Go Dependency update: github.com/invopop/jsonschema to resolve CVE-2026-32285 !6696
  • Merge branch 'security-fix-k8s-uid-gid-root-bypass' into 'main' !6643
  • Add support for specifying seccomp profile path in Docker executor !6602 (Felix Geyer @debfx)
  • Fix proxy-exec and step-runner hangs when scripts spawn background processes !6707
  • Fix per secret overrides for role_arn and role_session_name AWS Secrets Manager integration !6067 (derikwang @derik01)
  • Pass proactiveAuth to git checkout for partial-clone lazy fetches !6695
  • Normalize Windows exit codes from unsigned to signed 32-bit !6587
  • Scope CONFIG_FILE default to manager command structs !6741
  • Update the parallels executor to work with Windows guests !105 (Chris Rose @cdrx)
  • Fix S3 cache broken on third-party providers by SDK checksum defaults !6691
  • Fix dependencies on UBI downstream pipeline trigger job !6684
  • Expose service variables in custom executor CUSTOM_ENV_CI_JOB_SERVICES !6556 (Sepehr Heydari @sepehrheydari72)
  • Fix the randomize shell selection in Windows shell executor !6644 (Pishel @pishel65)
  • Fix slice size !6732
  • Fix gaps in the abstract shell to concrete migration !6688
  • Add HEAD method support to S3v2 presign URL !6682 (Sepehr Heydari @sepehrheydari72)
  • Escape $ as $$ in Kubernetes env var values to prevent $(VAR) expansion !6640
  • Fix home environment variable !101
Maintenance
  • Fix typo: simlar → similar in troubleshooting docs !6654 (Bob Singh @bobsingh.dev)
  • Fix typos and grammar in templates !6658 (Bob Singh @bobsingh.dev)
  • Simplify CI job architecture for Go linting !6752
  • Add Node.js to dev tools !6750
  • Add French and Korean to Argo !6612
  • Cache: select newer remote artifact when FF_HASH_CACHE_KEYS is toggled !6574
  • Add shellcheck for shell script linting !6625
  • Timestamper improvements (perf, potential bug fix) !6698
  • Set explicit FailureReason on BuildError constructions across executors !6683
  • Update base images version to pick up CVE fixes (19.0 backport) !6776
  • Resolve shell script issues flagged by shellcheck !6734
  • Fix missing 'to' in sentence !6656 (Bob Singh @bobsingh.dev)
  • Followup MR for MR 6663 !6673
  • Fix race in TestPodWatcher on Windows: listen before Create !6623
  • Common: make executor retry sleep interruptible by context cancellation !6610 (Bob Singh @bobsingh.dev)
  • Clarify gitlab com version !6720
  • Reference kuberenetes executor service account permissions required for certain feature flags !6668
  • Docker machine version 46 !6693
  • Fix RPM package architecture names in download docs !6634
  • Fix grammar in feature flag rollout template !6661 (Bob Singh @bobsingh.dev)
  • Fix grammar in bug issue template !6664 (Bob Singh @bobsingh.dev)
  • Remove erroneous entry from changelog !6728
  • Fix hyphenation in Cross-Functional Programs heading !6660 (Bob Singh @bobsingh.dev)
  • Reorder executor tables to surface actively developed executors first !6638
  • Fix grammar in documentation issue template !6663 (Bob Singh @bobsingh.dev)
  • Fix goroutine variable capture in shutdownUsedExecutorProviders !6606 (Bob Singh @bobsingh.dev)
  • Fix typos and grammar in security template !6659 (Bob Singh @bobsingh.dev)
  • Automatically retry flaky tests !6687
  • Reorganize TestCredSetup !6607 (Guillaume Chauvel @guillaume.chauvel)
  • Update file docker.md !6627
  • Update RUNNER_IMAGES_VERSION to 0.0.42 to resolve ubi-fips CVEs !6733
  • Docs(docker-machine): update docs !6689
  • Update shell support in docs !6647 (Pishel @pishel65)
  • Remove EOL spaces in doc files - 2026-04-28 !6686
  • Fix context propagation in Kubernetes executor !6364 (Emmanuel 326 @Emmanuel326)
  • Clarify documention on default shell in windows !6645 (Pishel @pishel65)
  • Clean up Podman with Kubernetes examples !6626
  • Update file docker.md !6738
  • Update linting tools and linting container image for documentation !6706
  • Add overview descriptions to executor pages !6702
  • Fix grammar in feature flag cleanup template !6662 (Bob Singh @bobsingh.dev)
  • Add hadolint for Dockerfile linting !6635
  • Go: Update module github.com/jedib0t/go-pretty/v6 to v6.7.9 !6671
  • Creates a gitlab_runner_cache_s3_assume_role_failures_total metric !6655
  • Cache: shard S3 object paths by first two chars of hash when FF_HASH_CACHE_KEYS is enabled !6628
  • Fix duplicate word typos in various source file comments !6586 (Igor Eccard @iseccard) …
View original

Upgraded? How did it go?

Discussion