v1.14.0
firecracker-microvm/firecrackerv1.14.0Dec 17, 2025by bchalios
AI Summary
Firecracker v1.14.0 is a major release introducing significant new features including a /serial endpoint for serial console output, virtio-pmem device support, virtio-mem memory hot-plugging, and virtio-balloon free page reporting. It also includes important changes like automatic creation of log/metrics files and several bug fixes.
Key Highlights
- Added /serial endpoint for redirecting guest serial console output
- Added virtio-pmem device support
- Added virtio-mem memory hot-plugging support
- Added virtio-balloon free page reporting and hinting (developer preview)
- Firecracker now auto-creates log and metrics files if they don't exist
- Removed unused metrics (rx_partial_writes, tx_partial_reads, sync_response_fails, etc.)
- Fixed vsock device data corruption bug for guest kernel 6.17+
- Fixed watchdog soft lockup bug on microVMs restored from snapshots
Breaking Changes
- Removed several deprecated/unused metrics: rx_partial_writes, tx_partial_reads, sync_response_fails, sync_vmm_send_timeout_count, deprecated_cmd_line_api_calls, log_fails, and device_events
New Features
- /serial endpoint for serial console output to file
- virtio-pmem device support
- virtio-mem memory hot-plugging
- virtio-balloon free page reporting and hinting
- Auto-creation of log and metrics files
- Balloon stats supporting guest kernel >= 6.12 with OOM kill metrics
- IA32_MTRRdefType MSR specification on VM boot
Full Release Notes
### Added * [#5350](https://github.com/firecracker-microvm/firecracker/pull/5350): Added a `/serial` endpoint, which allows setting `serial_out_path` to the path of a pre-created file into which Firecracker should redirect output from the guest's serial console. Not configuring it means Firecracker will continue to print serial output to stdout. Similarly to the logger, this configuration is not persisted across snapshots. * [#5463](https://github.com/firecracker-microvm/firecracker/pull/5463): Added support for `virtio-pmem` devices. See [documentation](docs/pmem.md) for more information. * [#5534](https://github.com/firecracker-microvm/firecracker/pull/5534): Added support for memory hot-plugging through the `virtio-mem` device. See [documentation](docs/memory-hotplug.md) for more information. * [#5491](https://github.com/firecracker-microvm/firecracker/pull/5491): Added support for `virtio-balloon` free page reporting and hinting. Free page reporting is a developer preview not for production feature. See [documentation](docs/ballooning.md) for more information. ### Changed * [#4028](https://github.com/firecracker-microvm/firecracker/pull/4028): Firecracker now creates the log and metrics files if they do not exist, simplifying the launch of Firecracker by removing a manual step. * [#5516](https://github.com/firecracker-microvm/firecracker/pull/5516): Balloon stats now supports guest kernel >= 6.12, adding metrics on guest OOM kills, memory allocation stalls, and memory scan/reclaim info. * [#5526](https://github.com/firecracker-microvm/firecracker/pull/5526): Specify IA32_MTRRdefType MSR on VM boot to allow it to set page attributes for memory regions. ### Removed * [#5439](https://github.com/firecracker-microvm/firecracker/pull/5439): Removed the `rx_partial_writes`, `tx_partial_reads`, `sync_response_fails`, `sync_vmm_send_timeout_count`, `deprecated_cmd_line_api_calls`, `log_fails` and `device_events` metrics, as they were never incremented. ### Fixed * [#5418](https://github.com/firecracker-microvm/firecracker/pull/5418): Fixed typo in Swagger definition of `MmdsConfig`, where the property `imds_compat` was spelled as `imds_comat`. This caused auto-generated clients to create bad requests. * [#5447](https://github.com/firecracker-microvm/firecracker/pull/5447): Fixed Intel AMX enabling for kernels that support dynamic XSTATE features for userspace applications but not for KVM guests (e.g. kernel versions >= 5.16 and < 5.17). * [#5485](https://github.com/firecracker-microvm/firecracker/pull/5485): Fixed a bug causing a read/write from an iovec to be duplicated when receiving an error on an iovec other than the first. This caused a data corruption issue in the vsock device starting from guest kernel 6.17. * [#5494](https://github.com/firecracker-microvm/firecracker/pull/5494): Fixed a watchdog soft lockup bug on microVMs restored from snapshots by calling KVM_KVMCLOCK_CTRL ioctl before resuming. * [#5538](https://github.com/firecracker-microvm/firecracker/pull/5538): Fixed a cache coherency issue on non-FWB aarch64 platforms by adding `dma-coherent` property to virtio-mmio nodes in the FDT.