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 spinlocks 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.