Skip to content

Conversation

sgammon
Copy link
Member

@sgammon sgammon commented Mar 11, 2025

Ready for review Powered by Pull Request Badge

Summary

Final cleanup for 1.0.0-beta1 release; includes many PRs, features from alpha1 through alpha14. Dependencies are updated and frozen to their latest possible versions without breakage. Future betas may still break API compat as we get our CLI entrypoint story together, but the whole thing, generally, speaking, is pretty close to stable.

Upstream dependencies need to stabilize as well before our final stable release. This would include Kotlin, GraalVM, Java, and a few key other dependencies.

This PR is not intended to close the Release R15 milestone; instead, that milestone will become R16, and will continue to advance until this beta series concludes (the milestone will change to Beta instead of Beta 1, to communicate a final beta goal).

PR Tree

API Conformance

Release PR Tree

Note

Every major PR from the alpha-* release series.

Release Punchlist

  • Dependency Updates
    • oro
    • uv, ruff
    • oxc
    • Maven deps
    • Cargo deps
    • NPM deps
    • GHA: Updates
    • GHA: Audit for hardening
    • GHA: Seal configurations
  • QA
    • Passes JVM suite
    • Passes native suite
    • All outstanding known issues
  • Python Interop
    • Python-side annotations for exporting methods
    • Import from JS/TS
  • Docs
    • Update and attach API docs
    • Updates to narrative docs
    • Updates to conformance docs
    • Updates to README
    • Updates to Codespace guide
    • Final docs review
  • Ancillary
    • Update setup-elide GitHub Action
    • Adopt setup-elide for Elide's own build
    • GitHub download redirects from shell installer
  • Maven Central
    • Release to Elide Maven
    • Release to Central
  • Distribution
    • Deploy docs + site updates
    • Issue v2 release of setup-elide
    • Build + test final beta dists for macOS and Linux
    • Publish as non-default and switch in CI
    • Publish as default
    • Sigstore and provenance
    • Cut GitHub release, upload artifacts
    • Author release notes
    • Publish GitHub release
    • Updates to org readme
  • Containers
    • Update + publish base images
    • Update + publish codespace image

Known Issues

  • Reflection Changes
    • sqlite fixes
    • fetch fixes
  • Reflection issues with some Node built-ins
  • Native macOS Build
  • Update PGO
  • Unexpected values provided for JSToObjectNodeGen #1290
  • macOS minimum target
  • HTTP intrinsic is missing #1297
  • Startup latency spike
    • Re-PGO with Python
    • Smoother implementation of Python env
    • Smoother Python elide built-in
  • Relative imports not in cwd (or require cwd) broke after Synthetic Modules #1221
  • TypeScript fix for relative imports
  • TypeScript fix for relative mjs imports
  • Avoid eager init of built-ins that require parsing (structuredClone)
  • Ugly basic errors (FILE_NOT_FOUND, FILE_TYPE_MISMATCH)
  • Missing HTTP intrinsic reflection configs

Changelog

feat: transition to warmed preamble scripts
feat: release-quality python
feat: smarter gha downloads
feat: python interop test + sugar (python-side)
test: ignore kotlin precompiler testing
fix: disable embedded jvm until ready for release
fix: make abi validation optional
fix: warning fixes to build in strict mode
fix: restore python vfs support
fix: package of native macos fixes
fix: static args availability in cli
fix: reflection metadata for pkl
fix: reflection metadata for jna
fix: synethetic module default exports
chore: build kotlin in strict mode
chore: drop checkstyle/pmd until in use
chore: bump rust dependencies
chore: bump `uv` → latest
chore: bump `ruff` → latest
chore: bump `oxc` → latest
chore: bump `java` minimum → jvm21
chore: upgrade kotlin → `2.1.20-RC3`
chore: adopt kdl v2 format for package lock
chore: upgrade micronaut catalog → `4.5.0`
chore: upgrade micronaut lib → `4.8.6`
chore: upgrade disruptor → `4.0.0`
chore: upgrade pnpm → `10.6.2`
chore: update detekt baselines
chore: upgrade oro kdl lockfile
chore: update gradle lockfiles
chore: update verification metadata
chore: update `runtime` facades
chore: fmt

