Skip to content

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 18 Sep 22:43
· 1455 commits to main since this release

Inimerse 0.4.1 Release Notes

Inimerse 0.4.1 is a patch release for the 0.4 portable runtime line.

Fixes

  • Fixed hosted CI false failures in the range metadata regression by running
    the core language test from an isolated CMake sandbox.
  • Removed the unsafe CTest failure regex that matched diagnostic string-table
    output instead of executed program output.
  • Made CI CMake builds start from a clean build directory.
  • Fixed Windows CI setup so the legacy build.ps1 path has a MinGW toolchain
    available on GitHub hosted runners.
  • Made build.ps1 use CMake as the single canonical Windows source list,
    preventing linker failures when new runtime modules are added.
  • Made the closure concurrency probe use the project's portable thread layer,
    so the full probe set builds with MinGW as well as POSIX toolchains.
  • Updated GitHub's checkout and Node setup actions to their Node 24 releases.
  • Fixed Windows collection conversion/join lifetime bugs exposed by the shared
    cross-platform CTest suite.
  • Fixed an intermittent VM deadlock when thread result/await code created
    Result dictionaries while worker threads were still active.
  • Made --no-mods a working runtime flag so core tests can opt out of ambient
    project modules explicitly.
  • Brought Windows runtime collection metadata, process probing, and thread
    message timing behavior in line with the shared CTest suite.
  • Isolated core metadata and portable API tests with --no-mods, and made
    portable API failures report precise stage markers without tripping CTest on
    diagnostic string-table output.
  • Replaced the function-message thread lifetime test's fixed startup sleep with
    an explicit ready signal and queue handshake before sending the function
    value, and verifies the result through thread_result instead of thread-local
    gui_say output.
  • Split --no-mods so core C modules still register while world, VDP,
    packaging, and disk-loaded modules stay out of core runtime tests.
  • Made Windows atomic_get/atomic_set use interlocked operations for
    cross-thread visibility.
  • Fixed Windows split handling for an empty separator so it matches the
    portable runtime's whitespace split behavior.
  • Made copied function values clone their closure payload so queued
    cross-thread function messages do not depend on sender lifetime.
  • Made function-value calls use the closure object's function index as the
    canonical target.
  • Marked OS thread message queues as GC roots so queued function values remain
    callable until the receiver consumes them.
  • Kept range metadata checks focused on the range(value) runtime behavior,
    with regex coverage handled by the portable API test.
  • Declared the Python cryptography dependency required by signed Inim packages.
  • Made build.ps1 create the local deployment directory before copying the
    Windows executable.

Assets

This release publishes the Linux runtime packages:

  • inimerse-0.4.1-Linux-x86_64.tar.gz
  • inimerse-0.4.1-Linux-x86_64.zip
  • inimerse-0.4.1-Linux-x86_64.deb
  • SHA256SUMS

SHA-256

2608345b5cb4fa0f91d37d98f881a18a15b1513048f2a6d5c27daa1b4336d6d2  build/inimerse-0.4.1-Linux-x86_64.deb
748a88e3253182ea9a4c00f307b847af7bc605fcd464cc2979b05728d412ac3a  build/inimerse-0.4.1-Linux-x86_64.tar.gz
53d96f2731bd4e486415cd5d8cafe24b7bb80dc4db3bb2b0dac96c143db8ec1b  build/inimerse-0.4.1-Linux-x86_64.zip