Skip to content

Tags: hokonetwork/firecracker

Tags

v0.15.2

Toggle v0.15.2's commit message
Fixed

* Corrected the conditional compilation of the seccomp rule for madvise.

v0.15.1

Toggle v0.15.1's commit message
Fixed

* A madvise call issued by the musl allocator was added to the seccomp
whitelist to prevent Firecracker from terminating abruptly when
allocating memory in certain conditions.

v0.15.0

Toggle v0.15.0's commit message
Added

* New API action: SendCtrlAltDel, used to initiate a graceful shutdown,
  if the guest has driver support for i8042 and AT Keyboard. See
  [the docs](docs/api_requests/actions.md#sendctrlaltdel) for details.
* New metric counting the number of egress packets with a spoofed MAC:
  `net.tx_spoofed_mac_count`.
* New API call: `PATCH /network-interfaces/`, used to update the rate limiters
  on a network interface, after the start of a microVM.

Changed

* Added missing `vmm_version` field to the InstanceInfo API swagger
  definition, and marked several other mandatory fields as such.
* New default command line for guest kernel:
  `reboot=k panic=1 pci=off nomodules 8250.nr_uarts=0
  i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd`.

Fixed

* virtio-blk: VIRTIO_BLK_T_FLUSH now working as expected.
* Vsock devices can be attached when starting Firecracker using the jailer.
* Vsock devices work properly when seccomp filtering is enabled.

foobar

Toggle foobar's commit message
This is a dummy tag for testing GitHub webhooks.

v0.14.0

Toggle v0.14.0's commit message
Added

* Documentation for development environment setup on AWS in
  `dev-machine-setup.md`.
* Documentation for microVM networking setup in `docs/network-setup.md`.
* Limit the maximum supported vCPUs to 32.

Changed

* Log the app version when the `Logger` is initialized.
* Pretty print panic information.
* Firecracker terminates with exit code 148 when a non-whitelisted syscall
  is intercepted.

Fixed

* Fixed build with the `vsock` feature.

v0.13.0

Toggle v0.13.0's commit message
Added

* Documentation for Logger API Requests in `docs/api_requests/logger.md`.
* Documentation for Actions API Requests in `docs/api_requests/actions.md`.
* Documentation for MMDS in `docs/mmds.md`.
* Flush metrics on request via a PUT `/actions` with the `action_type`
  field set to `FlushMetrics`.

Changed

* Updated the swagger definition of the `Logger` to specify the required fields
  and provide default values for optional fields.
* Default `seccomp-level` is `2` (was previously 0).
* API Resource IDs can only contain alphanumeric characters and underscores.

Fixed

* Seccomp filters are now applied to all Firecracker threads.
* Enforce minimum length of 1 character for the jailer ID.
* Exit with error code when starting the jailer process fails.

Removed

* Removed `InstanceHalt` from the list of possible actions.

v0.12.0

Toggle v0.12.0's commit message
Added

* The `/logger` API has a new field called `options`. This is an array of
  strings that specify additional logging configurations. The only supported
  value is `LogDirtyPages`.
* When the `LogDirtyPages` option is configured via `PUT /logger`, a new metric
  called `memory.dirty_pages` is computed as the number of pages dirtied by the
  guest since the last time the metric was flushed.
* Log messages on both graceful and forceful termination.
* Availability of the list of dependencies for each commit inside the code base.
* Documentation on vsock experimental feature and host setup recommendations.

Changed
* `PUT` requests on `/mmds` always return 204 on success.
* `PUT` operations on `/network-interfaces` API resources no longer accept
  the previously required `state` parameter.
* The jailer starts with `--seccomp-level=2` (was previously 0) by default.
* Log messages use `anonymous-instance` as instance id if none is specified.

Fixed
* Fixed crash upon instance start on hosts without 1GB huge page support.
* Fixed "fault_message" inconsistency between Open API specification and
  code base.
* Ensure MMDS compatibility with C5's IMDS implementation.
* Corrected the swagger specification to ensure `OpenAPI 2.0` compatibility.

v0.11.0

Toggle v0.11.0's commit message
Firecracker v0.11.0

Added
* Apache-2.0 license
* Docs:
  * CHARTER.md
  * CONTRIBUTE.md
  * docs/design.md
  * docs/getting-started.md
  * SECURITY-POLICY.md
  * SPECIFICATION.md
* [EXPERIMENTAL] vhost-based vsock implementation.

Changed
* Improved MMDS network stack performance
* If the logging system is not yet initialized (via `PUT /logger`), log events
  are now sent to stdout/stderr.
* Moved the `instance_info_fails` metric under `get_api_requests`
* Improved [readme](README.md) and added links to more detailed information,
  now featured in subject-specific docs.

Fixed
* Fixed bug in the MMDS network stack, that caused some RST packets to be sent
  without a destination.
* Fixed bug in `PATCH /drives`, whereby the ID in the path was not checked
  against the ID in the body.

v0.10.1

Toggle v0.10.1's commit message
[0.10.1]

Fixed:

- The Swagger definition was corrected.

v0.10.0

Toggle v0.10.0's commit message
Firecracker v0.10.0

Added
* Each Firecracker process has an associated microVM Metadata Store (MMDS).
  Its contents can be configured using the `/mmds` API resource.

Changed
* The boot source is specified only with the `kernel_image_path` and
  the optional parameter `boot_args`. All other fields are removed.
* The `path_on_host` property in the drive specification is now marked as
  *mandatory*.
* PATCH drive only allows patching/changing the `path_on_host` property.
* All PUT and PATCH requests return the status code 204.
* CPUID brand string (aka model name) now includes the host CPU frequency.
* API requests which add guest network interfaces have an additional parameter,
  `allow_mmds_requests` which defaults to `false`.
* Stopping the guest (e.g. using the `reboot` command) also terminates the
  Firecracker process. When the Firecracker process ends for any reason,
  (other than `kill -9`), metrics are flushed at the very end.
* On startup `jailer` closes all inherited file descriptors based on
  `sysconf(_SC_OPEN_MAX)` except input, output and error.
* The microVM ID prefixes each Firecracker log line. This ID also appears
  in the process `cmdline` so it's now possible to `ps | grep <ID>` for it.