<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu" -->

---
title: Forgejo Runner v13.0.0 is available | daily.dev
description: Forgejo Runner v13.0.0 introduces several breaking changes focused on security and predictability. Three insecure workflow commands — add-path, set-env, and...
canonical: https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Forgejo Runner v13.0.0 is available | daily.dev
og:description: Forgejo Runner v13.0.0 introduces several breaking changes focused on security and predictability. Three insecure workflow commands — add-path, set-env, and...
og:url: https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu
og:image: https://api.daily.dev/og/posts/i0A6tbIHU.png
og:image:alt: Forgejo Runner v13.0.0 is available
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Forgejo Runner v13.0.0 is available

**[Forgejo News](https://daily.dev/sources/forgejo)** · 4 min read · 7 upvotes · 0 comments

## Summary

Forgejo Runner v13.0.0 introduces several breaking changes focused on security and predictability. Three insecure workflow commands — add-path, set-env, and set-output — have been removed and replaced with environment file-based alternatives (FORGEJO_PATH, FORGEJO_ENV, FORGEJO_OUTPUT). Docker credential handling has been tightened to prevent credentials from being sent to unexpected registries. Invalid workflow syntax and expression interpolation errors now fail jobs instead of logging warnings. The minimum Docker version requirement has been raised to 25.0, with a known IPv6 bug fixed in Docker v28.0.1. Several legacy GITEA_* environment variables and the container.network_mode config option have also been removed.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://forgejo.org/2026-08-runner-release-v13>

## Questions this post answers

### How do I replace the set-output workflow command in Forgejo Actions after it was removed?

Write output variables to the $FORGEJO_OUTPUT file instead of using the deprecated set-output syntax. Replace `echo "::set-output name=MY_VARIABLE::value"` with `echo "MY_VARIABLE=value" >> "$FORGEJO_OUTPUT"`. This change, along with removal of add-path and set-env, ships in Forgejo Runner v13.0.0 to eliminate workflow command impersonation risks, and unlike GitHub Actions there is no ACTIONS_ALLOW_UNSECURE_COMMANDS override to restore the old behavior.

_daily.dev helps CI/CD maintainers keep pace with breaking runner changes before workflows fail._

### What is the minimum Docker version required for Forgejo Runner 13.0.0?

Forgejo Runner v13.0.0 requires Docker 25.0 or later, since its Docker interaction library was upgraded in this release. Some Docker versions have an IPv6 networking bug (moby issues 49520 and 52991) causing errors like "Could not get list of networks: ParseAddr unexpected character"; this bug is fixed in Docker v28.0.1, so affected users should upgrade Docker or stay on Forgejo Runner v12 until they can.

_Teams planning a runner upgrade can track Docker compatibility issues like this one on daily.dev._

### Why does my Forgejo Actions workflow now fail instead of just warning about invalid matrix or expression syntax?

Forgejo Runner v13.0.0 turned two previously tolerated invalid syntax cases into hard errors instead of warnings. Expression evaluation failures, such as a format string referencing more arguments than supplied, now terminate the job with an error, and using strategy.matrix to exclude a nonexistent matrix value now also fails the workflow before it executes.

_daily.dev keeps developers ahead of CI breaking changes like these before pipelines fail unexpectedly._

## Similar posts on daily.dev

- [Forgejo 16.0.4 and 15.0.8 address critical security vulnerability](https://daily.dev/posts/forgejo-16-0-4-and-15-0-8-address-critical-security-vulnerability-vhpuap5nt) · LWN.net · 8 upvotes · 1 comments

---

Tags: [#security](https://daily.dev/tags/security), [#automation](https://daily.dev/tags/automation), [#docker](https://daily.dev/tags/docker), [#cicd](https://daily.dev/tags/cicd), [#forgejo](https://daily.dev/tags/forgejo)

[View this post on daily.dev](https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Forgejo Runner v13.0.0 is available","url":"https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu"},"datePublished":"2026-08-03T20:11:14.285Z","dateModified":"2026-09-13T18:54:01.452Z","description":"Forgejo Runner v13.0.0 introduces several breaking changes focused on security and predictability. Three insecure workflow commands — add-path, set-env, and...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ecd9058ec824271361a436684af5bb15?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ecd9058ec824271361a436684af5bb15?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Forgejo News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Forgejo News","logo":"https://media.daily.dev/image/upload/s--Cq9uBvkb--/f_auto,q_auto/v1785052096/logos/forgejo?_a=BAMAMicg0","url":"https://daily.dev/sources/forgejo"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":7},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,automation,docker,cicd,forgejo","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Forgejo News","item":"https://daily.dev/sources/forgejo"},{"@type":"ListItem","position":3,"name":"Forgejo Runner v13.0.0 is available"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/forgejo-runner-v13-0-0-is-available-i0a6tbihu#faq","mainEntity":[{"@type":"Question","name":"How do I replace the set-output workflow command in Forgejo Actions after it was removed?","acceptedAnswer":{"@type":"Answer","text":"Write output variables to the $FORGEJO_OUTPUT file instead of using the deprecated set-output syntax. Replace `echo \"::set-output name=MY_VARIABLE::value\"` with `echo \"MY_VARIABLE=value\" >> \"$FORGEJO_OUTPUT\"`. This change, along with removal of add-path and set-env, ships in Forgejo Runner v13.0.0 to eliminate workflow command impersonation risks, and unlike GitHub Actions there is no ACTIONS_ALLOW_UNSECURE_COMMANDS override to restore the old behavior. daily.dev helps CI/CD maintainers keep pace with breaking runner changes before workflows fail."}},{"@type":"Question","name":"What is the minimum Docker version required for Forgejo Runner 13.0.0?","acceptedAnswer":{"@type":"Answer","text":"Forgejo Runner v13.0.0 requires Docker 25.0 or later, since its Docker interaction library was upgraded in this release. Some Docker versions have an IPv6 networking bug (moby issues 49520 and 52991) causing errors like \"Could not get list of networks: ParseAddr unexpected character\"; this bug is fixed in Docker v28.0.1, so affected users should upgrade Docker or stay on Forgejo Runner v12 until they can. Teams planning a runner upgrade can track Docker compatibility issues like this one on daily.dev."}},{"@type":"Question","name":"Why does my Forgejo Actions workflow now fail instead of just warning about invalid matrix or expression syntax?","acceptedAnswer":{"@type":"Answer","text":"Forgejo Runner v13.0.0 turned two previously tolerated invalid syntax cases into hard errors instead of warnings. Expression evaluation failures, such as a format string referencing more arguments than supplied, now terminate the job with an error, and using strategy.matrix to exclude a nonexistent matrix value now also fails the workflow before it executes. daily.dev keeps developers ahead of CI breaking changes like these before pipelines fail unexpectedly."}}]}
```

