Releases: firecracker-microvm/firecracker
Releases · firecracker-microvm/firecracker
Firecracker v0.21.3
Fixed
- Limited serial device buffer size to maximum 64 bytes.
Firecracker v0.22.0
Added
- Added a new API call,
PUT /metrics, for configuring the metrics system. - Added
app_namefield in InstanceInfo struct for storing the application
name. - New command-line parameters for
firecracker, named--log-path,
--level,--show-leveland--show-log-originthat can be used
for configuring the Logger when starting the process. When using
this method for configuration, only--log-pathis mandatory. - Added a guide for updating the dev container image.
- Added a new API call,
PUT /mmds/config, for configuring the
MMDSwith a custom valid link-local IPv4 address. - Added experimental JSON response format support for MMDS guest applications
requests. - Added metrics for the vsock device.
- Added devtool strip command which removes debug symbols from the release
- Added the
tx_malformed_framesmetric for the virtio net device, emitted
when a TX frame missing the VNET header is encountered.
Fixed
- Added
--versionflag to both Firecracker and Jailer. - Return
405 Method Not AllowedMMDS response for non HTTPGETMMDS
requests originating from guest. - Fixed folder permissions in the jail (#1802).
- Any number of whitespace characters are accepted after ":" when parsing HTTP
headers. - Potential panic condition caused by the net device expecting to find a VNET
header in every frame. - Potential crash scenario caused by "Content-Length" HTTP header field
accepting negative values. - Fixed #1754 - net: traffic blocks when running ingress UDP performance tests
with very large buffers.
Changed
- Updated CVE-2019-3016 mitigation information in
Production Host Setup - In case of using an invalid JSON as a 'config-file' for Firecracker,
the process will exit with return code 152. - Removed the
testrun.shwrapper. - Removed
metrics_fifofield from the logger configuration. - Renamed
log_fifofield from LoggerConfig tolog_pathand
metrics_fifofield from MetricsConfig tometrics_path. PATCH /drives/{id}only allowed post-boot. UsePUTfor pre-boot
updates to existing configurations.PATCH /network-interfaces/{id}only allowed post-boot. UsePUTfor
pre-boot updates to existing configurations.- Changed returned status code from
500 Internal Server Errorto
501 Not Implemented, for queries on the MMDS endpoint in IMDS format, when
the requested resource value type is unsupported. - Allowed the MMDS data store to be initialized with all supported JSON types.
Retrieval of these values within the guest, besides String, Array, and
Dictionary, is only possible in JSON mode. PATCHrequest on/mmdsbefore the data store is initialized returns
403 BadRequest.- Segregated MMDS documentation in MMDS design documentation and MMDS user
guide documentation.
Firecracker v0.21.2
Fixed
- Fixed #1754 - net: traffic blocks when running ingress UDP performance tests
with very large buffers.
Firecracker v0.20.1
Fixed
- Fixed #1754 - net: traffic blocks when running ingress UDP performance tests
with very large buffers.
Firecracker v0.21.1
Fixed
- Added
--versionflag to both Firecracker and Jailer.
Firecracker v0.21.0
Added
- Support for booting with an initial RAM disk image. This image can be
specified through the newinitrd_pathfield of the/boot-sourceAPI
request.
Fixed
- Fixed #1469 - Broken GitHub location for Firecracker release binary.
- The jailer allows changing the default api socket path by using the extra
arguments passed to firecracker. - Fixed #1456 - Occasional KVM_EXIT_SHUTDOWN and bad syscall (14) during
VM shutdown. - Updated the production host setup guide with steps for addressing
CVE-2019-18960. - The HTTP header parsing is now case insensitive.
- The
put_api_requestsandpatch_api_requestsmetrics for net devices were
un-swapped.
Changed
- Removed redundant
--seccomp-leveljailer parameter since it can be
simply forwarded to the Firecracker executable using "end of command
options" convention. - Removed
memory.dirty_pagesmetric. - Removed
optionsfield from the logger configuration. - Decreased release binary size by ~15%.
- Changed default API socket path to
/run/firecracker.socket. This path
also applies when running with the jailer. - Disabled KVM dirty page tracking by default.
- Removed redundant RescanBlockDevice action from the /actions API.
The functionality is available through the PATCH /drives API.
Seedocs/api_requests/patch-block.md.
Firecracker v0.20.0
Added
- Added support for GICv2.
Fixed
- Fixed CVE-2019-18960 - Fixed a logical error in bounds checking performed
on vsock virtio descriptors. - Fixed #1283 - Can't start a VM in AARCH64 with vcpus number more than 16.
- Fixed #1088 - The backtrace are printed on
panic, no longer causing a
seccomp fault. - Fixed #1375 - Change logger options type from Value to Vec to
prevent potential unwrap on None panics. - Fixed #1436 - Raise interrupt for TX queue used descriptors
- Fixed #1439 - Prevent achieving 100% cpu load when the net device rx is
throttled by the ratelimiter - Fixed #1437 - Invalid fields in rate limiter related API requests are
now failing with a proper error message. - Fixed #1316 - correctly determine the size of a virtio device backed
by a block device. - Fixed #1383 - Log failed api requests.
Changed
- Decreased release binary size by 10%.
Firecracker v0.19.1
Fixed (on top of v0.19.0):
- Fixed a logical error in bounds checking performed on vsock virtio descriptors (CVE-2019-18960).
Firecracker v0.18.1
Fixed (on top of v0.18.0):
- Fixed a logical error in bounds checking performed on vsock virtio descriptors (CVE-2019-18960).
Firecracker v0.19.0
Added
- New command-line parameter for
firecracker, named--no-api, which
will disable the API server thread. If set, the user won't be able to send
any API requests, neither before, nor after the vm has booted. It must be
paired with--config-fileparameter. Also, when API server is disabled,
MMDS is no longer available now. - New command-line parameter for
firecracker, named--config-file, which
represents the path to a file that contains a JSON which can be used for
configuring and starting a microVM without sending any API requests. - The jailer adheres to the "end of command options" convention, meaning
all parameters specified after--are forwarded verbatim to Firecracker. - Added
KVM_PTPsupport to the recommended guest kernel config. - Added entry in FAQ.md for Firecracker Guest timekeeping.
Changed
- Vsock API call:
PUT /vsocks/{id}changed toPUT /vsockand no longer
appear to support multiple vsock devices. Any subsequent calls to this API
endpoint will override the previous vsock device configuration. - Removed unused 'Halting' and 'Halted' instance states.
Fixed
- Fixed serial console on aarch64 (GitHub issue #1147).
- Upon panic, the terminal is now reset to canonical mode.
- Explicit error upon failure of vsock device creation.
- The failure message returned by an API call is flushed in the log FIFOs.
- Insert virtio devices in the FDT in order of their addresses sorted from
low to high. - Enforce the maximum length of the network interface name to be 16 chars as
specified in the Linux Kernel. - Changed the vsock property
idtovsock_idso that the API client can be
successfully generated from the swagger definition.