1# Release Notes23## 4.0.045* Breaking change: fix the default configuration for `docker_host` is changed to [not mounting the docker server socket](https://code.forgejo.org/forgejo/runner/pulls/305).6* [Remove debug information from the setup of a workflow](https://code.forgejo.org/forgejo/runner/pulls/297).7* Fix [crash in some cases when the YAML structure is not as expected](https://code.forgejo.org/forgejo/runner/issues/267).89## 3.5.11011* Fix [CVE-2024-24557](https://nvd.nist.gov/vuln/detail/CVE-2024-24557)12* [Add report_interval option to config](https://code.forgejo.org/forgejo/runner/pulls/220) to allow setting the interval of status and log reports1314## 3.5.01516* [Allow graceful shutdowns](https://code.forgejo.org/forgejo/runner/pulls/202): when receiving a signal (INT or TERM) wait for running jobs to complete (up to shutdown_timeout).17* [Fix label declaration](https://code.forgejo.org/forgejo/runner/pulls/176): Runner in daemon mode now takes labels found in config.yml into account when declaration was successful.18* [Fix the docker compose example](https://code.forgejo.org/forgejo/runner/pulls/175) to workaround the race on labels.19* [Fix the kubernetes dind example](https://code.forgejo.org/forgejo/runner/pulls/169).20* [Rewrite ::group:: and ::endgroup:: commands like github](https://code.forgejo.org/forgejo/runner/pulls/183).21* [Added opencontainers labels to the image](https://code.forgejo.org/forgejo/runner/pulls/195)22* [Upgrade the default container to node:20](https://code.forgejo.org/forgejo/runner/pulls/203)2324## 3.4.12526* Fixes a regression introduced in 3.4.0 by which a job with no image explicitly set would27 [be bound to the host](https://code.forgejo.org/forgejo/runner/issues/165)28 network instead of a custom network (empty string in the configuration file).2930## 3.4.03132Although this version is able to run [actions/upload-artifact@v4](https://code.forgejo.org/actions/upload-artifact/src/tag/v4) and [actions/download-artifact@v4](https://code.forgejo.org/actions/download-artifact/src/tag/v4), these actions will fail because it does not run against GitHub.com. A fork of those two actions with this check disabled is made available at:3334* https://code.forgejo.org/forgejo/upload-artifact/src/tag/v435* https://code.forgejo.org/forgejo/download-artifact/src/tag/v43637and they can be used as shown in [an example from the end-to-end test suite](https://code.forgejo.org/forgejo/end-to-end/src/branch/main/actions/example-artifacts-v4/.forgejo/workflows/test.yml).3839* When running against codeberg.org, the default poll frequency is 30s instead of 2s.40* Fix compatibility issue with actions/{upload,download}-artifact@v4.41* Upgrade ACT v1.20.0 which brings:42 * `[container].options` from the config file is exposed in containers created by the workflows43 * the expressions in the value of `jobs.<job-id>.runs-on` are evaluated44 * fix a bug causing the evaluated expression of `jobs.<job-id>.runs-on` to fail if it was an array45 * mount `act-toolcache:/opt/hostedtoolcache` instead of `act-toolcache:/toolcache`46 * a few improvements to the readability of the error messages displayed in the logs47 * `amd64` can be used instead of `x86_64` and `arm64` intead of `aarch64` when specifying the architecture48 * fixed YAML parsing bugs preventing dispatch workflows to be parsed correctly49 * add support for `runs-on.labels` which is equivalent to `runs-on` followed by a list of labels50 * the expressions in the service `ports` and `volumes` values are evaluated51 * network aliases are only supported when the network is user specified, not when it is provided by the runner52* If `[runner].insecure` is true in the configuration, insecure cloning actions is allowed5354## 3.3.05556* Support IPv6 with addresses from a private range and NAT for57 docker:// with --enable-ipv6 and [container].enable_ipv658 lxc:// always5960## 3.2.06162* Support LXC container capabilities via `lxc:lxc://debian:bookworm:k8s` or `lxc:lxc://debian:bookworm:docker lxc k8s`63* Update ACT v1.16.0 to resolve a [race condition when bootstraping LXC templates](https://code.forgejo.org/forgejo/act/pulls/23)6465## 3.1.06667The `self-hosted` label that was hardwired to be a LXC container68running `debian:bullseye` was reworked and documented ([user guide](https://forgejo.org/docs/next/user/actions/#jobsjob_idruns-on) and [admin guide](https://forgejo.org/docs/next/admin/actions/#labels-and-runs-on)).6970There now are two different schemes: `lxc://` for LXC containers and71`host://` for running directly on the host.7273* Support the `host://` scheme for running directly on the host.74* Support the `lxc://` scheme in labels75* Update [code.forgejo.org/forgejo/act v1.14.0](https://code.forgejo.org/forgejo/act/pulls/19) to implement both self-hosted and LXC schemes7677## 3.0.37879* Update [code.forgejo.org/forgejo/act v1.13.0](https://code.forgejo.org/forgejo/runner/pulls/106) to keep up with github.com/nektos/act8081## 3.0.28283* Update [code.forgejo.org/forgejo/act v1.12.0](https://code.forgejo.org/forgejo/runner/pulls/106) to upgrade the node installed in the LXC container to node208485## 3.0.18687* Update [code.forgejo.org/forgejo/act v1.11.0](https://code.forgejo.org/forgejo/runner/pulls/86) to resolve a bug preventing actions based on node20 from running, such as [checkout@v4](https://code.forgejo.org/actions/checkout/src/tag/v4).8889## 3.0.09091* Publish a rootless OCI image92* Refactor the release process9394## 2.5.09596* Update [code.forgejo.org/forgejo/act v1.10.0](https://code.forgejo.org/forgejo/runner/pulls/71)9798## 2.4.099100* Update [code.forgejo.org/forgejo/act v1.9.0](https://code.forgejo.org/forgejo/runner/pulls/64)101102## 2.3.0103104* Add support for [offline registration](https://forgejo.org/docs/next/admin/actions/#offline-registration).