Skip to content

Sprig v0.3.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Sep 08:04
· 88 commits to main since this release
0d56ef6

Sprig v0.3.0-alpha.1 — tools, JVM libraries and contributions

Compiler 0.3.0-alpha.1, language 0.8-dev, JDK 17+, Apache-2.0.
Experimental Alpha: for trying small tools and contributing, not production migration.
This candidate's exact publication and platform evidence lives in the
release validation record.

What you can build

Sprig is a small, explicit JVM language for tools, automation and reliable
application code with human–AI collaboration. The compiler's capabilities,
help, API metadata, doctor and structured errors guide a query/check/repair loop.

  • Apache Maven Resolver supplies effective POMs, parents/BOMs and transitive
    compile/runtime JARs. Manifest exact versions, SHA-256 locks and offline reuse
    feed one classpath for check/build/run/api/doctor. No Maven CLI/plugins.
  • Relocatable Unix and Windows sprig.cmd launchers require a JDK, no Bash/WSL
    for preview Windows SDK usage. Linux/macOS × JDK17/26 are supported release
    gates; Windows remains experimental and non-blocking.
  • Explicit reserved @std/module.spr imports work outside the checkout and
    lock the bundled std version/digest. build --emit-java-only exposes checked
    generated Java without javac.
  • Ordinary Sprig std modules supply UTF-8 IO/path, arguments/environment,
    text/time and a recursive closed JSON variant with exact numeric text.
  • Three real projects ship: repository auditor, Maven-backed HTML utility,
    subset source/AST analyzer. All use the normal compiler/JVM pipeline.
  • Contributor workflow: one verify command, scoped public issue contracts,
    PR/issue templates and welcomed, accountable AI assistance.

Try it

Extract sprig-v0.3.0-alpha.1-jdk.zip after checking its .sha256, add bin
to PATH, and install JDK17+ (the SDK does not bundle Java):

sprig version
sprig init my-tool
cd my-tool
sprig resolve
sprig run

On Windows use bin\sprig.cmd; on Unix bin/sprig. See
showcases, standard layer and
dependency contract. Initial Maven resolve requires network;
subsequent run --offline uses the hash-verified locked cache.

Compatibility and limits

Lock schema 3 supersedes schema 2: run resolve explicitly; no silent migration.
Existing language syntax/numeric/nullability/generic semantics are preserved.
Compiler implementation libraries are isolated from application imports.

No publishing/registry/authentication, Maven plugins, non-JAR runtime artifacts,
LSP/IDE, inference/variance, interfaces/traits, new pattern syntax or new backend.
Java generic/array/varargs interop remains limited. The analyzer is a subset probe,
not a self-hosted compiler. Types do not prove numerical stability. See
known limitations. Libraries retain their Java contracts.