Skip to content

Releases: NetWin/maple

0.5.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 19:06

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

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:32

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

  • playground: add a contact summary script to measure-run (ae94d6d)
  • playground: rename measure-memory to measure-run and add timing (54e170e)

0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 20:17

0.3.0 (2026-10-19)

🚀 Features

  • maple: add Object.seal and Object.isSealed (05ac326)
  • maple: support call, apply and bind (d6236ff)

🩹 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

Choose a tag to compare

@github-actions github-actions released this 19 Oct 08:40

0.2.1 (2026-10-19)

🩹 Bug Fixes

  • run: let scripts reassign data and run global bindings with freeze: false (42aefbe)

0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 08:11

0.2.0 (2026-10-19)

🚀 Features

  • run: let the host opt out of freezing data and run globals (687c42f)

0.1.3

Choose a tag to compare

@github-actions github-actions released this 19 Oct 07:39

0.1.3 (2026-10-19)

🩹 Bug Fixes

  • boundary: drop functions in host function arguments instead of throwing (1585178)

0.1.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 06:48

0.1.2 (2026-10-19)

🛠️ Code Refactoring

  • release: ship the docs with the package and add npm keywords (5d4fda0)

🔄️ Continuous Integration

  • leave the publishing plugins out of the changelog preview (5c2b8dd)
  • require a scope in commit messages (2f0c909)

0.1.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 20:19

0.1.1 (2026-10-18)

📖 Documentation

🏗 Dependency Updates

  • deps: update dependencies (3b869a4)

📦 Build System

  • maple: bundle for a neutral platform (e9d0695)

🔄️ Continuous Integration

  • install npm globally for OIDC to work correctly (85b87ec)
  • remove NPM_TOKEN as deployment runs with OIDC now (91475bb)

0.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 19:41

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...
Read more