We are proud to announce the latest version of Unikraft, v0.11.0 (Janus)! The most important asset of this release is the long awaited musl support. Besides this, we introduce many new improvements, including critical bug fixes, improved stability and new features. To summarise:
arch/libcontext
(#535)lib/uksched
(#564)uk_thread_tcb_fini
to uk_thread_uktcb_fini
in uksched
(#660) by Eduard Vintilăuktime
(#454) by Dragoș ArgintUK_LIBC_SYSCALLS
guard around send()
and recv()
in posix-socket
(#637) by Răzvan Deaconescuaccess
and stat
with Unikraft syscalls in vfscore
(#636) by Maria Sfîrăialălegacy_syscalls.h
in syscall_shim
(#634) by Maria Sfîrăialăpipe()
call to uk_syscall_r_pipe()
in vfscore
(#633) by Eduard Vintilămusl
(#9) by Dragoș Arginttgmath.h
header (#24) by Florin Postolachewait.c
build dependency (#23) by Răzvan Deaconescusysexits.h
include dependency (#22) by Răzvan DeaconescuPOSIX_USER
functions (#20) by Ștefan Jumărealib-lwip
, include fcntl.h
and sys/ioctl.h
in sockets.c
(#27) by Răzvan Deaconesculib-lwip
, remove ip6addr
-related files (#25) by Răzvan Deaconesculib-lwip
, add uk/essentials.h
as include dependency (#22) by Răzvan Deaconesculib/uksched
) (#19) by Simon Kuenzerlib-libcxx
, add patch with signature for vasprintf
(#23) by Maria Sfîrăialămath.h
header (#22) by Ștefan Jumăreastddef
header file in libcxx (#18) by Ștefan Jumărealib-libcxx
, remove multiple definitions when using musl (#17) by Ștefan Jumărealib-libcxx
, define strtoll_l
and strtoull_l
in locale
(#14) by Ștefan Jumărealib-libcxx
, add location of features.h
file from Musl (#9) by Ștefan Jumăreakraft.yaml
) for app-helloworld-cpp
(#8) by Răzvan Deaconescukraft.yaml
) for app-nginx
(#7 and #8) by Răzvan Deaconescukraft.yaml
) for app-redis
(#11) by Răzvan Deaconescukraft.yaml
) for app-sqlite
(#5) by Răzvan Deaconescukraft.yaml
) for app-python3
(#8) by Răzvan Deaconescukraft.yaml
) for app-micropython
(#3) by Răzvan Deaconescuukarch_random
and add implementation for arm64 (FEAT_RNG
) (#434) by Michalis Pappasgetdents64
system call (#672) by Răzvan Deaconescu-Wno-cast-function-type
for GCC >= 8 in syscall_shim
(#677) by Răzvan Deaconescugetdents
count unit in vfscore
(#670) by Tu Dinh Ngocstdio.c
build warning in vfscore
(#667) by Răzvan Deaconescuprintf
to _uk_printk
in uktest
(#662) by Florin Postolache__lxstat
in vfscore
(#661) by Eduard Vintilăposix-process
(#657) by Răzvan Deaconescuposix_socket_close
in posix-socket
(#647) by Florin Postolache9pfs
(#639) by Eduard Vintilăvfscore
(#551) by Maria MoșneagLVLC_CALLER
in case CONFIG_LIBUKDEBUG_ANSI_COLOR
is not set in ukdebug
(#559) by Hamza Chandadhalt()
in arm/lcpu.c
(#540) by Julian Hartmeryear_to_secs
in uktime
(#534) by Marc Rittinghausvirtio_cread_bytes_many
in virtio_pci
(#519) by Eduard Vintilăukargparse
(#439) by Michalis Pappas.uk_testtab
after data section for uktest
(#606) by Aleksandr IashchenkoLIBUKTEST_TEST_MYSELF
option enable/disable self tests in uktest
(#602) by Florin Postolacheclone
rule to the build system (#553) by Florin PostolacheRLIMIT_DATA
resource for prlimit64
in posix-process
(#531) by Alex Apostolesculib-musl
, use function declaration for getdents64 (#31) by Răzvan Deaconesculib-musl
, add patch to fix definition of environ variable (#30) by Răzvan Deaconesculib-musl
, avoid bug in uk_syscall_set_tid_address()
(#29) by Dragoș Argintlib-musl
, use -Wno-cast-function-type
for GCC >= 8 (#28) by Răzvan Deaconesculib-musl
, remove include directory from clean list (#17) by Robert Kubanlib-musl
, introduce depedency to enable parallel build (#15) by Robert Kubanlib-musl
, enable FPSIMD support on ARM64 (#14) by Răzvan Vîrtanlib-musl
, hide internal headers (#13) by Robert Kubanlib-musl
, patch CVE-2020-28928 (#11) by Robert Kubanlib-musl
, comment macros to stop using VDSO (#10) by Florin Postolachelib-lwip
, use -Wno-cast-function-type
for GCC >= 8 (#28) by Răzvan DeaconescuA big thank you also to all those who helped in the review process: Adina Smeu, Alexander Jung, Cezar Crăciunoiu, Dragoș Argint, Eduard Vintilă, Marc Rittinghaus, Maria Sfiraiala, Răzvan Deaconescu, Răzvan Vîrtan, Renê de Souza Pinto, Robert Kuban, Sergiu Moga, Simon Kuenzer, Ștefan Jumărea, Vlad Bădoiu, Florin Postolache, Delia Pavel and Marco Schlumpp.
Feel free to ask questions, report issues, and meet new people.