{"full_name":"firecracker-microvm/firecracker","owner":"firecracker-microvm","name":"firecracker","url":"https://github.com/firecracker-microvm/firecracker","description":"Secure and fast microVMs for serverless computing.","homepage":"http://firecracker-microvm.io","topics":[],"language":"Rust","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/44477506?v=4","created_at":"2017-10-19T06:18:47Z","pushed_at":"2026-11-09T20:15:30Z","metrics":{"stars":37929,"forks":2734,"watchers":356,"issues":1534,"prs":4759,"releases":92,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":78},"growth":{"day":{"stars":17,"forks":3,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[37912,37929],"forks":[2731,2734],"watchers":[356,356],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":5744,"title":"MicroVM hangs during SMP boot with ≥16 vCPUs on dual-socket NUMA hosts","comments":36,"created_at":"2026-03-09T14:15:04Z"},{"number":1933,"title":"[Network] Add support for MacVTap interfaces","comments":18,"created_at":"2020-05-28T06:20:24Z"},{"number":4751,"title":"[Feature Request] Move to OpenAPI / OAS 3.1","comments":15,"created_at":"2024-08-27T13:46:36Z"},{"number":1033,"title":"Add documentation for VM dev machine(using free or open source software)","comments":14,"created_at":"2019-03-22T16:35:00Z"},{"number":4014,"title":"[Snaps] Drive mounts for block device disk paths during snapshot loading","comments":13,"created_at":"2023-08-09T07:49:40Z"},{"number":3161,"title":"Use `clippy::as_conversions`","comments":13,"created_at":"2022-10-04T15:02:36Z"},{"number":2708,"title":"Unmap/discard/fstrim","comments":13,"created_at":"2021-08-24T19:11:26Z"},{"number":4709,"title":"Allow Running `vmm` Unittests in Parallel","comments":12,"created_at":"2024-07-29T11:23:40Z"}],"discussions":[{"number":6269,"title":"`SharedMemfd` memory backend","comments":2,"category":"General","created_at":"2026-10-13T10:08:35Z"},{"number":6222,"title":"Downstream fork with support for Hygon CPUs (HygonGenuine)","comments":1,"category":"Show and tell","created_at":"2026-09-16T14:20:00Z"},{"number":6024,"title":"Hyper - distributed Firecracker microVM orchestrator written in Elixir","comments":0,"category":"Show and tell","created_at":"2026-07-09T17:55:49Z"},{"number":5781,"title":"Is vsock just slow on Linux? (EDIT3: Fixed in Linux 7.1, 6.18.52 and 6.12.110)","comments":2,"category":"General","created_at":"2026-03-22T07:26:04Z"},{"number":5667,"title":"How is networking usually configured at boot inside Firecracker microVMs?","comments":1,"category":"Q&A","created_at":"2026-01-25T16:57:39Z"},{"number":5549,"title":"Firecracker Balloon only deflating on OOM","comments":1,"category":"Q&A","created_at":"2025-12-01T13:41:17Z"},{"number":5541,"title":"Firecracker Extension for Apache CloudStack","comments":1,"category":"Show and tell","created_at":"2025-11-27T15:59:09Z"},{"number":5368,"title":"How does the net interface name in guest be determined from `iface_id` parameter?","comments":1,"category":"Q&A","created_at":"2025-08-13T03:48:37Z"}],"latest_release":{"name":"Firecracker v1.17.0","tag":"v1.17.0","published_at":"2026-09-10T14:19:40Z","body":"## Added\n\n* [#5891](https://github.com/firecracker-microvm/firecracker/pull/5891): Added support for virtio device reset.\n* [#5983](https://github.com/firecracker-microvm/firecracker/pull/5983): Add two optional metrics fields, set via `PUT /metrics` or a config file: `emit_id` emits the microVM instance id under a top-level `id` field, and `properties` emits operator-defined key-value pairs under a top-level `properties` field. Each is opt-in and independent. See [metrics documentation](docs/metrics.md).\n* [#6003](https://github.com/firecracker-microvm/firecracker/pull/6003): Added a new option `Transparent` for the `huge_pages` setting. If set, Firecracker will use transparent huge pages for the guest memory via `madvise(MADV_HUGEPAGE)`. Guest memory must be a multiple of 2MB when using this option.\n* [#6013](https://github.com/firecracker-microvm/firecracker/pull/6013), [#6017](https://github.com/firecracker-microvm/firecracker/pull/6017), [#6021](https://github.com/firecracker-microvm/firecracker/pull/6021): Added official support for 6.18 microVM guest kernels.\n* [#6037](https://github.com/firecracker-microvm/firecracker/pull/6037): Added support for booting `bzImage` guest kernels on x86_64, in addition to the existing uncompressed ELF (`vmlinux`) images. The kernel image format is detected automatically, so no configuration change is required.\n* [#6064](https://github.com/firecracker-microvm/firecracker/pull/6064): Added the `huge_pages` field to `PUT /snapshot/load`, allowing the restored microVM to reuse the snapshot's host page configuration or select `None`, `Transparent`, or `2M`.\n* [#6109](https://github.com/firecracker-microvm/firecracker/pull/6109): Added an optional `sync_snapshot_files` field to the `PUT /snapshot/create` API, defaulting to `true`. It controls whether the snapshot state and guest memory files are synced to disk (`fsync`) before the request returns. Setting it to `false` returns without waiting for the writeback, making snapshot creation faster at the cost of durability across a host crash; the data stays in the host page cache, so same-host reads still see the full contents. Block device backing files are always `fsync`'d regardless. See [snapshot documentation](docs/snapshotting/snapshot-support.md).\n* [#6116](https://github.com/firecracker-microvm/firecracker/pull/6116): On aarch64, enable `KVM_CAP_ARM_WRITABLE_IMP_ID_REGS` when the host kernel offers it (Linux 6.15 and later), adding support for custom CPU templates that modify the implementation ID registers (`MIDR_EL1`, `REVIDR_EL1`, `AIDR_EL1`). Such templates previously failed at boot with `Failed to set register ... Invalid argument` because KVM rejects the write unless the capability is enabled on the VM.\n* [#6145](https://github.com/firecracker-microvm/firecracker/pull/6145): Added official support for AWS Graviton5 (m9g.metal-48xl) instances.\n* [#6098](https://github.com/firecracker-microvm/firecracker/pull/6098): Added new VIRTIO_BLK_F_BLK_SIZE and VIRTIO_BLK_F_TOPOLOGY features to the virtio-block device. More information is in the new [block](docs/block.md) documentation.\n* [#6142](https://github.com/firecracker-microvm/firecracker/pull/6142): Add opt-in virtio-blk discard support for writable `Sync` IO engine drives through the `discard` drive configuration field. See the [block discard documentation](docs/api_requests/block-discard.md).\n\n## Changed\n\n* [#6115](https://github.com/firecracker-microvm/firecracker/pull/6115): Changed the T2S CPU template to set the `FB_CLEAR` bit of `MSR_IA32_ARCH_CAPABILITIES` to 1. This lets guest kernels recognize that the `VERW` instruction clears fill buffers, including on host kernels before v6.4 that cannot expose `FLUSH_L1D`.\n* [#6172](https://github.com/firecracker-microvm/firecracker/pull/6172): Gate CLIRD_EL1 override to only happen on host kernels equal or newer than 6.10 release. This aliviates the guest performance regression seen on host kernels in range \\[6.3..6.10) correlated to inc"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}