<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Avagin</id>
	<title>CRIU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Avagin"/>
	<link rel="alternate" type="text/html" href="https://criu.org/Special:Contributions/Avagin"/>
	<updated>2026-05-13T15:27:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.6</generator>
	<entry>
		<id>https://criu.org/index.php?title=Google_Summer_of_Code_Ideas&amp;diff=5875</id>
		<title>Google Summer of Code Ideas</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Google_Summer_of_Code_Ideas&amp;diff=5875"/>
		<updated>2026-03-02T19:53:05Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* Files on detached mounts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google Summer of Code (GSoC) is a global program that offers post-secondary students an opportunity to be paid for contributing to an open source project over a three month period. &lt;br /&gt;
&lt;br /&gt;
This page contains project ideas for upcoming Google Summer of Code.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
First, make sure to go through the [[GSoC Students Recommendations]]. Once you build CRIU locally and C/R a simple process successfully, please contact the respective mentor for the idea you are interested in. For general questions feel free to send an email to the [mailto:criu@lists.linux.dev mailing list] or write in [https://gitter.im/save-restore/criu gitter].&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Kubernetes Operator for Automated Checkpointing ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Extend the Checkpoint/Restore Operator with support for automated policy-based checkpointing.&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/checkpoint-restore/checkpoint-restore-operator Checkpoint/Restore Operator] for Kubernetes currently supports only policies and parameters that limit the number of checkpoints. This project aims to extend the current support with automated policy-based checkpointing, allowing users to define triggers for checkpoint creation, such as time-based schedules, resource thresholds (CPU, memory, I/O usage), Kubernetes events (node drain, pod eviction, preemption), and application-level signals or annotations.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/checkpoint-restore-operator&lt;br /&gt;
* https://kubernetes.io/docs/reference/node/kubelet-checkpoint-api&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: Go&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Viktória Spišaková &amp;lt;spisakova@ics.muni.cz&amp;gt;, Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Adrian Reber &amp;lt;areber@redhat.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Forensic Checkpointing Framework for Kubernetes ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes provides a highly dynamic and ephemeral environment where workloads can start and disappear very quickly and are continuously being rescheduled across different nodes in the cluster.&lt;br /&gt;
One of the key challenges with forensic investigations in Kubernetes is capturing and preserving the evidence during security incidents. This project aims to address this problem by developing a framework for efficiently capturing and preserving the state of all running applications in a container at a specific point in time, along with the associated container configurations and metadata. These artifacts would allow investigators to accurately reconstruct the events, create a timeline, and analyze security incidents without impacting the running cluster. This is an important step towards enabling forensic readiness for Kubernetes, where cluster administrators proactively ensure the environments are prepared to collect and preserve evidence before a security incident occurs.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/checkpointctl&lt;br /&gt;
* [https://fosdem.org/2026/events/attachments/F9RANH-forensic-snapshots-in-kubernetes/slides/267371/fosdem_2_4dh73ni.pdf Investigating Security Incidents with Forensic Snapshots in Kubernetes]&lt;br /&gt;
* [https://www.cncf.io/reports/cloud-native-security-whitepaper/ Cloud Native Security Whitepaper]&lt;br /&gt;
* [https://media.defense.gov/2022/Aug/29/2003066362/-1/-1/0/CTR_KUBERNETES_HARDENING_GUIDANCE_1.2_20220829.PDF Kubernetes Hardening Guide]&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: Go&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Lorena Goldoni &amp;lt;lory.goldoni@gmail.com&amp;gt;, Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Adrian Reber &amp;lt;areber@redhat.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Checkpoint/Restore of Rootless Containers ===&lt;br /&gt;
&lt;br /&gt;
[https://rootlesscontaine.rs/ Rootless containers] are containers that can be created, run, and managed by unprivileged users. Container engines such as Podman natively support running containers in a rootless mode to improve security and usability. While checkpoint/restore functionality is already available for rootful containers and unprivileged checkpointing is possible with the &amp;lt;code&amp;gt;CAP_CHECKPOINT_RESTORE&amp;lt;/code&amp;gt; capability, container engines do not yet support native checkpointing of containers running in rootless mode. This project aims to explore and address the remaining challenges required to enable unprivileged checkpoint/restore for rootless containers.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/pull/1930&lt;br /&gt;
* https://github.com/torvalds/linux/commit/124ea650d3072b005457faed69909221c2905a1f&lt;br /&gt;
* https://src.fedoraproject.org/rpms/criu/pull-request/10#request_diff&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C, Go&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Adrian Reber &amp;lt;areber@redhat.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checkpointing of POSIX message queues ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Add support for checkpoint/restore of POSIX message queues&lt;br /&gt;
&lt;br /&gt;
POSIX message queues are a widely used inter-process communication mechanism. Message queues are implemented as files on a virtual filesystem (mqueue), where a file descriptor (message queue descriptor) is used to perform operations such as sending or receiving messages. To support checkpoint/restore of POSIX message queues, we need a kernel interface (similar to [https://github.com/checkpoint-restore/criu/commit/8ce9e947051e43430eb2ff06b96dddeba467b4fd MSG_PEEK]) that would enable the retrieval of messages from a queue without removing them. This project aims to implement such an interface that allows retrieving all messages and their priorities from a POSIX message queue.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/2285&lt;br /&gt;
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/ipc/mqueue.c&lt;br /&gt;
* https://www.man7.org/tlpi/download/TLPI-52-POSIX_Message_Queues.pdf&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;&lt;br /&gt;
* Suggested by: Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add support for SCM_CREDENTIALS / SCM_PIDFD and friends ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Support for SCM_CREDENTIALS / SCM_PIDFD&lt;br /&gt;
&lt;br /&gt;
SCM_CREDENTIALS and SCM_PIDFD are types of SCM (Socket-level Control Messages). They play a crucial role&lt;br /&gt;
in systemd and many other user space applications. This project is about adding support for these&lt;br /&gt;
SCMs to be properly saved and restored back with CRIU. There is an existing code in OpenVZ CRIU fork,&lt;br /&gt;
see [1] and [2]. Goal would be first of all to properly port this code, cover with extensive tests and&lt;br /&gt;
ensure that SCM_PIDFD / SO_PEERPIDFD are handled correctly. Also we expect to cover things like&lt;br /&gt;
SO_PASSRIGHTS and SO_PASSPIDFD.&lt;br /&gt;
&lt;br /&gt;
There is some extra source of complexity here pidfds can be &amp;quot;stale&amp;quot; (see PIDFD_STALE in Linux kernel)&lt;br /&gt;
and we need to ensure that we properly cover those cases.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [1] openvz-criu https://bitbucket.org/openvz/criu.ovz/history-node/918653a0a343194385592d7b50b5bd7a8fbe1cc1/criu/sk-unix.c?at=hci-dev&lt;br /&gt;
* [2] openvz-criu https://bitbucket.org/openvz/criu.ovz/history-node/918653a0a343194385592d7b50b5bd7a8fbe1cc1/criu/sk-queue.c?at=hci-dev&lt;br /&gt;
* [3] Linux kernel https://github.com/torvalds/linux/commit/5e2ff6704a275be009be8979af17c52361b79b89&lt;br /&gt;
* [4] Linux kernel https://github.com/torvalds/linux/commit/c679d17d3f2d895b34e660673141ad250889831f&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate / advanced&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Suggested by: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
* Mentors: Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;, Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integrate with Live Update Orchestrator (LUO) ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Integrate with Live Update Orchestrator (LUO)&lt;br /&gt;
&lt;br /&gt;
Live Update Orchestrator (LUO) is a framework for Linux kernel&lt;br /&gt;
live updates (via kexec). Idea behind it is to provide kernel&lt;br /&gt;
and user space API to save specific system resources across&lt;br /&gt;
kexec reboot.&lt;br /&gt;
&lt;br /&gt;
This research project explores how CRIU can be integrated with LUO.&lt;br /&gt;
For example, if a user is running memcached on a node, the current&lt;br /&gt;
approach would require a full CRIU dump, then saving the entire&lt;br /&gt;
process memory to disk, then followed by restoring it after the&lt;br /&gt;
kernel live update.&lt;br /&gt;
&lt;br /&gt;
Instead, CRIU could be extended to leverage the LUO API. When instructed,&lt;br /&gt;
it could preserve selected memory regions directly across the kexec reboot,&lt;br /&gt;
avoiding a full disk dump and significantly accelerating the restore process&lt;br /&gt;
after the kernel update.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [1] LUO kernel documentation https://docs.kernel.org/core-api/liveupdate.html&lt;br /&gt;
* [2] LUO memfd doc https://docs.kernel.org/mm/memfd_preservation.html&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate / advanced&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Suggested by: Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;&lt;br /&gt;
* Mentors: Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;, Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimize COW memory dumping ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Optimize COW memory dumping&lt;br /&gt;
&lt;br /&gt;
The Linux kernel memory management subsystem is highly optimized not only for performance, but also to minimize unnecessary memory consumption. A key example of this is how the kernel handles private VMAs when user space invokes the fork() system call.&lt;br /&gt;
&lt;br /&gt;
Rather than duplicating the entire VMA tree along with all memory contents, the kernel creates optimized copies of inherited VMAs using the Copy-on-Write (COW) mechanism. When a process writes to a page within a COW-ed VMA, a write page fault occurs, and the kernel creates a private copy of that page before applying the modification. However, if the page is only read, no copying is performed.&lt;br /&gt;
&lt;br /&gt;
This approach significantly improves fork() performance and can dramatically reduce memory usage in many workloads.&lt;br /&gt;
&lt;br /&gt;
In CRIU, when dumping VMAs and their associated memory pages, this COW optimization is not currently taken into account during the dump phase. As a result, for COW-backed VMAs, CRIU may generate multiple copies of identical memory pages in the dump image.&lt;br /&gt;
&lt;br /&gt;
During restore, however, CRIU explicitly handles this situation (see [1] and [2]) and attempts to reconstruct COW relationships inside the kernel. This step is critical: without it, a checkpoint/restore (C/R) cycle could lead to a substantial increase in memory consumption for the same process tree. For example, a workload that originally consumed 500 MiB could expand to 800 MiB after restore, which is clearly unacceptable.&lt;br /&gt;
&lt;br /&gt;
This project aims to improve the dumping algorithm so that it avoids producing multiple unnecessary copies of identical pages belonging to COW-ed VMAs.&lt;br /&gt;
&lt;br /&gt;
The project requires some understanding of Linux memory management internals and CRIU’s architecture. We strongly encourage GSoC contributors to study references [1] and [2] and experiment with the relevant code paths before applying. We are happy to answer questions and provide guidance along the way.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [1] preparing COW VMAs https://github.com/checkpoint-restore/criu/blob/c180188db036f8ea4c08bfee28cbcdbdd52cdfc3/criu/mem.c#L878&lt;br /&gt;
* [2] private vma content restore cow case https://github.com/checkpoint-restore/criu/blob/c180188db036f8ea4c08bfee28cbcdbdd52cdfc3/criu/mem.c#L1219&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate / advanced&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Suggested by: Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;&lt;br /&gt;
* Mentors: Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;, Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suspended project ideas ==&lt;br /&gt;
&lt;br /&gt;
Listed here are tasks that seem suitable for GSoC, but currently do not have anybody to mentor it.&lt;br /&gt;
&lt;br /&gt;
=== Optimize logging engine ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' CRIU puts a lots of logs when doing its job. Logging is done with simple fprintf function. They are typically useless, but ''if'' some operation fails -- the logs are the only way to find what was the reason for failure.&lt;br /&gt;
&lt;br /&gt;
At the same time the printf family of functions is known to take some time to work -- they need to scan the format string for %-s and then convert the arguments into strings. If comparing criu dump with and without logs the time difference is notable (15%-20%), so speeding the logs up will help improve criu performance.&lt;br /&gt;
&lt;br /&gt;
One of the solutions to the problem might be binary logging. The problem with binary logs is the amount of efforts to convert existing logs to binary form. Preferably, the switch to binary logging either keeps existing log() calls intact, either has some automatics to convert them.&lt;br /&gt;
&lt;br /&gt;
The option to keep log() calls intact might be in pre-compilation pass of the sources. In this pass each &amp;lt;code&amp;gt;log(fmt, ...)&amp;lt;/code&amp;gt; call gets translated into a call to a binary log function that saves &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt; identifier copies all the args ''as is'' into the log file. The binary log decode utility, required in this case, should then find the fmt string by its ID in the log file and print the resulting message.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [[Better logging]]&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C, though decoder/preprocessor can be in any language&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Suggested by: Andrei Vagin&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IOUring support ===&lt;br /&gt;
The io_uring Asynchronous I/O (AIO) framework is a new Linux I/O interface, first introduced in upstream Linux kernel version 5.1 (March 2019). It provides a low-latency and feature-rich interface for applications that require AIO functionality.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework&lt;br /&gt;
* https://github.com/axboe/liburing&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: expert (+linux kernel)&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
&lt;br /&gt;
=== Add support for SPFS ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' The SPFS is a special filesystem that allows checkpoint and restore of such things as NFS and FUSE&lt;br /&gt;
&lt;br /&gt;
NFS support is already implemented in Virtuozzo CRIU, but it's very beneficial to port it to mainline CRIU. The importaint part of it is the need to implement the integration of Stub-Proxy File System (SPFS) with LXC/yet_another_containers_environment.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/60&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/53&lt;br /&gt;
* https://github.com/skinsbursky/spfs&lt;br /&gt;
* https://patchwork.criu.org/series/137/&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: expert&lt;br /&gt;
* Language: C&lt;br /&gt;
* Mentor: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
* Suggested by: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anonymise image files ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' Teach [[CRIT]] to remove sensitive information from images&lt;br /&gt;
 &lt;br /&gt;
When reporting a BUG it may be not acceptable for the reporter to send us raw images, as they may contain sensitive data. Need to teach CRIT to &amp;quot;anonymise&amp;quot; images for publication.&lt;br /&gt;
&lt;br /&gt;
List of data to shred:&lt;br /&gt;
&lt;br /&gt;
* Memory contents. For the sake of investigation, all the memory contents can be just removed. Only the sizes of pages*.img files are enough.&lt;br /&gt;
* Paths to files. Here we should keep the paths relations to each other. The simplest way seem to be replacing file names with &amp;quot;random&amp;quot; (or sequential) strings, BUT (!) keeping an eye on making this mapping be 1:1. Note, that file paths may also sit in sk-unix.img.&lt;br /&gt;
* Registers.&lt;br /&gt;
* Process names. (But relations should be kept).&lt;br /&gt;
* Contents of streams, i.e. pipe/fifo data, sk-queue, tcp-stream, tty data.&lt;br /&gt;
* Ghost files.&lt;br /&gt;
* Tarballs with tmpfs-s.&lt;br /&gt;
* IP addresses in sk-inet-s, ip tool dumps and net*.img.&lt;br /&gt;
 &lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [[Anonymize image files]]&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/360&lt;br /&gt;
* [[CRIT]], [[Images]]&lt;br /&gt;
* External links to mailing lists or web sites&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: beginner&lt;br /&gt;
* Language: Python&lt;br /&gt;
&lt;br /&gt;
=== Add support for checkpoint/restore of CORK-ed UDP socket ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' Support C/R of corked UDP socket&lt;br /&gt;
 &lt;br /&gt;
There's UDP_CORK option for sockets. As man page says:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    If this option is enabled, then all data output on this socket&lt;br /&gt;
    is accumulated into a single datagram that is transmitted when&lt;br /&gt;
    the option is disabled.  This option should not be used in&lt;br /&gt;
    code intended to be portable.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently criu refuses to dump this case, so it's effectively a bug. Supporting&lt;br /&gt;
this will need extending the kernel API to allow criu read back the write queue&lt;br /&gt;
of the socket (see [[TCP connection|how it's done]] for TCP sockets, for example). Then&lt;br /&gt;
the queue is written into the image and is restored into the socket (with the CORK&lt;br /&gt;
bit set too).&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&lt;br /&gt;
We already had a couple (3) of tries for this problem:&lt;br /&gt;
&lt;br /&gt;
* UDP_REPAIR approach didn't succeed: https://lore.kernel.org/netdev/721a2e32-c930-ad6b-5055-631b502ed11b@gmail.com/, https://lore.kernel.org/netdev/?q=udp_repair&lt;br /&gt;
* eBPF (CRIB) approach, socket queue iterator was not merged: https://lore.kernel.org/netdev/AM6PR03MB5848EDA002E3D7EACA7C6BDA99A52@AM6PR03MB5848.eurprd03.prod.outlook.com/, and we have general objections to CRIB approach https://lore.kernel.org/bpf/CAHk-=wjLWFa3i6+Tab67gnNumTYipj_HuheXr2RCq4zn0tCTzA@mail.gmail.com/&lt;br /&gt;
&lt;br /&gt;
We still have one idea we didn't try, as UDP allows packets to be lost on the way on restore we can somehow mark the socket to drop all data before UNCORK. This way we don't really need to restore contents of UDP CORK-ed sockets send queue.&lt;br /&gt;
 &lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/409&lt;br /&gt;
* https://github.com/criupatchwork/criu/commit/a532312&lt;br /&gt;
* [[Sockets]], [[TCP connection]]&lt;br /&gt;
* [[https://groups.google.com/forum/#!topic/comp.os.linux.networking/Uz8PYiTCZSg UDP cork explained]]&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate (+linux kernel)&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;, Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;, Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Release_schedule&amp;diff=5805</id>
		<title>Release schedule</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Release_schedule&amp;diff=5805"/>
		<updated>2025-11-13T20:44:21Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* 2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting from year 2018, the fixed release schedule is no more.&lt;br /&gt;
A new release is made about every few months, once it feels there are enough changes.&lt;br /&gt;
&lt;br /&gt;
Below you can find dates and codenames for future (if known) and past releases.&lt;br /&gt;
&lt;br /&gt;
== Future releases ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 ***** MAKE SURE TO EDIT [[Template:Codename]] and [[Template:Release date]] as well ***** --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
|-&lt;br /&gt;
| not selected&lt;br /&gt;
| ... Heron&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Past releases ==&lt;br /&gt;
&lt;br /&gt;
=== 2025 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.2}}&lt;br /&gt;
{{fe|Releases table/row||4.1.1}}&lt;br /&gt;
{{fe|Releases table/row||4.1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2024 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2023 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.19|3.18}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2022 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2021 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.16}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2020 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.15|3.14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2019 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.13|3.12}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2018 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.11|3.10|3.9|3.8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.7|3.6|3.5|3.4|3.3|3.2|3.1|3.0|2.12|2.11|2.10}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2016 (2.x) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Older (1.x, 0.x) ===&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
* [[Download/criu/1.x|1.x]]&lt;br /&gt;
* [[Download/criu/0.x|0.x]]&lt;br /&gt;
&lt;br /&gt;
== Historical release schedules ==&lt;br /&gt;
&lt;br /&gt;
* Starting from version 2.0 and until the end of 2017, a new release was made once a month from the stable (master) branch with whatever is there.&lt;br /&gt;
&lt;br /&gt;
* Starting from version 1.3 and until the end of 2017, CRIU used the time-driven release model with strict/known future release dates.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Download/criu]] for the list of all releases, dates, and changelogs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Release_date&amp;diff=5804</id>
		<title>Template:Release date</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Release_date&amp;diff=5804"/>
		<updated>2025-11-13T20:43:46Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v4.2     = 13 Nov 2025&lt;br /&gt;
 | v4.1.1   = 29 Jul 2025&lt;br /&gt;
 | v4.1     = 25 Mar 2025&lt;br /&gt;
 | v4.0     = 20 Sep 2024&lt;br /&gt;
 | v3.19    = 27 Nov 2023&lt;br /&gt;
 | v3.18    = 22 Apr 2023&lt;br /&gt;
 | v3.17.1  = 23 Jun 2022&lt;br /&gt;
 | v3.17    =  5 May 2022&lt;br /&gt;
 | v3.16.1  = 14 Oct 2021&lt;br /&gt;
 | v3.16    = 22 Sep 2021&lt;br /&gt;
 | v3.15    = 03 Nov 2020&lt;br /&gt;
 | v3.14    = 29 Apr 2020&lt;br /&gt;
 | v3.13    = 11 Sep 2019&lt;br /&gt;
 | v3.12    = 25 Apr 2019&lt;br /&gt;
 | v3.11    = 06 Nov 2018&lt;br /&gt;
 | v3.10    = 10 Jul 2018&lt;br /&gt;
 | v3.9     = 21 May 2018&lt;br /&gt;
 | v3.8.1   = 29 Mar 2018&lt;br /&gt;
 | v3.8     = 13 Mar 2018&lt;br /&gt;
 | v3.7     = 19 Dec 2017&lt;br /&gt;
 | v3.6     = 23 Oct 2017&lt;br /&gt;
 | v3.5     = 27 Sep 2017&lt;br /&gt;
 | v3.4     = 21 Aug 2017&lt;br /&gt;
 | v3.3     = 18 Jul 2017&lt;br /&gt;
 | v3.2.1   = 28 Jun 2017&lt;br /&gt;
 | v3.2     = 19 Jun 2017&lt;br /&gt;
 | v3.1     = 22 May 2017&lt;br /&gt;
 | v3.0     = 24 Apr 2017&lt;br /&gt;
 | v2.12.1  = 27 Mar 2017&lt;br /&gt;
 | v2.12    =  8 Mar 2017&lt;br /&gt;
 | v2.11.1  = 17 Feb 2017&lt;br /&gt;
 | v2.11    = 13 Feb 2017&lt;br /&gt;
 | v2.10    = 16 Jan 2017&lt;br /&gt;
 | v2.9     = 12 Dec 2016&lt;br /&gt;
 | v2.8     = 14 Nov 2016&lt;br /&gt;
 | v2.7     = 17 Oct 2016&lt;br /&gt;
 | v2.6     = 12 Sep 2016&lt;br /&gt;
 | v2.5     = 15 Aug 2016&lt;br /&gt;
 | v2.4     = 11 Jul 2016&lt;br /&gt;
 | v2.3     = 14 Jun 2016&lt;br /&gt;
 | v2.2     = 16 May 2016&lt;br /&gt;
 | v2.1     = 11 Apr 2016&lt;br /&gt;
 | v2.0     =  7 Mar 2016&lt;br /&gt;
 | v1.8     =  7 Dec 2015&lt;br /&gt;
 | v1.7.2   = 28 Oct 2015&lt;br /&gt;
 | v1.7     =  7 Sep 2015&lt;br /&gt;
 | v1.6.1   = 12 Aug 2015&lt;br /&gt;
 | v1.6     =  1 Jun 2015&lt;br /&gt;
 | v1.5.2   = 28 Apr 2015&lt;br /&gt;
 | v1.5.1   = 31 Mar 2015&lt;br /&gt;
 | v1.5     =  2 Mar 2015&lt;br /&gt;
 | v1.4     =  1 Dec 2014&lt;br /&gt;
 | v1.3.1   = 12 Sep 2014&lt;br /&gt;
 | v1.3     =  1 Sep 2014&lt;br /&gt;
 | v1.3-rc2 = 18 Jun 2014&lt;br /&gt;
 | v1.3-rc1 = 25 Apr 2014&lt;br /&gt;
 | v1.2     = 26 Feb 2014&lt;br /&gt;
 | v1.1     = 28 Jan 2014&lt;br /&gt;
 | v1.1-rc2 = 20 Jan 2014&lt;br /&gt;
 | v1.1-rc1 = 30 Dec 2013&lt;br /&gt;
 | v1.0     = 25 Nov 2013&lt;br /&gt;
 | v0.8     = 18 Oct 2013&lt;br /&gt;
 | v0.7     =  3 Sep 2013&lt;br /&gt;
 | v0.6     =  1 Jul 2013&lt;br /&gt;
 | v0.5     = 30 Apr 2013&lt;br /&gt;
 | v0.4     = 20 Feb 2013&lt;br /&gt;
 | v0.3     = 11 Dec 2012&lt;br /&gt;
 | v0.2     = 20 Sep 2012&lt;br /&gt;
 | v0.1     = 23 Jul 2012&lt;br /&gt;
 | &amp;lt;!-- unknown release? return nothing --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the date of a specified release.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.10}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|1.3-rc1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|1.3-rc1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|0.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|0.1}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Template:Codename]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu&amp;diff=5803</id>
		<title>Download/criu</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu&amp;diff=5803"/>
		<updated>2025-11-13T20:42:58Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* 4.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Latest version ==&lt;br /&gt;
&lt;br /&gt;
{{:Download/criu/{{Last version}}}}&lt;br /&gt;
&lt;br /&gt;
== Old versions ==&lt;br /&gt;
&lt;br /&gt;
=== 4.x ===&lt;br /&gt;
&lt;br /&gt;
The following [[Download/criu/4.x|4.x]] releases were made:&lt;br /&gt;
* {{fe|criu|{{nln}}* |4.1.1}}&lt;br /&gt;
* {{fe|criu|{{nln}}* |4.1}}&lt;br /&gt;
* {{fe|criu|{{nln}}* |4.0}}&lt;br /&gt;
&lt;br /&gt;
=== 3.x ===&lt;br /&gt;
&lt;br /&gt;
The following [[Download/criu/3.x|3.x]] releases were made:&lt;br /&gt;
&lt;br /&gt;
* {{fe|criu|{{nln}}* |3.19|3.18|3.17.1|3.17|3.16.1|3.16|3.15|3.14|3.13|3.12|3.11|3.10|3.9|3.8.1|3.8|3.7|3.6|3.5|3.4|3.3|3.2.1|3.2|3.1|3.0}}&lt;br /&gt;
&lt;br /&gt;
=== 2.x ===&lt;br /&gt;
&lt;br /&gt;
The following [[Download/criu/2.x|2.x]] releases were made:&lt;br /&gt;
&lt;br /&gt;
* {{fe|criu|{{nln}}* |2.12.1|2.12|2.11.1|2.11|2.10|2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
&lt;br /&gt;
=== 1.x ===&lt;br /&gt;
&lt;br /&gt;
The following [[Download/criu/1.x|1.x]] releases were made:&lt;br /&gt;
&lt;br /&gt;
* {{fe|criu|{{nln}}* |1.8|1.7.2|1.7|1.6.1|1.6|1.5.2|1.5.1|1.5|1.4|1.3.1|1.3|1.3-rc2|1.3-rc1|1.2|1.1|1.1-rc2|1.1-rc1|1.0}}&lt;br /&gt;
&lt;br /&gt;
=== 0.x ===&lt;br /&gt;
&lt;br /&gt;
The following [[Download/criu/0.x|0.x]] releases were made:&lt;br /&gt;
&lt;br /&gt;
* {{fe|criu|{{nln}}* |0.8|0.7|0.6|0.5|0.4|0.3|0.2|0.1}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Changelogs]] to see all the changelogs on a single page.&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Last_version&amp;diff=5802</id>
		<title>Template:Last version</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Last_version&amp;diff=5802"/>
		<updated>2025-11-13T20:41:50Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;4.2&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Codename&amp;diff=5798</id>
		<title>Template:Codename</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Codename&amp;diff=5798"/>
		<updated>2025-11-08T05:46:16Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v2.1  = Steel Lapwing&lt;br /&gt;
 | v2.2  = Carbon Nightingale&lt;br /&gt;
 | v2.3  = Wooden Duck&lt;br /&gt;
 | v2.4  = Marble Lark&lt;br /&gt;
 | v2.5  = Concrete Oriole&lt;br /&gt;
 | v2.6  = Paper Crane&lt;br /&gt;
 | v2.7  = Rubber Owl&lt;br /&gt;
 | v2.8  = Bronze Siskin&lt;br /&gt;
 | v2.9  = Silk Tit&lt;br /&gt;
 | v2.10 = Brass Waxwing&lt;br /&gt;
 | v2.11 = Acrylic Bullfinch&lt;br /&gt;
 | v2.12 = Vulcanite Rook&lt;br /&gt;
 | v3.0 = Basalt Wagtail&lt;br /&gt;
 | v3.1 = Graphene Swift&lt;br /&gt;
 | v3.2 = Tin Hoopoe&lt;br /&gt;
 | v3.3 = Crystal Pelican&lt;br /&gt;
 | v3.4 = Cobalt Swan&lt;br /&gt;
 | v3.5 = Clay Jay&lt;br /&gt;
 | v3.6 = Alabaster Finch&lt;br /&gt;
 | v3.7 = Vinyl Magpie&lt;br /&gt;
 | v3.8 = Snow Bunting&lt;br /&gt;
 | v3.8.1 = Snow Bunting&lt;br /&gt;
 | v3.9 = Sand Martin&lt;br /&gt;
 | v3.10 = Granite Eagle&lt;br /&gt;
 | v3.11 = Glass Flamingo&lt;br /&gt;
 | v3.12 = Ice Penguin&lt;br /&gt;
 | v3.13 = Silicon Willet&lt;br /&gt;
 | v3.14 = Platinum Peacock&lt;br /&gt;
 | v3.15 = Titanium Falcon&lt;br /&gt;
 | v3.16 = Petrified Puffin&lt;br /&gt;
 | v3.16.1 = Petrified Puffin&lt;br /&gt;
 | v3.17 = Radiant Redstart&lt;br /&gt;
 | v3.17.1 = Radiant Redstart&lt;br /&gt;
 | v3.18 = Silver Sandpiper&lt;br /&gt;
 | v3.19 = Bronze Peacock&lt;br /&gt;
 | v4.0  = CRIUDA&lt;br /&gt;
 | v4.1  = CRISCV&lt;br /&gt;
 | v4.1.1 = CRISCV&lt;br /&gt;
 | v4.2 = CRIUTIBILITY&lt;br /&gt;
 | &amp;lt;!-- no codename --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the codename of a specified release. If there is no codename, empty string is produced.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|3.3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|3.3}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.0}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release schedule]] for future codenames&lt;br /&gt;