@sgammon sgammon added 🚧 WIP Works-in-progress. Blocks merge release Release-related PRs and tracking issues labels Mar 11, 2025
@sgammon sgammon added this to the Release R15: Beta 1 milestone Mar 11, 2025
@sgammon sgammon requested a review from a team March 11, 2025 01:59
@sgammon sgammon self-assigned this Mar 11, 2025
@sgammon sgammon added this to Elide Mar 11, 2025
@sgammon sgammon moved this to In Progress in Elide Mar 11, 2025
@sgammon sgammon force-pushed the release/beta1 branch 5 times, most recently from c64b3a6 to 2a18df7 Compare March 13, 2025 00:10
Copy link

codecov bot commented Mar 13, 2025

Codecov Report

Attention: Patch coverage is 53.33333% with 273 lines in your changes missing coverage. Please review.

Project coverage is 52.55%. Comparing base (d54a8fe) to head (e7b5a3f).
Report is 32 commits behind head on main.

Files with missing lines Patch % Lines
...untime/lang/javascript/ElideInteropModuleLoader.kt 13.93% 104 Missing and 1 partial ⚠️
...ain/kotlin/elide/runtime/node/fs/NodeFilesystem.kt 68.00% 43 Missing and 13 partials ⚠️
...kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt 47.88% 32 Missing and 5 partials ⚠️
...e/lang/typescript/TypeScriptPrecompiledLoader.java 57.14% 12 Missing and 6 partials ⚠️
...ime/core/internals/graalvm/GraalVMConfiguration.kt 63.33% 7 Missing and 4 partials ⚠️
...ckages/cli/src/main/kotlin/elide/tool/cli/Elide.kt 30.76% 5 Missing and 4 partials ⚠️
...e/gvm/internals/intrinsics/js/abort/AbortSignal.kt 36.36% 6 Missing and 1 partial ⚠️
...vm/src/main/kotlin/elide/runtime/gvm/js/JsError.kt 37.50% 2 Missing and 3 partials ⚠️
...in/elide/runtime/plugins/AbstractLanguagePlugin.kt 50.00% 1 Missing and 3 partials ⚠️
...in/java/elide/runtime/gvm/JNIHeaderDirectives.java 0.00% 3 Missing ⚠️
... and 13 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1294      +/-   ##
==========================================
+ Coverage   48.42%   52.55%   +4.13%     
==========================================
  Files         501      459      -42     
  Lines       18379    17966     -413     
  Branches     3269     3348      +79     
