Skip to content

Releases: sebastienros/jint

v3.0.0-beta-2045

14 Jan 09:50
4839fd1
Compare
Choose a tag to compare

What's Changed

  • Fix some problems revealed by test262 suite by @lahma in #1371
  • Add Loaded event to DefaultModuleLoader by @Jither in #1373
  • Module-related debugger improvements by @Jither in #1374
  • Add support for constructors with default parameters by @cschwarz in #1383
  • Debugger API improvements by @Jither in #1382
  • Improve property selection for setting value under interop by @lahma in #1389
  • Update GitHub Actions checkout to v3 by @lahma in #1390
  • Fix switch's case block lexical scope handling by @lahma in #1392
  • Improve parseFloat performance and number range by @lahma in #1396
  • Fix nullable annotation of Engine.Invoke arguments by @mus65 in #1403
  • Improved support for defining custom JsString deriving type by @lahma in #1404
  • Upgrade to Esprima 3.0.0-beta-10 by @lahma in #1405

New Contributors

Full Changelog: v3.0.0-beta-2044...v3.0.0-beta-2045

v3.0.0-beta-2044

25 Nov 18:43
43766cd
Compare
Choose a tag to compare

This is one of those releases that tries some limits with regards to hiding things. You might find some feature is now internal and hidden, but it's open for discussion to open it back to public. It's an iteration trying to find minimal set for public consumption to allow some development wiggle room.

If you were using ArrayInstance, DateInstance or ObjectInstance as your native type access for plain objects and arrays, you should now use JsArray, JsDate and JsObject respectively.

If you were using Undefined.Instance or Null.Instance, you should now refer them via central JsValue.Undefined and JsValue.Null.

What's Changed

  • Unify and cleanup API by @lahma in #1355
  • Optimize plain object access by @lahma in #1356
  • Allow configuring TypeReference target instance creator by @lahma in #1357
  • Small performance optimization to string handling by @lahma in #1358
  • Fix nested object member destructuring by @lahma in #1359
  • Fix JsArray(PropertyDescriptor[]) to initialize prototype by @lahma in #1360
  • Add ArrayInstance underlying array conversion when needed by @lahma in #1361
  • Cleanup and expose shadow realm API by @lahma in #1362
  • Optimize iterators a bit by @lahma in #1363
  • Update to latest test262 suite and implement Symbols as WeakMap keys by @lahma in #1365
  • Implement change Array by copy by @lahma in #1366
  • Fix some switch/case logic issues by @lahma in #1367

Full Changelog: v3.0.0-beta-2043...v3.0.0-beta-2044

v3.0.0-beta-2043

09 Nov 17:36
410806d
Compare
Choose a tag to compare

This release concentrates on fixing things surfaced by having a compat-table fork providing us nice visual for Jint kindly developed by @KurtGokhan .

There's also initial support for async/await, there might be dragons.

What's Changed

  • Fix some Object static methods returning wrong value by @KurtGokhan in #1318
  • Fix toPrimitive evaluating multiple times during "in" expression by @KurtGokhan in #1319
  • Fix error stack handling when last syntax node is not present by @lahma in #1322
  • Implement async/await by @lahma in #1323
  • Fix TaggedTemplate issues by @lahma in #1324
  • Fix array issues by @lahma in #1325
  • Make object wrapper cache hold ObjectInstance type by @libaowei in #1326
  • Implement FinalizationRegistry by @lahma in #1328
  • Cache wrapped object returned by WrapObjectHandler by @Genteure in #1327
  • Fix some prototype chain issues uncovered by compat-table by @lahma in #1334
  • Fix ToPropertyDescriptor Proxy issues by @lahma in #1335
  • Fix default date constructor to clip decimal part by @lahma in #1340
  • Allow deleting dictionary entries via interop by @lahma in #1341
  • Add decimal support under type conversion by @lahma in #1342
  • Fix some class handling issues by @lahma in #1346
  • Fix some array issues uncovered by compat-table tests by @lahma in #1347
  • Fix ArrayPatternProtocol indexing for function parameters by @lahma in #1348
  • Fix some remaining function parameter destructuring issues by @lahma in #1349
  • PublicInterface test for CancellationConstraint.Reset by @EnCey in #1350
  • Add easier APIs for interop usage by @lahma in #1351
  • Improve array interop API by @lahma in #1352
  • Fix some proxy issues by @lahma in #1353

New Contributors

Full Changelog: v3.0.0-beta-2042...v3.0.0-beta-2043