* [[Template:Release date]]&lt;br /&gt;
* [[Template:criu]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
* [[Template:Latest release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.2.jpg&amp;diff=5797</id>
		<title>File:4.2.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.2.jpg&amp;diff=5797"/>
		<updated>2025-11-08T05:42:20Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.2&amp;diff=5746</id>
		<title>Download/criu/4.2</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.2&amp;diff=5746"/>
		<updated>2025-11-06T03:55:53Z</updated>

		<summary type="html">&lt;p&gt;Avagin: Created page with &amp;quot;&amp;lt;!--       **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing       Use {{Bug|123}} to link to a github issue --&amp;gt; right {{Release|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.2.jpg|400px|right]]&lt;br /&gt;
{{Release|4.2}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* plugins/amdgpu: Implement parallel restore&lt;br /&gt;
* Handle processes with uprobes vma&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* criu/compel: fix compilation on musl/arm64&lt;br /&gt;
* pagemap: change PagemapEntry.nr_pages to uint64 to support huge mappings&lt;br /&gt;
* pagemap: prevent integer overflow in pagemap_len&lt;br /&gt;
* Relax ELF magic check to support MIPS libraries&lt;br /&gt;
* Fix: getsockopt usage for SO_PASSCRED/SO_PASSSEC on Linux 6.16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* ci: consolidate aarch64 tests on GitHub runners&lt;br /&gt;
* cr-service: Refactor RPC config parsing&lt;br /&gt;
* Many improvements in pycriu&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Release_schedule&amp;diff=5685</id>
		<title>Release schedule</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Release_schedule&amp;diff=5685"/>
		<updated>2025-07-29T21:24:12Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* 2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting from year 2018, the fixed release schedule is no more.&lt;br /&gt;
A new release is made about every few months, once it feels there are enough changes.&lt;br /&gt;
&lt;br /&gt;
Below you can find dates and codenames for future (if known) and past releases.&lt;br /&gt;
&lt;br /&gt;
== Future releases ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 ***** MAKE SURE TO EDIT [[Template:Codename]] and [[Template:Release date]] as well ***** --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
|-&lt;br /&gt;
| not selected&lt;br /&gt;
| ... Heron&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Past releases ==&lt;br /&gt;
&lt;br /&gt;
=== 2025 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.1.1}}&lt;br /&gt;
{{fe|Releases table/row||4.1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2024 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2023 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.19|3.18}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2022 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2021 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.16}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2020 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.15|3.14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2019 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.13|3.12}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2018 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.11|3.10|3.9|3.8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.7|3.6|3.5|3.4|3.3|3.2|3.1|3.0|2.12|2.11|2.10}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2016 (2.x) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Older (1.x, 0.x) ===&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
* [[Download/criu/1.x|1.x]]&lt;br /&gt;
* [[Download/criu/0.x|0.x]]&lt;br /&gt;
&lt;br /&gt;
== Historical release schedules ==&lt;br /&gt;
&lt;br /&gt;
* Starting from version 2.0 and until the end of 2017, a new release was made once a month from the stable (master) branch with whatever is there.&lt;br /&gt;
&lt;br /&gt;
* Starting from version 1.3 and until the end of 2017, CRIU used the time-driven release model with strict/known future release dates.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Download/criu]] for the list of all releases, dates, and changelogs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Last_version&amp;diff=5684</id>
		<title>Template:Last version</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Last_version&amp;diff=5684"/>
		<updated>2025-07-29T21:23:41Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;4.1.1&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.1.1&amp;diff=5683</id>
		<title>Download/criu/4.1.1</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.1.1&amp;diff=5683"/>
		<updated>2025-07-29T21:23:09Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.1.jpg|400px|right]]&lt;br /&gt;
{{Release|4.1.1}}&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* resolving the mount namespace restore issue caused by [https://github.com/torvalds/linux/commit/12f147ddd6de the kernel change].&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.1.1&amp;diff=5682</id>
		<title>Download/criu/4.1.1</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.1.1&amp;diff=5682"/>
		<updated>2025-07-29T21:22:52Z</updated>

		<summary type="html">&lt;p&gt;Avagin: Created page with &amp;quot;&amp;lt;!--       **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing       Use {{Bug|123}} to link to a github issue --&amp;gt; right {{Release|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.1.jpg|400px|right]]&lt;br /&gt;
{{Release|4.1}}&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* resolving the mount namespace restore issue caused by [https://github.com/torvalds/linux/commit/12f147ddd6de the kernel change].&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Codename&amp;diff=5681</id>
		<title>Template:Codename</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Codename&amp;diff=5681"/>
		<updated>2025-07-29T21:17:26Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v2.1  = Steel Lapwing&lt;br /&gt;
 | v2.2  = Carbon Nightingale&lt;br /&gt;
 | v2.3  = Wooden Duck&lt;br /&gt;
 | v2.4  = Marble Lark&lt;br /&gt;
 | v2.5  = Concrete Oriole&lt;br /&gt;
 | v2.6  = Paper Crane&lt;br /&gt;
 | v2.7  = Rubber Owl&lt;br /&gt;
 | v2.8  = Bronze Siskin&lt;br /&gt;
 | v2.9  = Silk Tit&lt;br /&gt;
 | v2.10 = Brass Waxwing&lt;br /&gt;
 | v2.11 = Acrylic Bullfinch&lt;br /&gt;
 | v2.12 = Vulcanite Rook&lt;br /&gt;
 | v3.0 = Basalt Wagtail&lt;br /&gt;
 | v3.1 = Graphene Swift&lt;br /&gt;
 | v3.2 = Tin Hoopoe&lt;br /&gt;
 | v3.3 = Crystal Pelican&lt;br /&gt;
 | v3.4 = Cobalt Swan&lt;br /&gt;
 | v3.5 = Clay Jay&lt;br /&gt;
 | v3.6 = Alabaster Finch&lt;br /&gt;
 | v3.7 = Vinyl Magpie&lt;br /&gt;
 | v3.8 = Snow Bunting&lt;br /&gt;
 | v3.8.1 = Snow Bunting&lt;br /&gt;
 | v3.9 = Sand Martin&lt;br /&gt;
 | v3.10 = Granite Eagle&lt;br /&gt;
 | v3.11 = Glass Flamingo&lt;br /&gt;
 | v3.12 = Ice Penguin&lt;br /&gt;
 | v3.13 = Silicon Willet&lt;br /&gt;
 | v3.14 = Platinum Peacock&lt;br /&gt;
 | v3.15 = Titanium Falcon&lt;br /&gt;
 | v3.16 = Petrified Puffin&lt;br /&gt;
 | v3.16.1 = Petrified Puffin&lt;br /&gt;
 | v3.17 = Radiant Redstart&lt;br /&gt;
 | v3.17.1 = Radiant Redstart&lt;br /&gt;
 | v3.18 = Silver Sandpiper&lt;br /&gt;
 | v3.19 = Bronze Peacock&lt;br /&gt;
 | v4.0  = CRIUDA&lt;br /&gt;
 | v4.1  = CRISCV&lt;br /&gt;
 | v4.1.1 = CRISCV&lt;br /&gt;
 | &amp;lt;!-- no codename --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the codename of a specified release. If there is no codename, empty string is produced.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|3.3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|3.3}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.0}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release schedule]] for future codenames&lt;br /&gt;
