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