| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2024-06-06 | 14.2 kB | |
| v0.17.0 Calypso source code.tar.gz | 2024-06-06 | 1.8 MB | |
| v0.17.0 Calypso source code.zip | 2024-06-06 | 2.8 MB | |
| Totals: 3 Items | 4.6 MB | 0 | |
We are proud to announce the latest version update of Unikraft, v0.17! This release comes with plenty of new features and updates.
[!WARNING]
Be aware of the following potentially breaking changes:
The
linuxuplatform has been deprecated. No build should be performed against thelinuxuplatform.Random number generation is reliant on CPU support. This means that, when using QEMU, one of two options must be enabled:
You are using QEMU >= 8.0.
- You are using hardware acceleration, with KVM.
There is an (insecure) configuration option to disable support for CPU-based randomization. This is however only recommended for test & development builds.
Here is the full updates list:
🚀 New Features
include/uk: Import tree implementations from FreeBSD + improvements (#1356) by @andreittrplat/linuxu: Retire mostly unused and unmaintained linuxu platform (#1422) by @skuenzerlib/ukfile: API improvements (#1397) by @andreittrlib/posix-poll: Add option to yield on wait (#1319) by @andreittrlib/posix-poll: Autoremove closed files fromepoll(#1419) by @andreittrplat: Rework paged memory init (#1373) by @michpappasdriver/virtio/blk: Ensure request header stays in-page boundaries AND some minorsglistcleanup (#1290) by @mogasergiulib/posix-*: Add support for packet pipes & datagram unix sockets (#1272) by @andreittrlib/{vfscore, posix-tty}: Introduceposix-tty& move stdio/console files out of vfscore (#1226) by @andreittrlib/ukrandom: Rename and refactorlib/ukswrand(#1008) by @Alex-deVislib: Introduce generic (page guarded) stack allocator library (#1322) by @mogasergiu{lib,arch,plat}: Redo syscall ctx's andswapgslogic (#1346) by @mogasergiu[app-elfloader]: Adjust to the renameukarch_sysregs->ukarch_sysctx(#77) by @mogasergiu
🐛 Bug Fixes & Improvements
plat/common: Fix wrongvbaseof legacy video memory area (#1452) by @mogasergiulib/ukrandom: Alternative options for seeding the CSPRNG (#1451) by @michpappasplat: SetHAVE_RANDOMat the platform (#1450) by @michpappasplat/common: A bunch of fixes post-merge of #1212 (#1449) by @mogasergiuplat/xen: RemoveUKPLAT_MEMRF_MAPfromarm/setup64(#1445) by @michpappasplat/common/x86: Sanitize the ECTX slot on syscall entry (#1444) by @mogasergiuplat/common/arm: Check for QARMA3 support inpauth_init()(#1441) by @michpappaslib/ukalloc: Fix build with clang whenMEMTAGis enabled (#1440) by @michpappasarch/arm64: Add checks for min clang version (#1439) by @michpappaslib/posix-poll: Fix finalizer duplication inepoll(#1438) by @andreittrplat/xen/arm: Setpg_countparameter for mrd regions (#1436) by @oleksiimoisieiev.github/workflows: Allow capital letters in files & new error message (#1435) by @craciunoiucplat/xen: Remove redundant memory region (#1434) by @andreistan26README: Fix broken codacy link (#1433) by @thass0lib/vfscore: Add support for renameat syscall (#1430) by @RaduNichitaplat/common/arm: Add ISB after enabling PAuth() (#1428) by @michpappasdocs: UpdateADOPTERS.mdwith CertKOR (#1425) by @hapticslabs.github/workflows: Pretty print failed runs (#1423) by @craciunoiuclib/posix-unixsocket: Add support for destination insendmsg(#1421) by @andreittrlib/vfscore: Do not interpret device pointer as string (#1418) by @mschlumpplib/posix-fdio: Allow owner/group == -1 forfchown(#1416) by @andreittrlib/ukvmem: Ensureboolexists throughstdbool.hin VMA stacks (#1415) by @mogasergiuuk/plat: Mark MRD validation flags variable in macro as maybe unused (#1414) by @mogasergiulib/ukboot: Fix configuration of no "no scheduler" (#1413) by @skuenzer.github/workflows: Tidy up unused checkpatch variables (#1400) by @craciunoiuclib/ukboot: Fix unused variable warning inboot.c(#1399) by @keenoxlib/ukfile: Add utility inlines for iovec I/O (#1396) by @andreittrplat/kvm/x86: Add dependency to ukbitops (#1395) by @andreittrlib/posix-fdio: Add bincompat support forRWF_*(#1394) by @andreittrlib/posix-*: Fix missing/unneeded dependencies (#1393) by @andreittrlib/posix-fdio: Move non-trivial libc syscall wrappers over from vfscore (#1392) by @andreittrsupport: ChangePYTHONCMDto python3 (#1391) by @tbunch1.clang-format: Update to match coding conventions (#1390) by @tbunch1lib/ukvmem/arch/arm: Fixerror_codebuild error with correctesr(#1388) by @mogasergiulib/ukfile: Remove padding from structuk_statx(#1387) by @andreittrlib/syscall_shim: Update syscall numbers to 6.8 (#1385) by @andreittr.github/workflows: Catalog tests fixes and adjustments (#1382) by @craciunoiuclib/ukboot: Silence compiler warning on envp (#1378) by @michpappaslib/posix-process: Fix off-by-one error in tid check (#1377) by @michpappaslib/vfscore: No-opmkmpon/(#1376) by @mogasergiulib/posix-timerfd: Fix update thread double free and add update thread dtor (#1375) by @mogasergiudoc: Correct links inREADME.md(#1374) by @razvandarch/: Replace libc types with Unikraft defined (#1369) by @rares-miculescuinclude/uk: Replace libc types with Unikraft defined (#1368) by @rares-miculescudoc: Refactor README.md with new layout and latest info (#1366) by @nderjung.github/workflows: Add job to merge staging to stable (#1363) by @craciunoiuclib/ukcpio: Consistently overwrite existing destination (#1362) by @andreittrarch/x86: Use the ISR-safe variant for ectx string operations (#1357) by @kha-dinhlib/posix-environ: Deduplicate env variables during boot (#1352) by @skuenzerlib/ukfile: Add opt-in support for file finalizers (#1341) by @andreittrlib/posix-socket: Expose internal socket syscalls (#1337) by @andreittrlib/posix-time*: Replace time syscalls with internal API (#1336) by @andreittrplat/kvm/x86: Add early COM1 init/print for CPU init errors (#1335) by @mogasergiulib/uknofault: Add on-demand paging disabled read/write operations (#1333) by @mogasergiu{arch,plat}/x86: RefactorFS_BASE/GS_BASEoperations (#1316) by @mogasergiulib/posix-unixsocket: Add basic*sockoptsupport (#1314) by @andreittruk/plat/memory: Introducepg_offandpg_countmemregion fields (#1212) by @mogasergiulib/ukrust: Fix helloworld-rust application compilation error (#1163) by @cocoderyplat: Migrate RTC PL031 todrivers/ukrtc/(#972) by @rares-miculescudoc: Replaced libc types with unikraft defined (#954) by @rares-miculescuarch/x86: Fix interrupts on qemu-microvm/qboot (#947) by @felixmoebius[app-click]: RenameLIBUKSWRANDtoLIBUKRANDOM(#6) by @Alex-deVis[app-elfloader]: RenameLIBUKSWRANDto LIBUKRANDOM` (#80) by @Alex-deVis[app-elfloader]: Use default allocators of the current scheduler for stacks/TLS (#73) by @mogasergiu[app-elfloader]:Config.uk: Imply yield-on-wait behavior for*poll(#72) by @andreittr[lib-libc-test]: patches: Adapt malloc patch to match new test format (#4) by @craciunoiuc[lib-libsodium]: RenameLIBUKSWRANDtoLIBUKRANDOM(#10) by @Alex-deVis[lib-lwip]: RenameLIBUKSWRANDtoLIBUKRANDOM(#57) by @Alex-deVis[lib-lwip]:patches: Bring back address structure length checks (#56) by @mogasergiu[lib-lwip]: IndicateEPOLLRDHUPwhen the peer closed the connection (#55) by @mschlumpp[lib-lwip]:lwip: Provide config option forSO_LINGERand enable by default (#52) by @michpappas[lib-musl]: RenameLIBUKSWRANDtoLIBUKRANDOM(#78) by @Alex-deVis[lib-musl]: Addsys/membarrier.hto the headers list (#76) by @StefanJum[lib-nginx]: Rename LIBUKSWRAND toLIBUKRANDOM(#17) by @Alex-deVis[lib-openssl]: RenameLIBUKSWRANDtoLIBUKRANDOM(#10) by @Alex-deVis[lib-redis]: RenameLIBUKSWRANDtoLIBUKRANDOM(#14) by @Alex-deVis
A big thank you also to all those who helped in the review process: Alexander Jung, Alexandru Apostolescu, Andrei Stan, Andrei Tatar, Cezar Craciunoiu, Delia Pavel, Eduard Vintilă, Felipe Huici, Marco Schlumpp, Maria Pana, Maria Sfiraiala, Michalis Pappas, Mihnea Firoiu, Mihnea Popeanga, Radu Nichita, Rares Miculescu, Razvan Deaconescu, Razvan Virtan, Robert Zamfir, Serban Sorohan, Sergiu Moga, Simon Kuenzer, Stefan Jumarea.
For more information, check out the accompanying blog post or view the full changelog.