* [[Template:Release date]]&lt;br /&gt;
* [[Template:criu]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
* [[Template:Latest release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Release_date&amp;diff=5680</id>
		<title>Template:Release date</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Release_date&amp;diff=5680"/>
		<updated>2025-07-29T21:16:31Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v4.1.1   = 29 Jul 2025&lt;br /&gt;
 | v4.1     = 25 Mar 2025&lt;br /&gt;
 | v4.0     = 20 Sep 2024&lt;br /&gt;
 | v3.19    = 27 Nov 2023&lt;br /&gt;
 | v3.18    = 22 Apr 2023&lt;br /&gt;
 | v3.17.1  = 23 Jun 2022&lt;br /&gt;
 | v3.17    =  5 May 2022&lt;br /&gt;
 | v3.16.1  = 14 Oct 2021&lt;br /&gt;
 | v3.16    = 22 Sep 2021&lt;br /&gt;
 | v3.15    = 03 Nov 2020&lt;br /&gt;
 | v3.14    = 29 Apr 2020&lt;br /&gt;
 | v3.13    = 11 Sep 2019&lt;br /&gt;
 | v3.12    = 25 Apr 2019&lt;br /&gt;
 | v3.11    = 06 Nov 2018&lt;br /&gt;
 | v3.10    = 10 Jul 2018&lt;br /&gt;
 | v3.9     = 21 May 2018&lt;br /&gt;
 | v3.8.1   = 29 Mar 2018&lt;br /&gt;
 | v3.8     = 13 Mar 2018&lt;br /&gt;
 | v3.7     = 19 Dec 2017&lt;br /&gt;
 | v3.6     = 23 Oct 2017&lt;br /&gt;
 | v3.5     = 27 Sep 2017&lt;br /&gt;
 | v3.4     = 21 Aug 2017&lt;br /&gt;
 | v3.3     = 18 Jul 2017&lt;br /&gt;
 | v3.2.1   = 28 Jun 2017&lt;br /&gt;
 | v3.2     = 19 Jun 2017&lt;br /&gt;
 | v3.1     = 22 May 2017&lt;br /&gt;
 | v3.0     = 24 Apr 2017&lt;br /&gt;
 | v2.12.1  = 27 Mar 2017&lt;br /&gt;
 | v2.12    =  8 Mar 2017&lt;br /&gt;
 | v2.11.1  = 17 Feb 2017&lt;br /&gt;
 | v2.11    = 13 Feb 2017&lt;br /&gt;
 | v2.10    = 16 Jan 2017&lt;br /&gt;
 | v2.9     = 12 Dec 2016&lt;br /&gt;
 | v2.8     = 14 Nov 2016&lt;br /&gt;
 | v2.7     = 17 Oct 2016&lt;br /&gt;
 | v2.6     = 12 Sep 2016&lt;br /&gt;
 | v2.5     = 15 Aug 2016&lt;br /&gt;
 | v2.4     = 11 Jul 2016&lt;br /&gt;
 | v2.3     = 14 Jun 2016&lt;br /&gt;
 | v2.2     = 16 May 2016&lt;br /&gt;
 | v2.1     = 11 Apr 2016&lt;br /&gt;
 | v2.0     =  7 Mar 2016&lt;br /&gt;
 | v1.8     =  7 Dec 2015&lt;br /&gt;
 | v1.7.2   = 28 Oct 2015&lt;br /&gt;
 | v1.7     =  7 Sep 2015&lt;br /&gt;
 | v1.6.1   = 12 Aug 2015&lt;br /&gt;
 | v1.6     =  1 Jun 2015&lt;br /&gt;
 | v1.5.2   = 28 Apr 2015&lt;br /&gt;
 | v1.5.1   = 31 Mar 2015&lt;br /&gt;
 | v1.5     =  2 Mar 2015&lt;br /&gt;
 | v1.4     =  1 Dec 2014&lt;br /&gt;
 | v1.3.1   = 12 Sep 2014&lt;br /&gt;
 | v1.3     =  1 Sep 2014&lt;br /&gt;
 | v1.3-rc2 = 18 Jun 2014&lt;br /&gt;
 | v1.3-rc1 = 25 Apr 2014&lt;br /&gt;
 | v1.2     = 26 Feb 2014&lt;br /&gt;
 | v1.1     = 28 Jan 2014&lt;br /&gt;
 | v1.1-rc2 = 20 Jan 2014&lt;br /&gt;
 | v1.1-rc1 = 30 Dec 2013&lt;br /&gt;
 | v1.0     = 25 Nov 2013&lt;br /&gt;
 | v0.8     = 18 Oct 2013&lt;br /&gt;
 | v0.7     =  3 Sep 2013&lt;br /&gt;
 | v0.6     =  1 Jul 2013&lt;br /&gt;
 | v0.5     = 30 Apr 2013&lt;br /&gt;
 | v0.4     = 20 Feb 2013&lt;br /&gt;
 | v0.3     = 11 Dec 2012&lt;br /&gt;
 | v0.2     = 20 Sep 2012&lt;br /&gt;
 | v0.1     = 23 Jul 2012&lt;br /&gt;
 | &amp;lt;!-- unknown release? return nothing --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the date of a specified release.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.10}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|1.3-rc1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|1.3-rc1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|0.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|0.1}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Template:Codename]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Main_Page&amp;diff=5629</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Main_Page&amp;diff=5629"/>
		<updated>2025-03-26T01:35:27Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: {{{1|right}}}&amp;quot;&amp;gt;&lt;br /&gt;
{{Download box|left}}&lt;br /&gt;
[[Image:4.1.jpg|right|340px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;Welcome to CRIU, a project to implement checkpoint/restore functionality for Linux.&lt;br /&gt;
&lt;br /&gt;
Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a Linux software. It can freeze a running container (or an individual application) and checkpoint its state to disk. The data saved can be used to restore the application and run it exactly as it was during the time of the freeze. Using this functionality, application or container live migration, snapshots, remote debugging, and [[usage scenarios|many other things]] are now possible.&lt;br /&gt;
&lt;br /&gt;
CRIU started as a project of Virtuozzo, and grew with the tremendous help from the [[community]]. It is currently used by (integrated into) OpenVZ, [[LXC]]/LXD, [[Docker]], [[Podman]], and [[Integration|other software]], and [[packages|packaged for many Linux distributions]].&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
{{Like}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
{{News block 2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Using ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
;Getting [[packages]] for your distribution&lt;br /&gt;
: Or try manual [[installation]] to have CRIU on your system&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[CLI]], [[RPC]] and [[C API]]&lt;br /&gt;
: Three ways to start using the C/R functionality.  [[:Category:API|More info]] about APIs.&lt;br /&gt;
&lt;br /&gt;
;[[Usage scenarios]]&lt;br /&gt;
: Ideas how criu can be used (some are crazy indeed)&lt;br /&gt;
&lt;br /&gt;
;[[:Category:HOWTO]]&lt;br /&gt;
: Collection of real world examples of how to use CRIU. Some are complex, some are not. HOW TO dump a [[simple loop]] might be the best one to start with. Also a set of [[asciinema]] records for real-life examples.&lt;br /&gt;
&lt;br /&gt;
;[https://www.criu.org/index.php?title=FAQ FAQ] &amp;amp; [[When C/R fails]]&lt;br /&gt;
: A sort of troubleshooting guide&lt;br /&gt;
&lt;br /&gt;
;[[What can change after C/R]]&lt;br /&gt;
: CRIU cannot (yet) save and restore every single bit of tasks' state. This page describes what bits visible through standard kernel API are such.&lt;br /&gt;
&lt;br /&gt;
;[[What cannot be checkpointed]]&lt;br /&gt;
: What an application could do to make CRIU refuse to dump it.&lt;br /&gt;
&lt;br /&gt;
;[[Contacts]]&lt;br /&gt;
: Ways to communicate with CRIU community&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== Developing ==&lt;br /&gt;
If you're interested in CRIU development, please subscribe to the criu mailing list: https://lore.kernel.org/criu/ (old one is https://lists.openvz.org/mailman/listinfo/criu)&lt;br /&gt;
&lt;br /&gt;
;[[Images]]&lt;br /&gt;
: Description of image files format&lt;br /&gt;
&lt;br /&gt;
;[[Plugins]]&lt;br /&gt;
: CRIU can call plugins provided by people&lt;br /&gt;
&lt;br /&gt;
;[[Upstream kernel commits]]&lt;br /&gt;
: Mainline kernel commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[Recent commits]]&lt;br /&gt;
: CRIU tool repository commits&lt;br /&gt;
&lt;br /&gt;
;[[Manpages]]&lt;br /&gt;
: Kernel's manpages commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[ZDTM Test Suite]]&lt;br /&gt;
: Zero downtime test suite&lt;br /&gt;
&lt;br /&gt;
;[[Todo|TODO]]&lt;br /&gt;
: Current TODO list&lt;br /&gt;
&lt;br /&gt;
;[[User namespace]]&lt;br /&gt;
: Implementing user namespace support&lt;br /&gt;
&lt;br /&gt;
;[[Postulates]]&lt;br /&gt;
: What to keep in mind when writing new code&lt;br /&gt;
&lt;br /&gt;
;[https://coveralls.io/github/checkpoint-restore/criu Code coverage results]&lt;br /&gt;
: Shows how zdtm run covers the criu code paths&lt;br /&gt;
&lt;br /&gt;
;[[How to submit patches]]&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Under the hood ==&lt;br /&gt;
* [[Checkpoint/Restore]]&lt;br /&gt;
* [[:Category:Under the hood]]&lt;br /&gt;
* [[:Category:Network]]&lt;br /&gt;
* [[:Category:Files]]&lt;br /&gt;
* [[:Category:Memory]]&lt;br /&gt;
* [[Pending signals]]&lt;br /&gt;
* [[Stages of restoring]]&lt;br /&gt;
* [[Code blobs]]&lt;br /&gt;
* [[Comparison to other CR projects]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== External links ==&lt;br /&gt;
{{:Articles}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[Academic Research]]&lt;br /&gt;
* [[Podcasts]] and other audio/video interviews&lt;br /&gt;
* Project [[history]]&lt;br /&gt;
* [[Logo]] description&lt;br /&gt;
* [[Events]]&lt;br /&gt;
* [[CRIU acronym fun]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Last_version&amp;diff=5628</id>
		<title>Template:Last version</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Last_version&amp;diff=5628"/>
		<updated>2025-03-26T01:33:53Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;4.1&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Release_schedule&amp;diff=5627</id>
		<title>Release schedule</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Release_schedule&amp;diff=5627"/>
		<updated>2025-03-26T01:33:35Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting from year 2018, the fixed release schedule is no more.&lt;br /&gt;
A new release is made about every few months, once it feels there are enough changes.&lt;br /&gt;
&lt;br /&gt;
Below you can find dates and codenames for future (if known) and past releases.&lt;br /&gt;
&lt;br /&gt;
== Future releases ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 ***** MAKE SURE TO EDIT [[Template:Codename]] and [[Template:Release date]] as well ***** --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
|-&lt;br /&gt;
| not selected&lt;br /&gt;
| ... Heron&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Past releases ==&lt;br /&gt;
&lt;br /&gt;
=== 2025 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2024 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2023 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.19|3.18}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2022 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2021 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.16}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2020 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.15|3.14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2019 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.13|3.12}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2018 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.11|3.10|3.9|3.8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.7|3.6|3.5|3.4|3.3|3.2|3.1|3.0|2.12|2.11|2.10}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2016 (2.x) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Older (1.x, 0.x) ===&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
* [[Download/criu/1.x|1.x]]&lt;br /&gt;
* [[Download/criu/0.x|0.x]]&lt;br /&gt;
&lt;br /&gt;
== Historical release schedules ==&lt;br /&gt;
&lt;br /&gt;
* Starting from version 2.0 and until the end of 2017, a new release was made once a month from the stable (master) branch with whatever is there.&lt;br /&gt;
&lt;br /&gt;
* Starting from version 1.3 and until the end of 2017, CRIU used the time-driven release model with strict/known future release dates.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Download/criu]] for the list of all releases, dates, and changelogs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5626</id>
		<title>Download/criu/4.1</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5626"/>
		<updated>2025-03-26T01:26:23Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.1.jpg|400px|right]]&lt;br /&gt;
{{Release|4.1}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* RISC-V Support&lt;br /&gt;
* PIDFD Support&lt;br /&gt;
* arm64: C/R PAC keys&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* vdso: handle vvar_vclock vma-s&lt;br /&gt;
* seize: Take --timeout option into account when freezing processes&lt;br /&gt;
* net: use unique lock chain names (nftables)&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* CUDA Enhancements&lt;br /&gt;
* Allow setting the default network locking backend&lt;br /&gt;
* Enable coredump generation for aarch64 and arm&lt;br /&gt;
* vdso: switch from DT_HASH to DT_GNU_HASH&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.1.jpg&amp;diff=5625</id>
		<title>File:4.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.1.jpg&amp;diff=5625"/>
		<updated>2025-03-26T01:26:09Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5624</id>
		<title>Download/criu/4.1</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5624"/>
		<updated>2025-03-26T01:24:39Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:v4.1.jpg|400px|right]]&lt;br /&gt;
{{Release|4.1}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* RISC-V Support&lt;br /&gt;
* PIDFD Support&lt;br /&gt;
* arm64: C/R PAC keys&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* vdso: handle vvar_vclock vma-s&lt;br /&gt;
* seize: Take --timeout option into account when freezing processes&lt;br /&gt;
* net: use unique lock chain names (nftables)&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* CUDA Enhancements&lt;br /&gt;
* Allow setting the default network locking backend&lt;br /&gt;
* Enable coredump generation for aarch64 and arm&lt;br /&gt;
* vdso: switch from DT_HASH to DT_GNU_HASH&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:V4.1.jpg&amp;diff=5623</id>
		<title>File:V4.1.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:V4.1.jpg&amp;diff=5623"/>
		<updated>2025-03-26T01:24:10Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5622</id>
		<title>Download/criu/4.1</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.1&amp;diff=5622"/>
		<updated>2025-03-26T00:39:58Z</updated>

		<summary type="html">&lt;p&gt;Avagin: Created page with &amp;quot;&amp;lt;!--       **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing       Use {{Bug|123}} to link to a github issue --&amp;gt; right {{Release|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.1.jpg|400px|right]]&lt;br /&gt;
{{Release|4.1}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* RISC-V Support&lt;br /&gt;
* PIDFD Support&lt;br /&gt;
* arm64: C/R PAC keys&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* vdso: handle vvar_vclock vma-s&lt;br /&gt;
* seize: Take --timeout option into account when freezing processes&lt;br /&gt;
* net: use unique lock chain names (nftables)&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* CUDA Enhancements&lt;br /&gt;
* Allow setting the default network locking backend&lt;br /&gt;
* Enable coredump generation for aarch64 and arm&lt;br /&gt;
* vdso: switch from DT_HASH to DT_GNU_HASH&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Release_date&amp;diff=5621</id>
		<title>Template:Release date</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Release_date&amp;diff=5621"/>
		<updated>2025-03-26T00:30:08Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v4.1     = 25 Mar 2025&lt;br /&gt;
 | v4.0     = 20 Sep 2024&lt;br /&gt;
 | v3.19    = 27 Nov 2023&lt;br /&gt;
 | v3.18    = 22 Apr 2023&lt;br /&gt;
 | v3.17.1  = 23 Jun 2022&lt;br /&gt;
 | v3.17    =  5 May 2022&lt;br /&gt;
 | v3.16.1  = 14 Oct 2021&lt;br /&gt;
 | v3.16    = 22 Sep 2021&lt;br /&gt;
 | v3.15    = 03 Nov 2020&lt;br /&gt;
 | v3.14    = 29 Apr 2020&lt;br /&gt;
 | v3.13    = 11 Sep 2019&lt;br /&gt;
 | v3.12    = 25 Apr 2019&lt;br /&gt;
 | v3.11    = 06 Nov 2018&lt;br /&gt;
 | v3.10    = 10 Jul 2018&lt;br /&gt;
 | v3.9     = 21 May 2018&lt;br /&gt;
 | v3.8.1   = 29 Mar 2018&lt;br /&gt;
 | v3.8     = 13 Mar 2018&lt;br /&gt;
 | v3.7     = 19 Dec 2017&lt;br /&gt;
 | v3.6     = 23 Oct 2017&lt;br /&gt;
 | v3.5     = 27 Sep 2017&lt;br /&gt;
 | v3.4     = 21 Aug 2017&lt;br /&gt;
 | v3.3     = 18 Jul 2017&lt;br /&gt;
 | v3.2.1   = 28 Jun 2017&lt;br /&gt;
 | v3.2     = 19 Jun 2017&lt;br /&gt;
 | v3.1     = 22 May 2017&lt;br /&gt;
 | v3.0     = 24 Apr 2017&lt;br /&gt;
 | v2.12.1  = 27 Mar 2017&lt;br /&gt;
 | v2.12    =  8 Mar 2017&lt;br /&gt;
 | v2.11.1  = 17 Feb 2017&lt;br /&gt;
 | v2.11    = 13 Feb 2017&lt;br /&gt;
 | v2.10    = 16 Jan 2017&lt;br /&gt;
 | v2.9     = 12 Dec 2016&lt;br /&gt;
 | v2.8     = 14 Nov 2016&lt;br /&gt;
 | v2.7     = 17 Oct 2016&lt;br /&gt;
 | v2.6     = 12 Sep 2016&lt;br /&gt;
 | v2.5     = 15 Aug 2016&lt;br /&gt;
 | v2.4     = 11 Jul 2016&lt;br /&gt;
 | v2.3     = 14 Jun 2016&lt;br /&gt;
 | v2.2     = 16 May 2016&lt;br /&gt;
 | v2.1     = 11 Apr 2016&lt;br /&gt;
 | v2.0     =  7 Mar 2016&lt;br /&gt;
 | v1.8     =  7 Dec 2015&lt;br /&gt;
 | v1.7.2   = 28 Oct 2015&lt;br /&gt;
 | v1.7     =  7 Sep 2015&lt;br /&gt;
 | v1.6.1   = 12 Aug 2015&lt;br /&gt;
 | v1.6     =  1 Jun 2015&lt;br /&gt;
 | v1.5.2   = 28 Apr 2015&lt;br /&gt;
 | v1.5.1   = 31 Mar 2015&lt;br /&gt;
 | v1.5     =  2 Mar 2015&lt;br /&gt;
 | v1.4     =  1 Dec 2014&lt;br /&gt;
 | v1.3.1   = 12 Sep 2014&lt;br /&gt;
 | v1.3     =  1 Sep 2014&lt;br /&gt;
 | v1.3-rc2 = 18 Jun 2014&lt;br /&gt;
 | v1.3-rc1 = 25 Apr 2014&lt;br /&gt;
 | v1.2     = 26 Feb 2014&lt;br /&gt;
 | v1.1     = 28 Jan 2014&lt;br /&gt;
 | v1.1-rc2 = 20 Jan 2014&lt;br /&gt;
 | v1.1-rc1 = 30 Dec 2013&lt;br /&gt;
 | v1.0     = 25 Nov 2013&lt;br /&gt;
 | v0.8     = 18 Oct 2013&lt;br /&gt;
 | v0.7     =  3 Sep 2013&lt;br /&gt;
 | v0.6     =  1 Jul 2013&lt;br /&gt;
 | v0.5     = 30 Apr 2013&lt;br /&gt;
 | v0.4     = 20 Feb 2013&lt;br /&gt;
 | v0.3     = 11 Dec 2012&lt;br /&gt;
 | v0.2     = 20 Sep 2012&lt;br /&gt;
 | v0.1     = 23 Jul 2012&lt;br /&gt;
 | &amp;lt;!-- unknown release? return nothing --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the date of a specified release.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.10}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|1.3-rc1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|1.3-rc1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|0.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|0.1}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Template:Codename]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Codename&amp;diff=5620</id>
		<title>Template:Codename</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Codename&amp;diff=5620"/>
		<updated>2025-03-26T00:29:22Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v2.1  = Steel Lapwing&lt;br /&gt;
 | v2.2  = Carbon Nightingale&lt;br /&gt;
 | v2.3  = Wooden Duck&lt;br /&gt;
 | v2.4  = Marble Lark&lt;br /&gt;
 | v2.5  = Concrete Oriole&lt;br /&gt;
 | v2.6  = Paper Crane&lt;br /&gt;
 | v2.7  = Rubber Owl&lt;br /&gt;
 | v2.8  = Bronze Siskin&lt;br /&gt;
 | v2.9  = Silk Tit&lt;br /&gt;
 | v2.10 = Brass Waxwing&lt;br /&gt;
 | v2.11 = Acrylic Bullfinch&lt;br /&gt;
 | v2.12 = Vulcanite Rook&lt;br /&gt;
 | v3.0 = Basalt Wagtail&lt;br /&gt;
 | v3.1 = Graphene Swift&lt;br /&gt;
 | v3.2 = Tin Hoopoe&lt;br /&gt;
 | v3.3 = Crystal Pelican&lt;br /&gt;
 | v3.4 = Cobalt Swan&lt;br /&gt;
 | v3.5 = Clay Jay&lt;br /&gt;
 | v3.6 = Alabaster Finch&lt;br /&gt;
 | v3.7 = Vinyl Magpie&lt;br /&gt;
 | v3.8 = Snow Bunting&lt;br /&gt;
 | v3.8.1 = Snow Bunting&lt;br /&gt;
 | v3.9 = Sand Martin&lt;br /&gt;
 | v3.10 = Granite Eagle&lt;br /&gt;
 | v3.11 = Glass Flamingo&lt;br /&gt;
 | v3.12 = Ice Penguin&lt;br /&gt;
 | v3.13 = Silicon Willet&lt;br /&gt;
 | v3.14 = Platinum Peacock&lt;br /&gt;
 | v3.15 = Titanium Falcon&lt;br /&gt;
 | v3.16 = Petrified Puffin&lt;br /&gt;
 | v3.16.1 = Petrified Puffin&lt;br /&gt;
 | v3.17 = Radiant Redstart&lt;br /&gt;
 | v3.17.1 = Radiant Redstart&lt;br /&gt;
 | v3.18 = Silver Sandpiper&lt;br /&gt;
 | v3.19 = Bronze Peacock&lt;br /&gt;
 | v4.0  = CRIUDA&lt;br /&gt;
 | v4.1  = CRISCV&lt;br /&gt;
 | &amp;lt;!-- no codename --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the codename of a specified release. If there is no codename, empty string is produced.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|3.3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|3.3}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.0}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release schedule]] for future codenames&lt;br /&gt;
