Changelog
The fastest way to see what changed in Elide. Highlights come first; detailed version notes follow for each public release line.
Latest published release:
1.3.6+20260705.
For install and upgrade commands, see Releases.
Highlights
-
JS
Node.js compatibility is moving quickly. Recent work adds
node:fs,node:crypto,node:path,node:assert,node:util,node:test, streams, process behavior, module shims, and worker-thread plumbing. -
Python
Python support is more practical. Elide now tracks Python
3.12-era behavior, fixes stdlib discovery from the shipped Python
home, improves cold-start setup, and adds an
elide pythoncommand. -
JVM
JVM and Bazel workflows are sharper. Kotlin and Java
compiler work adds
elide jdeps, Bazel-aware diagnostics, Kotlin ABI improvements, digest-driven incremental compilation, used-dependency reporting fixes, and faster warmjavacworkers. - Install Installation is more complete. The installer path now covers unified NPM/PyPI/JVM dependency installation, local JAR dependencies, Windows installer repair, full-archive upgrades, and smaller NPM platform packages.
-
CLI
Runtime diagnostics are easier to act on. Guest
module-resolution errors, Kotlin diagnostic floods, upgrade output,
elide info, and version/channel reporting all received user-facing improvements.
By Area
| Area | Recent user-visible changes |
|---|---|
| JavaScript and TypeScript | Node API coverage, Web Crypto digest support, print, plain error output, $262 Test262 hooks, worker-thread work |
| Python | Python 3.12 alignment, stdlib layout fixes, Python home discovery, cold-start preinit work, elide python |
| JVM, Kotlin, and Bazel | elide jdeps, Kotlin ABI headers for mixed source sets, Bazel-friendly diagnostics, classpath and incremental-compile fixes |
| Install and packaging | Unified dependency installation, NPM distribution work, full-archive upgrades, Windows installer staging fixes |
| CLI and docs | Better elide upgrade, elide info, version/channel reporting, examples page, crawler metadata, and issue links |
About This Page
This page is curated from recent merged changes, plus public release
tags on elide-dev/elide.
Dependency-only, CI-only, and test-only changes are omitted unless they affect
installation, security, packaging, or runtime behavior. Version grouping uses
release milestones where they are set and the public nightly release line
otherwise.
Next: 1.4.0
The next 1.4.0 line updates the runtime base and lands a large JavaScript and Python compatibility batch.
✨ Features
- Added broader Node.js compatibility, including
node:path, process behavior,node:assert,node:util,node:test, module shims, stream behavior, and worker thread plumbing. - Added an
elide pythonsubcommand with CPython-style flag compatibility.
🛠️ Fixes
- Fixed JavaScript module loading, CommonJS resolution, worker-thread runtime ownership, structured clone/message ports, stream lifecycle behavior, fetch URL resolution, and catchable guest errors for out-of-CWD module failures.
- Fixed embedded native-image operation, embedded JVM staging, Pkl engine isolation, Python builtins imports, and runtime API compatibility.
- Changed NPM platform packages to download the Elide binary during install instead of bundling very large tarballs.
🧹 Chores
- Updated the runtime/toolchain base, refreshed managed toolchains, and updated PGO/BOLT profile wiring.
1.3.6
The 1.3.6 nightly line focuses on installers, dependency installation, JVM tool fixes, MCP improvements, Python layout fixes, and JavaScript conformance hooks.
✨ Features
- Added packaged installer support around embedded
aubefor NPM anduvfor PyPI, with unified install smoke coverage. - Added local JAR dependencies for JVM projects.
- Added MCP insight and debugging tools, including project/build inspection and guest-code execution support.
- Added JavaScript conformance hooks: global
print, plain scriptable error output, and$262host API support for Test262 tooling. - Added web templates for
elide init.
🛠️ Fixes
- Fixed the docs Examples button by adding the backing code samples page.
- Fixed
elide runfor spawned JVM processes that read from stdin. - Fixed MCP HTTP mode and high-level insight scripting behavior.
- Fixed
javaformatandktfmthelper handling for@argfilearguments. - Fixed several installer and snippet-runner issues.
- Fixed embedded
javaccompatibility with ambientCLASSPATHdefaults and DocLint reflection behavior. - Improved runtime error reporting for module-resolution failures.
- Fixed Python home selection by using the on-disk Python layout.
- Moved temporary writes into a dedicated process directory that is freed on exit.
- Fixed NPM publishing reliability by reclaiming disk and surfacing publish errors.
🧹 Chores
- No public-user chore entries.
1.3.5
Elide 1.3.5 improves Kotlin/Bazel workflows, starts shipping a fuller Node filesystem implementation, and tightens update and docs behavior.
✨ Features
- Added Java ABI output for mixed Kotlin and Java source sets in
elide kotlinc --abi-only. - Added Bazel-aware Kotlin compiler diagnostics and project-relative source paths.
- Added
node:fsandnode:fs/promisessupport with a filesystem capability sandbox. - Added a docs "File an issue" action and fixed mobile layout for page actions.
🛠️ Fixes
- Made explicit
elide kotlinc --plugins=selections authoritative. - Fixed
elide upgradeto download the full archive, not only the binary, when resources are needed. - Fixed docs crawler/discovery files and robots behavior.
- Fixed NPM publishing by moving
@elide-dev/elidepublishing into a dedicated, testable workflow.
🧹 Chores
- Disabled
telemetry,cloud, andsidecarby default behind optional Cargo features.
1.3.4
Elide 1.3.4 is centered on JVM build performance and Kotlin compiler correctness under persistent-worker use.
✨ Features
- Added Kotlin Build Tools API work for Elide JVM builds.
- Added Pro i18n support.
🛠️ Fixes
- Fixed Kotlin incremental compilation behavior with digest-driven invalidation, heap sizing, and classpath-default handling.
🧹 Chores
- Cached warm
javacclasspath state in persistent workers to reduce repeated classpath indexing.
1.3.3
Elide 1.3.3 adds Python 3.12 and native compression work, expands NPM distribution infrastructure, and fixes several JVM build and transport issues.
✨ Features
- Added Python interop, Python 3.12 alignment, and
sys.argvfixes. - Added native compression for gzip, Brotli, and Zstandard, replacing
zstd-jniandbrotli4jin the transport path. - Added NPM distribution infrastructure for Elide binary packages.
- Added publishing infrastructure for
@elide-dev/types. - Added roll-up behavior for excessive Kotlin compiler diagnostics.
🛠️ Fixes
- Fixed Python cold-start preinitialization on the Python 3.12 base.
- Bumped Netty to address open Netty dependency alerts.
- Fixed zstd JNI class registration on the dynamic dylib path.
- Fixed native-image task output path semantics.
- Fixed Kotlin stdlib inclusion when Kotlin sources are present.
- Fixed Kotlin compiler API and language-version argument capture.
- Fixed build-cache fingerprint corruption after cache restore.
- Fixed external native-image driver selection.
- Fixed JVM codegen so build/version config stays in sync.
- Fixed build-cache file attribute preservation.
🧹 Chores
- No public-user chore entries.
1.3.2
Elide 1.3.2 improves CLI version reporting and upgrade behavior, fixes Windows installer packaging, and closes Python/native-image resource gaps.
✨ Features
- Show the Elide masthead in
elide info.
🛠️ Fixes
- Made
elide upgradechannel-aware and cleaned up user-facing upgrade output. - Fixed musl/LTO builds by restoring Rust memory intrinsics via
compiler-builtins-mem. - Fixed license registration pages to use
elide pro activate. - Added channel and precise-version awareness to
elide --versionandelide info. - Fixed the Windows installer to sync the staged Elide home instead of relying on stale hand-enumerated file paths.
- Fixed Python stdlib version resolution from the on-disk Python home layout.
- Fixed native-image
jdepsresource bundle inclusion for used-dependency reports. - Corrected docs for multiplex persistent-worker support.
🧹 Chores
- No public-user chore entries.
1.3.1
Elide 1.3.1 adds jdeps, improves JS crypto support, and fixes Kotlin/Bazel and
formatter regressions.
✨ Features
- Added
elide jdeps. - Added
node:crypto, Web Crypto digest behavior, and transparent tool passthrough. - Added reference and guide docs for remaining runtime/tooling topics.
🛠️ Fixes
- Added self-healing for corrupt Kotlin incremental-compile caches.
- Fixed Bazel flags.
- Fixed G1 garbage-collector build/linkage support while keeping it disabled by default.
- Fixed formatter check-mode output and Kotlin source counting.
- Fixed generated Java projects so they do not include Kotlin dependencies.
🧹 Chores
- No public-user chore entries.
1.3.0
Elide 1.3.0 contains early installer, project-template, and native-image fixes from the reviewed PR range.
✨ Features
- Added
elide inittemplate and metadata improvements, including inverted blocks, binary files, and conditionalbuild/test/runinvocation support.
🛠️ Fixes
- Fixed installer script argument parsing and Unix executable permissions.
- Fixed native-image localization configuration for ICU.
- Fixed missing annotations for Java test compilations.
- Fixed a build-time
nanoTimevalue that caused instant timeout behavior.
🧹 Chores
- No public-user chore entries.
1.0.x - 1.2.x Pre-Releases
Elide 1.0.x through 1.2.x were early prerelease lines. They are archived for reference and should not be used for new projects.
Elide Classic
Elide Classic is the pre-1.0 code line preserved in
elide-dev/elide on the v5
branch. Classic releases used beta and release-candidate style versions, such
as 1.0.0-beta11-rc6, and are useful mainly for understanding older projects
that pinned themselves to that era of Elide. The last Classic release was
1.0.0-beta11-rc6; the last public non-RC release is 1.0.0-beta10.
Modern Elide is the current runtime and toolchain line documented above. It uses the newer packaging, installer, JVM toolchain, JavaScript/TypeScript, Python, and native-image architecture represented by the 1.3.x and 1.4.x releases. Classic should be treated as historical unless you are maintaining an existing project on that branch.