From 58c1f6ddab388eadf9930670e57da96c94e0fc23 Mon Sep 17 00:00:00 2001 From: Aayushmaan Date: Sun, 29 Mar 2026 15:41:26 +0530 Subject: [PATCH] implemented RSS 2.0, Atom 1.0, and JSON Feed 1.1 support for the UniKraft blog --- package-lock.json | 425 +++++++++++++++++ package.json | 4 +- public/blog/atom | 1032 +++++++++++++++++++++++++++++++++++++++++ public/blog/atom.xml | 1032 +++++++++++++++++++++++++++++++++++++++++ public/blog/feed.json | 703 ++++++++++++++++++++++++++++ public/blog/rss | 643 +++++++++++++++++++++++++ public/blog/rss.xml | 643 +++++++++++++++++++++++++ scripts/gen-rss.ts | 104 +++++ 8 files changed, 4585 insertions(+), 1 deletion(-) create mode 100644 public/blog/atom create mode 100644 public/blog/atom.xml create mode 100644 public/blog/feed.json create mode 100644 public/blog/rss create mode 100644 public/blog/rss.xml create mode 100644 scripts/gen-rss.ts diff --git a/package-lock.json b/package-lock.json index 7dbd5f63..00ef36c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "contentlayer": "0.3.0", "date-fns": "^2.28.0", "docsearch.js": "^2.6.3", + "feed": "^4.2.2", "focus-visible": "5.2.0", "formik": "^2.2.9", "framer-motion": "9.0.2", @@ -4764,6 +4765,397 @@ "esbuild": "*" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz", + "integrity": "sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.1.tgz", + "integrity": "sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz", + "integrity": "sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.1.tgz", + "integrity": "sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz", + "integrity": "sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz", + "integrity": "sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz", + "integrity": "sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz", + "integrity": "sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz", + "integrity": "sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz", + "integrity": "sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz", + "integrity": "sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz", + "integrity": "sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz", + "integrity": "sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz", + "integrity": "sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz", + "integrity": "sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz", + "integrity": "sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz", + "integrity": "sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz", + "integrity": "sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz", + "integrity": "sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz", + "integrity": "sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz", + "integrity": "sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz", + "integrity": "sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz", + "integrity": "sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -11440,6 +11832,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -18127,6 +18531,15 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -20976,6 +21389,18 @@ } } }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 1be848fb..1ceb6ec5 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "avatars:gen": "tsx scripts/avatars.ts", "members:gen": "tsx scripts/all-members.ts", "former-members:gen": "tsx scripts/get-former-members.ts", - "search-meta:gen": "tsx scripts/get-search-meta.ts", + "search-meta:gen": "tsx scripts/get-search-meta.ts && npm run blog:rss", + "blog:rss": "tsx scripts/gen-rss.ts", "contributing:gen": "tsx scripts/build-contributing-page.ts", "start": "next start", "cache:clean": "rm -rf .next .contentlayer", @@ -41,6 +42,7 @@ "contentlayer": "0.3.0", "date-fns": "^2.28.0", "docsearch.js": "^2.6.3", + "feed": "^4.2.2", "focus-visible": "5.2.0", "formik": "^2.2.9", "framer-motion": "9.0.2", diff --git a/public/blog/atom b/public/blog/atom new file mode 100644 index 00000000..30df1386 --- /dev/null +++ b/public/blog/atom @@ -0,0 +1,1032 @@ + + + https://unikraft.org/blog + Unikraft Blog + 2026-03-29T08:58:26.464Z + UniKernels RSS Generator + + UniKernels + https://unikraft.org + + + + A fast, secure and open-source Unikernel Development Kit. + https://unikraft.org/logo.png + https://unikraft.org/favicon.ico + Copyright © 2026 Unikraft GmbH. All Rights Reserved. + + <![CDATA[Unikraft Filesystem Stack]]> + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + + 2025-09-09T00:00:00.000Z + + + Andrei Tatar + + + + <![CDATA[Unikraft releases v0.20.0 (Kiviuq)]]> + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + + 2025-09-08T00:00:00.000Z + + + Michalis Pappas + + + Andrei Tatar + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.19.1 (Pan)]]> + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + + 2025-07-17T00:00:00.000Z + + + Michalis Pappas + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.19.0 (Pan)]]> + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + + 2025-05-23T00:00:00.000Z + + + Michalis Pappas + + + Andrei Tatar + + + Sergiu Moga + + + Răzvan Deaconescu + + + Ștefan Jumărea + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2025]]> + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + + 2025-05-22T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Multiprocess support on Unikraft]]> + https://unikraft.org/blog/2025-05-15-multiprocess + + 2025-05-15T00:00:00.000Z + + + Simon Kuenzer + + + Michalis Pappas + + + + <![CDATA[Unikraft releases v0.18.0 (Helene)]]> + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + + 2024-12-21T00:00:00.000Z + + + Michalis Pappas + + + Ștefan Jumărea + + + Răzvan Deaconescu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + + 2024-08-22T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part IV]]> + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + + 2024-08-22T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Benchmarking mimalloc]]> + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + + 2024-08-22T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part III]]> + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + + 2024-08-07T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + + 2024-08-02T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + + 2024-08-01T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: Debugging the Multithreaded Memory Allocation Interface]]> + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + + 2024-08-01T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[GSoC'24: Testing the mimalloc Memory Allocator on Unikraft]]> + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + + 2024-07-12T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + + 2024-07-10T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part II]]> + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + + 2024-07-10T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + + 2024-07-10T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[GSoC'24: Supporting User-provided, Long-lived Environmental Variables for Unikraft Builds]]> + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + + 2024-06-19T00:00:00.000Z + + + Ujjwal Mahar + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft]]> + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + + 2024-06-18T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + + 2024-06-18T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + + 2024-06-17T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: Porting the mimalloc Memory Allocator to Unikraft]]> + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + + 2024-06-16T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[Unikraft releases v0.17.0 (Calypso)]]> + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + + 2024-06-07T00:00:00.000Z + + + Razvan Deaconescu + + + Andrei Tatar + + + Michalis Pappas + + + Sergiu Moga + + + Alexandru Apostolescu + + + Alexander Jung + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2024]]> + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + + 2024-05-10T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.16.3 (Telesto)]]> + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + + 2024-03-20T00:00:00.000Z + + + Razvan Deaconescu + + + + <![CDATA[Unikraft releases v0.16.2 (Telesto)]]> + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + + 2024-02-13T00:00:00.000Z + + + Razvan Deaconescu + + + Alexander Jung + + + Oleksii Moiseiev + + + + <![CDATA[Unikraft releases v0.16.1 (Telesto)]]> + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + + 2024-01-18T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + + <![CDATA[Unikraft releases v0.16.0 (Telesto)]]> + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + + 2024-01-02T00:00:00.000Z + + + Răzvan Deaconescu + + + Andrei Tătar + + + Simon Kuenzer + + + Sergiu Moga + + + + <![CDATA[KraftKit v0.7.0 Release]]> + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + + 2023-11-15T00:00:00.000Z + + + Alexander Jung + + + Cezar Craciunoiu + + + + <![CDATA[Unikraft releases v0.15.0 (Pandora)]]> + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + + 2023-10-22T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Michalis Pappas + + + Simon Kuenzer + + + Rareș Miculescu + + + Andrei Tătar + + + + <![CDATA[Unikraft releases v0.14.0 (Prometheus)]]> + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + + 2023-08-17T00:00:00.000Z + + + Răzvan Deaconescu + + + Ștefan Jumărea + + + Martin Kröning + + + Simon Kuenzer + + + Sergiu Moga + + + Michalis Pappas + + + Maria Sfîrăială + + + Andrei Tătar + + + Răzvan Vîrtan + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2023]]> + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + + 2023-07-10T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[GSoC'23: Arm CCA Support for Unikraft (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + + 2023-06-23T00:00:00.000Z + + + Xingjian Zhang + + + + <![CDATA[GSoC'23: Enhancing VS Code Developer Experience]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + + 2023-06-23T00:00:00.000Z + + + Afsar Sahil + + + + <![CDATA[Packaging Pre-built Micro-libraries for Faster and More Secure Builds]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + + 2023-06-23T00:00:00.000Z + + + Zeyu Li + + + + <![CDATA[re:Arch Unikraft]]> + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + + 2023-06-22T00:00:00.000Z + + + Rares Miculescu + + + + <![CDATA[Expanding Binary Compatibility Mode (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + + 2023-06-20T00:00:00.000Z + + + Tianyi Liu + + + + <![CDATA[Tales of Open Source: vfscore]]> + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + + 2023-06-08T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.13.0 (Atlas)]]> + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + + 2023-05-15T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Simon Kuenzer + + + Marco Schlumpp + + + Răzvan Vîrtan + + + + <![CDATA[Unikraft releases v0.12.0 (Epimetheus)]]> + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + + 2023-02-07T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Răzvan Vîrtan + + + + <![CDATA[Building the Future of Security and Isolation with Unikraft on Morello!]]> + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + + 2022-12-01T00:00:00.000Z + + + Alistair Kressel + + + Pierre Olivier + + + + <![CDATA[Unikraft releases v0.11.0 (Janus)]]> + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + + 2022-12-01T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Florin Postolache + + + Michalis Pappas + + + Răzvan Deaconescu + + + Răzvan Vîrtan + + + + <![CDATA[Unikraft Munich Hackathon '22]]> + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + + 2022-10-26T00:00:00.000Z + + + Radu Nichita + + + Razvan Deaconescu + + + + <![CDATA[Unikraft vs. UKL: What's the Difference?]]> + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + + 2022-10-19T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft Community Meet-up '22]]> + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + + 2022-10-14T00:00:00.000Z + + + Andrei Mutu + + + + <![CDATA[Unikraft Reaches 1K+ GitHub Stars! (and 500 Discord Users)]]> + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + + 2022-10-14T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft Hacktoberfest '22]]> + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + + 2022-10-08T00:00:00.000Z + + + Radu Nichita + + + Andrei Mutu + + + + <![CDATA[Radix-Tree: Internal data structures for SGX EPC Page Management]]> + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + + 2022-08-22T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Adding I/O APIC support]]> + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + + 2022-08-21T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Unikraft releases v0.10.0 (Phoebe)]]> + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + + 2022-08-20T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Michalis Pappas + + + Răzvan Deaconescu + + + Răzvan Vîrtan + + + + <![CDATA[Shadow Stack (Part 3)]]> + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + + 2022-08-19T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Leveraging Intel SGX in Unikraft: Challenges and Recent progress]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + + 2022-07-20T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Shadow Stack (Part 2)]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + + 2022-07-20T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + + 2022-07-19T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + + 2022-07-07T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Shadow Stack (Part 1)]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + + 2022-07-05T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Unikraft releases v0.9.0 (Hyperion)]]> + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + + 2022-06-13T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Răzvan Vîrtan + + + Michalis Pappas + + + Razvan Deaconescu + + + + <![CDATA[Improving security and isolation of Unikraft with Intel SGX]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + + 2022-06-13T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Three Unikraft projects selected at Google Summer of Code 2022]]> + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + + 2022-05-21T00:00:00.000Z + + + Razvan Deaconescu + + + + <![CDATA[Unikraft accepted as Google Summer of Code Organization!]]> + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + + 2022-03-16T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Interested in Security for Unikraft?]]> + https://unikraft.org/blog/2022-03-24-unikraft-security + + 2022-03-16T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft releases v0.8.0 (Enceladus)]]> + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + + 2022-03-01T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Unikraft and more at ASPLOS’22]]> + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + + 2022-02-17T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Kicking off 2022 with a new site and release at FOSDEM!]]> + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + + 2022-02-04T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Unikraft: Fast, Specialized Unikernels the Easy Way]]> + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + + 2021-04-26T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft: Building Powerful Unikernels Has Never Been Easier!]]> + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + + 2020-02-17T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Xen Project Celebrates Unikraft Unikernel Project's One Year Anniversary]]> + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + + 2019-01-31T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unleasing the Power of Unikernels]]> + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + + 2017-12-05T00:00:00.000Z + + + Felipe Huici + + + \ No newline at end of file diff --git a/public/blog/atom.xml b/public/blog/atom.xml new file mode 100644 index 00000000..8c841c58 --- /dev/null +++ b/public/blog/atom.xml @@ -0,0 +1,1032 @@ + + + https://unikraft.org/blog + Unikraft Blog + 2026-03-29T08:58:26.456Z + UniKernels RSS Generator + + UniKernels + https://unikraft.org + + + + A fast, secure and open-source Unikernel Development Kit. + https://unikraft.org/logo.png + https://unikraft.org/favicon.ico + Copyright © 2026 Unikraft GmbH. All Rights Reserved. + + <![CDATA[Unikraft Filesystem Stack]]> + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + + 2025-09-09T00:00:00.000Z + + + Andrei Tatar + + + + <![CDATA[Unikraft releases v0.20.0 (Kiviuq)]]> + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + + 2025-09-08T00:00:00.000Z + + + Michalis Pappas + + + Andrei Tatar + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.19.1 (Pan)]]> + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + + 2025-07-17T00:00:00.000Z + + + Michalis Pappas + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.19.0 (Pan)]]> + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + + 2025-05-23T00:00:00.000Z + + + Michalis Pappas + + + Andrei Tatar + + + Sergiu Moga + + + Răzvan Deaconescu + + + Ștefan Jumărea + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2025]]> + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + + 2025-05-22T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Multiprocess support on Unikraft]]> + https://unikraft.org/blog/2025-05-15-multiprocess + + 2025-05-15T00:00:00.000Z + + + Simon Kuenzer + + + Michalis Pappas + + + + <![CDATA[Unikraft releases v0.18.0 (Helene)]]> + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + + 2024-12-21T00:00:00.000Z + + + Michalis Pappas + + + Ștefan Jumărea + + + Răzvan Deaconescu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + + 2024-08-22T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part IV]]> + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + + 2024-08-22T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Benchmarking mimalloc]]> + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + + 2024-08-22T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part III]]> + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + + 2024-08-07T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + + 2024-08-02T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + + 2024-08-01T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: Debugging the Multithreaded Memory Allocation Interface]]> + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + + 2024-08-01T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[GSoC'24: Testing the mimalloc Memory Allocator on Unikraft]]> + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + + 2024-07-12T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + + 2024-07-10T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part II]]> + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + + 2024-07-10T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + + 2024-07-10T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[GSoC'24: Supporting User-provided, Long-lived Environmental Variables for Unikraft Builds]]> + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + + 2024-06-19T00:00:00.000Z + + + Ujjwal Mahar + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft]]> + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + + 2024-06-18T00:00:00.000Z + + + Sriprad Potukuchi + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + + 2024-06-18T00:00:00.000Z + + + Mihnea Firoiu + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + + 2024-06-17T00:00:00.000Z + + + Maria Pana + + + + <![CDATA[GSoC'24: Porting the mimalloc Memory Allocator to Unikraft]]> + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + + 2024-06-16T00:00:00.000Z + + + Yang Hu + + + + <![CDATA[Unikraft releases v0.17.0 (Calypso)]]> + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + + 2024-06-07T00:00:00.000Z + + + Razvan Deaconescu + + + Andrei Tatar + + + Michalis Pappas + + + Sergiu Moga + + + Alexandru Apostolescu + + + Alexander Jung + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2024]]> + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + + 2024-05-10T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.16.3 (Telesto)]]> + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + + 2024-03-20T00:00:00.000Z + + + Razvan Deaconescu + + + + <![CDATA[Unikraft releases v0.16.2 (Telesto)]]> + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + + 2024-02-13T00:00:00.000Z + + + Razvan Deaconescu + + + Alexander Jung + + + Oleksii Moiseiev + + + + <![CDATA[Unikraft releases v0.16.1 (Telesto)]]> + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + + 2024-01-18T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + + <![CDATA[Unikraft releases v0.16.0 (Telesto)]]> + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + + 2024-01-02T00:00:00.000Z + + + Răzvan Deaconescu + + + Andrei Tătar + + + Simon Kuenzer + + + Sergiu Moga + + + + <![CDATA[KraftKit v0.7.0 Release]]> + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + + 2023-11-15T00:00:00.000Z + + + Alexander Jung + + + Cezar Craciunoiu + + + + <![CDATA[Unikraft releases v0.15.0 (Pandora)]]> + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + + 2023-10-22T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Michalis Pappas + + + Simon Kuenzer + + + Rareș Miculescu + + + Andrei Tătar + + + + <![CDATA[Unikraft releases v0.14.0 (Prometheus)]]> + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + + 2023-08-17T00:00:00.000Z + + + Răzvan Deaconescu + + + Ștefan Jumărea + + + Martin Kröning + + + Simon Kuenzer + + + Sergiu Moga + + + Michalis Pappas + + + Maria Sfîrăială + + + Andrei Tătar + + + Răzvan Vîrtan + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2023]]> + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + + 2023-07-10T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[GSoC'23: Arm CCA Support for Unikraft (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + + 2023-06-23T00:00:00.000Z + + + Xingjian Zhang + + + + <![CDATA[GSoC'23: Enhancing VS Code Developer Experience]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + + 2023-06-23T00:00:00.000Z + + + Afsar Sahil + + + + <![CDATA[Packaging Pre-built Micro-libraries for Faster and More Secure Builds]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + + 2023-06-23T00:00:00.000Z + + + Zeyu Li + + + + <![CDATA[re:Arch Unikraft]]> + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + + 2023-06-22T00:00:00.000Z + + + Rares Miculescu + + + + <![CDATA[Expanding Binary Compatibility Mode (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + + 2023-06-20T00:00:00.000Z + + + Tianyi Liu + + + + <![CDATA[Tales of Open Source: vfscore]]> + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + + 2023-06-08T00:00:00.000Z + + + Răzvan Deaconescu + + + + <![CDATA[Unikraft releases v0.13.0 (Atlas)]]> + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + + 2023-05-15T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Simon Kuenzer + + + Marco Schlumpp + + + Răzvan Vîrtan + + + + <![CDATA[Unikraft releases v0.12.0 (Epimetheus)]]> + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + + 2023-02-07T00:00:00.000Z + + + Răzvan Deaconescu + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Răzvan Vîrtan + + + + <![CDATA[Building the Future of Security and Isolation with Unikraft on Morello!]]> + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + + 2022-12-01T00:00:00.000Z + + + Alistair Kressel + + + Pierre Olivier + + + + <![CDATA[Unikraft releases v0.11.0 (Janus)]]> + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + + 2022-12-01T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Florin Postolache + + + Michalis Pappas + + + Răzvan Deaconescu + + + Răzvan Vîrtan + + + + <![CDATA[Unikraft Munich Hackathon '22]]> + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + + 2022-10-26T00:00:00.000Z + + + Radu Nichita + + + Razvan Deaconescu + + + + <![CDATA[Unikraft vs. UKL: What's the Difference?]]> + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + + 2022-10-19T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft Community Meet-up '22]]> + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + + 2022-10-14T00:00:00.000Z + + + Andrei Mutu + + + + <![CDATA[Unikraft Reaches 1K+ GitHub Stars! (and 500 Discord Users)]]> + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + + 2022-10-14T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft Hacktoberfest '22]]> + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + + 2022-10-08T00:00:00.000Z + + + Radu Nichita + + + Andrei Mutu + + + + <![CDATA[Radix-Tree: Internal data structures for SGX EPC Page Management]]> + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + + 2022-08-22T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Adding I/O APIC support]]> + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + + 2022-08-21T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Unikraft releases v0.10.0 (Phoebe)]]> + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + + 2022-08-20T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Michalis Pappas + + + Răzvan Deaconescu + + + Răzvan Vîrtan + + + + <![CDATA[Shadow Stack (Part 3)]]> + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + + 2022-08-19T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Leveraging Intel SGX in Unikraft: Challenges and Recent progress]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + + 2022-07-20T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Shadow Stack (Part 2)]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + + 2022-07-20T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + + 2022-07-19T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + + 2022-07-07T00:00:00.000Z + + + Sairaj Kodilkar + + + + <![CDATA[Shadow Stack (Part 1)]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + + 2022-07-05T00:00:00.000Z + + + Maria Sfiraiala + + + + <![CDATA[Unikraft releases v0.9.0 (Hyperion)]]> + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + + 2022-06-13T00:00:00.000Z + + + Alexander Jung + + + Simon Kuenzer + + + Marc Rittinghaus + + + Răzvan Vîrtan + + + Michalis Pappas + + + Razvan Deaconescu + + + + <![CDATA[Improving security and isolation of Unikraft with Intel SGX]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + + 2022-06-13T00:00:00.000Z + + + Xiangyi Meng + + + + <![CDATA[Three Unikraft projects selected at Google Summer of Code 2022]]> + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + + 2022-05-21T00:00:00.000Z + + + Razvan Deaconescu + + + + <![CDATA[Unikraft accepted as Google Summer of Code Organization!]]> + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + + 2022-03-16T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Interested in Security for Unikraft?]]> + https://unikraft.org/blog/2022-03-24-unikraft-security + + 2022-03-16T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft releases v0.8.0 (Enceladus)]]> + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + + 2022-03-01T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Unikraft and more at ASPLOS’22]]> + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + + 2022-02-17T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Kicking off 2022 with a new site and release at FOSDEM!]]> + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + + 2022-02-04T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Unikraft: Fast, Specialized Unikernels the Easy Way]]> + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + + 2021-04-26T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unikraft: Building Powerful Unikernels Has Never Been Easier!]]> + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + + 2020-02-17T00:00:00.000Z + + + Alexander Jung + + + + <![CDATA[Xen Project Celebrates Unikraft Unikernel Project's One Year Anniversary]]> + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + + 2019-01-31T00:00:00.000Z + + + Felipe Huici + + + + <![CDATA[Unleasing the Power of Unikernels]]> + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + + 2017-12-05T00:00:00.000Z + + + Felipe Huici + + + \ No newline at end of file diff --git a/public/blog/feed.json b/public/blog/feed.json new file mode 100644 index 00000000..6313ba2d --- /dev/null +++ b/public/blog/feed.json @@ -0,0 +1,703 @@ +{ + "version": "https://jsonfeed.org/version/1", + "title": "Unikraft Blog", + "home_page_url": "https://unikraft.org/blog", + "description": "A fast, secure and open-source Unikernel Development Kit.", + "icon": "https://unikraft.org/logo.png", + "author": { + "name": "UniKernels", + "url": "https://unikraft.org" + }, + "items": [ + { + "id": "https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack", + "url": "https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack", + "title": "Unikraft Filesystem Stack", + "summary": "This blog post provides a technical overview of the new VFS stack introduced in Unikraft 0.20.0.", + "date_modified": "2025-09-09T00:00:00.000Z", + "author": { + "name": "Andrei Tatar" + } + }, + { + "id": "https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0", + "url": "https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0", + "title": "Unikraft releases v0.20.0 (Kiviuq)", + "summary": "This release comes with the much anticipated redesign and implementation of VFS, which brings enhanced performance, better maintainability, and improved compatibility with modern applications.\n", + "date_modified": "2025-09-08T00:00:00.000Z", + "author": { + "name": "Michalis Pappas" + } + }, + { + "id": "https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1", + "url": "https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1", + "title": "Unikraft releases v0.19.1 (Pan)", + "summary": "This release contains fixes and improvements to Unikraft.\n", + "date_modified": "2025-07-17T00:00:00.000Z", + "author": { + "name": "Michalis Pappas" + } + }, + { + "id": "https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0", + "url": "https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0", + "title": "Unikraft releases v0.19.0 (Pan)", + "summary": "This release contains features and improvements to Unikraft.\n", + "date_modified": "2025-05-23T00:00:00.000Z", + "author": { + "name": "Michalis Pappas" + } + }, + { + "id": "https://unikraft.org/blog/2025-05-22-unikraft-gsoc25", + "url": "https://unikraft.org/blog/2025-05-22-unikraft-gsoc25", + "title": "Five Unikraft Projects Selected at Google Summer of Code 2025", + "summary": "It is our pleasure to announce that 5 Unikraft projects are part of Google Summer of Code 2025 (GSoC'25).\n", + "date_modified": "2025-05-22T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2025-05-15-multiprocess", + "url": "https://unikraft.org/blog/2025-05-15-multiprocess", + "title": "Multiprocess support on Unikraft", + "summary": "This blog post provides technical details on the implementation of multiprocess support introduced in Unikraft 0.19.0.", + "date_modified": "2025-05-15T00:00:00.000Z", + "author": { + "name": "Simon Kuenzer" + } + }, + { + "id": "https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0", + "url": "https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0", + "title": "Unikraft releases v0.18.0 (Helene)", + "summary": "This release contains features and improvements to Unikraft.\n", + "date_modified": "2024-12-21T00:00:00.000Z", + "author": { + "name": "Michalis Pappas" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-22-gsoc-multiboot2", + "url": "https://unikraft.org/blog/2024-08-22-gsoc-multiboot2", + "title": "Multiboot2 Support in Unikraft", + "summary": "In this blog post, I discuss the final weeks of my GSoC project, highlighting the process of testing Nuktiboot2 support on the helloworld and nginx applications, and reflecting on the progress made in enhancing the boot process.\n", + "date_modified": "2024-08-22T00:00:00.000Z", + "author": { + "name": "Maria Pana" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop", + "url": "https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop", + "title": "GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part IV", + "summary": "This is the fourth post in a series of posts where I talk about my progress with the project.\n", + "date_modified": "2024-08-22T00:00:00.000Z", + "author": { + "name": "Sriprad Potukuchi" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc", + "url": "https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc", + "title": "GSoC'24: Benchmarking mimalloc", + "summary": "Different applications have different memory usage patterns and perform better\nwhen using dedicated memory allocators. Right now, the buddy allocator is the only\navailable memory allocator used in Unikraft, so this GSoC project aims to \nport more memory allocators to it, starting with mimalloc.\n", + "date_modified": "2024-08-22T00:00:00.000Z", + "author": { + "name": "Yang Hu" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop", + "url": "https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop", + "title": "GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part III", + "summary": "This is the third post in a series of posts where I talk about my progress with the project.\n", + "date_modified": "2024-08-07T00:00:00.000Z", + "author": { + "name": "Sriprad Potukuchi" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86", + "url": "https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86", + "title": "GSoC'24: Linux x86 Boot Protocol Support", + "summary": "The Linux boot protocol plays an important role in the initialization of the Linux operating system, emphasizing the importance of system optimization and scalability.\n", + "date_modified": "2024-08-02T00:00:00.000Z", + "author": { + "name": "Mihnea Firoiu" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-01-gsoc-multiboot2", + "url": "https://unikraft.org/blog/2024-08-01-gsoc-multiboot2", + "title": "Multiboot2 Support in Unikraft", + "summary": "In this blog post, I go over the debugging process and the progress made in the implementation of Multiboot2 support these past three weeks of GSoC.\n", + "date_modified": "2024-08-01T00:00:00.000Z", + "author": { + "name": "Maria Pana" + } + }, + { + "id": "https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc", + "url": "https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc", + "title": "GSoC'24: Debugging the Multithreaded Memory Allocation Interface", + "summary": "Different applications have different memory usage patterns and perform better\nwhen using dedicated memory allocators. Right now, the buddy allocator is the only\navailable memory allocator used in Unikraft, so this GSoC project aims to \nport more memory allocators to it, starting with mimalloc.\n", + "date_modified": "2024-08-01T00:00:00.000Z", + "author": { + "name": "Yang Hu" + } + }, + { + "id": "https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft", + "url": "https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft", + "title": "GSoC'24: Testing the mimalloc Memory Allocator on Unikraft", + "summary": "Different applications have different memory usage patterns and perform better\nwhen using dedicated memory allocators. Right now, the buddy allocator is the only\navailable memory allocator used in Unikraft, so this GSoC project aims to \nport more memory allocators to it, starting with mimalloc.\n", + "date_modified": "2024-07-12T00:00:00.000Z", + "author": { + "name": "Yang Hu" + } + }, + { + "id": "https://unikraft.org/blog/2024-07-10-gsoc-multiboot2", + "url": "https://unikraft.org/blog/2024-07-10-gsoc-multiboot2", + "title": "Multiboot2 Support in Unikraft", + "summary": "In my previous blog post, I focused on the first steps of the project: understanding the Multiboot2 protocol and preparing the development environment. Over the following three weeks, I progressed to implementing the necessary changes/additions and then testing the code.\n", + "date_modified": "2024-07-10T00:00:00.000Z", + "author": { + "name": "Maria Pana" + } + }, + { + "id": "https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop", + "url": "https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop", + "title": "GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part II", + "summary": "This is the second post in a series of posts where I talk about my progress with the project.\n", + "date_modified": "2024-07-10T00:00:00.000Z", + "author": { + "name": "Sriprad Potukuchi" + } + }, + { + "id": "https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86", + "url": "https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86", + "title": "GSoC'24: Linux x86 Boot Protocol Support", + "summary": "The Linux boot protocol plays an important role in the initialization of the Linux operating system, emphasizing the importance of system optimization and scalability.\n", + "date_modified": "2024-07-10T00:00:00.000Z", + "author": { + "name": "Mihnea Firoiu" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-19-gsoc-environment-variables", + "url": "https://unikraft.org/blog/2024-06-19-gsoc-environment-variables", + "title": "GSoC'24: Supporting User-provided, Long-lived Environmental Variables for Unikraft Builds", + "summary": "The goal of this project is to improve Unikraft's tooling, more especially, the `kraft` command-line tool, so that it can dynamically inject user-supplied variables into the build system. \n", + "date_modified": "2024-06-19T00:00:00.000Z", + "author": { + "name": "Ujjwal Mahar" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop", + "url": "https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop", + "title": "GSoC'24: UEFI Graphics Output Protocol Support in Unikraft", + "summary": "This project aims to add support for the modern UEFI GOP interface in Unikraft.\n", + "date_modified": "2024-06-18T00:00:00.000Z", + "author": { + "name": "Sriprad Potukuchi" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86", + "url": "https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86", + "title": "GSoC'24: Linux x86 Boot Protocol Support", + "summary": "The Linux boot protocol plays an important role in the initialization of the Linux operating system, emphasizing the importance of system optimization and scalability.\n", + "date_modified": "2024-06-18T00:00:00.000Z", + "author": { + "name": "Mihnea Firoiu" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-17-gsoc-multiboot2", + "url": "https://unikraft.org/blog/2024-06-17-gsoc-multiboot2", + "title": "Multiboot2 Support in Unikraft", + "summary": "Multiboot2, an enhanced version of Multiboot, solves some of the limitations of the original protocol, such as the lack of support for 64-bit UEFI systems. It also provides a more accurate and detailed communication during the bootstrapping process and offers a standardized tag system for easier configuration.\n", + "date_modified": "2024-06-17T00:00:00.000Z", + "author": { + "name": "Maria Pana" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft", + "url": "https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft", + "title": "GSoC'24: Porting the mimalloc Memory Allocator to Unikraft", + "summary": "Different applications have different memory usage patterns and perform better\nwhen using dedicated memory allocators. Right now, the buddy allocator is the only\navailable memory allocator used in Unikraft, so this GSoC project aims to \nport more memory allocators to it, starting with mimalloc.\n", + "date_modified": "2024-06-16T00:00:00.000Z", + "author": { + "name": "Yang Hu" + } + }, + { + "id": "https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0", + "url": "https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0", + "title": "Unikraft releases v0.17.0 (Calypso)", + "summary": "This release contains features and improvements to Unikraft.\n", + "date_modified": "2024-06-07T00:00:00.000Z", + "author": { + "name": "Razvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2024-05-10-unikraft-gsoc24", + "url": "https://unikraft.org/blog/2024-05-10-unikraft-gsoc24", + "title": "Five Unikraft Projects Selected at Google Summer of Code 2024", + "summary": "It is our pleasure to announce that 5 Unikraft projects are part of Google Summer of Code 2024 (GSoC'24).\n", + "date_modified": "2024-05-10T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3", + "url": "https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3", + "title": "Unikraft releases v0.16.3 (Telesto)", + "summary": "This release contains fixes, documentation and application updates.\n", + "date_modified": "2024-03-20T00:00:00.000Z", + "author": { + "name": "Razvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2", + "url": "https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2", + "title": "Unikraft releases v0.16.2 (Telesto)", + "summary": "This release contains fixes primarily related to platform and application support.\n", + "date_modified": "2024-02-13T00:00:00.000Z", + "author": { + "name": "Razvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1", + "url": "https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1", + "title": "Unikraft releases v0.16.1 (Telesto)", + "summary": "This release contains both important and breaking changes related to the KConfig and syntax when statically specifying network interface information as well as the list of fstab (automount) entries at the kernel command-line.\n", + "date_modified": "2024-01-18T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto", + "url": "https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto", + "title": "Unikraft releases v0.16.0 (Telesto)", + "summary": "This release is the result of extensive hard work during the last months in\nthe entire community.\n", + "date_modified": "2024-01-02T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released", + "url": "https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released", + "title": "KraftKit v0.7.0 Release", + "summary": "A massive update to a unikernel developer's best friend.\n", + "date_modified": "2023-11-15T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora", + "url": "https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora", + "title": "Unikraft releases v0.15.0 (Pandora)", + "summary": "This release is the result of extensive hard work during the last months in\nthe entire community.\n", + "date_modified": "2023-10-22T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus", + "url": "https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus", + "title": "Unikraft releases v0.14.0 (Prometheus)", + "summary": "This release is the result of extensive hard work during the last months in\nthe entire community.\n", + "date_modified": "2023-08-17T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-07-10-unikraft-gsoc23", + "url": "https://unikraft.org/blog/2023-07-10-unikraft-gsoc23", + "title": "Five Unikraft Projects Selected at Google Summer of Code 2023", + "summary": "It is our pleasure to announce that five Unikraft projects are part of Google\nSummer of Code 2023 (GSoC'23).\n", + "date_modified": "2023-07-10T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1", + "url": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1", + "title": "GSoC'23: Arm CCA Support for Unikraft (Part 1)", + "summary": "This project aims to bring Arm Confidential Computing Architecture (CCA)\nfeature to Unikraft.\n", + "date_modified": "2023-06-23T00:00:00.000Z", + "author": { + "name": "Xingjian Zhang" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience", + "url": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience", + "title": "GSoC'23: Enhancing VS Code Developer Experience", + "summary": "The VS Code Extension for Unikraft enables developers to quickly and\npainlessly build unikernels from the VS Code IDE.\n", + "date_modified": "2023-06-23T00:00:00.000Z", + "author": { + "name": "Afsar Sahil" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1", + "url": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1", + "title": "Packaging Pre-built Micro-libraries for Faster and More Secure Builds", + "summary": "Progress on my GSoC'23 project.\n", + "date_modified": "2023-06-23T00:00:00.000Z", + "author": { + "name": "Zeyu Li" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch", + "url": "https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch", + "title": "re:Arch Unikraft", + "summary": "The goal of this GSoC'23 project is to optimize and clearly define drivers and \nplatform support.\n", + "date_modified": "2023-06-22T00:00:00.000Z", + "author": { + "name": "Rares Miculescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1", + "url": "https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1", + "title": "Expanding Binary Compatibility Mode (Part 1)", + "summary": "This project aims to enhance the binary compatibility of Unikraft. Including \nenabling the libc dynamic library to directly access kernel functions, \nimplementing VDSO, improving application compatibility and enhancing CI/CD.\n", + "date_modified": "2023-06-20T00:00:00.000Z", + "author": { + "name": "Tianyi Liu" + } + }, + { + "id": "https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore", + "url": "https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore", + "title": "Tales of Open Source: vfscore", + "summary": "The beauty of open source is the immediate availability of source code that \nyou can use to create or improve your software. Of course, this relies on\ncompatible licensing...\n", + "date_modified": "2023-06-08T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas", + "url": "https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas", + "title": "Unikraft releases v0.13.0 (Atlas)", + "summary": "In this blog post, we describe some of the new features available in Unikraft.\n", + "date_modified": "2023-05-15T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus", + "url": "https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus", + "title": "Unikraft releases v0.12.0 (Epimetheus)", + "summary": "With this relese, we aim to bring more stability to the Musl support\nintegrated in 0.11, but also come with a lot of exciting features.\n", + "date_modified": "2023-02-07T00:00:00.000Z", + "author": { + "name": "Răzvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2022-12-01-unikraft-on-morello", + "url": "https://unikraft.org/blog/2022-12-01-unikraft-on-morello", + "title": "Building the Future of Security and Isolation with Unikraft on Morello!", + "summary": "I have recently ported a proof-of-concept version of Unikraft to run \nbare metal on the Morello machine, and I am in the process of \nexploring the cool security properties that combining CHERI with a \nmodern unikernel such as Unikraft can bring.\n", + "date_modified": "2022-12-01T00:00:00.000Z", + "author": { + "name": "Alistair Kressel" + } + }, + { + "id": "https://unikraft.org/blog/2022-12-02-unikraft-releases-janus", + "url": "https://unikraft.org/blog/2022-12-02-unikraft-releases-janus", + "title": "Unikraft releases v0.11.0 (Janus)", + "summary": "This release is the result of around 3 months of hard work in the entire \ncommunity, with a focus on integrating the long awaited musl support.\n", + "date_modified": "2022-12-01T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2022-10-25-unikraft-munich-2022", + "url": "https://unikraft.org/blog/2022-10-25-unikraft-munich-2022", + "title": "Unikraft Munich Hackathon '22", + "summary": "Last weekend, we had yet another successful hackathon with plenty of \nhard work. But this one was special since it was organized in München.\n", + "date_modified": "2022-10-26T00:00:00.000Z", + "author": { + "name": "Radu Nichita" + } + }, + { + "id": "https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft", + "url": "https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft", + "title": "Unikraft vs. UKL: What's the Difference?", + "summary": "You may have seen recent news about a set of patches] hitting the \nLinux kernel mailing list for Unikernel Linux (UKL), \"... a research \nproject aimed at integrating application-specific optimizations to the \nLinux kernel.\n", + "date_modified": "2022-10-19T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2022-10-14-unikraft-community-meetup", + "url": "https://unikraft.org/blog/2022-10-14-unikraft-community-meetup", + "title": "Unikraft Community Meet-up '22", + "summary": "We are excited to tell you about the first in-person Unikraft community meet-\nup, a long awaited event which was painfully postponed by the pandemic.\n", + "date_modified": "2022-10-14T00:00:00.000Z", + "author": { + "name": "Andrei Mutu" + } + }, + { + "id": "https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars", + "url": "https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars", + "title": "Unikraft Reaches 1K+ GitHub Stars! (and 500 Discord Users)", + "summary": "We're ecstatic to announce that a week ago Unikraft reached 1K stars \non Github on its main repository!\n", + "date_modified": "2022-10-14T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest", + "url": "https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest", + "title": "Unikraft Hacktoberfest '22", + "summary": "As tradition dictates, if it's Saturday then it is definitely another\nhackathon we are proud to host at Unikraft. Even so, the last one was a bit\nspecial.\n", + "date_modified": "2022-10-08T00:00:00.000Z", + "author": { + "name": "Radu Nichita" + } + }, + { + "id": "https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3", + "url": "https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3", + "title": "Radix-Tree: Internal data structures for SGX EPC Page Management", + "summary": "In this article, we explore Radix tree's in the context of SGC EPC page\nmanagement.\n", + "date_modified": "2022-08-22T00:00:00.000Z", + "author": { + "name": "Xiangyi Meng" + } + }, + { + "id": "https://unikraft.org/blog/2022-08-21-unikraft-ioapic", + "url": "https://unikraft.org/blog/2022-08-21-unikraft-ioapic", + "title": "Adding I/O APIC support", + "summary": "This blog describes the ongoing work on the I/O APIC integration in unikraft.\nCurrently Unikraft is using the traditional 8259 PIC interrupt controller.\n", + "date_modified": "2022-08-21T00:00:00.000Z", + "author": { + "name": "Sairaj Kodilkar" + } + }, + { + "id": "https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe", + "url": "https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe", + "title": "Unikraft releases v0.10.0 (Phoebe)", + "summary": "We're very excited to announce the latest edition of Unikraft, v0.10.0\n(Phoebe), and to show off many of the things the community has been working on\nover the last two months.\n", + "date_modified": "2022-08-20T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack", + "url": "https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack", + "title": "Shadow Stack (Part 3)", + "summary": "This third blog post presents the efforts that were made in the \ndirection of testing and perfecting complex apps (such as `SQLite`, \n`redis` and `nginx`) on `AArch64` using `gcc`, `clang` and `gcc-12` as \ncompilers.\n", + "date_modified": "2022-08-19T00:00:00.000Z", + "author": { + "name": "Maria Sfiraiala" + } + }, + { + "id": "https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2", + "url": "https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2", + "title": "Leveraging Intel SGX in Unikraft: Challenges and Recent progress", + "summary": "In this post, we will take an in-depth investigation of how SGX supported is\nimplemented in Linux, and what we need to implement in Unikraft to achieve the\nsame object.\n", + "date_modified": "2022-07-20T00:00:00.000Z", + "author": { + "name": "Xiangyi Meng" + } + }, + { + "id": "https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack", + "url": "https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack", + "title": "Shadow Stack (Part 2)", + "summary": "While the previous blog post described the first steps took into the direction\nof familiarizing myself with Unikraft and an initial attempt to using\n`clang`'s ShadowCallStack, in this post, we will take a look into some\nimplementations that were tried in the meantime.\n", + "date_modified": "2022-07-20T00:00:00.000Z", + "author": { + "name": "Maria Sfiraiala" + } + }, + { + "id": "https://unikraft.org/blog/2022-07-19-unikraft-synchronization", + "url": "https://unikraft.org/blog/2022-07-19-unikraft-synchronization", + "title": "Adding SMP support", + "summary": "The previous blog on the SMP support explained different \nsynchronization primitives for the unikraft. As a part of the next \nstep, I started exploring some of the lockless data structures. There \nhas been an extensive amount of research to optimize this lockless \ndata structure.\n", + "date_modified": "2022-07-19T00:00:00.000Z", + "author": { + "name": "Sairaj Kodilkar" + } + }, + { + "id": "https://unikraft.org/blog/2022-06-27-unikraft-synchronization", + "url": "https://unikraft.org/blog/2022-06-27-unikraft-synchronization", + "title": "Adding SMP support", + "summary": "This project aims to add the SMP safe synchronization premitives as well as\nremove the race conditions in the kernel.\n", + "date_modified": "2022-07-07T00:00:00.000Z", + "author": { + "name": "Sairaj Kodilkar" + } + }, + { + "id": "https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack", + "url": "https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack", + "title": "Shadow Stack (Part 1)", + "summary": "While Unikraft provides great security advantages through strong \ncross-application isolation, traditional means of securing one's \napplication shouldn't be overlooked.\n", + "date_modified": "2022-07-05T00:00:00.000Z", + "author": { + "name": "Maria Sfiraiala" + } + }, + { + "id": "https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion", + "url": "https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion", + "title": "Unikraft releases v0.9.0 (Hyperion)", + "summary": "We're excited to announce Unikraft v0.9.0 (Hyperion) and to show off \nmany of the things the community has been working on over the last two \nmonths.\n", + "date_modified": "2022-06-13T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx", + "url": "https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx", + "title": "Improving security and isolation of Unikraft with Intel SGX", + "summary": "Trusted execution environment (TEE), especially Intel SGX, is a \npopular and powerful tool to provide hardware-based isolation for \nhighly sensitive code and data. \n", + "date_modified": "2022-06-13T00:00:00.000Z", + "author": { + "name": "Xiangyi Meng" + } + }, + { + "id": "https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org", + "url": "https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org", + "title": "Three Unikraft projects selected at Google Summer of Code 2022", + "summary": "We're excited to announce that three Unikraft projects will be part of \nGoogle Summer of Code, with three students funded during the summer of \n2022.\n", + "date_modified": "2022-05-21T00:00:00.000Z", + "author": { + "name": "Razvan Deaconescu" + } + }, + { + "id": "https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org", + "url": "https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org", + "title": "Unikraft accepted as Google Summer of Code Organization!", + "summary": "We are extremely proud to have been accepted as an organization for Google\nSummer of Code 2022 (GSoC'22)\n", + "date_modified": "2022-03-16T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2022-03-24-unikraft-security", + "url": "https://unikraft.org/blog/2022-03-24-unikraft-security", + "title": "Interested in Security for Unikraft?", + "summary": "We have finally gotten around to documenting all of the security features that\nmake Unikraft and exciting platform for those interested in security work and\nsecure deployments.\n", + "date_modified": "2022-03-16T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus", + "url": "https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus", + "title": "Unikraft releases v0.8.0 (Enceladus)", + "summary": "We're excited to announce Unikraft v0.8.0 (Enceladus) and to show off many of\nthe things the community has been working on over the last two months.\n", + "date_modified": "2022-03-01T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22", + "url": "https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22", + "title": "Unikraft and more at ASPLOS’22", + "summary": "Unikraft will appear at the International Conference on Architectural Support\nfor Programming Languages and Operating Systems (ASPLOS'22) with both a paper\nand a workshop.\n", + "date_modified": "2022-02-17T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22", + "url": "https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22", + "title": "Kicking off 2022 with a new site and release at FOSDEM!", + "summary": "As the new year begins, we're excited to show off many of the things the\ncommunity has been working over the last two months. \n", + "date_modified": "2022-02-04T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys", + "url": "https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys", + "title": "Unikraft: Fast, Specialized Unikernels the Easy Way", + "summary": "The open source Unikraft project is proud to announce that its paper titled\n\"Unikraft: Fast, Specialized Unikernels the Easy Way\" has not only been\naccepted at Eurosys.\n", + "date_modified": "2021-04-26T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2020-02-17-building-powerful-unikernels", + "url": "https://unikraft.org/blog/2020-02-17-building-powerful-unikernels", + "title": "Unikraft: Building Powerful Unikernels Has Never Been Easier!", + "summary": "Two years ago, the Xen Project introduced Unikraft as an incubation project.\nOver the past two years, the Unikraft project has seen some great momentum.\n", + "date_modified": "2020-02-17T00:00:00.000Z", + "author": { + "name": "Alexander Jung" + } + }, + { + "id": "https://unikraft.org/blog/2019-01-31-xen-project-celebrates", + "url": "https://unikraft.org/blog/2019-01-31-xen-project-celebrates", + "title": "Xen Project Celebrates Unikraft Unikernel Project's One Year Anniversary", + "summary": "It has been one year since the Xen Project introduced Unikraft as an incubator\nproject. In that time, the team has made great strides in simplifying the\nprocess of building unikernels through a unified and customizable code base.\n", + "date_modified": "2019-01-31T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + }, + { + "id": "https://unikraft.org/blog/2017-12-05-unleashing-unikernels", + "url": "https://unikraft.org/blog/2017-12-05-unleashing-unikernels", + "title": "Unleasing the Power of Unikernels", + "summary": "The team at NEC Laboratories Europe spent quite a bit of time over the last\nfew years developing unikernels (specialized virtual machine images targeting\nspecific applications).\n", + "date_modified": "2017-12-05T00:00:00.000Z", + "author": { + "name": "Felipe Huici" + } + } + ] +} \ No newline at end of file diff --git a/public/blog/rss b/public/blog/rss new file mode 100644 index 00000000..5f2267a2 --- /dev/null +++ b/public/blog/rss @@ -0,0 +1,643 @@ + + + + Unikraft Blog + https://unikraft.org/blog + A fast, secure and open-source Unikernel Development Kit. + Sun, 29 Mar 2026 08:58:26 GMT + https://validator.w3.org/feed/docs/rss2.html + UniKernels RSS Generator + en + + Unikraft Blog + https://unikraft.org/logo.png + https://unikraft.org/blog + + Copyright © 2026 Unikraft GmbH. All Rights Reserved. + + <![CDATA[Unikraft Filesystem Stack]]> + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + Tue, 09 Sep 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.20.0 (Kiviuq)]]> + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + Mon, 08 Sep 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.19.1 (Pan)]]> + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + Thu, 17 Jul 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.19.0 (Pan)]]> + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + Fri, 23 May 2025 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2025]]> + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + Thu, 22 May 2025 00:00:00 GMT + + + + <![CDATA[Multiprocess support on Unikraft]]> + https://unikraft.org/blog/2025-05-15-multiprocess + https://unikraft.org/blog/2025-05-15-multiprocess + Thu, 15 May 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.18.0 (Helene)]]> + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + Sat, 21 Dec 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part IV]]> + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Benchmarking mimalloc]]> + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part III]]> + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + Wed, 07 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + Fri, 02 Aug 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + Thu, 01 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Debugging the Multithreaded Memory Allocation Interface]]> + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + Thu, 01 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Testing the mimalloc Memory Allocator on Unikraft]]> + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + Fri, 12 Jul 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part II]]> + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Supporting User-provided, Long-lived Environmental Variables for Unikraft Builds]]> + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + Wed, 19 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft]]> + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + Tue, 18 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + Tue, 18 Jun 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + Mon, 17 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Porting the mimalloc Memory Allocator to Unikraft]]> + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + Sun, 16 Jun 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.17.0 (Calypso)]]> + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + Fri, 07 Jun 2024 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2024]]> + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + Fri, 10 May 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.3 (Telesto)]]> + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + Wed, 20 Mar 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.2 (Telesto)]]> + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + Tue, 13 Feb 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.1 (Telesto)]]> + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + Thu, 18 Jan 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.0 (Telesto)]]> + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + Tue, 02 Jan 2024 00:00:00 GMT + + + + <![CDATA[KraftKit v0.7.0 Release]]> + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + Wed, 15 Nov 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.15.0 (Pandora)]]> + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + Sun, 22 Oct 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.14.0 (Prometheus)]]> + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + Thu, 17 Aug 2023 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2023]]> + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + Mon, 10 Jul 2023 00:00:00 GMT + + + + <![CDATA[GSoC'23: Arm CCA Support for Unikraft (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[GSoC'23: Enhancing VS Code Developer Experience]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[Packaging Pre-built Micro-libraries for Faster and More Secure Builds]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[re:Arch Unikraft]]> + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + Thu, 22 Jun 2023 00:00:00 GMT + + + + <![CDATA[Expanding Binary Compatibility Mode (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + Tue, 20 Jun 2023 00:00:00 GMT + + + + <![CDATA[Tales of Open Source: vfscore]]> + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + Thu, 08 Jun 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.13.0 (Atlas)]]> + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + Mon, 15 May 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.12.0 (Epimetheus)]]> + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + Tue, 07 Feb 2023 00:00:00 GMT + + + + <![CDATA[Building the Future of Security and Isolation with Unikraft on Morello!]]> + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + Thu, 01 Dec 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.11.0 (Janus)]]> + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + Thu, 01 Dec 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Munich Hackathon '22]]> + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + Wed, 26 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft vs. UKL: What's the Difference?]]> + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + Wed, 19 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Community Meet-up '22]]> + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + Fri, 14 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Reaches 1K+ GitHub Stars! (and 500 Discord Users)]]> + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + Fri, 14 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Hacktoberfest '22]]> + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + Sat, 08 Oct 2022 00:00:00 GMT + + + + <![CDATA[Radix-Tree: Internal data structures for SGX EPC Page Management]]> + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + Mon, 22 Aug 2022 00:00:00 GMT + + + + <![CDATA[Adding I/O APIC support]]> + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + Sun, 21 Aug 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.10.0 (Phoebe)]]> + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + Sat, 20 Aug 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 3)]]> + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + Fri, 19 Aug 2022 00:00:00 GMT + + + + <![CDATA[Leveraging Intel SGX in Unikraft: Challenges and Recent progress]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + Wed, 20 Jul 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 2)]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + Wed, 20 Jul 2022 00:00:00 GMT + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + Tue, 19 Jul 2022 00:00:00 GMT + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + Thu, 07 Jul 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 1)]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + Tue, 05 Jul 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.9.0 (Hyperion)]]> + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + Mon, 13 Jun 2022 00:00:00 GMT + + + + <![CDATA[Improving security and isolation of Unikraft with Intel SGX]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + Mon, 13 Jun 2022 00:00:00 GMT + + + + <![CDATA[Three Unikraft projects selected at Google Summer of Code 2022]]> + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + Sat, 21 May 2022 00:00:00 GMT + + + + <![CDATA[Unikraft accepted as Google Summer of Code Organization!]]> + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + Wed, 16 Mar 2022 00:00:00 GMT + + + + <![CDATA[Interested in Security for Unikraft?]]> + https://unikraft.org/blog/2022-03-24-unikraft-security + https://unikraft.org/blog/2022-03-24-unikraft-security + Wed, 16 Mar 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.8.0 (Enceladus)]]> + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + Tue, 01 Mar 2022 00:00:00 GMT + + + + <![CDATA[Unikraft and more at ASPLOS’22]]> + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + Thu, 17 Feb 2022 00:00:00 GMT + + + + <![CDATA[Kicking off 2022 with a new site and release at FOSDEM!]]> + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + Fri, 04 Feb 2022 00:00:00 GMT + + + + <![CDATA[Unikraft: Fast, Specialized Unikernels the Easy Way]]> + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + Mon, 26 Apr 2021 00:00:00 GMT + + + + <![CDATA[Unikraft: Building Powerful Unikernels Has Never Been Easier!]]> + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + Mon, 17 Feb 2020 00:00:00 GMT + + + + <![CDATA[Xen Project Celebrates Unikraft Unikernel Project's One Year Anniversary]]> + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + Thu, 31 Jan 2019 00:00:00 GMT + + + + <![CDATA[Unleasing the Power of Unikernels]]> + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + Tue, 05 Dec 2017 00:00:00 GMT + + + + \ No newline at end of file diff --git a/public/blog/rss.xml b/public/blog/rss.xml new file mode 100644 index 00000000..5f2267a2 --- /dev/null +++ b/public/blog/rss.xml @@ -0,0 +1,643 @@ + + + + Unikraft Blog + https://unikraft.org/blog + A fast, secure and open-source Unikernel Development Kit. + Sun, 29 Mar 2026 08:58:26 GMT + https://validator.w3.org/feed/docs/rss2.html + UniKernels RSS Generator + en + + Unikraft Blog + https://unikraft.org/logo.png + https://unikraft.org/blog + + Copyright © 2026 Unikraft GmbH. All Rights Reserved. + + <![CDATA[Unikraft Filesystem Stack]]> + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + https://unikraft.org/blog/2025-09-09-unikraft-filesystem-stack + Tue, 09 Sep 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.20.0 (Kiviuq)]]> + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + https://unikraft.org/blog/2025-09-08-unikraft-releases-v0.20.0 + Mon, 08 Sep 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.19.1 (Pan)]]> + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + https://unikraft.org/blog/2025-07-17-unikraft-releases-v0.19.1 + Thu, 17 Jul 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.19.0 (Pan)]]> + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + https://unikraft.org/blog/2025-05-23-unikraft-releases-v0.19.0 + Fri, 23 May 2025 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2025]]> + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + https://unikraft.org/blog/2025-05-22-unikraft-gsoc25 + Thu, 22 May 2025 00:00:00 GMT + + + + <![CDATA[Multiprocess support on Unikraft]]> + https://unikraft.org/blog/2025-05-15-multiprocess + https://unikraft.org/blog/2025-05-15-multiprocess + Thu, 15 May 2025 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.18.0 (Helene)]]> + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + https://unikraft.org/blog/2024-12-21-unikraft-releases-v0.18.0 + Sat, 21 Dec 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + https://unikraft.org/blog/2024-08-22-gsoc-multiboot2 + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part IV]]> + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + https://unikraft.org/blog/2024-08-22-gsoc-uefi-gop + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Benchmarking mimalloc]]> + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + https://unikraft.org/blog/2024-08-22-unikraft-gsoc-benchmarking-mimalloc + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part III]]> + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + https://unikraft.org/blog/2024-08-07-gsoc-uefi-gop + Wed, 07 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-08-02-unikraft-gsoc-lxboot_x86 + Fri, 02 Aug 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + https://unikraft.org/blog/2024-08-01-gsoc-multiboot2 + Thu, 01 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Debugging the Multithreaded Memory Allocation Interface]]> + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + https://unikraft.org/blog/2024-08-01-unikraft-gsoc-debugging-mimalloc + Thu, 01 Aug 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Testing the mimalloc Memory Allocator on Unikraft]]> + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + https://unikraft.org/blog/2024-07-12-unikraft-gsoc-test-mimalloc-on-unikraft + Fri, 12 Jul 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + https://unikraft.org/blog/2024-07-10-gsoc-multiboot2 + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft, Part II]]> + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + https://unikraft.org/blog/2024-07-10-gsoc-uefi-gop + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-07-10-unikraft-gsoc-lxboot_x86 + Wed, 10 Jul 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Supporting User-provided, Long-lived Environmental Variables for Unikraft Builds]]> + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + https://unikraft.org/blog/2024-06-19-gsoc-environment-variables + Wed, 19 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: UEFI Graphics Output Protocol Support in Unikraft]]> + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + https://unikraft.org/blog/2024-06-18-gsoc-uefi-gop + Tue, 18 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Linux x86 Boot Protocol Support]]> + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + https://unikraft.org/blog/2024-06-18-unikraft-gsoc-lxboot_x86 + Tue, 18 Jun 2024 00:00:00 GMT + + + + <![CDATA[Multiboot2 Support in Unikraft]]> + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + https://unikraft.org/blog/2024-06-17-gsoc-multiboot2 + Mon, 17 Jun 2024 00:00:00 GMT + + + + <![CDATA[GSoC'24: Porting the mimalloc Memory Allocator to Unikraft]]> + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + https://unikraft.org/blog/2024-06-16-unikraft-gsoc-port-mimalloc-to-unikraft + Sun, 16 Jun 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.17.0 (Calypso)]]> + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + https://unikraft.org/blog/2024-06-07-unikraft-releases-v0.17.0 + Fri, 07 Jun 2024 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2024]]> + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + https://unikraft.org/blog/2024-05-10-unikraft-gsoc24 + Fri, 10 May 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.3 (Telesto)]]> + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + https://unikraft.org/blog/2024-03-20-unikraft-releases-v0.16.3 + Wed, 20 Mar 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.2 (Telesto)]]> + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + https://unikraft.org/blog/2024-02-13-unikraft-releases-v0.16.2 + Tue, 13 Feb 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.1 (Telesto)]]> + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + https://unikraft.org/blog/2024-01-18-unikraft-releases-v0.16.1 + Thu, 18 Jan 2024 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.16.0 (Telesto)]]> + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + https://unikraft.org/blog/2024-01-02-unikraft-releases-telesto + Tue, 02 Jan 2024 00:00:00 GMT + + + + <![CDATA[KraftKit v0.7.0 Release]]> + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + https://unikraft.org/blog/2023-11-15-kraftkit-v0.7.0-released + Wed, 15 Nov 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.15.0 (Pandora)]]> + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + https://unikraft.org/blog/2023-10-22-unikraft-releases-pandora + Sun, 22 Oct 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.14.0 (Prometheus)]]> + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + https://unikraft.org/blog/2023-08-18-unikraft-releases-prometheus + Thu, 17 Aug 2023 00:00:00 GMT + + + + <![CDATA[Five Unikraft Projects Selected at Google Summer of Code 2023]]> + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + https://unikraft.org/blog/2023-07-10-unikraft-gsoc23 + Mon, 10 Jul 2023 00:00:00 GMT + + + + <![CDATA[GSoC'23: Arm CCA Support for Unikraft (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-arm-cca-1 + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[GSoC'23: Enhancing VS Code Developer Experience]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-enhancing-vscode-developer-experience + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[Packaging Pre-built Micro-libraries for Faster and More Secure Builds]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-packaging-libs-1 + Fri, 23 Jun 2023 00:00:00 GMT + + + + <![CDATA[re:Arch Unikraft]]> + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + https://unikraft.org/blog/2023-06-22-unikraft-gsoc-plat-rearch + Thu, 22 Jun 2023 00:00:00 GMT + + + + <![CDATA[Expanding Binary Compatibility Mode (Part 1)]]> + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + https://unikraft.org/blog/2023-06-23-unikraft-gsoc-app-compat-1 + Tue, 20 Jun 2023 00:00:00 GMT + + + + <![CDATA[Tales of Open Source: vfscore]]> + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + https://unikraft.org/blog/2023-06-09-tales-of-open-source-vfscore + Thu, 08 Jun 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.13.0 (Atlas)]]> + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + https://unikraft.org/blog/2023-05-15-unikraft-releases-atlas + Mon, 15 May 2023 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.12.0 (Epimetheus)]]> + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + https://unikraft.org/blog/2023-02-07-unikraft-releases-epimetheus + Tue, 07 Feb 2023 00:00:00 GMT + + + + <![CDATA[Building the Future of Security and Isolation with Unikraft on Morello!]]> + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + https://unikraft.org/blog/2022-12-01-unikraft-on-morello + Thu, 01 Dec 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.11.0 (Janus)]]> + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + https://unikraft.org/blog/2022-12-02-unikraft-releases-janus + Thu, 01 Dec 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Munich Hackathon '22]]> + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + https://unikraft.org/blog/2022-10-25-unikraft-munich-2022 + Wed, 26 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft vs. UKL: What's the Difference?]]> + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + https://unikraft.org/blog/2022-10-19-ukl-vs-unikraft + Wed, 19 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Community Meet-up '22]]> + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + https://unikraft.org/blog/2022-10-14-unikraft-community-meetup + Fri, 14 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Reaches 1K+ GitHub Stars! (and 500 Discord Users)]]> + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + https://unikraft.org/blog/2022-10-14-unikraft-reaches-1k-github-stars + Fri, 14 Oct 2022 00:00:00 GMT + + + + <![CDATA[Unikraft Hacktoberfest '22]]> + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + https://unikraft.org/blog/2022-10-08-unikraft-hacktoberfest + Sat, 08 Oct 2022 00:00:00 GMT + + + + <![CDATA[Radix-Tree: Internal data structures for SGX EPC Page Management]]> + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + https://unikraft.org/blog/2022-08-22-unikraft-gsoc-intel-sgx-3 + Mon, 22 Aug 2022 00:00:00 GMT + + + + <![CDATA[Adding I/O APIC support]]> + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + https://unikraft.org/blog/2022-08-21-unikraft-ioapic + Sun, 21 Aug 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.10.0 (Phoebe)]]> + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + https://unikraft.org/blog/2022-08-20-unikraft-releases-phoebe + Sat, 20 Aug 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 3)]]> + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-08-19-unikraft-gsoc-shadow-stack + Fri, 19 Aug 2022 00:00:00 GMT + + + + <![CDATA[Leveraging Intel SGX in Unikraft: Challenges and Recent progress]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-intel-sgx-2 + Wed, 20 Jul 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 2)]]> + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-07-20-unikraft-gsoc-shadow-stack + Wed, 20 Jul 2022 00:00:00 GMT + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + https://unikraft.org/blog/2022-07-19-unikraft-synchronization + Tue, 19 Jul 2022 00:00:00 GMT + + + + <![CDATA[Adding SMP support]]> + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + https://unikraft.org/blog/2022-06-27-unikraft-synchronization + Thu, 07 Jul 2022 00:00:00 GMT + + + + <![CDATA[Shadow Stack (Part 1)]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-shadow-stack + Tue, 05 Jul 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.9.0 (Hyperion)]]> + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + https://unikraft.org/blog/2022-06-13-unikraft-releases-hyperion + Mon, 13 Jun 2022 00:00:00 GMT + + + + <![CDATA[Improving security and isolation of Unikraft with Intel SGX]]> + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + https://unikraft.org/blog/2022-07-05-unikraft-gsoc-intel-sgx + Mon, 13 Jun 2022 00:00:00 GMT + + + + <![CDATA[Three Unikraft projects selected at Google Summer of Code 2022]]> + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + https://unikraft.org/blog/2022-05-21-unikraft-gsoc-org + Sat, 21 May 2022 00:00:00 GMT + + + + <![CDATA[Unikraft accepted as Google Summer of Code Organization!]]> + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + https://unikraft.org/blog/2022-03-16-unikraft-gsoc-org + Wed, 16 Mar 2022 00:00:00 GMT + + + + <![CDATA[Interested in Security for Unikraft?]]> + https://unikraft.org/blog/2022-03-24-unikraft-security + https://unikraft.org/blog/2022-03-24-unikraft-security + Wed, 16 Mar 2022 00:00:00 GMT + + + + <![CDATA[Unikraft releases v0.8.0 (Enceladus)]]> + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + https://unikraft.org/blog/2022-03-29-unikraft-releases-enceladus + Tue, 01 Mar 2022 00:00:00 GMT + + + + <![CDATA[Unikraft and more at ASPLOS’22]]> + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + https://unikraft.org/blog/2022-02-17-unikraft-at-asplos22 + Thu, 17 Feb 2022 00:00:00 GMT + + + + <![CDATA[Kicking off 2022 with a new site and release at FOSDEM!]]> + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + https://unikraft.org/blog/2022-02-05-new-site-and-unikraft-at-fosdem22 + Fri, 04 Feb 2022 00:00:00 GMT + + + + <![CDATA[Unikraft: Fast, Specialized Unikernels the Easy Way]]> + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + https://unikraft.org/blog/2021-04-26-unikraft-at-eurosys + Mon, 26 Apr 2021 00:00:00 GMT + + + + <![CDATA[Unikraft: Building Powerful Unikernels Has Never Been Easier!]]> + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + https://unikraft.org/blog/2020-02-17-building-powerful-unikernels + Mon, 17 Feb 2020 00:00:00 GMT + + + + <![CDATA[Xen Project Celebrates Unikraft Unikernel Project's One Year Anniversary]]> + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + https://unikraft.org/blog/2019-01-31-xen-project-celebrates + Thu, 31 Jan 2019 00:00:00 GMT + + + + <![CDATA[Unleasing the Power of Unikernels]]> + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + https://unikraft.org/blog/2017-12-05-unleashing-unikernels + Tue, 05 Dec 2017 00:00:00 GMT + + + + \ No newline at end of file diff --git a/scripts/gen-rss.ts b/scripts/gen-rss.ts new file mode 100644 index 00000000..be4c5b66 --- /dev/null +++ b/scripts/gen-rss.ts @@ -0,0 +1,104 @@ +import { + parseMarkdownString, + posixPath, +} from '@docusaurus/utils' +import { Feed } from 'feed' +import fs from 'fs' +import path from 'path' +import shell from 'shelljs' +import siteConfig from '../configs/site-config.json' + +const websiteRoot = 'content' +const blogRoot = path.join(websiteRoot, 'blog') +const siteUrl = siteConfig.seo.siteUrl + +async function getMDXMeta(file: string) { + const markdownString = fs.readFileSync(file).toString() + const { frontMatter: _frontMatter } = await parseMarkdownString(markdownString) + const frontMatter = _frontMatter as any + + const filePath = posixPath(file) + const slug = filePath + .replace(posixPath(path.join(process.cwd(), websiteRoot)), '') + .replace('.mdx', '') + + return { + title: frontMatter.title, + description: frontMatter.description, + date: new Date(frontMatter.publishedDate), + authors: frontMatter.authors || [], + url: `${siteUrl}${slug}`, + guid: slug, + } +} + +async function genRSS() { + const files = shell + .ls('-R', blogRoot) + .map((file) => path.join(process.cwd(), blogRoot, file)) + .filter((file) => file.endsWith('.mdx')) + + const feed = new Feed({ + title: siteConfig.seo.title + ' Blog', + description: siteConfig.seo.description, + id: siteUrl + '/blog', + link: siteUrl + '/blog', + language: 'en', + image: `${siteUrl}/logo.png`, + favicon: `${siteUrl}/favicon.ico`, + copyright: siteConfig.copyright.replace('{{date}}', new Date().getFullYear().toString()), + generator: 'UniKernels RSS Generator', + feedLinks: { + rss2: `${siteUrl}/blog/rss.xml`, + atom: `${siteUrl}/blog/atom.xml`, + }, + author: { + name: 'UniKernels', + link: siteUrl, + }, + }) + + const posts = [] + for (const file of files) { + try { + const meta = await getMDXMeta(file) + posts.push(meta) + } catch (e) { + console.error(`Error parsing ${file}:`, e) + } + } + + // Sort posts by date descending + posts.sort((a, b) => b.date.getTime() - a.date.getTime()) + + posts.forEach((post) => { + feed.addItem({ + title: post.title, + id: post.url, + link: post.url, + description: post.description, + date: post.date, + author: post.authors.map((name: string) => ({ name })), + }) + }) + + // Also include the feeds directly in the public/blog folder + const publicBlogDir = path.join(process.cwd(), 'public', 'blog') + if (!fs.existsSync(publicBlogDir)) { + shell.mkdir('-p', publicBlogDir) + } + + fs.writeFileSync(path.join(publicBlogDir, 'rss.xml'), feed.rss2()) + fs.writeFileSync(path.join(publicBlogDir, 'atom.xml'), feed.atom1()) + fs.writeFileSync(path.join(publicBlogDir, 'feed.json'), feed.json1()) + + // Additionally, to support /blog/rss and /blog/atom (without extension), + // we can create those files without extensions in the public folder. + // Next.js will serve them from public. + fs.writeFileSync(path.join(publicBlogDir, 'rss'), feed.rss2()) + fs.writeFileSync(path.join(publicBlogDir, 'atom'), feed.atom1()) + + console.log('RSS, Atom and JSON feeds generated successfully! ✅') +} + +genRSS()