* [[Template:Release date]]&lt;br /&gt;
* [[Template:criu]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
* [[Template:Latest release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Contacts&amp;diff=5589</id>
		<title>Contacts</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Contacts&amp;diff=5589"/>
		<updated>2025-02-07T04:55:47Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are many ways to contact CRIU community. This page contains official accounts in social networks and another points of connect.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/checkpoint-restore GitHub checkpoint-restore project]&lt;br /&gt;
* [https://gitter.im/save-restore/CRIU Gitter] (Also reachable via Matrix: [https://matrix.to/#/#save-restore_CRIU:gitter.im #save-restore_CRIU:gitter.im])&lt;br /&gt;
* [https://twitter.com/__criu__ CRIU twitter]&lt;br /&gt;
* [https://www.youtube.com/channel/UCeXb0oWYd7ZE-44TrTSWxmg Youtube channel]&lt;br /&gt;
* [https://lore.kernel.org/criu/ Mailing list]&lt;br /&gt;
* IRC channels on Freenode:&lt;br /&gt;
** [https://webchat.freenode.net/?channels=#criu #criu] - developers talks. Logs are [https://botbot.me/freenode/criu/ available].&lt;br /&gt;
** [https://webchat.freenode.net/?channels=#criu-commit-bot #criu-commit-bot] - commits to CRIU source code repository&lt;br /&gt;
** [https://webchat.freenode.net/?channels=#criu-ci #criu-ci] - status of CI jobs from Jenkins&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://openvz.org/Contacts OpenVZ contacts]&lt;br /&gt;
&lt;br /&gt;
[[Category: Communication]]&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Main_Page&amp;diff=5528</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Main_Page&amp;diff=5528"/>
		<updated>2024-09-22T03:43:17Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: {{{1|right}}}&amp;quot;&amp;gt;&lt;br /&gt;
{{Download box|left}}&lt;br /&gt;
[[Image:4.0.c.jpg|right|340px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;Welcome to CRIU, a project to implement checkpoint/restore functionality for Linux.&lt;br /&gt;
&lt;br /&gt;
Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a Linux software. It can freeze a running container (or an individual application) and checkpoint its state to disk. The data saved can be used to restore the application and run it exactly as it was during the time of the freeze. Using this functionality, application or container live migration, snapshots, remote debugging, and [[usage scenarios|many other things]] are now possible.&lt;br /&gt;
&lt;br /&gt;
CRIU started as a project of Virtuozzo, and grew with the tremendous help from the [[community]]. It is currently used by (integrated into) OpenVZ, [[LXC]]/LXD, [[Docker]], Podman, and [[Integration|other software]], and [[packages|packaged for many Linux distributions]].&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
{{Like}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
{{News block 2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Using ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
;Getting [[packages]] for your distribution&lt;br /&gt;
: Or try manual [[installation]] to have CRIU on your system&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[CLI]], [[RPC]] and [[C API]]&lt;br /&gt;
: Three ways to start using the C/R functionality.  [[:Category:API|More info]] about APIs.&lt;br /&gt;
&lt;br /&gt;
;[[Usage scenarios]]&lt;br /&gt;
: Ideas how criu can be used (some are crazy indeed)&lt;br /&gt;
&lt;br /&gt;
;[[:Category:HOWTO]]&lt;br /&gt;
: Collection of real world examples of how to use CRIU. Some are complex, some are not. HOW TO dump a [[simple loop]] might be the best one to start with. Also a set of [[asciinema]] records for real-life examples.&lt;br /&gt;
&lt;br /&gt;
;[https://www.criu.org/index.php?title=FAQ FAQ] &amp;amp; [[When C/R fails]]&lt;br /&gt;
: A sort of troubleshooting guide&lt;br /&gt;
&lt;br /&gt;
;[[What can change after C/R]]&lt;br /&gt;
: CRIU cannot (yet) save and restore every single bit of tasks' state. This page describes what bits visible through standard kernel API are such.&lt;br /&gt;
&lt;br /&gt;
;[[What cannot be checkpointed]]&lt;br /&gt;
: What an application could do to make CRIU refuse to dump it.&lt;br /&gt;
&lt;br /&gt;
;[[Contacts]]&lt;br /&gt;
: Ways to communicate with CRIU community&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== Developing ==&lt;br /&gt;
If you're interested in CRIU development, please subscribe to the criu mailing list: https://lists.openvz.org/mailman/listinfo/criu&lt;br /&gt;
&lt;br /&gt;
;[[Images]]&lt;br /&gt;
: Description of image files format&lt;br /&gt;
&lt;br /&gt;
;[[Plugins]]&lt;br /&gt;
: CRIU can call plugins provided by people&lt;br /&gt;
&lt;br /&gt;
;[[Upstream kernel commits]]&lt;br /&gt;
: Mainline kernel commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[Recent commits]]&lt;br /&gt;
: CRIU tool repository commits&lt;br /&gt;
&lt;br /&gt;
;[[Manpages]]&lt;br /&gt;
: Kernel's manpages commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[ZDTM Test Suite]]&lt;br /&gt;
: Zero downtime test suite&lt;br /&gt;
&lt;br /&gt;
;[[Todo|TODO]]&lt;br /&gt;
: Current TODO list&lt;br /&gt;
&lt;br /&gt;
;[[User namespace]]&lt;br /&gt;
: Implementing user namespace support&lt;br /&gt;
&lt;br /&gt;
;[[Postulates]]&lt;br /&gt;
: What to keep in mind when writing new code&lt;br /&gt;
&lt;br /&gt;
;[https://coveralls.io/github/checkpoint-restore/criu Code coverage results]&lt;br /&gt;
: Shows how zdtm run covers the criu code paths&lt;br /&gt;
&lt;br /&gt;
;[[How to submit patches]]&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Under the hood ==&lt;br /&gt;
* [[Checkpoint/Restore]]&lt;br /&gt;
* [[:Category:Under the hood]]&lt;br /&gt;
* [[:Category:Network]]&lt;br /&gt;
* [[:Category:Files]]&lt;br /&gt;
* [[:Category:Memory]]&lt;br /&gt;
* [[Pending signals]]&lt;br /&gt;
* [[Stages of restoring]]&lt;br /&gt;
* [[Code blobs]]&lt;br /&gt;
* [[Comparison to other CR projects]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== External links ==&lt;br /&gt;
{{:Articles}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[Academic Research]]&lt;br /&gt;
* [[Podcasts]] and other audio/video interviews&lt;br /&gt;
* Project [[history]]&lt;br /&gt;
* [[Logo]] description&lt;br /&gt;
* [[Events]]&lt;br /&gt;
* [[CRIU acronym fun]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Release_schedule&amp;diff=5527</id>
		<title>Release schedule</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Release_schedule&amp;diff=5527"/>
		<updated>2024-09-22T03:41:52Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* Past releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting from year 2018, the fixed release schedule is no more.&lt;br /&gt;
A new release is made about every few months, once it feels there are enough changes.&lt;br /&gt;
&lt;br /&gt;
Below you can find dates and codenames for future (if known) and past releases.&lt;br /&gt;
&lt;br /&gt;
== Future releases ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 ***** MAKE SURE TO EDIT [[Template:Codename]] and [[Template:Release date]] as well ***** --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
|-&lt;br /&gt;
| not selected&lt;br /&gt;
| ... Heron&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Past releases ==&lt;br /&gt;
&lt;br /&gt;
=== 2024 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||4.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2023 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.19|3.18}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2022 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2021 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.16}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2020 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.15|3.14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2019 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.13|3.12}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2018 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.11|3.10|3.9|3.8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.7|3.6|3.5|3.4|3.3|3.2|3.1|3.0|2.12|2.11|2.10}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2016 (2.x) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Older (1.x, 0.x) ===&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
* [[Download/criu/1.x|1.x]]&lt;br /&gt;
* [[Download/criu/0.x|0.x]]&lt;br /&gt;
&lt;br /&gt;
== Historical release schedules ==&lt;br /&gt;
&lt;br /&gt;
* Starting from version 2.0 and until the end of 2017, a new release was made once a month from the stable (master) branch with whatever is there.&lt;br /&gt;
&lt;br /&gt;
* Starting from version 1.3 and until the end of 2017, CRIU used the time-driven release model with strict/known future release dates.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Download/criu]] for the list of all releases, dates, and changelogs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Last_version&amp;diff=5526</id>
		<title>Template:Last version</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Last_version&amp;diff=5526"/>
		<updated>2024-09-22T03:41:02Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;4.0&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5525</id>
		<title>Download/criu/4.0</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5525"/>
		<updated>2024-09-21T09:33:21Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.0.c.jpg|400px|right]]&lt;br /&gt;
{{Release|4.0}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* Shadow stack support&lt;br /&gt;
* CUDA plugin: Introduced a plugin to support checkpointing and restoring NVIDIA CUDA applications.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* cgroup: Add support for restoring a thread in a correct v1 cgroup&lt;br /&gt;
* mem: fix some VMAs being incorrectly mapped wtih PROT_WRITE&lt;br /&gt;
* criu: fix a fatal failure if nft doesn't work&lt;br /&gt;
* net: Fix TOCTOU race condition in unix_conf_op&lt;br /&gt;
* pagemap-cache: handle short reads&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* Pagemap cache: Added support for PAGEMAP_SCAN ioctl&lt;br /&gt;
* zdtm: Added tests for IP_TTL restore&lt;br /&gt;
* irmap: hardcode some more interesting paths&lt;br /&gt;
* util: use close_range when it's supported&lt;br /&gt;
* Fixes and improvements in amdgpu-plugin&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5524</id>
		<title>Download/criu/4.0</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5524"/>
		<updated>2024-09-21T09:09:32Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.0.c.jpg|400px|right]]&lt;br /&gt;
{{Release|4.0}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* Shadow stack support&lt;br /&gt;
* CUDA plugin: Introduced a plugin to support checkpointing and restoring NVIDIA CUDA applications.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* Pagemap cache: Added support for PAGEMAP_SCAN ioctl&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.0.c.jpg&amp;diff=5523</id>
		<title>File:4.0.c.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.0.c.jpg&amp;diff=5523"/>
		<updated>2024-09-21T09:08:56Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.0.b.jpg&amp;diff=5522</id>
		<title>File:4.0.b.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.0.b.jpg&amp;diff=5522"/>
		<updated>2024-09-21T09:02:29Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.0.a.jpg&amp;diff=5521</id>
		<title>File:4.0.a.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.0.a.jpg&amp;diff=5521"/>
		<updated>2024-09-21T09:01:45Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5520</id>
		<title>Download/criu/4.0</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5520"/>
		<updated>2024-09-21T09:01:15Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.0.a.jpg|400px|right]]&lt;br /&gt;
{{Release|4.0}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* Shadow stack support&lt;br /&gt;
* CUDA plugin: Introduced a plugin to support checkpointing and restoring NVIDIA CUDA applications.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* Pagemap cache: Added support for PAGEMAP_SCAN ioctl&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:4.0.jpg&amp;diff=5519</id>
		<title>File:4.0.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:4.0.jpg&amp;diff=5519"/>
		<updated>2024-09-21T08:59:40Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5513</id>
		<title>Download/criu/4.0</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/4.0&amp;diff=5513"/>
		<updated>2024-09-21T08:37:47Z</updated>

		<summary type="html">&lt;p&gt;Avagin: Created page with &amp;quot;&amp;lt;!--       **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing       Use {{Bug|123}} to link to a github issue --&amp;gt; right {{Release|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:4.0.jpg|400px|right]]&lt;br /&gt;
{{Release|4.0}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* Shadow stack support&lt;br /&gt;
* CUDA plugin: Introduced a plugin to support checkpointing and restoring NVIDIA CUDA applications.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* Pagemap cache: Added support for PAGEMAP_SCAN ioctl&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Changelogs&amp;diff=5512</id>
		<title>Changelogs</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Changelogs&amp;diff=5512"/>
		<updated>2024-09-21T08:28:38Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains all the changelogs for all the released CRIU versions. This is mostly useful for doing a search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fe|Changelog|{{nln}}|4.0|3.19|3.18|3.17.1|3.17|3.16|3.15|3.14|3.13|3.12|3.11|3.10|3.9|3.8.1|3.8|3.7|3.6|3.5|3.4|3.3|3.2.1|3.2|3.1|3.0|2.12.1|2.12|2.11.1|2.11|2.10|2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0|1.8|1.7.2|1.7|1.6.1|1.6|1.5.2|1.5.1|1.5|1.4|1.3.1|1.3|1.3-rc2|1.3-rc1|1.2|1.1|1.1-rc2|1.1-rc1|1.0|0.8|0.7|0.6|0.5|0.4|0.3|0.2|0.1}}&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Codename&amp;diff=5511</id>
		<title>Template:Codename</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Codename&amp;diff=5511"/>
		<updated>2024-09-21T08:27:56Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v2.1  = Steel Lapwing&lt;br /&gt;
 | v2.2  = Carbon Nightingale&lt;br /&gt;
 | v2.3  = Wooden Duck&lt;br /&gt;
 | v2.4  = Marble Lark&lt;br /&gt;
 | v2.5  = Concrete Oriole&lt;br /&gt;
 | v2.6  = Paper Crane&lt;br /&gt;
 | v2.7  = Rubber Owl&lt;br /&gt;
 | v2.8  = Bronze Siskin&lt;br /&gt;
 | v2.9  = Silk Tit&lt;br /&gt;
 | v2.10 = Brass Waxwing&lt;br /&gt;
 | v2.11 = Acrylic Bullfinch&lt;br /&gt;
 | v2.12 = Vulcanite Rook&lt;br /&gt;
 | v3.0 = Basalt Wagtail&lt;br /&gt;
 | v3.1 = Graphene Swift&lt;br /&gt;
 | v3.2 = Tin Hoopoe&lt;br /&gt;
 | v3.3 = Crystal Pelican&lt;br /&gt;
 | v3.4 = Cobalt Swan&lt;br /&gt;
 | v3.5 = Clay Jay&lt;br /&gt;
 | v3.6 = Alabaster Finch&lt;br /&gt;
 | v3.7 = Vinyl Magpie&lt;br /&gt;
 | v3.8 = Snow Bunting&lt;br /&gt;
 | v3.8.1 = Snow Bunting&lt;br /&gt;
 | v3.9 = Sand Martin&lt;br /&gt;
 | v3.10 = Granite Eagle&lt;br /&gt;
 | v3.11 = Glass Flamingo&lt;br /&gt;
 | v3.12 = Ice Penguin&lt;br /&gt;
 | v3.13 = Silicon Willet&lt;br /&gt;
 | v3.14 = Platinum Peacock&lt;br /&gt;
 | v3.15 = Titanium Falcon&lt;br /&gt;
 | v3.16 = Petrified Puffin&lt;br /&gt;
 | v3.16.1 = Petrified Puffin&lt;br /&gt;
 | v3.17 = Radiant Redstart&lt;br /&gt;
 | v3.17.1 = Radiant Redstart&lt;br /&gt;
 | v3.18 = Silver Sandpiper&lt;br /&gt;
 | v3.19 = Bronze Peacock&lt;br /&gt;
 | v4.0  = CRIUDA&lt;br /&gt;
 | &amp;lt;!-- no codename --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the codename of a specified release. If there is no codename, empty string is produced.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|3.3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|3.3}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.0}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release schedule]] for future codenames&lt;br /&gt;
* [[Template:Release date]]&lt;br /&gt;
* [[Template:criu]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
* [[Template:Latest release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Release_date&amp;diff=5510</id>
		<title>Template:Release date</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Release_date&amp;diff=5510"/>
		<updated>2024-09-21T08:04:25Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v4.0     = 20 Sep 2024&lt;br /&gt;
 | v3.19    = 27 Nov 2023&lt;br /&gt;
 | v3.18    = 22 Apr 2023&lt;br /&gt;
 | v3.17.1  = 23 Jun 2022&lt;br /&gt;
 | v3.17    =  5 May 2022&lt;br /&gt;
 | v3.16.1  = 14 Oct 2021&lt;br /&gt;
 | v3.16    = 22 Sep 2021&lt;br /&gt;
 | v3.15    = 03 Nov 2020&lt;br /&gt;
 | v3.14    = 29 Apr 2020&lt;br /&gt;
 | v3.13    = 11 Sep 2019&lt;br /&gt;
 | v3.12    = 25 Apr 2019&lt;br /&gt;
 | v3.11    = 06 Nov 2018&lt;br /&gt;
 | v3.10    = 10 Jul 2018&lt;br /&gt;
 | v3.9     = 21 May 2018&lt;br /&gt;
 | v3.8.1   = 29 Mar 2018&lt;br /&gt;
 | v3.8     = 13 Mar 2018&lt;br /&gt;
 | v3.7     = 19 Dec 2017&lt;br /&gt;
 | v3.6     = 23 Oct 2017&lt;br /&gt;
 | v3.5     = 27 Sep 2017&lt;br /&gt;
 | v3.4     = 21 Aug 2017&lt;br /&gt;
 | v3.3     = 18 Jul 2017&lt;br /&gt;
 | v3.2.1   = 28 Jun 2017&lt;br /&gt;
 | v3.2     = 19 Jun 2017&lt;br /&gt;
 | v3.1     = 22 May 2017&lt;br /&gt;
 | v3.0     = 24 Apr 2017&lt;br /&gt;
 | v2.12.1  = 27 Mar 2017&lt;br /&gt;
 | v2.12    =  8 Mar 2017&lt;br /&gt;
 | v2.11.1  = 17 Feb 2017&lt;br /&gt;
 | v2.11    = 13 Feb 2017&lt;br /&gt;
 | v2.10    = 16 Jan 2017&lt;br /&gt;
 | v2.9     = 12 Dec 2016&lt;br /&gt;
 | v2.8     = 14 Nov 2016&lt;br /&gt;
 | v2.7     = 17 Oct 2016&lt;br /&gt;
 | v2.6     = 12 Sep 2016&lt;br /&gt;
 | v2.5     = 15 Aug 2016&lt;br /&gt;
 | v2.4     = 11 Jul 2016&lt;br /&gt;
 | v2.3     = 14 Jun 2016&lt;br /&gt;
 | v2.2     = 16 May 2016&lt;br /&gt;
 | v2.1     = 11 Apr 2016&lt;br /&gt;
 | v2.0     =  7 Mar 2016&lt;br /&gt;
 | v1.8     =  7 Dec 2015&lt;br /&gt;
 | v1.7.2   = 28 Oct 2015&lt;br /&gt;
 | v1.7     =  7 Sep 2015&lt;br /&gt;
 | v1.6.1   = 12 Aug 2015&lt;br /&gt;
 | v1.6     =  1 Jun 2015&lt;br /&gt;
 | v1.5.2   = 28 Apr 2015&lt;br /&gt;
 | v1.5.1   = 31 Mar 2015&lt;br /&gt;
 | v1.5     =  2 Mar 2015&lt;br /&gt;
 | v1.4     =  1 Dec 2014&lt;br /&gt;
 | v1.3.1   = 12 Sep 2014&lt;br /&gt;
 | v1.3     =  1 Sep 2014&lt;br /&gt;
 | v1.3-rc2 = 18 Jun 2014&lt;br /&gt;
 | v1.3-rc1 = 25 Apr 2014&lt;br /&gt;
 | v1.2     = 26 Feb 2014&lt;br /&gt;
 | v1.1     = 28 Jan 2014&lt;br /&gt;
 | v1.1-rc2 = 20 Jan 2014&lt;br /&gt;
 | v1.1-rc1 = 30 Dec 2013&lt;br /&gt;
 | v1.0     = 25 Nov 2013&lt;br /&gt;
 | v0.8     = 18 Oct 2013&lt;br /&gt;
 | v0.7     =  3 Sep 2013&lt;br /&gt;
 | v0.6     =  1 Jul 2013&lt;br /&gt;
 | v0.5     = 30 Apr 2013&lt;br /&gt;
 | v0.4     = 20 Feb 2013&lt;br /&gt;
 | v0.3     = 11 Dec 2012&lt;br /&gt;
 | v0.2     = 20 Sep 2012&lt;br /&gt;
 | v0.1     = 23 Jul 2012&lt;br /&gt;
 | &amp;lt;!-- unknown release? return nothing --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the date of a specified release.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.10}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|1.3-rc1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|1.3-rc1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|0.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|0.1}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Template:Codename]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Changelogs&amp;diff=5509</id>
		<title>Changelogs</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Changelogs&amp;diff=5509"/>
		<updated>2024-09-21T08:00:44Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains all the changelogs for all the released CRIU versions. This is mostly useful for doing a search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fe|Changelog|{{nln}}|3.19|3.18|3.17.1|3.17|3.16|3.15|3.14|3.13|3.12|3.11|3.10|3.9|3.8.1|3.8|3.7|3.6|3.5|3.4|3.3|3.2.1|3.2|3.1|3.0|2.12.1|2.12|2.11.1|2.11|2.10|2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0|1.8|1.7.2|1.7|1.6.1|1.6|1.5.2|1.5.1|1.5|1.4|1.3.1|1.3|1.3-rc2|1.3-rc1|1.2|1.1|1.1-rc2|1.1-rc1|1.0|0.8|0.7|0.6|0.5|0.4|0.3|0.2|0.1}}&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=News/events&amp;diff=5508</id>
		<title>News/events</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=News/events&amp;diff=5508"/>
		<updated>2024-09-19T14:58:41Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt; __NOTOC__&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
   This page is&lt;br /&gt;
   1. used directly (i.e. one can view it);&lt;br /&gt;
   2. included into some other pages;&lt;br /&gt;
   3. exported via RSS.&lt;br /&gt;
   Because of that, extreme care should be taken when modifying it.&lt;br /&gt;
