Revision history for Perl extension JavaScript::QuickJS:
0.21 Sec 14 Feb 2024
- Documentation updates. (No functional changes.)
0.20 Tue 13 Feb 2024
- BREAKING CHANGE: eval_module() now returns a Promise (as QuickJS itself
now does) instead of the JavaScript::QuickJS instance.
- Fix integer-overflow bug in setTime() (et al.) when Perl stores the number
as NV rather than IV/UV.
- Properly free QuickJS resources upon failure to convert Perl parameters
to JavaScript.
- Add Promise support.
0.19 Fri 1 Dec 2023
- BREAKING CHANGE: Enabling std() or os() now creates globals by those names.
This matches the “qjs” binary’s behavior.
- Update to latest quickjs (03cc5ec).
0.18 Wed 29 Nov 2023
- Fix segfault when importing "os".
0.17 Thu 12 Jan 2023
- Add Windows support.
- Fix a leftover debugging artifact.
0.16 Sun 8 Jan 2023
- Update easyxs to fix Solaris strnlen problem seen in CPAN Testers.
- Small fix to docs.
0.15 Thu 8 Sep 2022
- Add Date compatibility.
- QuickJS memory-management parameters are now configurable.
- BigInt et al. on 64-bit no longer requires a compiler that implements
int128. (e.g., CloudLinux 6 can now have BigInt)
- QuickJS runtime info is now set to the module name. (Debugging aid.)
- Docs improvement for memory-leak notifications. (Thank you, perlancar!)
- Docs now demonstrate use of `std` module, and a test is added.
0.14 Sun 4 Sep 2022
- Fix parallel build errors. (Thank you, CPAN Testers!)
0.13 Thu 25 Aug 2022
- Detect missing gmake up-front at build time.
- Detect at build time when linking to libatomic is necessary, and only
link in that case.
- Allow direct enable/disable of linking to libatomic.
0.12 Mon 6 Jan 2022
- Add await() so Perl can wait until JS’s pending jobs finish.
- Make eval_module() return the JS object so chaining is easier.
- Explicitly document interfaces that return the JS object.
0.11 Sun 15 May 2022
- BREAKING CHANGE: JavaScript Functions converted to Perl now become
instances of a new class, JavaScript::QuickJS::Function. That class
is overloaded to act as a coderef, so MOST calling code should still
work, but anything that expects a CODE reference will now instead find
a blessed object.
- BUG FIX: Fix leaked scalars returned from Perl callbacks.
- Tweak discussion of memory-leak detection.
- Add missing regexp test.
0.10 Thu 12 May 2022
- Fix missing RegExp module.
0.09 Thu 12 May 2022
- Add RegExp compatibility.
0.08 Tue 26 Apr 2022
- BUG FIX: Avoid segfault when passing a function from JS to Perl.
- BUG FIX: Avoid segfault if an invalid SV is given to a Perl/JS coderef.
- BUG FIX: Free args to JS function references when call()ed.
- Set strict mode to always-on.
- Teach Perl->JSON conversion to recognize Types::Serialiser booleans.
- Warn if funcref is destroyed at global destruction.
- Document the present memory-handling weirdness. :(
0.07 Mon 25 Apr 2022
- Add ability to customize base path for ES6 module imports.
0.06 Fri 22 Apr 2022
- Fix compatibility with old Linuxes (e.g., CentOS 7 and CloudLinux 6).
0.05 Thu 7 Apr 2022
- Fix helpers() method.
- Fix memory leak when std/os/helpers failed.
- Fix bad assert check.
0.04 Mon 4 Apr 2022
- No production changes.
- Fix typo’d test from 0.03.
0.03 Mon 4 Apr 2022
- Fix number conversion in 32-bit, non-64-bit-int perls.
- Fix conversion of Perl “magic” variables to JavaScript.
- Add more tests against number conversion.
- Refine Perl->JS typing logic to agree with 5.36 serialization.
- Patch QuickJS to support FreeBSD, OpenBSD, and Cygwin.
0.02 Mon 28 Mar 2022
- Documentation fixes
0.01 Mon 28 Mar 2022
- Initial release