Repository navigation
Releases: NetWin/maple
Releases · NetWin/maple
Release list
0.5.0
0.5.0 (2026-10-22)
🚀 Features
- boundary: leave run input unfrozen by default (6167b4e)
- evaluator: support tagged templates (e755435)
- string: add String.raw (0e3933b)
🩹 Bug Fixes
- evaluator: give nested runs their own template strings arrays (132aff8)
🔧 Miscellaneous Chores
- add pull request template (092bcd8)
0.4.0
0.4.0 (2026-10-21)
🚀 Features
- builtins: pass thisArg to array, Map and Set callbacks (80e5ccb)
- evaluator: support this in script functions (f90237d)
- input: accept data only as a plain object (88dfd69)
- json: give a JSON replacer its holder as this (d1c1e20)
- json: give a JSON reviver its holder as this (7ed2e5f)
- parse: cache syntax trees per instance when enabled (e53f816)
🩹 Bug Fixes
- playground: reject an array context before either engine runs (f037c65)
⚡ Performance Improvements
- boundary: assign new own properties directly in defineOwn (6728bff)
- input: convert data keys on first read (ce33aa2)
📖 Documentation
- contributing: update conventional commit instructions (8cc9c43)
🔧 Miscellaneous Chores
0.3.0
0.3.0 (2026-10-19)
🚀 Features
🩹 Bug Fixes
- maple: accept any function as an entry in Object.fromEntries (e3bec2d)
- maple: call the host's array methods past a script's own property (958bb99)
- maple: make converting a cyclic error a catchable RangeError (8b45f9d)
- maple: refuse deleting a frozen property of a function or error (d67a864)
📖 Documentation
- describe the increment branch flow (ba3c461)
🔄️ Continuous Integration
- merge each release back into increment (918c227)
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
0.1.0 (2026-10-18)
🚀 Features
- maple: add Object.preventExtensions and Object.isExtensible (eadeac5)
- maple: add the Maple interpreter (94eda74)
- maple: answer "in" for the methods of a value's type (b42e35f)
- maple: carry the indices of a match made with the d flag (d50ea30)
- maple: convert Maple's own values to primitives through their class (97be6fe)
- maple: ignore debugger statements and add escape and unescape (b61d9be)
- maple: let scripts add properties to built-ins for the length of a run (13a968b)
- maple: let scripts add properties to errors, functions and wrappers (09e5fe8)
- maple: run what js-interpreter runs (13eb8ed)
- maple: support the cause option of the Error constructors (09c230f)
- maple: take a method's receiver from the call (c1e71ac)
🩹 Bug Fixes
- maple: add valueOf to numbers and strings (ede9d90)
- maple: cap the nesting of values copied from the host (d5eb307)
- maple: close the iterator when an iterator helper fails (02240a7)
- maple: close the iterator when take or drop rejects its count (9c2742a)
- maple: convert the limit of split without a separator with ToUint32 (f8d23b1)
- maple: copy uncaught errors to the host without cycles and bounded in size (590b19e)
- maple: count nested errors' text against an uncaught error's budget (d262f21)
- maple: drop constructor keys when a value leaves the sandbox (c0cfaae)
- maple: give errors thrown inside a conversion a position and a stack (507f55b)
- maple: give nested runs their own state for built-ins (8f6229e)
- maple: give objects without a prototype no Object.prototype behaviour (e6d0d76)
- maple: hide host exception messages from scripts unless marked with exposed (5bc3109)
- maple: keep an error's name and message as assigned and convert them as JavaScript does (2ee7621)
- maple: keep holes as holes in sort and reverse (42833bf)
- maple: keep lastIndex on a frozen RegExp (e851e9f)
- maple: make Intl TypeErrors in Array.prototype.toLocaleString catchable (9d43f5d)
- maple: name a value in an error message without converting it (7bcfb24)
- maple: name only the root in errors about deeply nested host values (16b71da)
- maple: read a host exception's name and message defensively (fb7a1bd)
- maple: read each element when the array callback methods reach it (ac97e1f)
- maple: refuse a RegExp in startsWith, endsWith and includes (0549dd8)
- maple: reject a non-numeric RegExp lastIndex at the boundary (3fff312)
- maple: report values nested too deep for the boundary as script errors (9ce371f)
- maple: return the element the predicate saw from find and findLast (405770d)
- maple: revoke the sandbox handle once the intrinsic has returned (8496236)
- maple: run only source text that Maple parses itself (c06f57e)
- maple: skip a key that for...in deletes before visiting it (64c6f8e)
- maple: start setYear on an invalid Date from local midnight (d7675b8)
- playground: read js-interpreter's result on the host so the context cannot shadow it (2f70094)
📖 Documentation
- ai: make JavaScript the reference instead of js-interpreter (8158b0c)
- cleanup maple documentation (557272e)
- drop any mentions of outdated folder structure in AGENTS.md and spec.md (8803738)
- maple: define secure as isolation, not resource limits (011bcc4)
- maple: say JavaScript instead of "the language" (8f1cabf)
- maple: update README (bba28e2)
- parity: group the divergences by whether Maple follows the language (0791c28)
- rewrite readmes and add AGENTS.md (6786c4a)
- update READMEs (9a6762c)
🔧 Miscellaneous Chores
- playground: add run limits, stats and inline errors (1686325)
- playground: compare Maple with js-interpreter (7703a3c)
- playground: return the greeting in the default code (b492ee3)
🛠️ Code Refactoring
- maple: give each built-in type a prototype that holds its methods (a54d14e)
- maple: give every own property of Maple's values JavaScript's attributes (493b18d)
- maple: give Maple's own values a base class that holds their properties (1f37ca1)
- maple: restructure array builtin for better readability and discoverability (c241806)
- maple: restructure boolean builtin for better readability and discoverability (ee4fd87)
- maple: restructure date builtin for better readability and discoverability (ea68b50)
- maple: restructure error builtin for better readability and discoverability (355cc99)
- maple: restructure function builtin for better readability and discoverability (a058d53)
- maple: restructure iterator builtin for better readability and discoverability (b76b0a2)
- maple: restructure json builtin for better readability and discoverability ([4027aa0](https://github...