Skip to content

Latest commit

 

History

History
88 lines (56 loc) · 4.49 KB

File metadata and controls

88 lines (56 loc) · 4.49 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Breaking Changes

  • Added import attributes to the Loader trait #601\

Added

  • Added RQUICKJS_SYS_NO_WASI_SDK env variable that skips downloading and setting up the WASI SDK when set to 1 #648

Changed

  • Updated AsyncContext::async_with to use async closure syntax #602

Deprecated

  • Deprecated async_with! macro #602

Fixed

  • Fixed cross-thread stack overflow false positives in parallel mode by updating stack baseline before QuickJS C entry points
  • Fixed iterators to use correct IteratorPrototype chain
  • Fixed a latent ABI layout vulnerability in JS_NewPromiseCapability FFI boundary by replacing tuple with strictly compatible array

[0.11.0] - 2025-12-16

Added

  • Added Proxy object ##570
  • Allow setting filename as an eval option ##536
  • Add Iterable allow JS to iterate over Rust iterator ##564
  • Add JsIterator to iterate over Javascript Iterator ##564
  • Add more trait implementations like AsRef for CString ##558

Changed

Fixed

  • Fix wasm32 build #548

[0.10.0] - 2025-10-24

Added

  • Allow rquickjs-core to build with no_std ##455
  • Add PromiseHook bindings ##453
  • Add Module::write options to enable features like JS_WRITE_OBJ_STRIP_SOURCE and JS_WRITE_OBJ_STRIP_DEBUG ##443 and ##518
  • Allow building with sanitizer ##425
  • Add set_host_promise_rejection_tracker to AsyncRuntime ##452
  • Add linux arm64 support to sys crate ##445
  • Implement Trace for Atom ##517
  • Add disable-assertions feature to disable runtime assertions in quickjs ##535
  • Add JS_TAG_SHORT_BIG_INT tag to support short BigInt ##458 and ##519

Changed

  • Bump MSRV to 1.82 ##531
  • Update to 2024 edition ##473
  • Export DriveFuture ##491
  • Switch to dlopen2 for native module loading ##513

Fixed

  • Fix base objects intrinsic not being enabled in async context ##442
  • Fix namespace resolution for JsLifetime in derive macro ##429
  • Fix ownership of ctx pointers to be more ergonomic and fix cleanup bugs ##433
  • Fix rename option in qjs attribute ##428
  • Strip llvm suffix for *-pc-windows-gnullvm target ##506

[0.9.0] - 2025-01-29

Breaking Changes

  • Switching to quickjs-ng from quickjs as base engine #369

This change should bring better performances and features, we are aware that it is bigger in intruction sizes.

We would eventually like to support the "original" quickjs engine again in the future, but we use new functions now that are only available in the -ng version.