Skip to content

kSTEP 0.1.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 11:42
· 26 commits to master since this release
7119d45

kSTEP 0.1.1 — 2026-10-22 (pre-release)

Second pre-release. The GitHub release carries a platform-independent kstep-cli-0.1.1.zip (JVM only, without native bridges; about 86 MB because
it bundles the Kotlin compiler for *.kstep.kts scripts) and a SHA-256 checksum. Nothing is published to Maven Central or Homebrew. Geometry still needs a system OCCT
build (Linux x86-64 or, new, macOS arm64 via Homebrew).

Added

  • macOS arm64 support for the OCCT and PlaneGCS native bridges (ADR-0026): platform-aware Gradle
    build (clang++, .dylib, Homebrew defaults, -Pkstep.brew.prefix), platform whitelist in the
    loaders (detectPlatform), unit tests for it, and a new CI job build-native-macos. Development
    use only: nothing is bundled, the dylib is unsigned, Intel Macs and Windows stay unsupported.
  • Release pipeline (.github/workflows/release.yml, ADR-0025): pushing a vX.Y.Z tag builds
    kstep-cli-X.Y.Z.zip (without native bridges) with a SHA-256 checksum and creates or updates the
    GitHub release; pre-release automatically while the major version is 0. No Maven Central,
    Homebrew or signing yet.
  • scripts/release/ (tag validation, version check, checksum, release notes, distribution
    verification) and its self-test test-release-scripts.sh, which also runs in CI.
  • kstep export --validate: opt-in population-level model validation (USEDIN, INVERSE,
    UNIQUE, acyclic usages) before the Part 21 file is written. Findings give exit code 1 and no
    file; if no verdict can be reached (limits, unsupported construct) it fails closed with the new
    code KSTEP-S-005. Text and --output json output, see ADR-0024. Default off, output without the
    flag is unchanged.
  • KStepModel.validateModel() in kstep-script (ModelValidationOutcome.Checked /
    Unavailable).

Changed

  • CI action updates (pinned by commit SHA, tags verified): actions/setup-java 6.0.1,
    gradle/actions/setup-gradle 6.4.0, actions/upload-artifact 7.0.2.

Documented

  • Interop finding of 2026-10-22: kSTEP Part 21 files (product structure) are read by FreeCAD 1.x
    (OCCT 7.8) without error or warning and yield 0 objects because no geometry is written. An
    independent reader built on OpenCascade 7.9.3's typed STEP model
    (scripts/interop/read_step_structure.cpp) additionally resolves the product structure:
    products, product definitions, formations and both ends of every assembly usage are found, no
    entity is undefined and the OCCT model check reports 0 fails and 0 warnings. This proves
    product-structure read interop with one external implementation (OCCT). Geometry interop,
    other CAD/PLM readers, full AP242 schema conformance and a lossless write-back round trip remain
    unverified, so ADR-0001 acceptance criterion #2 is only partly met.

Verify the download with the attached .sha256 file (sha256sum -c).