==========================================
+ Hits         8900     9442     +542     
+ Misses       8464     7461    -1003     
- Partials     1015     1063      +48     
Flag Coverage Δ
jvm 52.55% <53.33%> (+4.13%) ⬆️
lib 52.55% <53.33%> (+4.13%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
.../main/kotlin/elide/tool/cli/AbstractToolCommand.kt 63.88% <ø> (ø)
...ages/cli/src/main/kotlin/elide/tool/cli/Statics.kt 37.93% <100.00%> (ø)
...kotlin/elide/tool/cli/cmd/repl/LanguageSelector.kt 60.00% <ø> (-4.45%) ⬇️
...ain/kotlin/elide/tool/cli/err/AbstractToolError.kt 0.00% <ø> (ø)
...src/main/kotlin/elide/runtime/core/EnginePlugin.kt 100.00% <ø> (+100.00%) ⬆️
.../elide/runtime/core/PolyglotEngineConfiguration.kt 100.00% <ø> (+100.00%) ⬆️
...ide/runtime/lang/javascript/ElideJsModuleRouter.kt 70.58% <100.00%> (+70.58%) ⬆️
.../kotlin/elide/runtime/gvm/kotlin/KotlinLanguage.kt 0.00% <ø> (ø)
...tlin/elide/runtime/gvm/kotlin/KotlinPrecompiler.kt 4.70% <ø> (+4.70%) ⬆️
...src/main/kotlin/elide/runtime/plugins/llvm/LLVM.kt 0.00% <ø> (ø)
... and 37 more

... and 89 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d54a8fe...e7b5a3f. Read the comment docs.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sgammon sgammon force-pushed the release/beta1 branch 6 times, most recently from 7f46057 to 0671529 Compare March 13, 2025 22:19
Copy link

socket-security bot commented Mar 14, 2025

sgammon added 2 commits March 16, 2025 01:40
feat: transition to warmed preamble scripts
feat: release-quality python
feat: smarter gha downloads
feat: python interop test + sugar (python-side)
test: ignore kotlin precompiler testing
fix: disable embedded jvm until ready for release
fix: make abi validation optional
fix: warning fixes to build in strict mode
fix: restore python vfs support
fix: package of native macos fixes
fix: static args availability in cli
fix: reflection metadata for pkl
fix: reflection metadata for jna
fix: synethetic module default exports
chore: build kotlin in strict mode
chore: drop checkstyle/pmd until in use
chore: bump rust dependencies
chore: bump `uv` → latest
chore: bump `ruff` → latest
chore: bump `oxc` → latest
chore: bump `java` minimum → jvm21
chore: upgrade kotlin → `2.1.20-RC3`
chore: adopt kdl v2 format for package lock
chore: upgrade micronaut catalog → `4.5.0`
chore: upgrade micronaut lib → `4.8.6`
chore: upgrade disruptor → `4.0.0`
chore: upgrade pnpm → `10.6.2`
chore: update detekt baselines
chore: upgrade oro kdl lockfile
chore: update gradle lockfiles
chore: update verification metadata
chore: update `runtime` facades
chore: fmt

Fixes and closes #1290

This revision will initially be released at tag
`1.0.0-alpha15`, which will be used to bootstrap
and release the `1.0.0-beta1` build.

Signed-off-by: Sam Gammon <[email protected]>
chore: refactor/reimplement ci caching with buildjet
chore: upgrades and fixes in ci

Signed-off-by: Sam Gammon <[email protected]>
@sgammon sgammon added dependencies Pull requests that update a dependency file ✋ embargoed PRs and issues that can't proceed because of some non-code condition module:graalvm Modules, changes, and issues relating to GraalVM module:server Modules, changes, and issues relating to Elide for servers ci:buf-breaking-ignore Ignore breaking proto changes lang:python Issues relating to Python lang:javascript Issues relating to JavaScript lang:typescript Language features relating to TypeScript lang:pkl Relating to Pkl execution or other Pkl topics and removed 🚧 WIP Works-in-progress. Blocks merge labels Mar 16, 2025
@sgammon sgammon changed the title [wip] release 1.0.0-beta1 release 1.0.0-beta1 Mar 16, 2025
@sgammon sgammon changed the title release 1.0.0-beta1 release: 1.0.0-beta1 Mar 16, 2025
@sgammon sgammon force-pushed the release/beta1 branch 2 times, most recently from 2dead7d to 51f19a3 Compare March 16, 2025 10:14
@sgammon sgammon force-pushed the release/beta1 branch 2 times, most recently from f787682 to efbdfd3 Compare March 16, 2025 10:51
@sgammon sgammon merged commit 4d752dd into main Mar 16, 2025
36 of 37 checks passed
@sgammon sgammon deleted the release/beta1 branch March 16, 2025 13:07
@github-project-automation github-project-automation bot moved this from In Progress to Done in Elide Mar 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:buf-breaking-ignore Ignore breaking proto changes dependencies Pull requests that update a dependency file ✋ embargoed PRs and issues that can't proceed because of some non-code condition lang:javascript Issues relating to JavaScript lang:pkl Relating to Pkl execution or other Pkl topics lang:python Issues relating to Python lang:typescript Language features relating to TypeScript module:graalvm Modules, changes, and issues relating to GraalVM module:server Modules, changes, and issues relating to Elide for servers release Release-related PRs and tracking issues
Projects
Status: Done
2 participants