v3.0.0-beta-2042

15 Oct 17:51
cb73d18
Compare
Choose a tag to compare

This release had aim to add some missing EcmaScript features and top of that some performance improvements to native array handling.

What's Changed

New Contributors

Full Changelog: v3.0.0-beta-2041...v3.0.0-beta-2042

v3.0.0-beta-2041

11 Sep 15:19
c99869c
Compare
Choose a tag to compare

This was a performance-oriented sprint, especially improving recursive call performance/limits and with these changes also execution speed was somewhat improved.

BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.457)
AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
.NET SDK=6.0.400
  [Host]     : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
  Job-UBAEQR : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
  Job-ZIAYSB : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2

Method Job NuGetReferences FileName Mean Error StdDev Median Gen0 Gen1 Gen2 Allocated
Run Job-UBAEQR Jint 3.0.0-beta-2040 dromaeo-3d-cube 28.906 ms 0.0383 ms 0.0320 ms 28.913 ms 437.5000 156.2500 - 7514.51 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 dromaeo-3d-cube 25.401 ms 0.0171 ms 0.0160 ms 25.395 ms 437.5000 31.2500 - 7165.03 KB
Run Job-UBAEQR Jint 3.0.0-beta-2040 dromaeo-core-eval 8.635 ms 0.0177 ms 0.0157 ms 8.637 ms 15.6250 - - 324.28 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 dromaeo-core-eval 5.992 ms 0.0180 ms 0.0159 ms 5.990 ms 15.6250 - - 320.72 KB
Run Job-UBAEQR Jint 3.0.0-beta-2040 dromaeo-object-array 123.631 ms 0.4371 ms 0.4089 ms 123.593 ms 6500.0000 1000.0000 250.0000 106178.11 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 dromaeo-object-array 78.176 ms 0.9794 ms 0.9161 ms 77.686 ms 6571.4286 1142.8571 285.7143 106135.51 KB
Run Job-UBAEQR Jint 3.0.0-beta-2040 droma(...)egexp [21] 324.274 ms 4.1804 ms 3.7058 ms 324.941 ms 13000.0000 8000.0000 4000.0000 257107.36 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 droma(...)egexp [21] 308.247 ms 2.6686 ms 2.4962 ms 308.574 ms 12000.0000 8000.0000 4000.0000 234249.26 KB
Run Job-UBAEQR Jint 3.0.0-beta-2040 droma(...)tring [21] 459.941 ms 31.5089 ms 92.9048 ms 501.092 ms 45000.0000 36000.0000 35000.0000 1350898.06 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 droma(...)tring [21] 428.282 ms 33.2879 ms 98.1500 ms 449.073 ms 46000.0000 38000.0000 37000.0000 1331694.12 KB
Run Job-UBAEQR Jint 3.0.0-beta-2040 droma(...)ase64 [21] 78.890 ms 0.1867 ms 0.1655 ms 78.885 ms 428.5714 142.8571 - 7954.56 KB
Run Job-ZIAYSB Jint 3.0.0-beta-2041 droma(...)ase64 [21] 66.628 ms 0.1255 ms 0.0980 ms 66.606 ms 375.0000 125.0000 - 7790.57 KB

What's Changed

New Contributors

Full Changelog: v3.0.0-beta-2040...v3.0.0-beta-2041

v3.0.0-beta-2040

26 Aug 14:00
2196309
Compare
Choose a tag to compare

This version brings the (hopefully) API complete version of Esprima v3 (still in beta), which has had some breaking changes and performance improvements. Check Esprima changelog for details.

What's Changed

New Contributors

Full Changelog: v3.0.0-beta-2039...v3.0.0-beta-2040

v3.0.0-beta-2039

20 Jul 17:13
ceec412
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.0.0-beta-2038...v3.0.0-beta-2039

v3.0.0-beta-2038

21 Apr 04:56
de1d2de
Compare
Choose a tag to compare

