| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-05-13 | 10.5 kB | |
| v0.19.0 Pan source code.tar.gz | 2025-05-13 | 1.9 MB | |
| v0.19.0 Pan source code.zip | 2025-05-13 | 2.9 MB | |
| Totals: 3 Items | 4.8 MB | 0 | |
We are proud to announce the latest version of Unikraft, v0.19! This release comes with plenty of new features and updates.
[!WARNING] Be aware of the following potentially breaking changes:
The config options of
libposix-processhave been updated as follows:
CONFIG_LIBPOSIX_PROCESS_PIDSandCONFIG_LIBPOSIX_PROCESS_CLONEare merged into a single option,CONFIG_LIBPOSIX_PROCESS_MULTITHREADING.CONFIG_LIBPOSIX_PROCESS_VFORKis replaced byCONFIG_LIBPOSIX_PROCESS_MULTIPROCESS.CONFIG_LIBPOSIX_PROCESS_INIT_PIDSis deprecated, and its functionality is enabled by default.
Here is the full updates list:
🚀 New Features
lib/posix-process: POSIX signals (#1248) by @michpappaslib/posix-process: Addvfork&execve(#1386) by @michpappas[app-elfloader]: Introduce ELFbinfmtloader (#79) by @michpappaslib/posix-process: Supplementary changes for multiprocess (#1627) by @michpappas[app-elfloader]: Supplementary changes for multiprocess (#90) by @michpappaslib/posix-process:exit()andwait()(#1630) by @michpappasdrivers/ukps2: Add Firecracker shutdown driver and some minorKconfigfixups (#1265) by @mogasergiulib/posix-process: Graceful shutdown (#1633) by @michpappas[app-elfloader]: POSIX process graceful shutdown (#92) by @michpappaslib/posix-fdio: Add internal implementations offutime(n)s(#1575) by @andreittrlib/{ukfile, posix-socket, posix-unixsocket}: Add support for explicitly polled files & sockets (#1446) by @andreittrlib/posix-fdtab: Support independent (per-process) fdtabs (#1278) by @andreittrlib/posix-fd: Named open file descriptions (#1592) by @andreittr
🐛 Bug Fixes & Improvements
lib/posix-process: AddREADME.md(#1644) by @michpappaslib/posix-process: Make multiprocess config selectexecve(#1642) by @mogasergiulib/posix-process/arch/arm64: Save/restorelr/fpon clone asm stub (#1641) by @mogasergiulib/posix-process: Terminate underlying thread only if added to sched (#1640) by @mogasergiulib/posix-process: Makert_sigtimedwaitstub block (#1639) by @michpappaslib/ukvmem: ReturnENOMEMfor invalid addresses (#1638) by @mogasergiulib/ukrandom: Validategetrandominput & rm assert (#1637) by @andreittrlib/vfscore: Fix write const path inautomount(#1636) by @andreittrlib/syscall_shim/arch/x86: Properly fetchcurr_fpin execenv entry (#1635) by @mogasergiuplat/xen: Add initrd support for arm64 (#1634) by @andreistan26lib/posix-process/signal: Add stub forCLONE_SIGHAND(#1628) by @michpappaslib/posix-process/signals: Fix conditional for sigsetops (#1626) by @michpappaslibposix-process: Create PID1 from thread passed via init (#1620) by @michpappaslib/posix-process: Addsignalfd/signalfd4support (#1619) by @mogasergiulib/posix-process: Definelibcwrappers forclone/vfork(#1618) by @mogasergiulib/posix-fdtab: Fix exec handler & ref leak on fdtab clone (#1617) by @andreittrlib/posix-pipe: Add pipe stat support (#1603) by @andreittrlib/posix-fd: Move heap-allocated open file descriptions out of fdtab (#1602) by @andreittrlib/syscall_shim: Use global scope inline asm for execenv prologue (#1598) by @mogasergiulib/posix-unixsocket: FixNULLcrash onaccept4()(#1593) by @andreittrlib/vfscore: Useuk_syscall_dofor syscall delegation (#1591) by @mogasergiulib/ukcpio: Addsyscall_shimdep and useuk_syscall_do(#1590) by @mogasergiulib/ramfs: Use kernel internalclock_gettimevariant (#1587) by @mogasergiulib/vfscore: Use kernel internalclock_gettimevariant (#1586) by @mogasergiulib/posix-process: Define kernel internalexit_group(#1585) by @mogasergiulib/posix-process: Define kernel internal resource limit syscalls (#1584) by @mogasergiulib/posix-process: Define kernel internalgettid/getppid/getpid(#1583) by @mogasergiulib/posix-fdio: Adopt remaining file syscalls from vfscore (#1581) by @andreittrlib/ukfile: API: Change file offset and iovec length tosize_t(#1580) by @andreittrlib/ukfile: Add try acquire operation (#1579) by @andreittrlib/posix-fdio: Fix wrong computation ofdev_t(#1578) by @andreittrlib/syscall_shim: Autogenerateuk_syscall_*symbols at build time (#1577) by @mogasergiulib/posix-fd: Move open file descriptions into own lib (#1574) by @andreittrlib/ukvmem: Use correct stack guard size macro for tests (#1573) by @mogasergiulib/posix-timerfd: Output correctold_valueon set (#1568) by @andreittrlib/posix-timerfd: Fix counter on subsequent reads (#1567) by @andreittrlib/posix-timerfd: Validatesettime()argument (#1566) by @andreittrplat/kvm: SelectHAVE_IBMPConly on x86_64 (#1565) by @shymlib/syscall-shim: Do not dereference optionalclone()parameters (#1564) by @michpappaslib/posix-*: Remove hard dependency on posix-fdtab (#1437) by @andreittrlib/syscall_shim: Introduce syscall enter/exit routines tables (#1277) by @mogasergiulib/nolibc: Update Musl-imported headers for signals (#1244) by @michpappas[app-elfloader]: Silence unused argument warnings for /etc/hostname (#93) by @andreittr[app-elfloader]: Check return value ofuk_random_bytes()(#91) by @michpappas[app-elfloader]: Config.uk: Imply stdio file descriptors (#87) by @andreittr[app-elfloader]: Removeuk_syscall_symbols fromexportsyms.uk(#86) by @mogasergiu[lib-libelf]: Use Unikraft-provided__offsetofinstead of own (#5) by @andreittr[lib-lwip]:init.c: Remove no-op term function (#62) by @andreittr[lib-lwip]:sockets.c: Usesize_tforioveclength (#61) by @andreittr[lib-lwip]:socket.c: Update toposix-socketpoll setup API (#58) by @andreittr[lib-musl]:arch/arm64: Save/restore link register oncloneasm stub (#89) by @mogasergiu[lib-musl]: Adapt to updated libposix-process config options (#87) by @michpappas[lib-musl]: Replaceclone/vforkassembly wrappers with our own (#86) by @mogasergiu[lib-musl]:Config.uk: Add posix-tty as dependency to stdio (#85) by @andreittr[lib-musl]:Makefile.uk.musl.signal: Fix arm64 architecture test (#83) by @shym
A big thank you also to all those who helped in the review process: Andrei Tatar, Cezar Crăciunoiu, Teodor Țeugea, Oleksii Moisieiev, Răzvan Deaconescu, Sergiu Moga, Ștefan Jumărea
For more information, check out the accompanying blog post or view the full changelog.