NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4760 most downloaded on crates.io
Abstract Syntax Tree definition for the Boa JavaScript engine.
Last release 1 months ago
28 Aug 2026
Ships fairly regularly
a new release about every 5 months
Nearly every release is documented
notes for 10 of 11 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
11 releases · first in 2023
One column per quarter.
ci: add SemVer check workflow to detect API-breaking changes by @thakazuki in https://github.com/boa-dev/boa/pull/4476
Promise objects by @jedel1043 in https://github.com/boa-dev/boa/pull/4495ignoreBOM option in TextDecoder by @apoorvdarshan in https://github.com/boa-dev/boa/pull/4631%o / %O Object Formatting by @rajat552 in https://github.com/boa-dev/boa/pull/4762Address newtype for bytecode addresses by @hansl in https://github.com/boa-dev/boa/pull/4862Request.clone() and Response.clone() per Fetch Standard §7.3/§7.4 by @Nakshatra480 in https://github.com/boa-dev/boa/pull/4993FinalizationRegistry by @jedel1043 in https://github.com/boa-dev/boa/pull/5101Iterator.concat by @Nakshatra480 in https://github.com/boa-dev/boa/pull/5171Error.prototype.stack accessor property by @HalidOdat in https://github.com/boa-dev/boa/pull/4552requires_function_scope in constructor by @hpp2334 in https://github.com/boa-dev/boa/pull/4470Map and Set objects by @jedel1043 in https://github.com/boa-dev/boa/pull/4497JsError variant by @jedel1043 in https://github.com/boa-dev/boa/pull/4534ReferenceError: access of uninitialized binding in class private field initializers by @regularkevvv in https://github.com/boa-dev/boa/pull/4662Date.parse hour 24 with non-zero minutes/seconds/ms by @Ansh-699 in https://github.com/boa-dev/boa/pull/4780Date.prototype.toISOString formatting year 0 as -000000 instead of 0000 by @Ansh-699 in https://github.com/boa-dev/boa/pull/4776delete with optional chaining not actually deleting properties by @Ansh-699 in https://github.com/boa-dev/boa/pull/4720ArrayBuffer::data() by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4670vec.push(...) to push at the end by @hansl in https://github.com/boa-dev/boa/pull/4712execute_bytecode_instruction and execute_bytecode_instruction_with_budget by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4878JsSharedArrayBuffer::to_vec by @jedel1043 in https://github.com/boa-dev/boa/pull/5062NanBoxedValue related operations by @jedel1043 in https://github.com/boa-dev/boa/pull/4506environments and realm fields from the Vm by @jedel1043 in https://github.com/boa-dev/boa/pull/4507JsValue::to_property_key operation by @jedel1043 in https://github.com/boa-dev/boa/pull/4505String Error with Proper KeywordToBinaryOpError Type by @rajat552 in https://github.com/boa-dev/boa/pull/4676ForInIterator from Builtin/Intrinsic System by @rajat552 in https://github.com/boa-dev/boa/pull/4689CompletePromiseCapability opcode by @jedel1043 in https://github.com/boa-dev/boa/pull/4831undefined by @jedel1043 in https://github.com/boa-dev/boa/pull/4840super-related accesses by @jedel1043 in https://github.com/boa-dev/boa/pull/4847RegisterOperand newtype for register-typed opcode arguments by @hansl in https://github.com/boa-dev/boa/pull/4866PoisonableEnvironment layer by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4874All variant from FormatDefaults enum by @rajat552 in https://github.com/boa-dev/boa/pull/4902NativeError constructor boilerplate by @Nakshatra480 in https://github.com/boa-dev/boa/pull/4958inc_non_root_count by @shruti2522 in https://github.com/boa-dev/boa/pull/4936aws-lc-rs in favour of ring by @jedel1043 in https://github.com/boa-dev/boa/pull/5068js_error! over JsError::from_opaque by @p0lyw0lf in https://github.com/boa-dev/boa/pull/5116JsAsyncGenerator fully type safe by @jedel1043 in https://github.com/boa-dev/boa/pull/5066Overflow::Reject in Temporal.PlainTime.with by @HalidOdat in https://github.com/boa-dev/boa/pull/4490debugger as statement by @zzzdong in https://github.com/boa-dev/boa/pull/4510[[GetOwnProperty]] by @HalidOdat in https://github.com/boa-dev/boa/pull/4532Default impls with #[derive(Default)] by @linkmauve in https://github.com/boa-dev/boa/pull/4517Expression::FormalParameterList by @hpp2334 in https://github.com/boa-dev/boa/pull/4537parseInt and parseFloat by @HalidOdat in https://github.com/boa-dev/boa/pull/4542SparseElement variant for simple sparse array storage by @HalidOdat in https://github.com/boa-dev/boa/pull/4543Intl.DateTimeFormat by @nekevss in https://github.com/boa-dev/boa/pull/4378let declarations by @regularkevvv in https://github.com/boa-dev/boa/pull/4593TextDecoder.decode() did not consider DataView by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4729/[]*1/u.exec() should not panic by @Anayo-Anyafulu in https://github.com/boa-dev/boa/pull/4726TypedArray offset and length not respected by TextDecoder by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4763alreadyCalled record between Promise.allSettled resolve/reject handlers by @Ansh-699 in https://github.com/boa-dev/boa/pull/4778insta crate by @nekevss in https://github.com/boa-dev/boa/pull/4921JsArrayBuffer::to_vec for copying bytes by @alienx5499 in https://github.com/boa-dev/boa/pull/4976Bytecode is one word and VaryingOperand does not vary any more by @zhuzhu81998 in https://github.com/boa-dev/boa/pull/4978ErrorContext for Error by @linisha15 in https://github.com/boa-dev/boa/pull/5103cargo install with cached baptiste0928/cargo-install by @RishavTiwari25 in https://github.com/boa-dev/boa/pull/5180IsTypedArrayFixedLength implementation to match spec by @AlvinThorn008 in https://github.com/boa-dev/boa/pull/5262Iterator.prototype.includes proposal by @nekevss in https://github.com/boa-dev/boa/pull/5227Date.prototype.toLocaleString by @Vellumic in https://github.com/boa-dev/boa/pull/5324console.table implementation by @hunterchen7 in https://github.com/boa-dev/boa/pull/5218Date by @Vellumic in https://github.com/boa-dev/boa/pull/5411Intl.DateTimeFormat constructor with spec-mandated initialization order by @Vellumic in https://github.com/boa-dev/boa/pull/5336Patch release to backport a fix for a Wasm compatibility bug, and to fix our release workflow.
Patch release to backport a fix for a Wasm compatibility bug, and to fix our release workflow.
Full Changelog: v0.21...v0.21.1
Build out Temporal's ZonedDateTime and Now by @nekevss in https://github.com/boa-dev/boa/pull/4068
ZonedDateTime and Now by @nekevss in https://github.com/boa-dev/boa/pull/4068ZonedDateTime method implementations by @nekevss in https://github.com/boa-dev/boa/pull/4095JsString to JsStr by @jedel1043 in https://github.com/boa-dev/boa/pull/4106Error.isError by @jedel1043 in https://github.com/boa-dev/boa/pull/4114JobQueues by @jedel1043 in https://github.com/boa-dev/boa/pull/4111PlainDate string methods by @nekevss in https://github.com/boa-dev/boa/pull/4119JobQueue into JobExecutor and introduce NativeAsyncJob by @jedel1043 in https://github.com/boa-dev/boa/pull/4118From<Cow<'a, str>> for JsString by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/4134toString and toJSON methods on Temporal builtins by @nekevss in https://github.com/boa-dev/boa/pull/4126Array.fromAsync by @jedel1043 in https://github.com/boa-dev/boa/pull/4115toString and toJSON methods for the remaining builtins Duration, PlainMonthDay, and PlainYearMonth by @nekevss in https://github.com/boa-dev/boa/pull/4135Tagged<T> into a utility crate by @HalidOdat in https://github.com/boa-dev/boa/pull/3849from_async_fn to allow capturing the context by @jedel1043 in https://github.com/boa-dev/boa/pull/4215#[boa_module] macro to automatically implement a Module by @hansl in https://github.com/boa-dev/boa/pull/4277JobExecutor::run_jobs_async a plain async method by @jedel1043 in https://github.com/boa-dev/boa/pull/4331ModuleLoaders by @jedel1043 in https://github.com/boa-dev/boa/pull/4328AsyncFnOnce in constructors of NativeAsyncJob by @jedel1043 in https://github.com/boa-dev/boa/pull/4333Atomics.waitAsync by @jedel1043 in https://github.com/boa-dev/boa/pull/4339Math.sumPrecise by @nekevss in https://github.com/boa-dev/boa/pull/4383Date.prototype.toTemporalInstant from the Temporal proposal by @nekevss in https://github.com/boa-dev/boa/pull/4382Instrinsics parameter by @mdrokz in https://github.com/boa-dev/boa/pull/4466BuiltInConstructor constants to ensure no additional allocations by @jedel1043 in https://github.com/boa-dev/boa/pull/4464) not } by @zzzdong in https://github.com/boa-dev/boa/pull/4058super within initializer of static private property by @jedel1043 in https://github.com/boa-dev/boa/pull/4121to_temporal_time and ZonedDateTime.prototype.withPlainTime by @nekevss in https://github.com/boa-dev/boa/pull/4154wasm_js feature of getrandom in boa_engine crate by @HalidOdat in https://github.com/boa-dev/boa/pull/4241--dump-ast flag by @HalidOdat in https://github.com/boa-dev/boa/pull/4337NanBoxedValue by @jedel1043 in https://github.com/boa-dev/boa/pull/4346contains_direct_eval for ordinary function by @hpp2334 in https://github.com/boa-dev/boa/pull/4453try_break macro in favour of question mark operator by @jedel1043 in https://github.com/boa-dev/boa/pull/4112to_string in cow_* by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/4166Gc<T> with Rc<T> for SourceText by @HalidOdat in https://github.com/boa-dev/boa/pull/4293temporal_rs from 0.0.9 to 0.0.10 by @HalidOdat in https://github.com/boa-dev/boa/pull/4318Call::operation as cold. by @cijiugechu in https://github.com/boa-dev/boa/pull/4319Box<T> from JsValue for JsString by @HalidOdat in https://github.com/boa-dev/boa/pull/4329repr(C) on Object to prevent field reordering by @HalidOdat in https://github.com/boa-dev/boa/pull/4343/= parsed as AssignDiv by @Nikita-str in https://github.com/boa-dev/boa/pull/4048JsString conversion by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/4054fjcvtzs instruction for ARMv8.3 target by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/4084JsValue's internals and expose it through a JsVariant (with immutable reference) by @hansl in https://github.com/boa-dev/boa/pull/4080PlainDateTime.prototype.since by @nekevss in https://github.com/boa-dev/boa/pull/4096temporal_rs version and related changes by @nekevss in https://github.com/boa-dev/boa/pull/4098boa_tester to support sm changes by @nekevss in https://github.com/boa-dev/boa/pull/4099PropertyDescriptor functions by @raskad in https://github.com/boa-dev/boa/pull/4104cow_to_ascii_uppercase instead by @heygsc in https://github.com/boa-dev/boa/pull/4124[[DefineOwnProperty]] based on the array shape by @raskad in https://github.com/boa-dev/boa/pull/4101SourceText collection & toString() for fns and methods by @Nikita-str in https://github.com/boa-dev/boa/pull/4038setTimeout, setInterval and clearInterval (and the same clearTimeout) implementations by @hansl in https://github.com/boa-dev/boa/pull/4130PlainDateTime.prototype.round implementation from temporal_rs by @nekevss in https://github.com/boa-dev/boa/pull/4164JsValue by @HalidOdat in https://github.com/boa-dev/boa/pull/4178PlainDate.prototype.toZonedDateTime method by @nekevss in https://github.com/boa-dev/boa/pull/4233PlainDateTime::toZonedDateTime & PlainDateTime::toPlainDate implementations by @nekevss in https://github.com/boa-dev/boa/pull/4234contains operation by @HalidOdat in https://github.com/boa-dev/boa/pull/4267CallFrame by @HalidOdat in https://github.com/boa-dev/boa/pull/4269README.md by @HalidOdat in https://github.com/boa-dev/boa/pull/4270Spans to expression nodes by @HalidOdat in https://github.com/boa-dev/boa/pull/4273JsValue::mul to handle zero times a negative integer by @Rafferty97 in https://github.com/boa-dev/boa/pull/4303mimalloc as global allocator on windows by @cijiugechu in https://github.com/boa-dev/boa/pull/4314Binding modifiers to use bitflags by @cijiugechu in https://github.com/boa-dev/boa/pull/4316Gc<T> by @HalidOdat in https://github.com/boa-dev/boa/pull/4291Gc::inner_ptr by @cijiugechu in https://github.com/boa-dev/boa/pull/4317JsStr from 24 to 16 bytes by @HalidOdat in https://github.com/boa-dev/boa/pull/4322JsObject to always be size 8 by @raskad in https://github.com/boa-dev/boa/pull/4287Nullable<T> type that deserialize null to Nullable::<T>::Null by @hansl in https://github.com/boa-dev/boa/pull/4325JsString's static string tagging by @HalidOdat in https://github.com/boa-dev/boa/pull/4334Fetch API (beta) by @hansl in https://github.com/boa-dev/boa/pull/4338Box from Object's data member by @HalidOdat in https://github.com/boa-dev/boa/pull/4342Math.sumPrecise to remove SummationState by @nekevss in https://github.com/boa-dev/boa/pull/4392JumpTable instruction by @HalidOdat in https://github.com/boa-dev/boa/pull/4372JsValueStore as well as structuredClone and tests by @hansl in https://github.com/boa-dev/boa/pull/4366Temporal.PlainTime.from tests by @nekevss in https://github.com/boa-dev/boa/pull/4411Date and RegExp JsValueStore from/to by @hansl in https://github.com/boa-dev/boa/pull/4415GcRefCell by @hansl in https://github.com/boa-dev/boa/pull/4422JsValueStore for SharedArrayBuffer and postMessage by @hansl in https://github.com/boa-dev/boa/pull/4417Math.sumPrecise Performance by @Gumichocopengin8 in https://github.com/boa-dev/boa/pull/4462Full Changelog: https://github.com/boa-dev/boa/compare/v0.20...v0.21
Bump dependencies with breaking changes by @jedel1043 in https://github.com/boa-dev/boa/pull/4050
Instant for new Temporal functionality by @nekevss in https://github.com/boa-dev/boa/pull/3928Atomics.pause by @jedel1043 in https://github.com/boa-dev/boa/pull/3956debugger statement by @shurizzle in https://github.com/boa-dev/boa/pull/3976Logger trait by @hansl in https://github.com/boa-dev/boa/pull/4005TryIntoJs trait and derive macro for it by @Nikita-str in https://github.com/boa-dev/boa/pull/3999TryFromJs from JsMap for HashMap & BtreeMap by @Nikita-str in https://github.com/boa-dev/boa/pull/3998JsString by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/3915Math.pow function according to ECMAScript specification by @magic-akari in https://github.com/boa-dev/boa/pull/3916neg operation by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/3926AsyncGenerator by @jedel1043 in https://github.com/boa-dev/boa/pull/3950js_str macro to correctly handle latin1 strings by @jedel1043 in https://github.com/boa-dev/boa/pull/3959IntegerOrInfinity eq bug fix by @Nikita-str in https://github.com/boa-dev/boa/pull/4010RawJsString's representation to make JsStrings construction from string literal heap-allocation free by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/3935ref value in nightly and add target to nightly release by @nekevss in https://github.com/boa-dev/boa/pull/4042with methods by @nekevss in https://github.com/boa-dev/boa/pull/3955JsValue::to_json fix integer property keys by @Nikita-str in https://github.com/boa-dev/boa/pull/4011Error by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/4020Full Changelog: https://github.com/boa-dev/boa/compare/v0.19...v0.20.0
Implement new spec changes for AsyncGenerator by @jedel1043 in #3950
AsyncGenerator by @jedel1043 in #3950Full Changelog: v0.19...v0.19.1
AsyncGenerator by @jedel1043 in https://github.com/boa-dev/boa/pull/3950Full Changelog: https://github.com/boa-dev/boa/compare/v0.19...v0.19.1
Add release binary striping by @Razican in https://github.com/boa-dev/boa/pull/3727
let as variable names by @raskad in https://github.com/boa-dev/boa/pull/3743async in for-of loops by @raskad in https://github.com/boa-dev/boa/pull/3745ToString call in Function constructor by @HalidOdat in https://github.com/boa-dev/boa/pull/3820with statements by @raskad in https://github.com/boa-dev/boa/pull/3870return inside then by @jedel1043 in https://github.com/boa-dev/boa/pull/3879i32 and f64 by @HalidOdat in https://github.com/boa-dev/boa/pull/3760PropertyKey conversion by @HalidOdat in https://github.com/boa-dev/boa/pull/3769min <= max in clamp_finite by @jedel1043 in https://github.com/boa-dev/boa/pull/3699Context from ByteCompiler by @HalidOdat in https://github.com/boa-dev/boa/pull/3829JsStrings by @HalidOdat in https://github.com/boa-dev/boa/pull/3450js_str with js_string in examples by @getong in https://github.com/boa-dev/boa/pull/3836JsString into its own crate by @HalidOdat in https://github.com/boa-dev/boa/pull/3837FormalParameterList from CodeBlock by @HalidOdat in https://github.com/boa-dev/boa/pull/3882this value by @HalidOdat in https://github.com/boa-dev/boa/pull/3771HasProperty and Get operations when possible by @raskad in https://github.com/boa-dev/boa/pull/3883Temporal.Calendar and Temporal.TimeZone by @jedel1043 in https://github.com/boa-dev/boa/pull/3890get_unchecked method to JsString and JsStr by @CrazyboyQCD in https://github.com/boa-dev/boa/pull/3898Full Changelog: https://github.com/boa-dev/boa/compare/v0.18...v0.19
Format let-else expressions by @jedel1043 in https://github.com/boa-dev/boa/pull/3102
d flag) support by @dirkdev98 in https://github.com/boa-dev/boa/pull/3094Array.prototype[@@unscopables] by @dirkdev98 in https://github.com/boa-dev/boa/pull/3111findLast and findLastIndex on TypedArray by @dirkdev98 in https://github.com/boa-dev/boa/pull/3135String.prototype.isWellFormed and String.prototype.toWellFormed by @raskad in https://github.com/boa-dev/boa/pull/3187README.md by @postmeback in https://github.com/boa-dev/boa/pull/3092Instruction and InstructionIterator by @HalidOdat in https://github.com/boa-dev/boa/pull/3201boa_tester by @jedel1043 in https://github.com/boa-dev/boa/pull/3273rust-version to 1.71 by @jedel1043 in https://github.com/boa-dev/boa/pull/3290test262 repository by @HalidOdat in https://github.com/boa-dev/boa/pull/3214Gc::new_cyclic by @jedel1043 in https://github.com/boa-dev/boa/pull/3292Intl.PluralRules by @jedel1043 in https://github.com/boa-dev/boa/pull/3298RegExp constructor by @HalidOdat in https://github.com/boa-dev/boa/pull/3305[[HostDefined]] field on Realms by @HalidOdat in https://github.com/boa-dev/boa/pull/2952Class map by @jedel1043 in https://github.com/boa-dev/boa/pull/3315Function.prototype.toString() by @HalidOdat in https://github.com/boa-dev/boa/pull/3374[[HostDefined]] for Module and Script by @arexon in https://github.com/boa-dev/boa/pull/3381test262 repository update if not needed by @HalidOdat in https://github.com/boa-dev/boa/pull/3386SharedArrayBuffer by @jedel1043 in https://github.com/boa-dev/boa/pull/3384Context::create_realm by @johnyob in https://github.com/boa-dev/boa/pull/3369JsError by @jedel1043 in https://github.com/boa-dev/boa/pull/3398get/set $boa.limits.stack by @HalidOdat in https://github.com/boa-dev/boa/pull/3385change-array-by-copy methods by @jedel1043 in https://github.com/boa-dev/boa/pull/3412array-grouping proposal by @jedel1043 in https://github.com/boa-dev/boa/pull/3420Atomics builtin by @jedel1043 in https://github.com/boa-dev/boa/pull/3394make_data parameter from this to new_target by @johnyob in https://github.com/boa-dev/boa/pull/3478Class trait by @jedel1043 in https://github.com/boa-dev/boa/pull/3488Icu API by @jedel1043 in https://github.com/boa-dev/boa/pull/3503HostDefined::get_many_mut by @jedel1043 in https://github.com/boa-dev/boa/pull/3606ArrayBuffer data by @HalidOdat in https://github.com/boa-dev/boa/pull/3610JsObjects by @jedel1043 in https://github.com/boa-dev/boa/pull/3618DataView and related objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3626NumberFormat by @jedel1043 in https://github.com/boa-dev/boa/pull/3669ABOUT.md by @jedel1043 in https://github.com/boa-dev/boa/pull/3692v flag by @raskad in https://github.com/boa-dev/boa/pull/3695TypedArray.prototype.values() and TypedArray.prototype[@@iterator] should be equal by @HalidOdat in https://github.com/boa-dev/boa/pull/3096LexicalDeclaration by @raskad in https://github.com/boa-dev/boa/pull/3207break and continue return values by @raskad in https://github.com/boa-dev/boa/pull/3205this in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3307null by @HalidOdat in https://github.com/boa-dev/boa/pull/3312NonMaxU32 as integer variant for PropertyKey by @raskad in https://github.com/boa-dev/boa/pull/3321super() construction with default parameters by @HalidOdat in https://github.com/boa-dev/boa/pull/3339Number.prototype.toFixed() by @HalidOdat in https://github.com/boa-dev/boa/pull/2898eval realm before call by @HalidOdat in https://github.com/boa-dev/boa/pull/3375class in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3383AtomicU64 by @jedel1043 in https://github.com/boa-dev/boa/pull/3399regex.match spec and code by @raskad in https://github.com/boa-dev/boa/pull/3462Context independent CodeBlocks by @HalidOdat in https://github.com/boa-dev/boa/pull/3424Date refactor by @raskad in https://github.com/boa-dev/boa/pull/3595toString method by @raskad in https://github.com/boa-dev/boa/pull/3608RegExp.prototype.source by @raskad in https://github.com/boa-dev/boa/pull/3619.exe suffix for Windows releases by @HalidOdat in https://github.com/boa-dev/boa/pull/3680RefCell of CompileTimeEnvironments to field bindings by @HalidOdat in https://github.com/boa-dev/boa/pull/3108name field type in CodeBlock to JsString by @HalidOdat in https://github.com/boa-dev/boa/pull/3107Array.prototype.find* and TypedArray variants to use FindViaPredicate by @dirkdev98 in https://github.com/boa-dev/boa/pull/3134get_option and calls to the function by @jedel1043 in https://github.com/boa-dev/boa/pull/3355shift for dense arrays by @jedel1043 in https://github.com/boa-dev/boa/pull/3405CodeBlock constant pools by @HalidOdat in https://github.com/boa-dev/boa/pull/3413[[ConstructorKind]] to CodeBlock by @HalidOdat in https://github.com/boa-dev/boa/pull/3439FunctionKind to CodeBlock by @HalidOdat in https://github.com/boa-dev/boa/pull/3440arguments object creation to bytecode by @HalidOdat in https://github.com/boa-dev/boa/pull/3432DefVar opcode emit for global binding by @HalidOdat in https://github.com/boa-dev/boa/pull/3453Intl types to NativeObject API by @jedel1043 in https://github.com/boa-dev/boa/pull/3491WeakGc<T> memory usage by @HalidOdat in https://github.com/boa-dev/boa/pull/3492Temporal to its own crate. by @nekevss in https://github.com/boa-dev/boa/pull/3461PromiseCapability to stack by @HalidOdat in https://github.com/boa-dev/boa/pull/3528temporal_rs crate by @nekevss in https://github.com/boa-dev/boa/pull/3694Context::run() method by @HalidOdat in https://github.com/boa-dev/boa/pull/3179CallFrame by @HalidOdat in https://github.com/boa-dev/boa/pull/3197&str to JsValue/PropertyKey. by @jedel1043 in https://github.com/boa-dev/boa/pull/3319icu_properties default features to true by @nekevss in https://github.com/boa-dev/boa/pull/3326Context by @jedel1043 in https://github.com/boa-dev/boa/pull/3456[[HostDefined]] Improvements by @johnyob in https://github.com/boa-dev/boa/pull/3460Vec<T> for keeping track of gc objects by @HalidOdat in https://github.com/boa-dev/boa/pull/3493Inline Caching by @HalidOdat in https://github.com/boa-dev/boa/pull/2767ISO8601 parsing to boa_temporal by @nekevss in https://github.com/boa-dev/boa/pull/3500boa_temporal structure changes and docs update by @nekevss in https://github.com/boa-dev/boa/pull/3504AnyCalendar and fields by @nekevss in https://github.com/boa-dev/boa/pull/3522boa_temporal Time Zone design by @nekevss in https://github.com/boa-dev/boa/pull/3543DifferenceInstant and related refactor by @nekevss in https://github.com/boa-dev/boa/pull/3568cargo update on fuzz crate by @jedel1043 in https://github.com/boa-dev/boa/pull/3607Instant migration cont. and related changes by @nekevss in https://github.com/boa-dev/boa/pull/3601Date builtin with boa_temporal and fixes by @nekevss in https://github.com/boa-dev/boa/pull/3614Time and its methods by @nekevss in https://github.com/boa-dev/boa/pull/3613DateTime and PlainDateTime functionality by @nekevss in https://github.com/boa-dev/boa/pull/3628PlainTime build out by @nekevss in https://github.com/boa-dev/boa/pull/3621Cargo.lock in fuzzer by @jedel1043 in https://github.com/boa-dev/boa/pull/3636JsObjects by @nekevss in https://github.com/boa-dev/boa/pull/3651boa_cli's README.md by @nekevss in https://github.com/boa-dev/boa/pull/3659HostEnsureCanCompileStrings to the new spec by @jedel1043 in https://github.com/boa-dev/boa/pull/3690boa_icu_provider by @jedel1043 in https://github.com/boa-dev/boa/pull/3682temporal_rs in Cargo.toml by @nekevss in https://github.com/boa-dev/boa/pull/3702In this release, we've fixed our build for compiling Boa without Intl utils.
Nothing published for this version
In this release, we've backported a fix for #3299 in order to fix builds that resolve ICU4X's version to 1.3.0.
Updated dependencies, removes remove_dir_all, which is vulnerable by @Razican in #2685
new.target expression by @raskad in #2299JsDataView by @nekevss in #2308JsRegExp by @nekevss in #2326loadfile example to show how Boa can read bytes by @Razican in #2363LabelledStatement by @jedel1043 in #2349ToIndentedString by @Razican in #2367JsGenerator and wrapper docs clean up by @nekevss in #2380JsDate by @anuvratsingh in #2181WeakRef builtin by @jedel1043 in #2438Date builtin by @jedel1043 in #2449JsArrayBuffer take method and docs by @nekevss in #2454Context APIs by @jedel1043 in #2504Promises for new host hooks and job queue API by @jedel1043 in #2528no_std support for some sub-crates by @jedel1043 in #2544Source to abstract JS code sources by @jedel1043 in #2579Update expression by @raskad in #2565in operation with private names by @raskad in #2582WeakSet by @lupd in #2586WeakMap by @raskad in #2597NativeFunction from a native async function by @jedel1043 in #2542--strict flag to cli by @HalidOdat in #2689JsPromise wrapper by @jedel1043 in #2758escape and unescape by @jedel1043 in #2768Realm shareable between functions by @jedel1043 in #2801trimLeft and trimRight string methods by @HalidOdat in #2806annex-b feature by @jedel1043 in #2817Intl.Segmenter by @jedel1043 in #2840JsNativeError and Realm by @jedel1043 in #2894import.meta by @jedel1043 in #2956with and object environments by @raskad in #2692JsSymbol thread-safe by @jedel1043 in #2539TryFromJs for JsObject wrappers by @Razican in #2809HostHooks and JobQueues to Context by @jedel1043 in #2811String.prototype.toLocaleUpper/LowerCase by @jedel1043 in #2822Hidden classes by @HalidOdat in #2723ModuleLoader by @jedel1043 in #3007JobQueue to concurrently run jobs by @jedel1043 in #3036IntegerIndexed::byte_offset public by @CryZe in #3017JsPromise from Rust code by @jedel1043 in #3011cargo-tarpaulin binary by @jedel1043 in #3071ToNumeric by @raskad in #2310Proxy set implementation by @raskad in #2369continue by @raskad in #2371in to true when parsing AssignmentExpression in ConditionalExpression by @raskad in #2386yield in GeneratorExpression parameters by @raskad in #2413__proto__ fields in object literals by @raskad in #2423PartialEq for JsBigInt and f64 by @raskad in #2461boa_tester by @nekevss in #2470this by @veera-sivarajan in #2507Literal::Undefined by @veera-sivarajan in #2518Break Opcode and ByteCompiler changes by @nekevss in #2523prototype by @raskad in #2552prototype property on methods by @raskad in #2553infinity by @raskad in #2607README.md cli options by @HalidOdat in #2678Number.MIN_VALUE value by @HalidOdat in #2682Map.delete by @raskad in #2726Set tests by @raskad in #2725SpecEdition by @jedel1043 in #2762json-parse-with-source feature to boa_tester by @HalidOdat in #2778Symbol.prototype[@@iterator] by @HalidOdat in #2800String.prototype.replace() order of ToString execution by @HalidOdat in #2799ThrowTypeError intrinsic by @HalidOdat in #2797String.prototype.substr() by @HalidOdat in #2805TypedArrays minus zero key by @HalidOdat in #2808PropertyKey index parse by @HalidOdat in #2843Date.prototype[Symbol.primitive] incorrect attributes by @HalidOdat in #2862Date object to store invalid NativeDateTime by @HalidOdat in #2861LoopContinue instruction in while-do loops by @HalidOdat in #2866var bindings in runtime environments with undefined by @raskad in #2860RegExp constructor return value when pattern is a regexp by @HalidOdat in #2880RegExp constructor should call IsRegExp() by @HalidOdat in #2881for-of expression parsing by @HalidOdat in #2882typeof throw when accessing uninitialized variables by @raskad in #2902Function.prototype[Symbol.hasInstance] by @raskad in #2905default execution by @HalidOdat in #2907let as expression by @HalidOdat in #2916let name in for-in loop in non-strict mode by @HalidOdat in #2915GetSubstitution by @HalidOdat in #2933async as binding name by @jedel1043 in #2936built-ins/RegExp tests by @HalidOdat in #2957Date for dynamic timezones by @jedel1043 in #2877true, false and null in object patterns by @jedel1043 in #2994yield import(..) expressions by @jedel1043 in #3006await in class static blocks by @raskad in #3019ABOUT.md file to all published crates by @jedel1043 in #3074u8 to Opcode by @HalidOdat #2951JsString using UTF-16 by @jedel1043 in #1659Node into Statement, Expression and Declaration by @jedel1043 in #2319Opcode impl using macro by @jedel1043 in #2391contains and friends with visitors by @jedel1043 in #2403JsString conform to miri tests by @jedel1043 in #2412boa_tester by @jedel1043 in #2440boa_ast by @raskad in #2433boa_engine by @raskad in #2455String.fromCodePoint by @jedel1043 in #2659InternalObjectMethods from Object by @jedel1043 in #2790GeneratorState by @jedel1043 in #2837with blocks by @jedel1043 in #2847PromiseCapability on each async function call by @jedel1043 in #2846ContextCleanupGuard abstraction by @jedel1043 in #2890use_self lints by @raskad in #2946num_bindings in Opcodes and CodeBlock by @HalidOdat in #2967arguments_binding field from CodeBlock by @HalidOdat in #2969param_count field from CallFrame by @HalidOdat in #2962boa_ast::Punctuator by @Razican in #2884boa_ast::Keyword by @Razican in #2883ByValue instructions by @HalidOdat in #2827String.prototype.normalize by @jedel1043 in #2848IndexedProperties by @HalidOdat in #2757is_identifier_(start/part) using icu_properties by @jedel1043 in #2865remove_dir_all, which is vulnerable by @Razican in #2685criterion::black_box with std::hint::black_box by @jedel1043 in #2494ThinVecs by @HalidOdat in #2752wasmbind feature of the chrono crate optional by @Razican in #2810CompletionRecords for the Vm by @nekevss in #2618check_parser and Identifier by @jedel1043 in #2576Your coding agent can read these notes before it upgrades. Set up the MCP server →