From cffa25eee2c204f82df90000431dff58219d3157 Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Mon, 2 Nov 2026 14:05:44 +0900 Subject: [PATCH] 0.2.7 --- openkal 0.21's implementations; ok images over openkal-platform 0.21.0 Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> --- .github/workflows/ci.yml | 25 +++++++++++++------------ CHANGELOG.md | 9 +++++++++ checks/hosted/mcpp.toml | 2 +- mcpp.toml | 12 ++++++------ 4 files changed, 29 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54e5e50..0fbdfd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,10 +13,11 @@ name: CI # run under node (checks/emscripten); a program that starts one # fails at LINK naming the openkal symbol (checks/absent) # -# The library is built with the released mcpp, 2026.10.30.1. The ok images +# The library is built with the released mcpp, 2026.11.2.1. The ok images # (MCPP_PLATFORM) and checks/hosted (its manifest) select openkal-platform -# 0.19.0 and take their C library and C++ run-time from it (openkal 0.18's -# implementations among them). The library +# 0.21.0 and take their C library and C++ run-time from it (openkal 0.21's +# implementations among them; openkal-musl 0.26.0 embeds its allocator, which +# needs mcpp 2026.11 or later). The library # itself needs 2026.10.27.1 or later, the first that selects a platform # (SPEC-013). A dispatch may name a branch of mcpp instead (`mcpp_ref'), which # the latest released mcpp builds and which is then used. @@ -34,7 +35,7 @@ on: env: MCPP_SOURCE_REF: ${{ github.event.inputs.mcpp_ref || vars.MCPP_SOURCE_REF || '' }} - MCPP_INSTALL: ${{ (github.event.inputs.mcpp_ref || vars.MCPP_SOURCE_REF) && 'mcpp' || 'mcpp@2026.10.30.1' }} + MCPP_INSTALL: ${{ (github.event.inputs.mcpp_ref || vars.MCPP_SOURCE_REF) && 'mcpp' || 'mcpp@2026.11.2.1' }} XLINGS_VERSION: v2026.10.26.1 XLINGS_NON_INTERACTIVE: '1' @@ -219,10 +220,10 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 120 env: - # openkal 0.19.0, which this release is written against, is the one - # openkal-platform 0.20.1's version group names; the released mcpp's - # openkal rows pin 0.18.0, whose group names openkal 0.17.1. - MCPP_PLATFORM: openkal-platform@0.20.1 + # openkal 0.21.0, which this release is written against, is the one + # openkal-platform 0.21.0's version group names; mcpp 2026.11.2.2 and + # later pin it for their openkal rows. + MCPP_PLATFORM: openkal-platform@0.21.0 defaults: run: shell: bash @@ -269,10 +270,10 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 45 env: - # openkal 0.19.0, which this release is written against, is the one - # openkal-platform 0.20.1's version group names; the released mcpp's - # openkal rows pin 0.18.0, whose group names openkal 0.17.1. - MCPP_PLATFORM: openkal-platform@0.20.1 + # openkal 0.21.0, which this release is written against, is the one + # openkal-platform 0.21.0's version group names; mcpp 2026.11.2.2 and + # later pin it for their openkal rows. + MCPP_PLATFORM: openkal-platform@0.21.0 strategy: fail-fast: false matrix: diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ec8680..4ce535d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.2.7 + +- **openkal 0.21.** The implementations of openkal 0.21 (openkal-linux 0.22.0, + openkal-macos 0.19.0, openkal-windows 0.17.0, openkal-emscripten 0.10.0). This + library's interface is unchanged. An ok image over this release selects + openkal-platform 0.21.0, whose loader maps an image's instructions from its + file and whose C library's allocator is mimalloc; `checks/hosted` and the + image checks take theirs from it, built with mcpp 2026.11.2.1. + ## 0.2.6 - **openkal-macos 0.17.1**, whose `kal_task_current` reads the thread's diff --git a/checks/hosted/mcpp.toml b/checks/hosted/mcpp.toml index 82611b3..2852c1a 100644 --- a/checks/hosted/mcpp.toml +++ b/checks/hosted/mcpp.toml @@ -13,7 +13,7 @@ version = "0.1.0" os = { path = "../.." } [target.'cfg(any(linux, macos, windows))'] -platform = "openkal-platform@0.20.1" +platform = "openkal-platform@0.21.0" # The tests are the package's own, each reached by an include from # tests/.cpp here (a test program is a file of the package that runs it). diff --git a/mcpp.toml b/mcpp.toml index aa8a136..945a43d 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -1,7 +1,7 @@ [package] namespace = "mcpplibs" name = "os" -version = "0.2.6" +version = "0.2.7" description = "mcpplibs.os: a C++ operating-system library over openkal --- processes, files, environment, terminals, directories and local IPC, with compile-time platform constants and a few platform modules." license = "Apache-2.0" authors = ["mcpplibs"] @@ -12,23 +12,23 @@ repo = "https://github.com/mcpplibs/os" # own C and C++ runtime. A program that wants the standalone arrangement, or # the image arrangement of `-openkal`, selects it in its own manifest. [dependencies] -openkal = "0.19.0" +openkal = "0.21.0" [target.linux.dependencies] -openkal-linux = "0.20.0" +openkal-linux = "0.22.0" [target.macos.dependencies] -openkal-macos = "0.17.1" +openkal-macos = "0.19.0" [target.windows.dependencies] -openkal-windows = "0.15.0" +openkal-windows = "0.17.0" # Emscripten (`wasm32-emscripten`): openkal written above the C library, with # twelve of openkal's fifteen interfaces. `openkal.process', `openkal.exec' and # `openkal.space' are absent, so a program that starts one fails at link # naming the symbol; `openkal.task' is present in a `-pthread' link only. [target.'cfg(os = "emscripten")'.dependencies] -openkal-emscripten = "0.8.0" +openkal-emscripten = "0.10.0" [targets.os] kind = "lib"