Skip to content

Elide: Alpha 8

Compare
Choose a tag to compare
@sgammon sgammon released this 02 May 06:58
· 294 commits to main since this release
1.0.0-alpha8
9d72e72

Summary

Version: 1.0.0-alpha8

This is the first major release after Elide's public alpha launch. It is a huge release full of tons of feature work, fixes, and general toil toward stability.

See the Known Issues and Fixed Issues sections below for more information.

Language Support

  • JavaScript (ECMA2023)
  • Python (3.11.x)
  • Ruby (3.2~)

New features

Fixed issues

Installation

curl -sSL --tlsv1.2 elide.sh | bash -s -

Major features

  • Polyglot support. Elide supports JavaScript, Python, Ruby, WASM, and LLVM, thanks to GraalVM's language implementations.

  • It's crazy fast. We have a built-in server intrinsic now, powered by Netty. It is accessible from each language. You can run, say, an Express JS-style server, with Netty underneath, using this intrinsic. Elide can run such servers at over 500k+ RPS, depending on native transport support, etc. This is about 75x faster than Node 20, and 5x+ faster than Deno/Bun.

  • Isolated env. Elide applications, by default, do not have access to host environment variables. This also lands just in time to include Dotenv support, listed below, and matches Elide's closed-world I/O and system guarantees.

  • Isolated I/O. Elide applications do not have access to Host I/O by default. Applications can load "bundles" (tarballs) which become the visible filesystem for an application, or elect to allow Host I/O. Bundles will allow apps to seal their I/O reads and writes. VFS via these bundles can be combined with Host I/O using VFS layering.

  • Universal Dotenv support. If you have a .env file in your project directory, Elide will load it and apply the contents to guest VMs in all languages. JavaScript, Python, and Ruby are all supported.

Fixed Issues

  • Ruby is working great in native mode now. #789

  • Python is working great with VFS, and so is Ruby.

Known Issues

Coming shortly.

Dependency Updates

  • Java → JDK 22
  • Kotlin → 2.0.0-RC2
  • Micronaut → 4.3.8
  • React → 18.3.1
  • PNPM → 9.0.6
  • Node → 21.x

Note

This release is registered on Sigstore, and signed with GPG2. Hash-lock files are provided for each archive. **Provenance material is also made available, but due to a bug in CI, may not yet verify. This will be rectified by later releases and corrected before 1.0.0 is released.

What's Changed

  • Hotfixes: AWT, selfupdate command by @sgammon in #454
  • feat: decouple env plugin from language runtimes by @darvld in #452
  • feat(dev): add codespace template for trying elide by @sgammon in #466
  • feat(dev): codespaces re-org and update by @sgammon in #468
  • chore: add homebrew install to readme by @sgammon in #473
  • feat(dev): add bash and elide containers by @sgammon in #467
  • fix: issues with netty in native image by @darvld in #475
  • fix(cli): avoid crashing when no user config directory is present. by @darvld in #476
  • feat: host I/O access using a Hybrid VFS by @darvld in #495
  • feat: support for JVM-based guest languages. by @darvld in #501
  • chore: add buildless github action to ci by @sgammon in #506
  • fix(graalvm): include core module replacements by default in js plugin. by @darvld in #477
  • chore(deps): bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #515
  • chore(deps): bump graalvm/setup-graalvm from 1.1.4 to 1.1.5 by @dependabot in #512
  • chore(deps): bump step-security/harden-runner from 2.5.1 to 2.6.1 by @dependabot in #511
  • chore(deps): bump bufbuild/buf-setup-action from 1.26.1 to 1.28.1 by @dependabot in #513
  • chore(deps): bump io.micronaut.application from 4.1.1 to 4.2.0 by @dependabot in #525
  • chore(deps): bump actions/setup-node from 3.8.1 to 4.0.0 by @dependabot in #537
  • chore(deps): bump actions/labeler from 4.3.0 to 5.0.0 by @dependabot in #534
  • chore(deps): bump google-github-actions/auth from 1.1.1 to 2.0.0 by @dependabot in #536
  • chore(deps): bump ossf/scorecard-action from 2.2.0 to 2.3.1 by @dependabot in #535
  • chore(deps): bump postcss from 8.4.30 to 8.4.32 by @dependabot in #510
  • chore(deps): bump JetBrains/qodana-action from 2023.2.6 to 2023.2.9 by @dependabot in #516
  • chore(deps): bump org.gradle.wrapper-upgrade from 0.11.1 to 0.11.4 by @dependabot in #524
  • chore(deps): bump io.micronaut.aot from 4.1.1 to 4.2.1 by @dependabot in #533
  • chore: buildless updates by @sgammon in #507
  • chore(deps-dev): bump @types/google-protobuf from 3.15.6 to 3.15.12 by @dependabot in #514
  • chore(deps): bump typescript from 4.9.5 to 5.3.2 by @dependabot in #529
  • chore(deps-dev): bump @mdx-js/loader from 2.2.1 to 3.0.0 by @dependabot in #517
  • Update: JVM 21, Kotlin 1.9.21 by @sgammon in #546
  • chore(deps): bump github/codeql-action from 2.21.9 to 2.22.9 by @dependabot in #547
  • chore(deps): bump actions/setup-java from 3.13.0 to 4.0.0 by @dependabot in #548
  • chore(deps): bump JetBrains/qodana-action from 2023.2.9 to 2023.3.0 by @dependabot in #549
  • chore(deps): bump actions/deploy-pages from 2.0.4 to 3.0.1 by @dependabot in #550
  • chore(deps): bump bufbuild/buf-lint-action from 1.0.3 to 1.1.0 by @dependabot in #551
  • chore(deps-dev): bump prettier from 3.0.3 to 3.1.1 by @dependabot in #552
  • chore(deps): bump gradle/gradle-build-action from 2.9.0 to 2.11.1 by @dependabot in #567
  • chore(deps): bump bufbuild/buf-push-action from 1.1.1 to 1.2.0 by @dependabot in #558
  • chore(deps): bump actions/dependency-review-action from 3.1.0 to 3.1.4 by @dependabot in #560
  • chore(deps): bump google-github-actions/setup-gcloud from 1.1.1 to 2.0.1 by @dependabot in #565
  • chore(deps): bump github/codeql-action from 2.22.9 to 3.22.12 by @dependabot in #566
  • Tracking: Kotlin 2.0.0 by @sgammon in #587
  • Feature: WASI Support by @sgammon in #588
  • Feature: Control Protocol by @sgammon in #589
  • [StepSecurity] Apply security best practices by @step-security-bot in #619
  • chore: cleanup and refactor ci into reusable jobs by @sgammon in #614
  • chore(deps): bump actions/dependency-review-action from 4.0.0 to 4.1.0 by @dependabot in #623
  • chore(deps): bump bufbuild/buf-setup-action from 1.28.1 to 1.29.0 by @dependabot in #625
  • feat: overhaul codebase checks by @sgammon in #635
  • [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #644
  • chore: formatting by @sgammon in #643
  • Fix: Native Compile by @sgammon in #649
  • Alpha v8: GraalVM 22 / Kotlin 2.0 RC1 by @sgammon in #788
  • fix: use custom npm module path for js tests. by @darvld in #796
  • Release: Elide Alpha 8 by @elidebot in #792
  • chore: upgrade micronaut/kotlin by @sgammon in #839

Full Changelog: 1.0.0-alpha7...1.0.0-alpha8