From 7a30e511e919a79ec5b2e04b753f386c16c25809 Mon Sep 17 00:00:00 2001 From: James Roome Date: Fri, 2 Oct 2026 15:07:59 +0530 Subject: [PATCH] release: 0.0.11 Ships the higher-level API additions from #21 against the same Slang 2026.19 binaries as 0.0.10; PINNED_SLANG_VERSION does not move. - Compiler options: typed SessionBuilder setters (optimization, debugInfo, warningsAsErrors, disableWarnings, languageVersion, capability, bitfieldPacking) and raw option(name, value) on the builder and per target. - Module loading and introspection: Session.loadModule(name), Module.name/filePath/dependencyFiles/entryPoints/entryPoint(name, stage), Session.isIrUpToDate. - Global queries and whole-program code: GlobalSession.findCapability, isTargetSupported, isPassThroughSupported, downstreamCompilerPath; ComponentType.targetCode. All additive: no existing signature changed. Since 0.0.10 the repo also gained the release-watch fix (#19) and the Qodana quality gate with its one null-check fix (#20); neither changes the published API. gradle.properties is the single version source for the library and both natives artifacts; README's coordinates, manifest example and both dependency snippets move to 0.0.11 with it. Verified in #21's CI: :slang:test on linux-x86_64, linux-aarch64, windows-x86_64 and macos-aarch64 (64 tests, 21 new), the ABI lock job, and Qodana with the gate on. release.yml re-runs the suite against the pinned binaries before it publishes anything. Co-Authored-By: Claude Opus 5.5 --- README.md | 18 +++++++++--------- gradle.properties | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index afecfb1..72c485e 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,14 @@ directly. Windows, macOS, and Linux, on x86_64 and aarch64. Requires JDK 25+. | Artifact | Purpose | |--------------------------------------------------------|---| -| `io.github.refux:slang-java:0.0.10` | The library: compiler API, reflection, Java file systems | -| `io.github.refux:slang-java-natives:0.0.10:-` | The official Slang binaries, as one classifier per platform: `windows`, `linux`, or `macos` × `x86_64` or `aarch64` | +| `io.github.refux:slang-java:0.0.11` | The library: compiler API, reflection, Java file systems | +| `io.github.refux:slang-java-natives:0.0.11:-` | The official Slang binaries, as one classifier per platform: `windows`, `linux`, or `macos` × `x86_64` or `aarch64` | The library version tracks slang-java's own API, not Slang's. To see which Slang release a jar binds, read its manifest — no resolving, no running: ```bash -unzip -p slang-java-0.0.10.jar META-INF/MANIFEST.MF +unzip -p slang-java-0.0.11.jar META-INF/MANIFEST.MF ``` `Slang-Version` there is a **floor**, not a lockstep: it names the release the bindings were @@ -51,8 +51,8 @@ val slangNatives = "${ }-${if (System.getProperty("os.arch") in listOf("aarch64", "arm64")) "aarch64" else "x86_64"}" dependencies { - implementation("io.github.refux:slang-java:0.0.10") - runtimeOnly("io.github.refux:slang-java-natives:0.0.10:$slangNatives") + implementation("io.github.refux:slang-java:0.0.11") + runtimeOnly("io.github.refux:slang-java-natives:0.0.11:$slangNatives") } tasks.withType { @@ -65,10 +65,10 @@ classpath together and the loader picks the host's at runtime (LWJGL-style): ```kotlin dependencies { - implementation("io.github.refux:slang-java:0.0.10") - runtimeOnly("io.github.refux:slang-java-natives:0.0.10:macos-aarch64") - runtimeOnly("io.github.refux:slang-java-natives:0.0.10:windows-x86_64") - runtimeOnly("io.github.refux:slang-java-natives:0.0.10:linux-x86_64") + implementation("io.github.refux:slang-java:0.0.11") + runtimeOnly("io.github.refux:slang-java-natives:0.0.11:macos-aarch64") + runtimeOnly("io.github.refux:slang-java-natives:0.0.11:windows-x86_64") + runtimeOnly("io.github.refux:slang-java-natives:0.0.11:linux-x86_64") } ``` diff --git a/gradle.properties b/gradle.properties index 87f1da9..49fec06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,4 +4,4 @@ org.gradle.caching=true # Single source of truth for the published version (library + natives artifacts). # Release tags must match: tag v0.0.1 <-> version=0.0.1. group=io.github.refux -version=0.0.10 +version=0.0.11