Skip to content

Prepare release notes for v2.3.0-rc.0#13302

Merged
dmcgowan merged 3 commits intocontainerd:mainfrom
dmcgowan:prepare-v2.3.0-rc
Apr 28, 2026
Merged

Prepare release notes for v2.3.0-rc.0#13302
dmcgowan merged 3 commits intocontainerd:mainfrom
dmcgowan:prepare-v2.3.0-rc

Conversation

@dmcgowan
Copy link
Copy Markdown
Member

Starts the rc process and schedules the final release for Wednesday.


containerd 2.3.0-rc.0

Welcome to the v2.3.0-rc.0 release of containerd!
This is a pre-release of containerd

The third minor release of containerd 2.x focuses on continued stability alongside
new features and improvements. This is the third time-based release for containerd.

Starting with containerd 2.3, the project has moved to release cadence aligned with
the Kubernetes release schedule, with new minor releases about every 4 months. The
containerd 2.3 release is also the first annual LTS (Long Term Stable) release under
this new schedule, with support planned for at least two years. Direct upgrades
between sequential LTS releases (e.g., 1.7 to 2.3) will be tested and supported.

This is a beta release and some functionality is still under development.

Highlights

  • Add transfer types for container filesystem copy (#13165)
  • Introduce shim bootstrap protocol (#12786)
  • Add option to inject trace ID to logs (#13117)
  • Propagate OpenTelemetry traces in outgoing RPCs from plugin clients (#13113)
  • Update plugin config migration to run on load (#12608)
  • Detect vendor in cdi specs to generate device IDs for --gpus (#12839)
  • Update sandbox API to include spec field (#12840)

Container Runtime Interface (CRI)

  • Allow containers to use user namespaces with host networking (#12518)
  • Unpack images with per-layer labels for specific runtime (#12835)
  • Populate ImageId field in container status (#12787)
  • Set annotations parameter in CreateSandbox request (#12566)

Image Distribution

  • Support zstd-wrapped EROFS layers (#13185)
  • Add EROFS layer media type (#12567)

Image Storage

  • Use fsmount API to avoid PAGE_SIZE limit for erofs (#12783)

Node Resource Interface (NRI)

  • Pass container user (uid, gids) to plugins (#12769)
  • Pass seccomp policy to plugins (#12768)
  • Pass any POSIX rlimits to plugins (#12765)
  • Pass extended container status to NRI. (#12770)
  • Pass injected CDI devices to plugins (#12767)
  • Pass linux sysctl to plugins (#12766)

Runtime

  • Add configured socket directory to shim bootstrap protocol (#12785)
  • Fix binary logging driver not blocking container start on failure (#12595)
  • Use new filtered cgroups stats API (#12901)
  • Update OOMKilled event handling (#12714)

Snapshotters

  • Propagate parent chain ID and diff ID via labels during snapshot preparation (#13071)

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Contributors

  • Maksym Pavlenko
  • Derek McGowan
  • Sebastiaan van Stijn
  • Wei Fu
  • Krisztian Litkey
  • Samuel Karp
  • Phil Estes
  • Akihiro Suda
  • Mike Brown
  • Markus Lehtonen
  • Davanum Srinivas
  • Gao Xiang
  • Chengyu Zhu
  • Akhil Mohan
  • Chris Henzie
  • Hudson Zhu
  • Kazuyoshi Kato
  • Sergey Kanzhelev
  • ningmingxiao
  • Aadhar Agarwal
  • Andrew Halaney
  • Apurv Barve
  • Brian Goff
  • HirazawaUi
  • Michael Zappa
  • Paweł Gronowski
  • Fabiano Fidêncio
  • Hasan Siddiqui
  • Jintao Zhang
  • Paulo Oliveira
  • Shiv Tyagi
  • Albin Kerouanton
  • Alex Lyn
  • Austin Vazquez
  • Avinesh Singh
  • Esteban Ginez
  • Henry Wang
  • Jin Dong
  • Jérôme Poulin
  • Luke Hinds
  • Sascha Grunert
  • Tianon Gravi
  • majianhan
  • markdodgson
  • qiuxue
  • Adrien Delorme
  • Alex Chernyakhovsky
  • Andrey Noskov
  • Andrey Smirnov
  • Annie Cherkaev
  • Anuj Singh
  • Champ-Goblem
  • Chris Adeniyi-Jones
  • Chris Chang
  • Cindia-blue
  • CrazyMax
  • Danny Canter
  • Evan Lezar
  • Fletcher Woodruff
  • Gaurav Ghildiyal
  • Harsh Rawat
  • Hayato Kiwata
  • Joseph Zhang
  • Justin Chadwell
  • Kal
  • Manuel de Brito Fontes
  • Mujib Ahasan
  • Neeraj Krishna Gopalakrishna
  • Pierluigi Lenoci
  • Ricardo Branco
  • Rob Murray
  • Rodrigo Campos
  • Sanil2108
  • Shachar Tal
  • Shaobao Feng
  • Shiming Zhang
  • Tariq Ibrahim
  • Tim Windelschmidt
  • Tõnis Tiigi
  • Wade Simmons
  • Weixie Cui
  • Will Jordan
  • William Myers
  • Yohei Yamamoto
  • You Binhao
  • Youfu Zhang
  • apurv15
  • bo.jiang
  • chris-henderson-alation
  • jinda.ljd
  • jokemanfire
  • zylxjtu

Dependency Changes

  • cyphar.com/go-pathrs v0.2.1 new
  • github.com/Microsoft/go-winio v0.6.2 -> ad3df93bed29
  • github.com/Microsoft/hcsshim v0.14.0-rc.1 -> v0.15.0-rc.1
  • github.com/cenkalti/backoff/v5 v5.0.3 new
  • github.com/checkpoint-restore/checkpointctl v1.4.0 -> v1.5.0
  • github.com/containerd/cgroups/v3 v3.1.0 -> v3.1.3
  • github.com/containerd/containerd/api v1.10.0 -> v1.11.0-beta.2
  • github.com/containerd/go-dmverity e097b6cc4a33 new
  • github.com/containerd/imgcrypt/v2 v2.0.1 -> v2.0.2
  • github.com/containerd/nri v0.10.0 -> v0.11.0
  • github.com/containerd/platforms v1.0.0-rc.2 -> v1.0.0-rc.4
  • github.com/containerd/ttrpc v1.2.7 -> v1.2.8
  • github.com/containerd/zfs/v2 v2.0.0-rc.0 -> v2.0.0
  • github.com/containernetworking/plugins v1.8.0 -> v1.9.1
  • github.com/coreos/go-systemd/v22 v22.6.0 -> v22.7.0
  • github.com/cyphar/filepath-securejoin v0.6.0 new
  • github.com/davecgh/go-spew v1.1.1 -> d8f796af33cc
  • github.com/erofs/go-erofs v0.3.0 new
  • github.com/go-jose/go-jose/v4 v4.1.2 -> v4.1.4
  • github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 -> v2.28.0
  • github.com/intel/goresctrl v0.10.0 -> v0.12.0
  • github.com/klauspost/compress v1.18.1 -> v1.18.5
  • github.com/moby/spdystream v0.5.0 -> v0.5.1
  • github.com/opencontainers/runtime-spec v1.2.1 -> v1.3.0
  • github.com/opencontainers/runtime-tools 0ea5ed0382a2 -> edf4cb3d2116
  • github.com/opencontainers/selinux v1.12.0 -> v1.13.1
  • github.com/pelletier/go-toml/v2 v2.2.4 -> v2.3.0
  • github.com/pmezard/go-difflib v1.0.0 -> 5d4384ee4fb2
  • github.com/prometheus/common v0.66.1 -> v0.67.5
  • github.com/prometheus/procfs v0.16.1 -> v0.19.2
  • github.com/sirupsen/logrus v1.9.3 -> v1.9.4
  • github.com/tetratelabs/wazero v1.9.0 -> v1.10.1
  • go.opentelemetry.io/auto/sdk v1.1.0 -> v1.2.1
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 -> v0.67.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 -> v0.67.0
  • go.opentelemetry.io/otel v1.37.0 -> v1.43.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 -> v1.43.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 -> v1.43.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 -> v1.43.0
  • go.opentelemetry.io/otel/metric v1.37.0 -> v1.43.0
  • go.opentelemetry.io/otel/sdk v1.37.0 -> v1.43.0
  • go.opentelemetry.io/otel/trace v1.37.0 -> v1.43.0
  • go.opentelemetry.io/proto/otlp v1.5.0 -> v1.10.0
  • go.yaml.in/yaml/v2 v2.4.2 -> v2.4.3
  • golang.org/x/crypto v0.41.0 -> v0.49.0
  • golang.org/x/mod v0.29.0 -> v0.35.0
  • golang.org/x/net v0.43.0 -> v0.52.0
  • golang.org/x/oauth2 v0.30.0 -> v0.35.0
  • golang.org/x/sync v0.17.0 -> v0.20.0
  • golang.org/x/sys v0.37.0 -> v0.43.0
  • golang.org/x/term v0.34.0 -> v0.41.0
  • golang.org/x/text v0.28.0 -> v0.35.0
  • golang.org/x/time v0.14.0 -> v0.15.0
  • google.golang.org/genproto/googleapis/api a7a43d27e69b -> 9d38bb4040a9
  • google.golang.org/genproto/googleapis/rpc a7a43d27e69b -> 9d38bb4040a9
  • google.golang.org/grpc v1.76.0 -> v1.80.0
  • google.golang.org/protobuf v1.36.10 -> f2248ac996af
  • k8s.io/api v0.34.1 -> v0.36.0
  • k8s.io/apimachinery v0.34.1 -> v0.36.0
  • k8s.io/client-go v0.34.1 -> v0.36.0
  • k8s.io/component-base v0.36.0 new
  • k8s.io/cri-api v0.34.1 -> v0.36.0
  • k8s.io/cri-client v0.36.0 new
  • k8s.io/cri-streaming v0.36.0 new
  • k8s.io/klog/v2 v2.130.1 -> v2.140.0
  • k8s.io/kube-openapi 5883c5ee87b9 new
  • k8s.io/streaming v0.36.0 new
  • k8s.io/utils 4c0f3b243397 -> 28399d86e0b5
  • sigs.k8s.io/json cfa47c3a1cc8 -> 2d320260d730
  • sigs.k8s.io/structured-merge-diff/v6 v6.3.0 -> v6.3.2
  • tags.cncf.io/container-device-interface v1.0.1 -> v1.1.0
  • tags.cncf.io/container-device-interface/specs-go v1.0.0 -> v1.1.0

Previous release can be found at v2.2.0

Which file should I download?

  • containerd-<VERSION>-<OS>-<ARCH>.tar.gz: ✅Recommended. Dynamically linked with glibc 2.35 (Ubuntu 22.04).
  • containerd-static-<VERSION>-<OS>-<ARCH>.tar.gz: Statically linked. Expected to be used on Linux distributions that do not use glibc >= 2.35. Not position-independent.

In addition to containerd, typically you will have to install runc
and CNI plugins from their official sites too.

See also the Getting Started documentation.

Signed-off-by: Derek McGowan <[email protected]>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the containerd v2.3.0-rc.0 release candidate by updating the in-tree version string, adding a release-tool template for generating notes, and updating release schedule/support documentation and contributor identity mappings.

Changes:

  • Bump version.Version default from 2.3.0-beta+unknown to 2.3.0-rc+unknown.
  • Add releases/v2.3.0-rc.toml release-tool configuration for generating v2.3 RC release notes.
  • Update RELEASES.md to reflect the v2.3 release status/schedule and extend the Kubernetes support matrix; update .mailmap for a contributor alias.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
version/version.go Updates the default version string for the RC cycle.
releases/v2.3.0-rc.toml Adds release-tool template used to generate the v2.3.0 RC release notes.
RELEASES.md Updates release status/dates and Kubernetes support matrix for v2.3.
.mailmap Ensures contributor identity is deduplicated/standardized in generated release notes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread version/version.go
Comment thread RELEASES.md Outdated
@dmcgowan dmcgowan changed the title Prepare v2.3.0-rc.0 Prepare release notes for v2.3.0-rc.0 Apr 27, 2026
@dmcgowan dmcgowan force-pushed the prepare-v2.3.0-rc branch from 2b20d94 to d54b553 Compare April 27, 2026 23:15
Copy link
Copy Markdown
Member

@mikebrow mikebrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-project-automation github-project-automation Bot moved this from Needs Triage to Review In Progress in Pull Request Review Apr 27, 2026
@dmcgowan dmcgowan added this to the 2.3 milestone Apr 28, 2026
@dmcgowan dmcgowan added this pull request to the merge queue Apr 28, 2026
Merged via the queue into containerd:main with commit 135a671 Apr 28, 2026
54 checks passed
@github-project-automation github-project-automation Bot moved this from Review In Progress to Done in Pull Request Review Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Development

Successfully merging this pull request may close these issues.

8 participants