This release follows v1.2.2 and consists of 1456 changes, contributed by 79 people, leading to 3166 files changed, 217035 insertions(+), 100524 deletions(-).

The source code and selected binaries are available for download at: https://github.com/kubevirt/kubevirt/releases/tag/v1.3.0-rc.0.

The primary release artifact of KubeVirt is the git tree. The release tag is
signed and can be verified using `git tag -v v1.3.0-rc.0`.

Pre-built containers are published on Quay and can be viewed at: <https://quay.io/kubevirt/>.

Notable changes
---------------

- [PR #12132][kubevirt-bot] Introduce validatingAdmissionPolicy to restrict node patches on virt-handler
- [PR #12109][acardace] Support Memory Hotplug with Hugepages
- [PR #12009][xpivarc] By enabling NodeRestriction feature gate, Kubevirt now authorize virt-handler's requests to modify VMs.
- [PR #11681][lyarwood] The `CommonInstancetypesDeployment` feature and gate are retrospectively moved to Beta from the 1.2.0 release.
- [PR #12025][fossedihelm] Add descheduler compatibility
- [PR #12097][fossedihelm] Bump k8s deps to 0.30.0
- [PR #12089][jean-edouard] Less privileged virt-operator ClusterRole
- [PR #12064][akalenyu] BugFix: Graceful deletion skipped for any delete call to the VM (not VMI) resource
- [PR #10490][jschintag] Add support for building and running kubevirt on s390x.
- [PR #12079][EdDev] Network hotplug feature is declared as Beta.
- [PR #11455][lyarwood] `LiveUpdates`  of VMs using instance types are now supported with the same caveats as when making changes to a vanilla VM.
- [PR #12000][machadovilaca] Create kubevirt_vmi_launcher_memory_overhead_bytes metric
- [PR #11915][ormergi] The 'passt' core network binding is discontinued and removed.
- [PR #12016][acardace] fix starting VM with Manual RunStrategy
- [PR #11533][alicefr] Implement volume migration and introduce the migration updateVolumesStrategy field
- [PR #11934][assafad] Add kubevirt_vmi_last_connection_timestamp_seconds metric
- [PR #11956][mhenriks] Introduce export.kibevirt.io/v1beta1
- [PR #11996][ShellyKa13] BugFix: Fix restore panic in case of volumesnapshot missing
- [PR #11957][mhenriks] snapshot: Ignore unfreeze error if VMSnapshot deleting
- [PR #11906][machadovilaca] Create kubevirt_vmi_info metric
- [PR #11969][iholder101] Infra components control-plane nodes NoSchedule toleration
- [PR #11955][mhenriks] Introduce snapshot.kibevirt.io/v1beta1
- [PR #11883][orelmisan] Restart of a VM is required when the CPU socket count is reduced
- [PR #11835][talcoh2x] add Intel Gaudi to adopters.
- [PR #11344][aerosouund] Refactor device plugins to use a base plugin and define a common interface
- [PR #11973][fossedihelm] Bug fix: Correctly reflect RestartRequired condition
- [PR #11963][acardace] Fix RerunOnFailure RunStrategy
- [PR #11962][lyarwood] `VirtualMachines` referencing an instance type are now allowed when the `LiveUpdate` feature is enabled and will trigger the `RestartRequired` condition if the reference within the `VirtualMachine` is changed.
- [PR #11942][ido106] Update virtctl to use v1beta1 endpoint for both regular and async image upload
- [PR #11648][kubevirt-bot] Updated common-instancetypes bundles to v1.0.0
- [PR #11659][iholder101] Require scheduling infra components onto control-plane nodes
- [PR #10545][lyarwood] `ControllerRevisions` containing instance types and preferences are now upgraded to their latest available version when the `VirtualMachine` owning them is resync'd by `virt-controller`.
- [PR #11901][EdDev] The 'macvtap' core network binding is discontinued and removed.
- [PR #11922][alromeros] Bugfix: Fix VM manifest rendering in export controller
- [PR #11908][victortoso] sidecar-shim: allow stderr log from binary hooks
- [PR #11729][lyarwood] `spreadOptions` have been introduced to preferences in order to allow for finer grain control of the `preferSpread` `preferredCPUTopology`. This includes the ability to now spread vCPUs across guest visible sockets, cores and threads.
- [PR #11655][acardace] Allow to hotplug vcpus for VMs with CPU requests and/or limits set
- [PR #11701][EdDev] The SLIRP core binding is deprecated and removed.
- [PR #11773][jean-edouard] Persistent TPM/UEFI will use the default storage class if none is specified in the CR.
- [PR #11846][victortoso] SMBios sidecar can be built out-of-tree
- [PR #11788][ormergi] The network-info annotation is now used for mapping between SR-IOV network and the underlying device PCI address
- [PR #11700][alicefr] Add the updateVolumeStrategy field
- [PR #11256][andreabolognani] This version of KubeVirt includes upgraded virtualization technology based on libvirt 10.0.0 and QEMU 8.2.0.
- [PR #11482][brianmcarey] Build KubeVirt with go v1.22.2
- [PR #11641][alicefr] Add kubevirt.io/testWorkloadUpdateMigrationAbortion annotation and a mechanism to abort workload updates
- [PR #11770][alicefr] Fix the live updates for volumes and disks
- [PR #11790][aburdenthehand] Re-adding Cloudflare to our ADOPTERS list
- [PR #11718][fossedihelm] Fix: SEV methods in client-go now satisfy the proxy server configuration, if provided
- [PR #11685][fossedihelm] Updated go version of the client-go to 1.21
- [PR #11618][AlonaKaplan] Extend network binding plugin to support device-info DownwardAPI.
- [PR #11283][assafad] Collect VMI OS info from the Guest agent as `kubevirt_vmi_phase_count` metric labels
- [PR #11676][machadovilaca] Rename rest client metrics to include kubevirt prefix
- [PR #11557][avlitman] New memory statistics added named kubevirt_memory_delta_from_requested_bytes
- [PR #11678][Vicente-Cheng] Improve the handling of ordinal pod interface name for upgrade
- [PR #11653][EdDev] Build the `passt`custom CNI binary statically, for the `passt` network binding plugin.
- [PR #11294][machadovilaca] Fix kubevirt_vm_created_total being broken down by virt-api pod
- [PR #11307][machadovilaca] Add e2e tests for metrics
- [PR #11479][vladikr] virtual machines instance will no longer be stuck in an irrecoverable state after an interrupted postcopy migration. Instead, these will fail and could be restarted again.
- [PR #11416][dhiller] emission of k8s logs when using programmatic focus with `FIt`
- [PR #11272][dharmit] Make 'image' field in hook sidecar annotation optional.
- [PR #11500][iholder101] Support HyperV Passthrough: automatically use all available HyperV features
- [PR #11484][jcanocan] Reduce the downwardMetrics server maximum number of request per second to 1.
- [PR #11498][acardace] Allow to hotplug memory for VMs with memory limits set
- [PR #11470][brianmcarey] Build KubeVirt with Go version 1.21.8
- [PR #11312][alromeros] Improve handling of export resources in virtctl vmexport
- [PR #11367][alromeros] Bugfix: Allow vmexport download redirections by printing logs into stderr
- [PR #11219][alromeros] Bugfix: Improve handling of IOThreads with incompatible buses
- [PR #11149][0xFelix] virtctl: It is possible to import volumes from GCS when creating a VM now
- [PR #11404][avlitman] KubeVirtComponentExceedsRequestedCPU and KubeVirtComponentExceedsRequestedMemory alerts are deprecated; they do not indicate a genuine issue.
- [PR #11331][anjuls] add cloudraft to adopters.
- [PR #11387][alaypatel07] add perf-scale benchmarks for release v1.2
- [PR #11095][ShellyKa13] Expose volumesnapshot error in vmsnapshot object
- [PR #11372][xpivarc] Bug-fix: Fix nil panic if VM update fails
- [PR #11267][mhenriks] BugFix: Ensure DataVolumes created by virt-controller (DataVolumeTemplates) are recreated and owned by the VM in the case of DR and backup/restore.
- [PR #10900][KarstenB] BugFix: Fixed incorrect APIVersion of APIResourceList
- [PR #11306][fossedihelm] fix(ksm): set the `kubevirt.io/ksm-enabled` node label to true if the ksm is managed by KubeVirt, instead of reflect the actual ksm value.
- [PR #11330][jean-edouard] More information in the migration state of VMI / migration objects
- [PR #11264][machadovilaca] Fix perfscale buckets error
- [PR #11183][dhiller] Extend OWNERS for sig-buildsystem
- [PR #11058][fossedihelm] fix(vmclone): delete vmclone resource when the target vm is deleted
- [PR #11265][xpivarc] Bug fix: VM controller doesn't corrupt its cache anymore
- [PR #11205][akalenyu] Fix migration breaking in case the VM has an rng device after hotplugging a block volume on cgroupsv2
- [PR #11051][alromeros] Bugfix: Improve error reporting when fsfreeze fails
- [PR #11156][nunnatsa] Move some verification from the VMI create validation webhook to the CRD
- [PR #11146][RamLavi] node-labeller: Remove obsolete functionalities

Contributors
------------
79 people contributed to this release:

144	fossedihelm <ffossemo@redhat.com>
112	Edward Haas <edwardh@redhat.com>
60	Orel Misan <omisan@redhat.com>
53	Lee Yarwood <lyarwood@redhat.com>
49	Luboslav Pivarc <lpivarc@redhat.com>
44	Alice Frosi <afrosi@redhat.com>
44	Itamar Holder <iholder@redhat.com>
31	Nahshon Unna-Tsameret <nunnatsa@redhat.com>
25	Shelly Kagan <skagan@redhat.com>
24	Assaf Admi <aadmi@redhat.com>
24	Ram Lavi <ralavi@redhat.com>
22	Or Mergi <ormergi@redhat.com>
21	Antonio Cardace <acardace@redhat.com>
21	Or Shoval <oshoval@redhat.com>
21	bmordeha <bmordeha@redhat.com>
19	Brian Carey <bcarey@redhat.com>
17	Jed Lejosne <jed@redhat.com>
16	Alex Kalenyuk <akalenyu@redhat.com>
16	Victor Toso <victortoso@redhat.com>
15	Alona Paz <alkaplan@redhat.com>
15	Michael Henriksen <mhenriks@redhat.com>
13	Alvaro Romero <alromero@redhat.com>
13	Jan Schintag <jan.schintag@de.ibm.com>
12	Felix Matouschek <fmatouschek@redhat.com>
11	João Vilaça <jvilaca@redhat.com>
10	Andrea Bolognani <abologna@redhat.com>
10	Dan Kenigsberg <danken@redhat.com>
10	machadovilaca <machadovilaca@gmail.com>
9	Daniel Hiller <dhiller@redhat.com>
9	Fabian Deutsch <fabiand@redhat.com>
8	Andrej Krejcir <akrejcir@redhat.com>
6	avlitman <alitman@redhat.com>
6	sylvain-pierrot <sylvain.pierrot@etu.umontpellier.fr>
5	Vladik Romanovsky <vromanso@redhat.com>
5	Youngjun <yj.yoo@okestro.com>
4	Andrew Burden <aburden@redhat.com>
4	Dharmit Shah <shahdharmit@gmail.com>
4	Edu Gómez Escandell <egomez@redhat.com>
4	Oren Cohen <ocohen@redhat.com>
3	Ben Oukhanov <ben1zuk321@gmail.com>
3	Vasiliy Ulyanov <vulyanov@suse.de>
3	aerosouund <aerosound161@gmail.com>
3	rkishner <rkishner@redhat.com>
2	Ahmad Hafe <ahafe@redhat.com>
2	HF <crazytaxii666@gmail.com>
2	Harsh Vardhan <harsh.vardhan.ande@gmail.com>
2	Javier Cano Cano <jcanocan@redhat.com>
2	Tushar Jain <jain0735@gmail.com>
2	Vasiliy Sibirskiy <vsibirsk@redhat.com>
2	Vicente Cheng <vicente.cheng@suse.com>
2	howard zhang <howard.zhang@arm.com>
2	zhuanlan <zhuanlan_yewu@cmss.chinamobile.com>
1	Adrian Vladu <avladu@cloudbasesolutions.com>
1	Alay Patel <alayp@nvidia.com>
1	Alexander Wels <awels@redhat.com>
1	Andrei Kvapil <kvapss@gmail.com>
1	Anjul Sahu <anjuls@users.noreply.github.com>
1	Arnon Gilboa <agilboa@redhat.com>
1	Bart Vercoulen <bartv@kumina.nl>
1	Barthélemy Vessemont <bvessemont@gmail.com>
1	Enrique Llorente <ellorent@redhat.com>
1	Harshit Gupta <guptaharshit@microsoft.com>
1	Ido Aharon <iaharon@redhat.com>
1	Igor Bezukh <ibezukh@redhat.com>
1	Jelmer Vernooij <jvernooij@evroc.com>
1	Karsten Becker <kb@karsten-becker.de>
1	Mark Maglana <mmaglana@gmail.com>
1	Shahaf Bahar <sbahar@redhat.com>
1	Shirly Radco <sradco@redhat.com>
1	Tal Cohen <tacohen@habana.ai>
1	TheRealSibasishBehera <fangedhamster3114@gmail.com>
1	VitalikButerinEth <csyingyu@126.com>
1	anish bista <anishbista053@gmail.com>
1	bcoxford <ben.coxford@ncr.com>
1	dshchedr <dshchedr@redhat.com>
1	mountcount <cuimoman@outlook.com>
1	zpeng <zpeng@redhat.com>

Additional Resources
--------------------
- Mailing list: <https://groups.google.com/forum/#!forum/kubevirt-dev>
- Slack: <https://kubernetes.slack.com/messages/virtualization>
- An easy to use demo: <https://github.com/kubevirt/demo>
- [How to contribute][contributing]
- [License][license]

[contributing]: https://github.com/kubevirt/kubevirt/blob/main/CONTRIBUTING.md
[license]: https://github.com/kubevirt/kubevirt/blob/main/LICENSE
---

This tag has no release notes.