We are proud to announce the latest version of Unikraft, v0.14.0 (Prometheus)! Along with many fixes, this release comes with a bunch of new features that are worth your attention!
Here is the full updates list:
lib/uklibid
: Library identifiers and SUBBUILD
build system feature (#938) by @skuenzerEFI
ISO
and DISK
images. (#910) by @mogasergiuEFI
stub support (#909) by @mogasergiuADOPTERS.md
(#892) by @nderjungLLVM
target (#685) by @mariasfiraiala[lib-geos]
Port upstream libgeos 3.11.2 (#1) by @andreittr[lib-libffi]
Port upstream libffi 3.4.4 for x86_64 (#1) by @andreittr[lib-fork-glibc]
feat: Binary syscall bypass through VDSO (#1) by @i-Pear[lib-fork-musl]
feat: Binary syscall bypass through VDSO (#1) by @i-Pear[lib-python-numpy]
Port upstream NumPy 1.25.0 (#1) by @andreittr[lib-python-shapely]
Port upstream Shapely 2.0.1 (#1) by @andreittr[app-elfloader]
feat: Provide VDSO image and __kernel_vsyscall
interface (#23) by @i-Pear[catalog]
Create initial version of catalog
repository by @nderjungKVM
entry (#1056) by @mogasergiuFirecracker
PIE
builds (#1045) by @mogasergiuUKPLAT_HALT
during shutdown request (#1039) by @mogasergiulibukreloc
error for non-PIE
SMP
builds (#1037) by @mogasergiuLIBCOMPILER_RT
(#1033) by @nderjung(f)scanf()
prototypes (#1029) by @skuenzerplat/*
: Signal shutdown cause on QEMU (#1019) by @mschlumppassert.h
header (#1017) by @mogasergiulib/*
: Add syscall interfaces for dotnet runtime (#1004) by @i-Pearwfi
(#980) by @kubanroblib/ukschedcoop
: Keep track of thread execution times (#965) by @skuenzerlib/*fs
, lib/vfscore
: Add proper dirent/dirent64
structure usage (#963) by @StefanJum*at
syscalls (#951) by @andreittr_SC_GETPW_R_SIZE_MAX
(#936) by @andreittrLVLC_THREAD
macro (#929) by @StefanJumSMP
on ARM64
through ACPI
(#912) by @mogasergiuACPI
code and change its location. (#911) by @mogasergiuukvmem
Aarch64
page fault handler (#908) by @mogasergiustxr
's used in spinlock
s register size (#907) by @mogasergiuposix-futex
debugging (#904) by @skuenzerukplat_memregion
into Xen
x86
, AArch64
KVM
and linuxu
(#848) by @mogasergiu[lib-compiler-rt]
Makefile.uk: Remove redundant check for libunwind (#19) by @andreittr[lib-compiler-rt]
Split off functionality that relies on libm (#18) by @andreittr[lib-compiler-rt]
Build: Split off functionality that depends on libunwind (#14) by @andreittr[lib-googletest]
Update to upstream 1.13.0 (#2) by @andreittr[lib-intel-intrinsics]
Add compatibility with GCC <= 11.2 & Clang 10 (#4) by @andreittr[lib-intel-intrinsics]
Rework of x86 intrinsics support (#3) by @andreittr[lib-libcxx]
Makefile.uk: Add minimum compiler version check (#33) by @andreittr[lib-libgo]
Upgrade Go to 1.18 (#7) by @eduardvintila[lib-libuuid]
Makefile.uk: Fix subdirectory make rule (#5) by @StefanJum[lib-libuuid]
Correct libc dependency (#4) by @andreittr[lib-lua]
patches: Remove outdated patch (#8) by @StefanJum[lib-lua]
Change newlib dependency with musl (#7) by @JADarius[lib-lwip]
Makefile.uk: Silence macro redefinition warnings (#38) by @andreittr[lib-musl]
Makefile.uk.musl.misc: Add missing ar.h (#72) by @marcrittinghaus[lib-musl]
Makefile.uk.musl.exit: Patch for building on case insensitive file systems (#70) by @Starnox[lib-musl]
Config.uk: Add uksignal
dependency for LIBMUSL_SIGNAL
(#68) by @eduardvintila[lib-musl]
patches: Add syscall function prototype (#67) by @eduardvintila[lib-musl]
Makefile.uk: Include missing gettid implementation (#65) by @andreittr[lib-musl]
Makefile.uk: Include missing cpow*
functions (#64) by @andreittr[lib-musl]
patches: Delete patching of ioctl
call in isatty
(#62) by @mogasergiu[lib-musl]
Makefile.uk: Silence warnings (#61) by @andreittr[lib-musl]
Initialize main thread pthread structure (#59) by @alexhoppus[lib-musl]
Include missing parts of the string library (#55) by @andreittr[lib-musl]
Makefile.uk: Condition behavior on Kconfig (#54) by @andreittr[lib-musl]
glue: Init libc.auxv to point to a zero value (#53) by @StefanJum[lib-musl]
Allow deselection of ukmmap (#52) by @marcrittinghaus[lib-musl]
Makefile.uk: Fix gcc specific warnings (#51) by @mbrdg[lib-newlib]
Makefile.uk: Call tcb reserve conditionally (#35) by @razvand[lib-openssl]
Add patch to remove include of >linux/mman.h< (#5) by @andreittr[lib-python3]
Add support for the Shapely extension (#17) by @andreittr[lib-python3]
Add support for NumPy (#16) by @andreittr[lib-python3]
Update to upstream Python 3.10.11 (#15) by @andreittr[lib-python3]
Makefile.uk: Allow configuring with custom config file (#13) by @StefanJum[lib-python3]
include/pyconfig.h: Define SIZEOF_PHTREAD_T
based on chosen libc (#12) by @eduardvintila[lib-redis]
Redis 7.0.11 (#10) by @John-Ted[lib-sqlite]
Config.uk: Fix dependency issues & defaults (#6) by @andreittr[lib-wamr]
lib/lib-wamr: Move to musl and address compiler errors (#8) by @R0mbertus[app-redis]
Update configurations and instructions (#18) by @razvand[app-elfloader]
Add missing uk/config.h (#25) by @marcrittinghaus[app-elfloader]
Add default configuration file (#22) by @StefanJum[app-elfloader]
Readme: Add Hint about duplicate symbols (#21) by @mkroening[app-elfloader]
Config.uk
: Fix paging configuration typo (#18) by @costinsin[app-helloworld]
README.md: Add $
in commands (#21) by @StefanJum[app-helloworld]
feat(devcontainer): Add devcontainer for codespaces (#20) by @craciunoiuc[app-helloworld]
Add Makefile, configuration files and scripts (#19) by @StefanJum[app-helloworld]
Update platform name according to 0.13 release (#17) by @Krechals[app-helloworld-cpp]
Add configuration and scripts (#16) by @razvand[app-helloworld-cpp]
Update platform to qemu for all targets (#13) by @gabrielmocanu[app-helloworld-go]
Add Makefile and update Makefile.uk (#9) by @eduardvintila[app-httpreply]
Update platform to qemu for all targets (#16) by @gabrielmocanu[app-httpreply]
Update README.md file with easier to use instructions (#15) by @StefanJum[app-httpreply]
Add Makefile, configuration files and scripts (#14) by @StefanJum[app-lua]
Change newlib with musl (#9) by @JADarius[app-nginx]
Update configurations and instructions (#15) by @razvand[app-nginx]
Update README.md
file with easier to use instructions (#14) by @StefanJum[app-nginx]
Add Makefile, configuration files and scripts (#13) by @razvand[app-python3]
Fix rootfs mistakenly containing numpy (#17) by @andreittr[app-python3]
Update default Python app to 3.10.11 (#16) by @andreittr[app-python3]
Rename running scripts to run-qemu-*.sh
(#15) by @StefanJum[app-python3]
Add Makefile, configuration files and scripts (#12) by @StefanJum[app-redis]
Update README.md file with easier to use instructions (#17) by @StefanJum[app-redis]
Add run scripts and documentation (#16) by @John-Ted[app-sqlite]
Update configurations and instructions (#11) by @razvand[app-sqlite]
Update README.md file with easier to use instructions (#10) by @StefanJum[app-sqlite]
Update building and running workflows (#9) by @StefanJum[app-wamr]
Port application to musl (#5) by @R0mbertusA big thank you also to all those who helped in the review process: @adinamariav, @nderjung, @andraprs, @craciunoiuc, @csvancea, @DeliaPavel, @dragosp27, @Starnox, @eduardvintila, @maniatro111, @gabrielmocanu, @Ted, @mschlumpp, @mariasfiraiala, @michpappas, @RaduNichita, @miculescu, @razvand, @razvanvirtan, @kubanrob, @mogasergiu, @skuenzer, @StefanJum, Tu Dinh Ngoc.
Feel free to ask questions, report issues, and meet new people.