# DenoRider - An embedded JavaScript runtime in Elixir

**URL:** <https://forum.elixirforum.com/t/denorider-an-embedded-javascript-runtime-in-elixir/68125>\
**Category:** Announcing\
**Tags:** library, javascript\
**Created:** [December 15, 2024, 10:38pm UTC](https://forum.elixirforum.com/t/denorider-an-embedded-javascript-runtime-in-elixir/68125 "2024-12-15T22:38:57Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![aglundahl](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/aglundahl/32/37119_2.png) [@aglundahl](https://forum.elixirforum.com/u/aglundahl)\
**Post date:** [April 1, 2025, 6:23am UTC](https://forum.elixirforum.com/t/denorider-an-embedded-javascript-runtime-in-elixir/68125/21 "2025-04-01T06:23:25Z")

</div>

Version 0.2.0 has been released. From the changelog:

# Improvements

- A JavaScript API, `DenoRider.apply`, is introduced for calling Elixir from  
JavaScript.
- Promises returned in `DenoRider.eval` are resolved before being returned to  
Elixir-land.
- The JavaScript runtime now always gets a dedicated process. No need for  
awaiting tasks anymore.
- `DenoRider.eval!` is introduced, which raises if the evaluation isn’t  
successful.
- Dependencies are upgraded.

# Breaking changes

- `DenoRider.start_runtime` and `DenoRider.stop_runtime` are removed. Use  
`DenoRider.start` and `DenoRider.stop` instead.
- `DenoRider.eval/2` no longer takes a `:runtime` option. Use the `:pid` option  
instead.
- `DenoRider.eval/2` no longer returns a task for manually managed runtimes.

---

_[View the full topic](https://forum.elixirforum.com/t/denorider-an-embedded-javascript-runtime-in-elixir/68125)._
