From 2be9c2206efed0b7e9c09b407ff1db509a0df004 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Wed, 14 Feb 2024 00:05:51 +0200 Subject: [PATCH] release: Add blog post and notes for release 0.16.2 Add blog post, notes and support files for release 0.16.2 (Telesto). Signed-off-by: Razvan Deaconescu --- .../2024-02-13-unikraft-releases-v0.16.2.mdx | 73 +++++++++++++++++++ content/releases/v0.16.2.mdx | 64 ++++++++++++++++ src/components/landing-hero.tsx | 10 +-- 3 files changed, 142 insertions(+), 5 deletions(-) create mode 100644 content/blog/2024-02-13-unikraft-releases-v0.16.2.mdx create mode 100644 content/releases/v0.16.2.mdx diff --git a/content/blog/2024-02-13-unikraft-releases-v0.16.2.mdx b/content/blog/2024-02-13-unikraft-releases-v0.16.2.mdx new file mode 100644 index 00000000..c875a9ba --- /dev/null +++ b/content/blog/2024-02-13-unikraft-releases-v0.16.2.mdx @@ -0,0 +1,73 @@ +--- +title: "Unikraft releases v0.16.2 (Telesto)" +description: | + This release contains fixes primarily related to platform and application support. +publishedDate: 2024-02-13 +authors: +- Razvan Deaconescu +- Alexander Jung +- Oleksii Moiseiev +tags: +- release +- announcement +--- + +We are proud to announce the latest version of Unikraft, v0.16.2! + +### Xen on ARM64 + +_This feature was championed by [Oleksii Moiseiev](https://github.com/oleksiimoisieiev) with great support from [Michalis Pappas](https://github.com/michpappas) and from [Andrei Stan](https://github.com/andreistan26) and [Maria Sfîrăială](https://github.com/mariasfiraiala)_. + +This release brings the Xen support for ARM64. +Up until this point, Xen was only running on x86_64. +Recent advances in the embedded world, with focus on automotive and security, have made Xen an important target for the ARM64 architecture. + +The current Xen on ARM64 work includes the following features: + +* Implemented of the loaders and image header for ARM64 architecture. +* Implemented all basic drivers, that are essential for work on XEN, such as: memory management, `gnttab`, `xenbus` and console drivers. +* Updated and tested frontend drivers for the devices: `9p`, `blkfront` and `netfront`. +* Ported `pvcalls`-frontend driver from the Linux Kernel implementation. + +With the resurfacing of Xen support in release 0.16, Unikraft has now enhanced its Xen ecosystem with the ARM64 support. +Future steps relate to using binary-compatibility mode on Xen and KraftKit integration. + +### Application Catalog + +_This feature was championed by [Alexander Jung](https://github.com/nderjung) and [Razvan Deaconescu](https://github.com/razvand) with feedback from [Ștefan Jumărea](https://github.com/StefanJum) and [Mihnea Firoiu](https://github.com/Mihnea0Firoiu)._ + +The [`catalog`](https://github.com/unikraft/catalog) has been populated with additional applications and examples. +Currently a large set of programming languages (JavaScript, Java, Python, Lua, Ruby, Perl) are supported, together with other applications (Nginx, Redis). + +Feel free to try existing applications and examples and add your own to the catalog. + +### Community Activities + +#### Monthly Hackathon + +We continue organizing monthly hackathons, generally taking place in the last Saturday of each month. +Hackathons take place both online and in person, generally at the National University of Science and Technology POLITEHNICA of Bucharest. + +We organized a monthly hackathon on Saturday, January 27, 2024. +It was targeted on the 0.16.2 release, application support, CI improvements and fixes. + +The next monthly hackathon is scheduled to take place on Saturday, March 2, 2024. + +#### FOSDEM'24 + +Unikraft was of [FOSDEM'24](https://fosdem.org/2024/), at the [Microkernel and Component-based OS devroom](https://fosdem.org/2024/schedule/track/microkernel/), on February 3&4, 2024, in Brussels. +There were two talks from the Unikraft community, videos and slides now available online: + +- ["Linux Binary Compatible Unikernels with Unikraft"](https://fosdem.org/2024/schedule/event/fosdem-2024-3386-linux-binary-compatible-unikernels-with-unikraft/), by [Simon Kuenzer](https://github.com/skuenzer) +- ["Unikernels Are Here: Building, Running and Deploying Application Unikernels With One Command"](https://fosdem.org/2024/schedule/event/fosdem-2024-3459-unikernels-are-here-building-running-and-deploying-application-unikernels-with-one-command/) by [Răzvan Deaconescu](https://github.com/razvand) + +It was a good time to meet with members of the [Unikernel Alliance community](https://unikernelalliance.org/), and other friends of the Unikraft project. + +### Applying for GSoC'24 + +With [Google Summer of Code 2024 (GSoC'24)](https://summerofcode.withgoogle.com/) being announced, Unikraft applied as an organization. +We have [a healthy list of projects](https://github.com/unikraft/gsoc/blob/staging/gsoc-2024/ideas.md) that we offer to future participants, in case Unikraft is selected for GSoC'24. + +According to the [GSoC'24 timeline](https://developers.google.com/open-source/gsoc/timeline), we will know whether Unikraft is selected as an organization on Wednesday, February 21, 2024. + +If you are interested in taking part in GSoC'24, and work on operating-systems, cloud and tooling items, see the [Unikraft GSoC'24 projects page](https://github.com/unikraft/gsoc/blob/staging/gsoc-2024/ideas.md), join [Unikraft Discord](http://bit.ly/UnikraftDiscord), take part in discussions, make contributions and ask for support. diff --git a/content/releases/v0.16.2.mdx b/content/releases/v0.16.2.mdx new file mode 100644 index 00000000..be52bfa9 --- /dev/null +++ b/content/releases/v0.16.2.mdx @@ -0,0 +1,64 @@ +--- +version: 0.16.2 +releaseDate: 2024-02-12 +codename: Telesto +commit: 6b137204f6944d35399557eeecdfd45a7fbfaac2 +blogPost: /blog/2024-02-16-unikraft-releases-v0.16.2 +changelog: https://github.com/unikraft/unikraft/compare/RELEASE-0.16.1...RELEASE-0.16.2 +--- + +## Changelog + +* `.github/workflows`: Disable 'merge' global flag ([#1318](https://github.com/unikraft/unikraft/pull/1318)) by @craciunoiuc +* `.github/workflows`: Set committer email and name globally ([#1313](https://github.com/unikraft/unikraft/pull/1313)) by @craciunoiuc +* `lib/posix-fdtab`: Fix minor docstring issues ([#1312](https://github.com/unikraft/unikraft/pull/1312)) by @andreittr +* `lib/nolibc`: Solve warning of Musl imported `strstr` ([#1311](https://github.com/unikraft/unikraft/pull/1311)) by @mogasergiu +* `lib/posix-poll`: Fix EPOLL_CTL_MOD missing events ([#1310](https://github.com/unikraft/unikraft/pull/1310)) by @andreittr +* `lib/nolibc`: Expose FD_SETSIZE as Kconfig option ([#1309](https://github.com/unikraft/unikraft/pull/1309)) by @andreittr +* `lib/posix-sysinfo`: Fix off-by-1 error in `sethostname` ([#1307](https://github.com/unikraft/unikraft/pull/1307)) by @andreittr +* `plat/xen`: Remove duplicate PAGE definitions ([#1306](https://github.com/unikraft/unikraft/pull/1306)) by @michpappas +* `plat/kvm/x86`: Remove unused variable from `lxboot_entry()` ([#1305](https://github.com/unikraft/unikraft/pull/1305)) by @michpappas +* `lib/posix-time`: Add support for` CLOCK_BOOTTIME` ([#1304](https://github.com/unikraft/unikraft/pull/1304)) by @andreittr +* `lib/posix-process`: Add option to context switch away from clone caller ([#1303](https://github.com/unikraft/unikraft/pull/1303)) by @mschlumpp +* `lib/vfscore`: Prevent superfluous slashes in working directory ([#1302](https://github.com/unikraft/unikraft/pull/1302)) by @mschlumpp +* `lib/posix-fdio`: ENOTTY for unsupported tty ioctls ([#1301](https://github.com/unikraft/unikraft/pull/1301)) by @andreittr +* `lib/ukvmem`: Use correct argument type in format string ([#1300](https://github.com/unikraft/unikraft/pull/1300)) by @michpappas +* `lib/posix-fdtab`: Silence unused parameter warning ([#1299](https://github.com/unikraft/unikraft/pull/1299)) by @michpappas +* `lib/nolibc`: Use `strcat()` from mini-os ([#1298](https://github.com/unikraft/unikraft/pull/1298)) by @michpappas +* `lib/posix-poll`: Fix `epoll` missing events ([#1297](https://github.com/unikraft/unikraft/pull/1297)) by @andreittr +* `lib/posix-socket`: Introduce `CREATE`, `BIND` events ([#1296](https://github.com/unikraft/unikraft/pull/1296)) by @skuenzer +* `.github/workflows`: Remove redundant checks ([#1295](https://github.com/unikraft/unikraft/pull/1295)) by @craciunoiuc +* `lib/posix-process`: Add support for RLIMIT_AS ([#1294](https://github.com/unikraft/unikraft/pull/1294)) by @andreittr +* `build`: Disable image compression ([#1293](https://github.com/unikraft/unikraft/pull/1293)) by @michpappas +* `.github/workflows`: Enable `-Werror` on integration builds ([#1292](https://github.com/unikraft/unikraft/pull/1292)) by @michpappas +* `lib/ukboot`: Ensure the auxiliary stack is backed by physical memory ([#1291](https://github.com/unikraft/unikraft/pull/1291)) by @michpappas +* `checkpatch`: Update to v6.8-rc2 ([#1289](https://github.com/unikraft/unikraft/pull/1289)) by @michpappas +* `drivers/ukintctrl`: Update GICv2 compatible list ([#1287](https://github.com/unikraft/unikraft/pull/1287)) by @ananos +* `lib/ukboot`: Ensure the auxiliary stack is backed by physical memory ([#1286](https://github.com/unikraft/unikraft/pull/1286)) by @michpappas +* `.github/workflows`: Add missing checkpatch flags ([#1285](https://github.com/unikraft/unikraft/pull/1285)) by @craciunoiuc +* `lib/vfscore`: Additional mount options ([#1282](https://github.com/unikraft/unikraft/pull/1282)) by @skuenzer +* `lib/nolibc`: Change default FD_SETSIZE to 1024 ([#1280](https://github.com/unikraft/unikraft/pull/1280)) by @marcrittinghaus +* `lib/posix-socket`: Extend socket events ([#1279](https://github.com/unikraft/unikraft/pull/1279)) by @marcrittinghaus +* `support/scripts`: Fix `checkpatch.uk` ([#1276](https://github.com/unikraft/unikraft/pull/1276)) by @skuenzer +* Add README for posix-pipe library ([#1275](https://github.com/unikraft/unikraft/pull/1275)) by @RaduNichita +* `support/scripts`: Auto-split words and disable info message ([#1274](https://github.com/unikraft/unikraft/pull/1274)) by @craciunoiuc +* `lib/posix-mmap`: Round-up madvise length to page size ([#1273](https://github.com/unikraft/unikraft/pull/1273)) by @michpappas +* `.github/workflows`: Switch to debug logging ([#1270](https://github.com/unikraft/unikraft/pull/1270)) by @craciunoiuc +* Misc fixes found during the development of the Aarch64 XEN support. ([#1269](https://github.com/unikraft/unikraft/pull/1269)) by @oleksiimoisieiev +* Align auxiliary stack with regular stacks and add guard pages on per-thread regular stacks ([#1264](https://github.com/unikraft/unikraft/pull/1264)) by @mogasergiu +* Promote unhandled page fault message level and add stack guard page explicit message ([#1263](https://github.com/unikraft/unikraft/pull/1263)) by @mogasergiu +* `lib/nolibc`: Import `strstr` from `musl` ([#1261](https://github.com/unikraft/unikraft/pull/1261)) by @mogasergiu +* `lib/posix-poll`: Fix `epoll()` crash on `NULL` event arg ([#1259](https://github.com/unikraft/unikraft/pull/1259)) by @andreittr +* `lib/posix-poll`: Handle unpollable files correctly ([#1258](https://github.com/unikraft/unikraft/pull/1258)) by @andreittr +* `lib/posix-poll`: Fix `poll()` ignoring fd 0 ([#1255](https://github.com/unikraft/unikraft/pull/1255)) by @andreittr +* `{include/,lib/*}`: Separate initializers from anonymous right-hand values ([#1245](https://github.com/unikraft/unikraft/pull/1245)) by @andreittr +* `lib/posix-fdtab`: Add comments for `posix-fdtab` ([#1241](https://github.com/unikraft/unikraft/pull/1241)) by @DeliaPavel +* `.github/workflows`: Move integration tests to upb runners ([#1215](https://github.com/unikraft/unikraft/pull/1215)) by @craciunoiuc +* `plat/common/x86`: Use `FSGSBASE` for TLS if available ([#862](https://github.com/unikraft/unikraft/pull/862)) by @andreittr +* `arm64/xen`: Introduce xen support for aarch64 architecture ([#726](https://github.com/unikraft/unikraft/pull/726)) by @oleksiimoisieiev +* `[lib-lwip]`: Expose `LWIP_SO_RCVBUF` config and set on by default ([#50](https://github.com/unikraft/lib-lwip/pull/50)) by @andreittr +* `[lib-lwip]`: Set system hostname when initializing interface ([#49](https://github.com/unikraft/lib-lwip/pull/49)) by @andreittr +* `[lib-lwip]`: Prepare lwip to provde DNS functions to native musl ([#48](https://github.com/unikraft/lib-lwip/pull/48)) by @skuenzer +* `[lib-lwip]`: Option to wait for DHCP and fail without netifs ([#47](https://github.com/unikraft/lib-lwip/pull/47)) by @skuenzer +* `[lib-lwip]`: Various smaller fixes ([#46](https://github.com/unikraft/lib-lwip/pull/46)) by @mschlumpp +* `[lib-musl]`: Option to handle DNS requesets by lwIP ([#74](https://github.com/unikraft/lib-musl/pull/74)) by @skuenzer diff --git a/src/components/landing-hero.tsx b/src/components/landing-hero.tsx index d3252f3d..d011cc34 100644 --- a/src/components/landing-hero.tsx +++ b/src/components/landing-hero.tsx @@ -69,7 +69,7 @@ export default function LandingHero() { p='2' pr='4' > - + - Unikraft releases v0.16.1 (Telesto) + Unikraft releases v0.16.2 (Telesto) - v0.16.1 + v0.16.2 Latest Version - 1824 + 1834 GitHub Stars @@ -252,7 +252,7 @@ export default function LandingHero() { Contributors - 1269 + 1273 Discord Members