&lt;br /&gt;
   PLEASE MAKE SURE MOST RECENT EVENTS GO FIRST&lt;br /&gt;
&lt;br /&gt;
   --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page collects into about events criu takes part in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;startFeed/&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2023 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''18-20 Sep 2024, [https://lpc.events/event/18/sessions/193/#20240919 Containers and Checkpoint/Restore Microconference]&lt;br /&gt;
&lt;br /&gt;
 Other talks:&lt;br /&gt;
 * [https://lpc.events/event/18/contributions/1729/ Userspace memory persistence over kexec]&lt;br /&gt;
 * [https://lpc.events/event/18/contributions/1812/ Checkpoint/Restore In eBPF (CRIB)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&amp;lt;endFeed/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[News/events/past|Past events]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=News/events/past&amp;diff=5507</id>
		<title>News/events/past</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=News/events/past&amp;diff=5507"/>
		<updated>2024-09-19T14:52:47Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ACHTUNG: please always use FULL SIGNATURE, i.e. --~~~~ as its date is used in RSS --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|this page lists events that has happened already, kept here just for historical reasons. For future events, see [[News/events]].}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== CloudNativeSecurityCon North America 2024 ==&lt;br /&gt;
[[Image:CloudNativeSecurityCon.png|left|200px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 27, 2024, Seattle, Washington'''&lt;br /&gt;
&lt;br /&gt;
[https://sched.co/1dCVs End-to-End Encryption for Container Checkpointing in Kubernetes]&lt;br /&gt;
&lt;br /&gt;
== Open Source Summit North America 2024 ==&lt;br /&gt;
[[Image:oss-na.png|left|200px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''April 17, 2024, Seattle, Washington'''&lt;br /&gt;
&lt;br /&gt;
[https://sched.co/1aPu9 Investigating Checkpoint and Restore for GPU-Accelerated Containers]&lt;br /&gt;
&lt;br /&gt;
== NVIDIA GTC 2024 ==&lt;br /&gt;
[[Image:nvidia-gtc.png|left|150px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''March 21, 2024, San Jose, CA'''&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/gtc/posters/#/session/1705106137731001cNAN Achieving K8S and Public Cloud Operational Efficiency using a New Checkpoint/Restart Feature for GPUs]&lt;br /&gt;
&lt;br /&gt;
== KubeCon EU 2024 ==&lt;br /&gt;
[[Image:Kubecon.png|left|150px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''March 22, 2024, Paris, France'''&lt;br /&gt;
&lt;br /&gt;
[https://sched.co/1YeP3 The Party Must Go on - Resume Pods After Spot Instance Shut Down]&lt;br /&gt;
&lt;br /&gt;
[https://sched.co/1YeT4 Enabling Coordinated Checkpointing for Distributed HPC Applications]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2024 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''February 3, 2024, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2024/schedule/event/fosdem-2024-3454-zeroing-and-the-semantic-gap-between-host-and-guest/ Zeroing and the semantic gap between host and guest]&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2024/schedule/event/fosdem-2024-1855-forensic-container-checkpointing-and-analysis/ Forensic container checkpointing and analysis]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2023 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''13 Nov 2023, [https://lpc.events/event/17/sessions/162/ Containers and Checkpoint/Restore Microconference]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/17/contributions/1572/ Introducing PAGEMAP_SCAN IOCTL for Windows syscalls translation and CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/17/contributions/1570/ Fuse mounts recovery and Checkpoint/Restore]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/17/contributions/1568/ Protecting Sensitive Data in Container Checkpoints]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open Source Summit Europe 2023 ==&lt;br /&gt;
[[Image:Osseu.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Sept 20, 2023, Bilbao, Spain'''&lt;br /&gt;
&lt;br /&gt;
[https://osseu2023.sched.com/event/1OGi9/digital-forensics-with-container-checkpointing-daniel-simionato-javier-martinez-sysdig Digital Forensics with Container Checkpointing]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GopherCon India 2023 ==&lt;br /&gt;
[[Image:Gopher-india.jpg|left|50px|link=https://gopherconindia.org/]]&lt;br /&gt;
&lt;br /&gt;
'''Sept 9, 2023, Pune, India'''&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=UGQgcIz9xGc Container checkpoints with Go and CRIU]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LSDS Seminar ==&lt;br /&gt;
[[Image:Lsds-logo.jpg|left|200px|link=https://lsds.doc.ic.ac.uk/]]&lt;br /&gt;
&lt;br /&gt;
'''March 9, 2023, Imperial College London'''&lt;br /&gt;
&lt;br /&gt;
[https://lsds.doc.ic.ac.uk/content/transparent-container-checkpointing-and-rollback-recovery-kubernetes-open-challenges-and Transparent Container Checkpointing and Rollback-Recovery with Kubernetes: Open Challenges and Research Directions]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2023 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''February 4, 2023, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2023/schedule/event/container_kubernetes_criu/ Kubernetes and Checkpoint/Restore]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2022 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''14 Sep 2022, [https://lpc.events/event/16/sessions/136/ Containers and Checkpoint/Restore Microconference]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/16/contributions/1241/ Restoring process trees with child-sub-reapers, nested pid-namespaces and inherit-only resources]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/16/contributions/1242/ Unprivileged CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://lpc.events/event/16/contributions/1243/ Bringing up FUSE mounts C/R support]&lt;br /&gt;
&lt;br /&gt;
== stackconf 2022 ==&lt;br /&gt;
[[Image:stackconf.png|left|200px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Jul 19, Berlin&lt;br /&gt;
&lt;br /&gt;
[https://stackconf.eu/talks/kubernetes-and-checkpoint-restore/ Kubernetes and Checkpoint/Restore]&lt;br /&gt;
&lt;br /&gt;
== KubeCon + CloudNativeCon North America 2021 ==&lt;br /&gt;
[[Image:kubecon-2021.png|left|200px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''October 11-15, Los Angeles, California&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BXVyszsbYmg Container Checkpoint/Restore at Scale for Fast Pod Startup Time]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== X.Org Developer Conference 2021 ==&lt;br /&gt;
&lt;br /&gt;
'''September 15, [https://youtu.be/uTZISTjqy9Q online on the wider Internet]&lt;br /&gt;
&lt;br /&gt;
[https://indico.freedesktop.org/event/1/contributions/18/ Fast Checkpoint Restore for AMD GPUs with CRIU]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2021 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''20 Sep 2021, [https://linuxplumbersconf.org/event/11/sessions/101/#20210920 Containers and Checkpoint/Restore Microconference] ([https://www.youtube.com/watch?v=SKyxugj8rxE video recording])&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/11/contributions/891/ Fast Checkpoint Restore for GPUs]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/11/contributions/923/ Mount-v2 CRIU migration engine: status update]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/11/contributions/924/ Alternative ways to extract information about processes]&lt;br /&gt;
&lt;br /&gt;
== Container Plumbing Days 2021 ==&lt;br /&gt;
[[Image:Container_plumbing_days.svg|left|100px]]&lt;br /&gt;
&lt;br /&gt;
'''March 09, 2021, virtual'''&lt;br /&gt;
&lt;br /&gt;
[https://containerplumbing.org/sessions/containerm Container Migration News]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 16:10, 11 March 2021 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DevConf.cz 2021 ==&lt;br /&gt;
[[Image:Devconf17.svg|left|100px]]&lt;br /&gt;
&lt;br /&gt;
'''February 19, 2021, virtual'''&lt;br /&gt;
&lt;br /&gt;
[https://devconfcz2021.sched.com/event/gmId/container-live-migration Container Live Migration]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 16:10, 11 March 2021 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open Source Summit Europe 2020 ==&lt;br /&gt;
[[Image:Osseu.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 26, 2020, Virtual'''&lt;br /&gt;
&lt;br /&gt;
[https://osseu2020.sched.com/event/eCDH/container-live-migration-adrian-reber-red-hat Container Live Migration]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 16:10, 11 March 2021 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2020 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''August 24-28, [https://linuxplumbersconf.org/event/7/ online on the wider Internet]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/7/contributions/641/ Fast checkpointing with criu-image-streamer]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/7/contributions/642/ FastFreeze: Unprivileged checkpoint/restore for containerized applications]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/7/contributions/640/ CRIU mounts migration: problems and solutions]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/7/contributions/643/ Checkpoint-restoring containers with Docker inside]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Phoronix news ==&lt;br /&gt;
[[Image:phoronix.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''August 4, 2020, online'''&lt;br /&gt;
&lt;br /&gt;
[https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Linux-5.9-Checkpoint-Restore Checkpoint/Restore Of Unprivileged Processes Sent In For Linux 5.9]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DevOops 2020 ==&lt;br /&gt;
[[Image:Devoops.svg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''July 10, 2020, online'''&lt;br /&gt;
&lt;br /&gt;
[https://devoops-moscow.ru/en/2020/msk/talks/2eyl2ebmmix5ovx9imqhu9/ Container live migration with Podman and CRIU]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 16:10, 11 March 2021 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenShift Twitch 2020 ==&lt;br /&gt;
[[Image:Openshift.jpg|left|50px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 20, 2020, online'''&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=-7DgNxyuz_o Container Migration and CRIU Details]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 16:10, 11 March 2021 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2020 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Feburary 1, 2020, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2020/schedule/event/containers_live_migration/ Container Live Migration]&lt;br /&gt;
&lt;br /&gt;
--[[User:Rppt]] 19:22, 28 February 2020‎ (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2019 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''September 9-11, Lisbon, Portugal'''&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/4/contributions/508/ Update on Task Migration at Google Using CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/4/contributions/472/ CRIU and the PID dance]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/4/contributions/513/ CRIU: Reworking vDSO proxification, syscall restart]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/4/contributions/478/ Secure Image-less Container Migration]&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin]] 14:05, 23 Aug 2019 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tübix 2019 ==&lt;br /&gt;
[[Image:tuex.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Jul 06, 2019, Tübingen, Germany'''&lt;br /&gt;
&lt;br /&gt;
Adrian Reber [https://www.tuebix.org/2019/programm/adrian-reber-container-live-migration/ Container Live Migration]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Google Summer of Code 2019 ==&lt;br /&gt;
[[Image:gsoc.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Mar-Sep 2019'''&lt;br /&gt;
&lt;br /&gt;
[https://summerofcode.withgoogle.com/organizations/6333591376625664/ Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2018 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Nov 13-15 , 2018, Vancouver, BC, Canada'''&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/202/ Time Namespaces]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/207/ Another year with CRIU: News from the developers]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/205/ News from academia: FatELF, RDMA and CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/135/ Remote page faults over RDMA]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/209/ Task Migration at Google Using CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/210/ Securely Migrating Untrusted Workloads with CRIU]&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/event/2/contributions/69/ Task Migration at Scale Using CRIU]&lt;br /&gt;
&lt;br /&gt;
--[[User:Radostin]] 14:05, 18 Nov 2018 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open Source Summit Europe 2018 ==&lt;br /&gt;
[[Image:Osseu17.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 24, 2018, Edinburgh, UK'''&lt;br /&gt;
&lt;br /&gt;
[https://osseu18.sched.com/event/FxYI/to-kill-or-to-checkpoint-that-is-the-question-mike-rapoport-ibm-adrian-reber-red-hat To Kill, or to Checkpoint - That is the Question]&lt;br /&gt;
&lt;br /&gt;
--[[User:Adrian]] 09:46, 29 September 2018 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Serverless meetup, Moscow ==&lt;br /&gt;
[[Image:Meetup.svg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 18, 2018, Moscow'''&lt;br /&gt;
&lt;br /&gt;
[https://www.meetup.com/ru-RU/moscow-serverless/events/255386528/ Задержки при вызове serverless функций: как формируются, на что влияют и как ими управлять], Владимир Порохов, Swifty Cloud&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 11:55, 17 October 2018 (UTC)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2018 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Feburary 4, 2018, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2018/schedule/event/containers_containing_memory/ Containers devroom]&lt;br /&gt;
* Containing container memory -- Mike Rapoport&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Andrey Vagin]] 22:48, 31 Jan 2018 (PST) &lt;br /&gt;
&lt;br /&gt;
== Open Source Summit EU 2017 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Osseu17.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 23, 2017, Prague, Czech Republic'''&lt;br /&gt;
&lt;br /&gt;
Mike Rapoport and Adrian Reber [http://sched.co/BxIG will talk about live migration]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 12:00, 23 Aug 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SECR 2017 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Secr17logo.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 20, 2017, St. Petersburg, Russia'''&lt;br /&gt;
&lt;br /&gt;
Pavel Begunkov will talk about [http://2017.secr.ru/lang/en/program/submitted-presentations/checkpointrestore-of-file-locks-from-userspace-in-linux file locks] checkpoint and restore.&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 13:30, 12 Sep 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open Source Summit NA 2017 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:OSS_na_white_0.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Sep 11, 2017, Los Angeles, USA'''&lt;br /&gt;
&lt;br /&gt;
Michael Holzheu [http://sched.co/BDpJ will talk] about CRIU on IBM mainframes.&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 14:00, 29 Jun 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2017 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Sep 13-15, 2017, Los Angeles, CA, USA'''&lt;br /&gt;
&lt;br /&gt;
[https://linuxplumbersconf.org/2017/ocw/events/LPC2017/tracks/637 Checkpoint-Restore microconf]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 18:20, 9 Aug 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Systor 2017 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Systor_2017.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''May 22-24, 2017, Haifa, Israel'''&lt;br /&gt;
&lt;br /&gt;
[https://systor17posters.hotcrp.com/paper/8?cap=08aenKqSiwS9bA Accepted paper] about post-copy live migration from Mike Rapoport and Joel Nider&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 15:40, 21 Apr 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SCALE 15x ==&lt;br /&gt;
&lt;br /&gt;
[[Image:scale 15x logo.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''March 2-5, 2017, Pasadena, CA, USA'''&lt;br /&gt;
&lt;br /&gt;
Kir Kolyshkin talked about some uncommon ways to use CRIU. [https://www.youtube.com/watch?v=7PKMctKf2JQ&amp;amp;t=18058 Video recording].&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 20:57, 13 February 2017 (UTC)&lt;br /&gt;
&lt;br /&gt;
== DevConf.cz 2017 ==&lt;br /&gt;
[[Image:Devconf17.svg|left|100px]]&lt;br /&gt;
&lt;br /&gt;
'''January 27-29, 2017, Brno, Czech Republic'''&lt;br /&gt;
&lt;br /&gt;
[https://devconf.cz/schedule.html Decreasing container downtime during migration] by Adrian Reber. (the devconf site is not URL-friendly these days, go to Day-3 tab and check 11AM talks)&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 9:20, 12 Jan 2016 (MSG)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2d1o podcast (rus) ==&lt;br /&gt;
'''Dec 22, 2016, On-Air'''&lt;br /&gt;
&lt;br /&gt;
[https://www.2d1o.ru/episodes/s01e03.html 2d1o podcast] invited Pavel Emelyanov to talk about Live migration (of Docker containers).&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 11:00, 9 Jan 2017 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Middleware 2016 ==&lt;br /&gt;
'''Dec 12-16, 2016, Trento, Italy'''&lt;br /&gt;
&lt;br /&gt;
Rodrigo Bruno gave a talk about Live Migrating JVM workloads using CRIU. Search for 'ALMA' on the [http://2016.middleware-conference.org/program/overall/ schedule page] :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 15:00, 19 Dec 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Piter ==&lt;br /&gt;
[[Image:Linuxpiter.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Nov 11-12, 2016, St. Petersburg, Russia'''&lt;br /&gt;
&lt;br /&gt;
Tycho Andersen will talk about [http://www.it-events.com/ru/events/6997#tabs-programm live migration in LXD]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 11:30, 12 Oct 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers Conference 2016 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Nov 2-4, 2016, Santa Fe, NM, USA'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.linuxplumbersconf.org/2016:checkpoint-restart Checkpoint-Restore micro-conference] within the [http://www.linuxplumbersconf.org/2016/ bigger event]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 21:50, 25 Apr 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenStack summit 2016 ==&lt;br /&gt;
[[Image:OpenStack_Summit.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Oct 25-28, 2016, Barcelona, Spain'''&lt;br /&gt;
&lt;br /&gt;
Phil Estes talks about [https://www.openstack.org/summit/barcelona-2016/summit-schedule/events/15091/live-container-migration-on-openstack live container migration in OpenStack]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 13:00, 25 Oct 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux kernel meetup in Tel-Aviv ==&lt;br /&gt;
&lt;br /&gt;
'''July 12, 2016, Tel-Aviv Israel'''&lt;br /&gt;
&lt;br /&gt;
Mike Rapoport will deliver [http://www.meetup.com/Tel-Aviv-Yafo-Linux-Kernel-Meetup/events/232058698/?gj=te1&amp;amp;rv=te1 a talk about UserfaultFD and lazy migration].&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 12:50, 24 Jun 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OSC'16 ==&lt;br /&gt;
[[Image:Oscfinal.png|left|100px|link=]]&lt;br /&gt;
'''June 22, 2016, Nürnberg, Germany'''&lt;br /&gt;
&lt;br /&gt;
Takashi Iwai [https://media.ccc.de/v/896-exploring-criu Exploring CRIU]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 16:15, 27 Jun 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== USENIX ATC'16 ==&lt;br /&gt;
[[Image:Usenix-logo.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 22-24, 2016, Denver, CO, USA'''&lt;br /&gt;
&lt;br /&gt;
Sanidhya Kashyap will present [https://www.usenix.org/conference/atc16/technical-sessions/presentation/kashyap KuP] -- an instant OS updater using CRIU&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 11:30, 25 Apr 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Black belt tech @ DockerCon 2016 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Dockercon16.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 19-21, 2016, Seattle, WA, USA'''&lt;br /&gt;
&lt;br /&gt;
Ross Boucher will talk about [https://blog.docker.com/2016/04/black-belt-talks-dockercon-2016/ Cloning running services with Docker and CRIU]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 14:30, 13 Apr 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tuebingen 2016 ==&lt;br /&gt;
'''Jun 11, 2016, Tübingen, Germany'''&lt;br /&gt;
&lt;br /&gt;
Adrian Reber [http://www.tuebix.org/2016/programm/adrian-reber-container-migration-using-criu-and-lxc/ will presend] the [[Userfaultfd]] and lazy migration.&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 14:15, 7 Jun 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Systor 2016 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Systor2016.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Jun 6-8, 2016, Haifa, Israel'''&lt;br /&gt;
&lt;br /&gt;
[http://www.systor.org/2016/accepted.html Accepted paper] about containers live migration from Mike Rapoport&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 20:15, 6 May 2016 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DevConf.cz 2016 ==&lt;br /&gt;
[[Image:Devconf.cz-logo.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''February 5, 2016, Brno, Czech Republic'''&lt;br /&gt;
&lt;br /&gt;
[https://devconfcz2016.sched.org/event/5lzL/live-migrating-a-container-pros-cons-and-gotchas Live migrating a container: pros, cons and gotchas] by Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 9:20, 12 Jan 2016 (MSG)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2016 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''January 30, 2016, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://www.fosdem.org/2016/schedule/track/containers_and_process_isolation/ Containers devroom]&lt;br /&gt;
* Using p.haul to migrate containers -- Tycho Andersen&lt;br /&gt;
* New horizons for the CRIU project -- Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 00:45, 19 December 2015 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LinuxMeetup Nizhny Novgorod 2016 ==&lt;br /&gt;
'''January 22, 2016, Nizhny Novgorod, Russia'''&lt;br /&gt;
&lt;br /&gt;
[https://mdday.timepad.ru/event/279578/ И овцы целы, и волки сыты: как перезапустить проблемное приложение и одновременно отладить его] -- Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] 13:00, 29 December 2015 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Piter 2015 ==&lt;br /&gt;
[[Image:Tux.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''November 21, 2015, Saint Petersburg, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://www.it-sobytie.ru/events/4868 Живая миграция контейнеров: плюсы, минусы, подводные камни] -- Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 07:24, 26 August 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DockerCon 2015 ==&lt;br /&gt;
[[Image:DockerCon15.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''November 16-17, 2015, Barcelona, Spain'''&lt;br /&gt;
&lt;br /&gt;
Talk about live migration of containers -- [http://europe-2015.dockercon.com/speakers Pavel Emelyanov]&lt;br /&gt;
&lt;br /&gt;
-- [[User:Xemul|Xemul]] 15:00, 1 October 2015 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ContainerDays NYC 2015 ==&lt;br /&gt;
[[Image:2015-nyc-logo.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''October 30, 2015, New York, U.S.A.'''&lt;br /&gt;
&lt;br /&gt;
[http://dynamicinfradays.org/events/2015-nyc/programme.html#criu CRIU: Time and Space Travel for Linux Containers] -- by Kirill Kolyshkin&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 00:43, 14 September 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Двенадцатая конференция разработчиков свободных программ ==&lt;br /&gt;
[[Image:Altlinux-logo.gif|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''October 16-18, 2015, Kaluga, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://www.altlinux.ru/news/archive/2015/08/item/743/ Живая миграция контейнеров: плюсы, минусы, подводные камни] --  Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 08:17, 1 October 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenVZ meetup ==&lt;br /&gt;
[[Image:Yandex.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''September 19, 2015, Moscow, Russia'''&lt;br /&gt;
&lt;br /&gt;
[https://events.yandex.ru/events/yagosti/19-september-2015-linux/ Встреча разработчиков Linux-контейнеров]&lt;br /&gt;
&lt;br /&gt;
* Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов&lt;br /&gt;
* CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 06:19, 28 August 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers 2015 ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''August 19-21, 2015, Seattle, WA, USA'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.linuxplumbersconf.org/2015:ckptrestart C/R miniconf]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] ([[User talk:Xemul|talk]]) 16:30, 9 February 2015 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DevZen podcast ==&lt;br /&gt;
[[Image:Devzen.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''July 17, 2015, on air'''&lt;br /&gt;
&lt;br /&gt;
Pavel Emelyanov and Kirill Gorcunov will talk about CRIU.&lt;br /&gt;
&lt;br /&gt;
[http://devzen.ru/ DevZen podcast]&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 09:10, 3 July 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LVEE 2015 ==&lt;br /&gt;
[[File:Logo_lvee_2015.svg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''25-28 June 2015, Grodno, Belarus'''&lt;br /&gt;
&lt;br /&gt;
[http://lvee.org/ru/conference_registrations/LVEE%202015 О том как маленький open-source проект меняет жизнь большой компании]&lt;br /&gt;
&lt;br /&gt;
Pavel Emelyanov will talk about CRIU community (in Russian).&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 08:08, 1 July 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OS Day 2015 ==&lt;br /&gt;
[[File:Os-day-logo.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''9-10 June 2015, Kazan, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://osday.org/emelyanov.html#speaker Консервирование процессов в домашних условиях]&lt;br /&gt;
&lt;br /&gt;
Pavel Emelyanov will talk about CRIU's recent achievements and use-cases (in Russian).&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] (19 May 2015 (MSK))&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ContainerDays 2015 ==&lt;br /&gt;
[[File:Logo-ContainerDays.png|left|100px|link=]]&lt;br /&gt;
'''June 5-6 2015, Boston, MA, USA'''&lt;br /&gt;
&lt;br /&gt;
Kir Kolyshkin from OpenVZ project will give a talk [http://dynamicinfradays.org/events/2015-boston/programme.html#nproblems &amp;quot;N Problems of Linux Containers...and Some Solutions&amp;quot;] mentioning CRIU in it.&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul]] (4 Jun 2015)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DevOps Дефлопе ==&lt;br /&gt;
[[File:Deflope.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 2015, On Air'''&lt;br /&gt;
&lt;br /&gt;
[http://devopsdeflope.ru/ DevOps Дефлопе - Русскоязычный подкаст о DevOps]&lt;br /&gt;
&lt;br /&gt;
Andrew Vagin talks about integration CRIU and Docker and how checkpointing of processes can help in DevOps (in Russian).&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 08:26, 14 May 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FLOSS Weekly 2015 ==&lt;br /&gt;
[[Image:Floss-weekly.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''April 29, 2015, 8:30am PDT (15:30 GMT), live on air'''&lt;br /&gt;
&lt;br /&gt;
[http://twit.tv/show/floss-weekly/334 Episode about CRIU]&lt;br /&gt;
&lt;br /&gt;
--[[User:Sergey Bronnikov|SergeyB]] ([[User talk:Sergey Bronnikov|talk]]) 09:35, 8 April 2015 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2015 ==&lt;br /&gt;
[[Image:Fosdem.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''February 1, 2015, Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2015/schedule/event/livemigration/ Live migration for containers is around the corner] -- Andrew Vagin&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Andrey Vagin]] 10:20, 13 January 2015 (EST)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Meet-Up ==&lt;br /&gt;
&lt;br /&gt;
'''October 29, 2014, Moscow, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://www.meetup.com/DevOps-Moscow-in-Russian/events/214753582/ Talk about CRIU and Docker] -- Pavel Emelyanov&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Pavel Emelyanov]] 19:30, 23 Oct 2014 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Plumbers ==&lt;br /&gt;
[[Image:Linuxplumbers.png|left|100px|link=]]&lt;br /&gt;
'''October 15-17, 2014, Dusseldorf, Germany'''&lt;br /&gt;
&lt;br /&gt;
[http://www.linuxplumbersconf.org/2014/an-in-depth-look-containers-microconference/ CRIU discussion at Containers mini-conf ] -- Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] ([[User talk:Xemul|talk]]) 11:35, 23 October 2014 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Meetup ==&lt;br /&gt;
&lt;br /&gt;
'''September 17, 2014, Mountain View, CA, USA'''&lt;br /&gt;
&lt;br /&gt;
[http://www.meetup.com/Docker-Mountain-View/events/204603722/ Docker MV Meetup #3 at Google] -- Saied Kazemi [https://speakerdeck.com/saied/experimental-docker-checkpoint-and-restore-with-criu talked] about Docker + CRIU&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] ([[User talk:Xemul|talk]]) 03:26, 19 September 2014 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open WG Talk ==&lt;br /&gt;
[[Image:Content_wg_talk.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''Friday, July 18, 2014, Minsk, Belarus'''&lt;br /&gt;
&lt;br /&gt;
[https://www.eventbrite.com/e/open-wg-talk-2-linux-container-virtualization-tickets-12189971533?fb_action_ids=705517169505083&amp;amp;fb_action_types=og.likes&amp;amp;fb_source=feed_opengraph&amp;amp;action_object_map=%7B%22705517169505083%22%3A753726634669877%7D&amp;amp;action_type_map=%7B%22705517169505083%22%3A%22og.likes%22%7D&amp;amp;action_ref_map=%5B%5D Open WG Talk #2 (Linux container virtualization)] -- Andrey Vagin&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Avagin]] ([[User talk:Avagin|talk]]) 10:58, 7 July 2014 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Texas Linux Fest 2014 ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Txlf2014.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''June 13-14, 2014, Austin, Texas, US'''&lt;br /&gt;
&lt;br /&gt;
[http://texaslinuxfest.org/content/criu-time-and-space-travel-service-linux-apps CRIU: time and space travel service for Linux apps] -- Kir Kolyshkin&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 11:52, 6 June 2014 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Meetup ==&lt;br /&gt;
&lt;br /&gt;
'''March 26, 2014, Tel Aviv, Israel'''&lt;br /&gt;
&lt;br /&gt;
[http://www.meetup.com/Docker-Tel-Aviv/ Linux Containers and the Future Cloud] -- Rami Rosen&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 12:50, 24 March 2014 (EDT)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Haifux (LUG) ==&lt;br /&gt;
[[Image:Haifux.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''March 17, 2014, Haifa, Israel'''&lt;br /&gt;
&lt;br /&gt;
[http://haifux.org/lectures/320/ Linux Containers and the Future Cloud] -- Rami Rosen&lt;br /&gt;
&lt;br /&gt;
--[[User:Rami|Rami]] 03:23, 23 Feb 2014 (PST)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SCALE 12x talk ==&lt;br /&gt;
[[Image:Scale_12x_dodecahedron.png|left|100px]]&lt;br /&gt;
&lt;br /&gt;
'''Feb 23, 2014, Los Angeles'''&lt;br /&gt;
&lt;br /&gt;
[http://www.socallinuxexpo.org/scale12x/presentations/seven-problems-linux-containers Seven problems of Linux Containers] -- Kir Kolyshkin&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] 13:00, 22 Feb 2014 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Moscow Virtualization Meetup ==&lt;br /&gt;
&lt;br /&gt;
'''15 Feb, 2014, Moscow, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://tech.yandex.ru/events/yagosti/msk-feb-2014/talks/1655/ CRIU 1.0 What is next?]&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Avagin]] ([[User talk:Avagin|talk]]) 05:55, 30 January 2014 (EST)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hangout-on-Air ==&lt;br /&gt;
[[Image:Hoa.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''18:00, 7 Feb, 2014, Online'''&lt;br /&gt;
&lt;br /&gt;
[https://plus.google.com/events/cfj8rg61m1uj6ns3pf6dd8f8me0 CRIU hopes and fears]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] 10:00, 30 Jan 2014 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Kernel Summit ==&lt;br /&gt;
[[Image:Logo_lks_black.png|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''October 23-25, 2013, Edinburgh, UK'''&lt;br /&gt;
&lt;br /&gt;
A quick talk about CRIU project status. -- Pavel Emelyanov&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] 10:00, 25 Oct 2013 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LinuxCon Europe ==&lt;br /&gt;
[[Image:LinuxCon-logo.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''October 21-23, 2013, Edinburgh, UK'''&lt;br /&gt;
&lt;br /&gt;
[http://linuxconcloudopeneu2013.sched.org/event/e0b06ed074144b5bcdb9a0b2791ff2cb?iframe=no&amp;amp;w=900&amp;amp;sidebar=yes&amp;amp;bg=no#.UhTeVGJFynw CRIU: Time and Space Travel Service for Linux Applications -- Pavel Emelyanov ]&lt;br /&gt;
&lt;br /&gt;
Slides [https://events.linuxfoundation.org/sites/events/files/slides/criu-3.11.pdf &amp;quot;CRIU:Time and Space Travel Service for Linux Applications&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] 19:30, 21 Aug 2013 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LinuxCon North America ==&lt;br /&gt;
[[Image:LinuxCon-logo.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''September 16-18, 2013, New Orleans, LA, USA'''&lt;br /&gt;
&lt;br /&gt;
[http://linuxconcloudopenna2013.sched.org/event/91c1b43ac4c93aeafc27c91ccaed7bc5#.Ue0JsmJFwrQ CRIU: Time and Space Travel Service for Linux Applications -- Pavel Emelyanov ]&lt;br /&gt;
&lt;br /&gt;
Slides [https://events.linuxfoundation.org/sites/events/files/slides/criu-3.11.pdf &amp;quot;CRIU:Time and Space Travel Service for Linux Applications&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
--[[User:Xemul|Xemul]] 14:30, 22 July 2013 (MSK)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CRIU talk at LVEE ==&lt;br /&gt;
[[Image:LVEE 2013.png‎|left|100px|link=http://lvee.org]]&lt;br /&gt;
'''27-30 June, 2013. Grodno, Belarus'''&lt;br /&gt;
&lt;br /&gt;
Linux Userspace Checkpoint/Restore: From Dreams to Reality - Andrey Vagin&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Avagin]] ([[User talk:Avagin|talk]]) 06:05, 6 June 2013 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fedora Virtualization Day Moscow 2013==&lt;br /&gt;
[[Image:russian_fedora.png|left|100px|link=http://russianfedora.ru/]]&lt;br /&gt;
'''1 June, 2013. Moscow, Russia'''&lt;br /&gt;
&lt;br /&gt;
[http://russianfedora.ru/content/%D0%98%D1%82%D0%BE%D0%B3%D0%B8-fedora-virtualization-day CRIU: Checkpoint and Restore (mostly) In Userspace - Andrey Vagin] [http://mirror.yandex.ru/fedora/russianfedora/video/FedoraVirtualizationDay/04-Wagin-Part2.webm video]&lt;br /&gt;
&lt;br /&gt;
--[[User:Avagin|Avagin]] ([[User talk:Avagin|talk]]) 14:03, 5 June 2013 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CRIU talk at SCALE11x ==&lt;br /&gt;
[[Image:Scale-11x.png|100px|left|link=http://www.socallinuxexpo.org/scale11x]]&lt;br /&gt;
'''22-24 February, 2013. Los Angeles, CA, USA'''&lt;br /&gt;
&lt;br /&gt;
[http://www.socallinuxexpo.org/scale11x/presentations/checkpoint-restore-live-migration-and-beyond Checkpoint, Restore, Live Migration and Beyond - Kir Kolyshkin]&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 12:10, 23 January 2013 (EST)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CRIU talk at linux.conf.au ==&lt;br /&gt;
[[Image:Linux-conf-au-2013.jpg|left|link=https://lca2013.linux.org.au/]]&lt;br /&gt;
'''28 January to 2 February, 2013. Canberra, Australia'''&lt;br /&gt;
&lt;br /&gt;
[http://conf.linux.org.au/schedule/30116/view_talk?day=thursday Checkpoint and Restore: Are We There Yet? - Pavel Emelyanov]&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] 12:51, 8 October 2012 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2013 ==&lt;br /&gt;
[[Image:Fosdem-2013.png|left|100px|link=https://fosdem.org/2013/]]&lt;br /&gt;
'''2 and 3 February, 2013. Brussels, Belgium'''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2013/schedule/event/criu_ckeckpoint_restore/ CRIU: Checkpoint and Restore (mostly) In Userspace - Andrey Vagin]&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] ([[User talk:Kir|talk]]) 21:00, 22 January 2013 (EST)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LinuxCon Europe 2012 ==&lt;br /&gt;
[[Image:LinuxCon-logo.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''November 5-9, 2012, Barcelona, Spain'''&lt;br /&gt;
&lt;br /&gt;
[http://linuxconeurope2012.sched.org/event/bd32207c146c75dd5cbf165006d47e7b Checkpoint and Restore: Are We There Yet? - Pavel Emelyanov]&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] 12:51, 8 October 2012 (EDT)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== YAC 2012 ==&lt;br /&gt;
[[Image:yac_logo.jpg|left|100px|link=]]&lt;br /&gt;
&lt;br /&gt;
'''1 Oct 2012, Moscow, Russia'''&lt;br /&gt;
&lt;br /&gt;
[https://events.yandex.ru/events/yac/2012?openTalkDescription=35-3 CRIU: more than a live migration (incl. slides and video)]&lt;br /&gt;
&lt;br /&gt;
--[[User:Kir|Kir]] 12:25, 8 October 2012 (EDT)&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Google_Summer_of_Code_Ideas&amp;diff=5459</id>
		<title>Google Summer of Code Ideas</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Google_Summer_of_Code_Ideas&amp;diff=5459"/>
		<updated>2024-03-08T01:15:12Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google Summer of Code (GSoC) is a global program that offers post-secondary students an opportunity to be paid for contributing to an open source project over a three month period. &lt;br /&gt;
&lt;br /&gt;
This page contains project ideas for upcoming Google Summer of Code.&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
&lt;br /&gt;
Please contact the respective mentor for the idea you are interested in. For general questions feel free to send an email to the [mailto:criu@openvz.org mailing list] or write in [https://gitter.im/save-restore/criu gitter].&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Optimize logging engine ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' CRIU puts a lots of logs when doing its job. Logging is done with simple fprintf function. They are typically useless, but ''if'' some operation fails -- the logs are the only way to find what was the reason for failure.&lt;br /&gt;
&lt;br /&gt;
At the same time the printf family of functions is known to take some time to work -- they need to scan the format string for %-s and then convert the arguments into strings. If comparing criu dump with and without logs the time difference is notable (15%-20%), so speeding the logs up will help improve criu performance.&lt;br /&gt;
&lt;br /&gt;
One of the solutions to the problem might be binary logging. The problem with binary logs is the amount of efforts to convert existing logs to binary form. Preferably, the switch to binary logging either keeps existing log() calls intact, either has some automatics to convert them.&lt;br /&gt;
&lt;br /&gt;
The option to keep log() calls intact might be in pre-compilation pass of the sources. In this pass each &amp;lt;code&amp;gt;log(fmt, ...)&amp;lt;/code&amp;gt; call gets translated into a call to a binary log function that saves &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt; identifier copies all the args ''as is'' into the log file. The binary log decode utility, required in this case, should then find the fmt string by its ID in the log file and print the resulting message.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [[Better logging]]&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C, though decoder/preprocessor can be in any language&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Suggested by: Andrei Vagin&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add support for checkpoint/restore of CORK-ed UDP socket ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' Support C/R of corked UDP socket&lt;br /&gt;
 &lt;br /&gt;
There's UDP_CORK option for sockets. As man page says:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    If this option is enabled, then all data output on this socket&lt;br /&gt;
    is accumulated into a single datagram that is transmitted when&lt;br /&gt;
    the option is disabled.  This option should not be used in&lt;br /&gt;
    code intended to be portable.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently criu refuses to dump this case, so it's effectively a bug. Supporting&lt;br /&gt;
this will need extending the kernel API to allow criu read back the write queue&lt;br /&gt;
of the socket (see [[TCP connection|how it's done]] for TCP sockets, for example). Then&lt;br /&gt;
the queue is written into the image and is restored into the socket (with the CORK&lt;br /&gt;
bit set too).&lt;br /&gt;
 &lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/409&lt;br /&gt;
* https://github.com/criupatchwork/criu/commit/a532312&lt;br /&gt;
* [[Sockets]], [[TCP connection]]&lt;br /&gt;
* [[https://groups.google.com/forum/#!topic/comp.os.linux.networking/Uz8PYiTCZSg UDP cork explained]]&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate (+linux kernel)&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;, Andrei Vagin &amp;lt;avagin@gmail.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add support for pidfd file descriptors ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Support C/R of pidfd descriptors&lt;br /&gt;
&lt;br /&gt;
There is pidfd_open syscall which allows opening&lt;br /&gt;
a special PID file descriptor. A user can send a signal to&lt;br /&gt;
the process (pidfd_send_signal syscall), wait for the process&lt;br /&gt;
(poll() on pidfd).&lt;br /&gt;
&lt;br /&gt;
At the moment CRIU can't dump processes that have pidfd's opened.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://lwn.net/Articles/801319/&lt;br /&gt;
* https://lwn.net/Articles/794707/&lt;br /&gt;
* https://github.com/torvalds/linux/blob/v5.16/kernel/fork.c#L1877&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;, Christian Brauner &amp;lt;christian@brauner.io&amp;gt;&lt;br /&gt;
* Suggested by: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add support for memfd_secret file descriptors ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Support C/R of memfd_secret descriptors&lt;br /&gt;
&lt;br /&gt;
There is memfd_secret syscall which allows user to open&lt;br /&gt;
special memfd which is backed by special memory range which&lt;br /&gt;
is inaccessible by another processes (and the kernel too!).&lt;br /&gt;
&lt;br /&gt;
At the moment CRIU can't dump processes that have memfd_secret's opened.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://lwn.net/Articles/865256/&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;, Mike Rapoport &amp;lt;mike.rapoport@gmail.com&amp;gt;&lt;br /&gt;
* Suggested by: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use eBPF to lock and unlock the network ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' Use eBPF instead of external iptables-restore tool for network lock and unlock.&lt;br /&gt;
&lt;br /&gt;
During checkpointing and restoring CRIU locks the network to make sure no network packets are accepted by the network stack during the time the process is checkpointed. Currently CRIU calls out to iptables-restore to create and delete the corresponding iptables rules. Another approach which avoids calling out to the external binary iptables-restore would be to directly inject eBPF rules. There have been reports from users that iptables-restore fails in some way and eBPF could avoid this external dependency.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://www.criu.org/TCP_connection#Checkpoint_and_restore_TCP_connection&lt;br /&gt;
* https://github.com/systemd/systemd/blob/master/src/core/bpf-firewall.c&lt;br /&gt;
* https://blog.zeyady.com/2021-08-16/gsoc-criu&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Prajwal S N &amp;lt;prajwalnadig21@gmail.com&amp;gt;&lt;br /&gt;
* Suggested by: Adrian Reber &amp;lt;areber@redhat.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files on detached mounts ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Initial support of open files on &amp;quot;detached&amp;quot; mounts&lt;br /&gt;
&lt;br /&gt;
When criu dumps a process with an open fd on a file, it gets the mount identifier (mnt_id) via /proc/&amp;lt;pid&amp;gt;/fdinfo/&amp;lt;fd&amp;gt;, so that criu knows from which exact mount the file was initially opened. This way criu can restore this fd by opening the same exact file from topologically the same mount in restored mount tree.&lt;br /&gt;
&lt;br /&gt;
Restoring fd from the right mount can be important in different cases, for instance if the process would later want to resolve paths relative to the fd, and obviously resolving from the same file on different mount can lead to different resolved paths, or if the process wants to check path to the file via /proc/&amp;lt;pid&amp;gt;/fd/&amp;lt;fd&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
But we have a problem finding on which mount we need to reopen the file at restore if we only know mnt_id but can't find this mnt_id in /proc/&amp;lt;pid&amp;gt;/mountinfo.&lt;br /&gt;
&lt;br /&gt;
Mountinfo file shows the mount tree topology of current mntns: parent - child relations, sharing group information, mountpoint and fs root information. And if we don't see mnt_id in it we don't know anything about this mount.&lt;br /&gt;
&lt;br /&gt;
This can happen in two cases&lt;br /&gt;
&lt;br /&gt;
* 1) external mount or file - if file was opened from e.g. host it's mount would not be visible in container mountinfo&lt;br /&gt;
* 2) mount was lazily unmounted&lt;br /&gt;
&lt;br /&gt;
In case of 1) we have criu options to help criu handle external dependencies.&lt;br /&gt;
&lt;br /&gt;
In case of 2) or no options provided criu can't resolve mnt_id in mountinfo and criu fails.&lt;br /&gt;
&lt;br /&gt;
'''Solution:'''&lt;br /&gt;
We can handle 2) with: resolving major/minor via fstat, using name_to_handle_at and open_by_handle_at to open same file on any other available mount from same superblock (same major/minor) in container. Now we have fd2 of the same file as fd, but on existing mount we can dump it as usual instead, and mark it as &amp;quot;detached&amp;quot; in image, now criu on restore knows where to find this file, but instead of just opening fd2 from actually restored mount, we create a temporary bindmount which is lazy unmounted just after open making the file appear as a file on detached mount.&lt;br /&gt;
&lt;br /&gt;
Known problems with this approach:&lt;br /&gt;
&lt;br /&gt;
* Stat on btrfs gives wrong major/minor&lt;br /&gt;
* file handles does not work everywhere&lt;br /&gt;
* file handles can return fd2 on deleted file or on other hardlink, this needs special handling.&lt;br /&gt;
&lt;br /&gt;
Additionally (optional part):&lt;br /&gt;
We can export real major/minor in fdinfo (kernel).&lt;br /&gt;
We can think of new kernel interface to get mount's major/minor and root (shift from fsroot) for detached mounts, if we have it we don't need file handle hack to find file on other mount (see fsinfo or getvalues kernel patches in LKML, can we add this info there?).&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentor: Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;&lt;br /&gt;
* Suggested by: Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checkpointing of POSIX message queues ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Add support for checkpoint/restore of POSIX message queues&lt;br /&gt;
&lt;br /&gt;
POSIX message queues are a widely used inter-process communication mechanism. Message queues are implemented as files on a virtual filesystem (mqueue), where a file descriptor (message queue descriptor) is used to perform operations such as sending or receiving messages. To support checkpoint/restore of POSIX message queues, we need a kernel interface (similar to [https://github.com/checkpoint-restore/criu/commit/8ce9e947051e43430eb2ff06b96dddeba467b4fd MSG_PEEK]) that would enable the retrieval of messages from a queue without removing them. This project aims to implement such an interface that allows retrieving all messages and their priorities from a POSIX message queue.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/2285&lt;br /&gt;
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/ipc/mqueue.c&lt;br /&gt;
* https://www.man7.org/tlpi/download/TLPI-52-POSIX_Message_Queues.pdf&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: C&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;, Prajwal S N &amp;lt;prajwalnadig21@gmail.com&amp;gt;&lt;br /&gt;
* Suggested by: Pavel Tikhomirov &amp;lt;ptikhomirov@virtuozzo.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kubernetes operator for managing container checkpoints ===&lt;br /&gt;
&lt;br /&gt;
'''Summary:''' Develop a Kubernetes operator that automates the management of container checkpoints&lt;br /&gt;
&lt;br /&gt;
Container checkpointing has recently been introduced as an alpha feature in Kubernetes.&lt;br /&gt;
To enable this feature, the kubelet API was extended with an endpoint that enables the&lt;br /&gt;
creation of checkpoints for individual containers. By default, all container checkpoints&lt;br /&gt;
are stored as tar archives in &amp;lt;code&amp;gt;/var/lib/kubelet/checkpoints&amp;lt;/code&amp;gt; using the following&lt;br /&gt;
file name format: &amp;lt;code&amp;gt;checkpoint-&amp;lt;pod-name&amp;gt;_&amp;lt;namespace-name&amp;gt;-&amp;lt;container-name&amp;gt;-&amp;lt;timestamp&amp;gt;.tar&amp;lt;/code&amp;gt;.&lt;br /&gt;
However, the current implementation does not provide a mechanism for limiting the number&lt;br /&gt;
of checkpoints, which may lead to filling up all existing disk space. This project aims to&lt;br /&gt;
develop a Kubernetes operator that automates the management of checkpoints and provides&lt;br /&gt;
a garbage collection mechanism to discard obsolete checkpoints.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://github.com/checkpoint-restore/checkpoint-restore-operator&lt;br /&gt;
* https://kubernetes.io/docs/reference/node/kubelet-checkpoint-api/&lt;br /&gt;
* https://kubernetes.io/blog/2022/12/05/forensic-container-checkpointing-alpha/&lt;br /&gt;
* https://kubernetes.io/blog/2023/03/10/forensic-container-analysis/&lt;br /&gt;
* https://github.com/kubernetes/kubernetes/pull/115888&lt;br /&gt;
* https://github.com/kubernetes/enhancements/issues/2008&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: intermediate&lt;br /&gt;
* Language: Go&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
* Mentors: Adrian Reber &amp;lt;areber@redhat.com&amp;gt;, Radostin Stoyanov &amp;lt;rstoyanov@fedoraproject.org&amp;gt;, Prajwal S N &amp;lt;prajwalnadig21@gmail.com&amp;gt;&lt;br /&gt;
* Suggested by: Adrian Reber&lt;br /&gt;
&lt;br /&gt;
== Suspended project ideas ==&lt;br /&gt;
&lt;br /&gt;
Listed here are tasks that seem suitable for GSoC, but currently do not have anybody to mentor it.&lt;br /&gt;
&lt;br /&gt;
=== IOUring support ===&lt;br /&gt;
The io_uring Asynchronous I/O (AIO) framework is a new Linux I/O interface, first introduced in upstream Linux kernel version 5.1 (March 2019). It provides a low-latency and feature-rich interface for applications that require AIO functionality.&lt;br /&gt;
&lt;br /&gt;
'''Links:'''&lt;br /&gt;
* https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework&lt;br /&gt;
* https://github.com/axboe/liburing&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: expert (+linux kernel)&lt;br /&gt;
* Expected size: 350 hours&lt;br /&gt;
&lt;br /&gt;
=== Add support for SPFS ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' The SPFS is a special filesystem that allows checkpoint and restore of such things as NFS and FUSE&lt;br /&gt;
&lt;br /&gt;
NFS support is already implemented in Virtuozzo CRIU, but it's very beneficial to port it to mainline CRIU. The importaint part of it is the need to implement the integration of Stub-Proxy File System (SPFS) with LXC/yet_another_containers_environment.&lt;br /&gt;
&lt;br /&gt;
'''Links'''&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/60&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/53&lt;br /&gt;
* https://github.com/skinsbursky/spfs&lt;br /&gt;
* https://patchwork.criu.org/series/137/&lt;br /&gt;
&lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: expert&lt;br /&gt;
* Language: C&lt;br /&gt;
* Mentor: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
* Suggested by: Alexander Mikhalitsyn &amp;lt;alexander@mihalicyn.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anonymise image files ===&lt;br /&gt;
 &lt;br /&gt;
'''Summary:''' Teach [[CRIT]] to remove sensitive information from images&lt;br /&gt;
 &lt;br /&gt;
When reporting a BUG it may be not acceptable for the reporter to send us raw images, as they may contain sensitive data. Need to teach CRIT to &amp;quot;anonymise&amp;quot; images for publication.&lt;br /&gt;
&lt;br /&gt;
List of data to shred:&lt;br /&gt;
&lt;br /&gt;
* Memory contents. For the sake of investigation, all the memory contents can be just removed. Only the sizes of pages*.img files are enough.&lt;br /&gt;
* Paths to files. Here we should keep the paths relations to each other. The simplest way seem to be replacing file names with &amp;quot;random&amp;quot; (or sequential) strings, BUT (!) keeping an eye on making this mapping be 1:1. Note, that file paths may also sit in sk-unix.img.&lt;br /&gt;
* Registers.&lt;br /&gt;
* Process names. (But relations should be kept).&lt;br /&gt;
* Contents of streams, i.e. pipe/fifo data, sk-queue, tcp-stream, tty data.&lt;br /&gt;
* Ghost files.&lt;br /&gt;
* Tarballs with tmpfs-s.&lt;br /&gt;
* IP addresses in sk-inet-s, ip tool dumps and net*.img.&lt;br /&gt;
 &lt;br /&gt;
'''Links:'''&lt;br /&gt;
* [[Anonymize image files]]&lt;br /&gt;
* https://github.com/checkpoint-restore/criu/issues/360&lt;br /&gt;
* [[CRIT]], [[Images]]&lt;br /&gt;
* External links to mailing lists or web sites&lt;br /&gt;
 &lt;br /&gt;
'''Details:'''&lt;br /&gt;
* Skill level: beginner&lt;br /&gt;
* Language: Python&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Main_Page&amp;diff=5442</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Main_Page&amp;diff=5442"/>
		<updated>2023-11-28T02:14:46Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: {{{1|right}}}&amp;quot;&amp;gt;&lt;br /&gt;
{{Download box|left}}&lt;br /&gt;
[[Image:3.19.jpg|right|340px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;Welcome to CRIU, a project to implement checkpoint/restore functionality for Linux.&lt;br /&gt;
&lt;br /&gt;
Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a Linux software. It can freeze a running container (or an individual application) and checkpoint its state to disk. The data saved can be used to restore the application and run it exactly as it was during the time of the freeze. Using this functionality, application or container live migration, snapshots, remote debugging, and [[usage scenarios|many other things]] are now possible.&lt;br /&gt;
&lt;br /&gt;
CRIU started as a project of Virtuozzo, and grew with the tremendous help from the [[community]]. It is currently used by (integrated into) OpenVZ, [[LXC]]/LXD, [[Docker]], Podman, and [[Integration|other software]], and [[packages|packaged for many Linux distributions]].&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
{{Like}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
{{News block 2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Using ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
;Getting [[packages]] for your distribution&lt;br /&gt;
: Or try manual [[installation]] to have CRIU on your system&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[CLI]], [[RPC]] and [[C API]]&lt;br /&gt;
: Three ways to start using the C/R functionality.  [[:Category:API|More info]] about APIs.&lt;br /&gt;
&lt;br /&gt;
;[[Usage scenarios]]&lt;br /&gt;
: Ideas how criu can be used (some are crazy indeed)&lt;br /&gt;
&lt;br /&gt;
;[[:Category:HOWTO]]&lt;br /&gt;
: Collection of real world examples of how to use CRIU. Some are complex, some are not. HOW TO dump a [[simple loop]] might be the best one to start with. Also a set of [[asciinema]] records for real-life examples.&lt;br /&gt;
&lt;br /&gt;
;[[FAQ]] &amp;amp; [[When C/R fails]]&lt;br /&gt;
: A sort of troubleshooting guide&lt;br /&gt;
&lt;br /&gt;
;[[What can change after C/R]]&lt;br /&gt;
: CRIU cannot (yet) save and restore every single bit of tasks' state. This page describes what bits visible through standard kernel API are such.&lt;br /&gt;
&lt;br /&gt;
;[[What cannot be checkpointed]]&lt;br /&gt;
: What an application could do to make CRIU refuse to dump it.&lt;br /&gt;
&lt;br /&gt;
;[[Contacts]]&lt;br /&gt;
: Ways to communicate with CRIU community&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== Developing ==&lt;br /&gt;
If you're interested in CRIU development, please subscribe to the criu mailing list: https://lists.openvz.org/mailman/listinfo/criu&lt;br /&gt;
&lt;br /&gt;
;[[Images]]&lt;br /&gt;
: Description of image files format&lt;br /&gt;
&lt;br /&gt;
;[[Plugins]]&lt;br /&gt;
: CRIU can call plugins provided by people&lt;br /&gt;
&lt;br /&gt;
;[[Upstream kernel commits]]&lt;br /&gt;
: Mainline kernel commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[Recent commits]]&lt;br /&gt;
: CRIU tool repository commits&lt;br /&gt;
&lt;br /&gt;
;[[Manpages]]&lt;br /&gt;
: Kernel's manpages commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[ZDTM Test Suite]]&lt;br /&gt;
: Zero downtime test suite&lt;br /&gt;
&lt;br /&gt;
;[[Todo|TODO]]&lt;br /&gt;
: Current TODO list&lt;br /&gt;
&lt;br /&gt;
;[[User namespace]]&lt;br /&gt;
: Implementing user namespace support&lt;br /&gt;
&lt;br /&gt;
;[[Postulates]]&lt;br /&gt;
: What to keep in mind when writing new code&lt;br /&gt;
&lt;br /&gt;
;[https://coveralls.io/github/checkpoint-restore/criu Code coverage results]&lt;br /&gt;
: Shows how zdtm run covers the criu code paths&lt;br /&gt;
&lt;br /&gt;
;[[How to submit patches]]&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_left&amp;quot;&amp;gt;&lt;br /&gt;
== Under the hood ==&lt;br /&gt;
* [[Checkpoint/Restore]]&lt;br /&gt;
* [[:Category:Under the hood]]&lt;br /&gt;
* [[:Category:Network]]&lt;br /&gt;
* [[:Category:Files]]&lt;br /&gt;
* [[:Category:Memory]]&lt;br /&gt;
* [[Pending signals]]&lt;br /&gt;
* [[Stages of restoring]]&lt;br /&gt;
* [[Code blobs]]&lt;br /&gt;
* [[Comparison to other CR projects]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_center&amp;quot;&amp;gt;&lt;br /&gt;
== External links ==&lt;br /&gt;
{{:Articles}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;m_right&amp;quot;&amp;gt;&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[Academic Research]]&lt;br /&gt;
* [[Podcasts]] and other audio/video interviews&lt;br /&gt;
* Project [[history]]&lt;br /&gt;
* [[Logo]] description&lt;br /&gt;
* [[Events]]&lt;br /&gt;
* [[CRIU acronym fun]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=File:3.19.jpg&amp;diff=5441</id>
		<title>File:3.19.jpg</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=File:3.19.jpg&amp;diff=5441"/>
		<updated>2023-11-28T02:13:40Z</updated>

		<summary type="html">&lt;p&gt;Avagin: v3.19&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
v3.19&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Release_date&amp;diff=5440</id>
		<title>Template:Release date</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Release_date&amp;diff=5440"/>
		<updated>2023-11-28T02:10:29Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v3.19    = 27 Nov 2023&lt;br /&gt;
 | v3.18    = 22 Apr 2023&lt;br /&gt;
 | v3.17.1  = 23 Jun 2022&lt;br /&gt;
 | v3.17    =  5 May 2022&lt;br /&gt;
 | v3.16.1  = 14 Oct 2021&lt;br /&gt;
 | v3.16    = 22 Sep 2021&lt;br /&gt;
 | v3.15    = 03 Nov 2020&lt;br /&gt;
 | v3.14    = 29 Apr 2020&lt;br /&gt;
 | v3.13    = 11 Sep 2019&lt;br /&gt;
 | v3.12    = 25 Apr 2019&lt;br /&gt;
 | v3.11    = 06 Nov 2018&lt;br /&gt;
 | v3.10    = 10 Jul 2018&lt;br /&gt;
 | v3.9     = 21 May 2018&lt;br /&gt;
 | v3.8.1   = 29 Mar 2018&lt;br /&gt;
 | v3.8     = 13 Mar 2018&lt;br /&gt;
 | v3.7     = 19 Dec 2017&lt;br /&gt;
 | v3.6     = 23 Oct 2017&lt;br /&gt;
 | v3.5     = 27 Sep 2017&lt;br /&gt;
 | v3.4     = 21 Aug 2017&lt;br /&gt;
 | v3.3     = 18 Jul 2017&lt;br /&gt;
 | v3.2.1   = 28 Jun 2017&lt;br /&gt;
 | v3.2     = 19 Jun 2017&lt;br /&gt;
 | v3.1     = 22 May 2017&lt;br /&gt;
 | v3.0     = 24 Apr 2017&lt;br /&gt;
 | v2.12.1  = 27 Mar 2017&lt;br /&gt;
 | v2.12    =  8 Mar 2017&lt;br /&gt;
 | v2.11.1  = 17 Feb 2017&lt;br /&gt;
 | v2.11    = 13 Feb 2017&lt;br /&gt;
 | v2.10    = 16 Jan 2017&lt;br /&gt;
 | v2.9     = 12 Dec 2016&lt;br /&gt;
 | v2.8     = 14 Nov 2016&lt;br /&gt;
 | v2.7     = 17 Oct 2016&lt;br /&gt;
 | v2.6     = 12 Sep 2016&lt;br /&gt;
 | v2.5     = 15 Aug 2016&lt;br /&gt;
 | v2.4     = 11 Jul 2016&lt;br /&gt;
 | v2.3     = 14 Jun 2016&lt;br /&gt;
 | v2.2     = 16 May 2016&lt;br /&gt;
 | v2.1     = 11 Apr 2016&lt;br /&gt;
 | v2.0     =  7 Mar 2016&lt;br /&gt;
 | v1.8     =  7 Dec 2015&lt;br /&gt;
 | v1.7.2   = 28 Oct 2015&lt;br /&gt;
 | v1.7     =  7 Sep 2015&lt;br /&gt;
 | v1.6.1   = 12 Aug 2015&lt;br /&gt;
 | v1.6     =  1 Jun 2015&lt;br /&gt;
 | v1.5.2   = 28 Apr 2015&lt;br /&gt;
 | v1.5.1   = 31 Mar 2015&lt;br /&gt;
 | v1.5     =  2 Mar 2015&lt;br /&gt;
 | v1.4     =  1 Dec 2014&lt;br /&gt;
 | v1.3.1   = 12 Sep 2014&lt;br /&gt;
 | v1.3     =  1 Sep 2014&lt;br /&gt;
 | v1.3-rc2 = 18 Jun 2014&lt;br /&gt;
 | v1.3-rc1 = 25 Apr 2014&lt;br /&gt;
 | v1.2     = 26 Feb 2014&lt;br /&gt;
 | v1.1     = 28 Jan 2014&lt;br /&gt;
 | v1.1-rc2 = 20 Jan 2014&lt;br /&gt;
 | v1.1-rc1 = 30 Dec 2013&lt;br /&gt;
 | v1.0     = 25 Nov 2013&lt;br /&gt;
 | v0.8     = 18 Oct 2013&lt;br /&gt;
 | v0.7     =  3 Sep 2013&lt;br /&gt;
 | v0.6     =  1 Jul 2013&lt;br /&gt;
 | v0.5     = 30 Apr 2013&lt;br /&gt;
 | v0.4     = 20 Feb 2013&lt;br /&gt;
 | v0.3     = 11 Dec 2012&lt;br /&gt;
 | v0.2     = 20 Sep 2012&lt;br /&gt;
 | v0.1     = 23 Jul 2012&lt;br /&gt;
 | &amp;lt;!-- unknown release? return nothing --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the date of a specified release.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.10}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.10}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|1.3-rc1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|1.3-rc1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Release date|0.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Release date|0.1}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Template:Codename]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Last_version&amp;diff=5439</id>
		<title>Template:Last version</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Last_version&amp;diff=5439"/>
		<updated>2023-11-28T02:09:55Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;3.19&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Release_schedule&amp;diff=5438</id>
		<title>Release schedule</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Release_schedule&amp;diff=5438"/>
		<updated>2023-11-28T02:09:41Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* 2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting from year 2018, the fixed release schedule is no more.&lt;br /&gt;
A new release is made about every few months, once it feels there are enough changes.&lt;br /&gt;
&lt;br /&gt;
Below you can find dates and codenames for future (if known) and past releases.&lt;br /&gt;
&lt;br /&gt;
== Future releases ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 ***** MAKE SURE TO EDIT [[Template:Codename]] and [[Template:Release date]] as well ***** --kir&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
|-&lt;br /&gt;
| not selected&lt;br /&gt;
| ... Heron&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Past releases ==&lt;br /&gt;
&lt;br /&gt;
=== 2023 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.19|3.18}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2022 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.17}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2021 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.16}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2020 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.15|3.14}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2019 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.13|3.12}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2018 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.11|3.10|3.9|3.8}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||3.7|3.6|3.5|3.4|3.3|3.2|3.1|3.0|2.12|2.11|2.10}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2016 (2.x) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Date&lt;br /&gt;
! Version / codename&lt;br /&gt;
{{fe|Releases table/row||2.9|2.8|2.7|2.6|2.5|2.4|2.3|2.2|2.1|2.0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Older (1.x, 0.x) ===&lt;br /&gt;
&lt;br /&gt;
See&lt;br /&gt;
* [[Download/criu/1.x|1.x]]&lt;br /&gt;
* [[Download/criu/0.x|0.x]]&lt;br /&gt;
&lt;br /&gt;
== Historical release schedules ==&lt;br /&gt;
&lt;br /&gt;
* Starting from version 2.0 and until the end of 2017, a new release was made once a month from the stable (master) branch with whatever is there.&lt;br /&gt;
&lt;br /&gt;
* Starting from version 1.3 and until the end of 2017, CRIU used the time-driven release model with strict/known future release dates.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Download/criu]] for the list of all releases, dates, and changelogs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Download/criu/3.19&amp;diff=5431</id>
		<title>Download/criu/3.19</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Download/criu/3.19&amp;diff=5431"/>
		<updated>2023-11-16T21:00:55Z</updated>

		<summary type="html">&lt;p&gt;Avagin: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
      **** FOR STEPS NEEDED TO MAKE A RELEASE, SEE https://criu.org/Releasing&lt;br /&gt;
      Use {{Bug|123}} to link to a github issue&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:3.19.jpg|400px|right]]&lt;br /&gt;
{{Release|3.19}}&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
* LoongArch64 support&lt;br /&gt;
* C/R membarrier() registrations&lt;br /&gt;
* Restore THP_DISABLE prctl.&lt;br /&gt;
* prctl: Migrate prctl(NO_NEW_PRIVS) setting.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Many fixes and improvements from the Google team.&lt;br /&gt;
* Fix dumping hugetlb-based memfd on kernels &amp;lt; 4.16. &lt;br /&gt;
* Fixes here and there.&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
* drop python 2 support&lt;br /&gt;
* support XSAVE on newer Intel CPUs&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Template:Codename&amp;diff=5430</id>
		<title>Template:Codename</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Template:Codename&amp;diff=5430"/>
		<updated>2023-11-16T20:44:02Z</updated>

		<summary type="html">&lt;p&gt;Avagin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch: v{{{1}}}&lt;br /&gt;
 | v2.1  = Steel Lapwing&lt;br /&gt;
 | v2.2  = Carbon Nightingale&lt;br /&gt;
 | v2.3  = Wooden Duck&lt;br /&gt;
 | v2.4  = Marble Lark&lt;br /&gt;
 | v2.5  = Concrete Oriole&lt;br /&gt;
 | v2.6  = Paper Crane&lt;br /&gt;
 | v2.7  = Rubber Owl&lt;br /&gt;
 | v2.8  = Bronze Siskin&lt;br /&gt;
 | v2.9  = Silk Tit&lt;br /&gt;
 | v2.10 = Brass Waxwing&lt;br /&gt;
 | v2.11 = Acrylic Bullfinch&lt;br /&gt;
 | v2.12 = Vulcanite Rook&lt;br /&gt;
 | v3.0 = Basalt Wagtail&lt;br /&gt;
 | v3.1 = Graphene Swift&lt;br /&gt;
 | v3.2 = Tin Hoopoe&lt;br /&gt;
 | v3.3 = Crystal Pelican&lt;br /&gt;
 | v3.4 = Cobalt Swan&lt;br /&gt;
 | v3.5 = Clay Jay&lt;br /&gt;
 | v3.6 = Alabaster Finch&lt;br /&gt;
 | v3.7 = Vinyl Magpie&lt;br /&gt;
 | v3.8 = Snow Bunting&lt;br /&gt;
 | v3.8.1 = Snow Bunting&lt;br /&gt;
 | v3.9 = Sand Martin&lt;br /&gt;
 | v3.10 = Granite Eagle&lt;br /&gt;
 | v3.11 = Glass Flamingo&lt;br /&gt;
 | v3.12 = Ice Penguin&lt;br /&gt;
 | v3.13 = Silicon Willet&lt;br /&gt;
 | v3.14 = Platinum Peacock&lt;br /&gt;
 | v3.15 = Titanium Falcon&lt;br /&gt;
 | v3.16 = Petrified Puffin&lt;br /&gt;
 | v3.16.1 = Petrified Puffin&lt;br /&gt;
 | v3.17 = Radiant Redstart&lt;br /&gt;
 | v3.17.1 = Radiant Redstart&lt;br /&gt;
 | v3.18 = Silver Sandpiper&lt;br /&gt;
 | v3.19 = Bronze Peacock&lt;br /&gt;
 | &amp;lt;!-- no codename --&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template is used to get the codename of a specified release. If there is no codename, empty string is produced.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|VERSION}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 ! Markup&lt;br /&gt;
 ! Result&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|3.3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|3.3}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.1}}&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{Codename|2.0}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 | {{Codename|2.0}}&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Release schedule]] for future codenames&lt;br /&gt;
* [[Template:Release date]]&lt;br /&gt;
* [[Template:criu]]&lt;br /&gt;
* [[Template:Release]]&lt;br /&gt;
* [[Template:Latest release]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Avagin</name></author>
	</entry>
</feed>