What's Changed

  • Fix NullReferenceException in RegExp.prototype.source by @lahma in #1022
  • Let exceptions bubble from ReflectionAccessor by @lahma in #1023
  • Anonymous lambda should have empty function name by @lahma in #1024
  • Run SunSpiderTests("controlflow-recursive.js") only in release mode by @lahma in #1025
  • Array.sort should obey execution constraints by @lahma in #1026
  • ES2020 BigInt by @lahma in #1027
  • Module loading support by @pluethi1 in #990
  • added int vs float diff for function overloads by @CreepGin in #1036
  • Fix JSON-serialization issues (function-valued properties) by @resnickj in #1037
  • Fix some unicode tests by @sebastienros in #1033
  • Fix JsonParser error behavior by @resnickj in #1038
  • Fix issues uncovered by latest test262 suite by @lahma in #1040
  • Fix script-level strict mode handling by @lahma in #1043
  • Bound function should not inherit from FunctionInstance by @lahma in #1044
  • Fix issues related to JSON, Math, RegExp and Proxy by @lahma in #1045
  • Allowing to use nullable propagation on callables again. Fixed #1041 by @ayende in #1042
  • Add Engine.Construct method by @lahma in #1047
  • Allow JS class to extend CLR type by @lahma in #1049
  • Update ECMAScript feature status, include ES2021 by @lahma in #1052
  • Fix more issues related to built-in objects by @lahma in #1053
  • Fix issues when running on ARM architecture by @lahma in #1061
  • Various Interop fixes by @KurtGokhan in #1063
  • Implement array find from last by @lahma in #1070
  • Fix some error related issues by @lahma in #1071
  • Fix iterator prototype and Reflect/Proxy issues by @lahma in #1072
  • Fix BigInt loose equality by @lahma in #1073
  • Improve function interop by @KurtGokhan in #1074
  • Date.parse should default to local time by @shlomo-ildar in #1083
  • Fix integer addition/subtraction overflow by @conicgames in #1091
  • Fix reference checks after delete by @lahma in #1095
  • Support ECMAScript modules (export/import statements, modules definition) by @christianrondeau in #1054
  • Explicit/implicit cast operator search should check parameter type by @lahma in #1098
  • Always allow operator overloaded conversion by @lahma in #1099
  • Allow JavaScriptException to be subclassed by @source-transformer in #1093
  • Fix class declaration hoisting and typeof double-evaluation by @lahma in #1104
  • Add .editorconfig by @lahma in #1105
  • Module support fixes and improvements by @christianrondeau in #1102
  • Add support for generic methods under interop by @source-transformer in #1103
  • Generic Methods: better generic method support. by @source-transformer in #1106
  • Debugger improvements 4b by @Jither in #1113
  • Use Test262Harness to run tests by @lahma in #1039
  • Delete Jint.Tests.Ecma by @lahma in #1116
  • Delete obsolete Jint.Tests.Test262 files by @lahma in #1117
  • Change Jint.Tests.CommonScripts run with NUnit by @lahma in #1118
  • Date related fixes and improvements by @lahma in #1107
  • Add default iterator prototype for IteratorInstance by @lahma in #1126
  • Improve dictionary based CLR interop by @lahma in #1127
  • Allow adding symbol properties to CLR objects by @lahma in #1131
  • Update build.yml by @lahma in #1132

New Contributors

Full Changelog: v3.0.0-beta-2037...v3.0.0-beta-2038

v3.0.0-beta-2037

01 Dec 18:54
b5c6801
Compare
Choose a tag to compare

What's Changed

  • Remove IIterator interface by @lahma in #1000
  • Generic string-keyed dictionary indexing under interop by @lahma in #1002
  • Fix JSON.stringify for Lists by @lahma in #1006
  • Upgrade infrastructure to .NET 6 by @lahma in #1007
  • Improve stringify for JObject by @lahma in #1009
  • Add IConvertible handling for DateTime and empty/dbnull by @lahma in #1010
  • Improve operator overloading logic by @lahma in #1011
  • Upgrade Esprima to version 2.0.4 by @lahma in #1015

Full Changelog: v3.0.0-beta-2036...v3.0.0-beta-2037

v3.0.0-beta-2036

05 Nov 14:52
c110428
Compare
Choose a tag to compare
  • Fix iteration in interop (#967)
  • Add typed array helpers for IsArray and AsArray (#971)
  • Allow controlling exposed names for interop members (#974)
  • Fix handling of member expression as object property key (#975)
  • Configurable value coercion under interop (#973)
  • Update generator and module/export/import related tests (#978)
  • Always set ObjectInstance prototype by default (#982)
  • Introduce EvaluationContext for statement and expression evaluation (#979)
  • Implement relative indexing proposal [at() method] (#985)
  • Reset constraints between Engine.Invoke calls (#986)
  • Fix double evaluation of typeof operator (#987)
  • Check ExceptionHandler if type conversion fails (#988)
  • Implement Error cause and other Error specs (#992)
  • Prevent GetType and System.Reflection namespace under interop by default (#994)
  • Fix ExpandoObject serialization (#996)