Releases: sebastienros/esprima-dotnet
Releases · sebastienros/esprima-dotnet
v3.0.0-beta-10
What's Changed
- Remove Data member from PropertyKind and make it non-Flags by @lahma in #349
 - Update GitHub Actions checkout to v3 by @lahma in #352
 - Update test suite and add excluded features by @lahma in #355
 - Support accessor keyword in class properties by @jogibear9988 in #353
 - Fix minor issues related to class auto accessors by @adams85 in #360
 - Class and import related parsing fixes by @jogibear9988 in #356
 - Implement top-level await in modules feature by @adams85 in #361
 - Additional improvements to class parsing by @adams85 in #362
 - Fix super access related problems by @lahma in #363
 - Support ES2015/Unicode15.0 identifiers by @lahma in #366
 - Add more class parsing validation by @lahma in #367
 - Fix AST to JavaScript bug in the parenthesizing logic of ForStatement by @adams85 in #369
 
Full Changelog: v3.0.0-beta-9...v3.0.0-beta-10
v3.0.0-beta-9
What's Changed
- Fix AOT-related issues by reverting to per-instance cached delegates in JavaScriptParser by @adams85 in #346
 - Revise usage of string operations which are culture-sensitive by default by @Xicy in #347
 - Allow end users to directly instantiate Scanner using a ParserOptions instance by @adams85 in #348
 
Full Changelog: v3.0.0-beta-8...v3.0.0-beta-9
v3.0.0-beta-8
v3.0.0-beta-7
What's Changed
- Allow end users to observe JSX token's value by @adams85 in #331
 - A few additional minor corrections by @adams85 in #333
 - Update and enhance sample project by @adams85 in #334
 - Allow attaching user-defined data to nodes without dictionary lookup by @adams85 in #338
 
Full Changelog: v3.0.0-beta-6...v3.0.0.0-beta-7
v3.0.0-beta-6
This release contains (hopefully) the final parser API and some performance improvements.
What's Changed
- Clean up string matcher output in cases where no single-character discriminator exists by @adams85 in #325
 - Revision of parser public API by @adams85 in #327
 - Minor code quality/consistency improvements by @adams85 in #329
 - Improve Token layout and reduce stack frame size for hot paths by @lahma in #328
 
Full Changelog: v3.0.0-beta-5...v3.0.0-beta-6
v3.0.0-beta-5
This was a release focusing on reducing allocations and improving performance. Below you can see difference to earlier beta.
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22621
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
  MediumRun : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT
Job=MediumRun  IterationCount=15  LaunchCount=2  
WarmupCount=10  
| Method | NuGetReferences | FileName | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated | 
|---|---|---|---|---|---|---|---|---|---|---|
| ParseProgram | Esprima 3.0.0-beta-4 | angular-1.2.5 | 11.346 ms | 0.1194 ms | 0.1750 ms | 11.416 ms | 890.6250 | 390.6250 | - | 14,694 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | angular-1.2.5 | 9.905 ms | 0.0482 ms | 0.0707 ms | 9.927 ms | 250.0000 | 109.3750 | - | 4,320 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | backbone-1.1.0 | 1.302 ms | 0.0119 ms | 0.0175 ms | 1.305 ms | 142.5781 | 70.3125 | - | 2,336 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | backbone-1.1.0 | 1.345 ms | 0.0118 ms | 0.0166 ms | 1.343 ms | 41.0156 | 15.6250 | - | 679 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | jquery-1.9.1 | 8.765 ms | 0.0731 ms | 0.1095 ms | 8.764 ms | 781.2500 | 359.3750 | - | 12,845 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | jquery-1.9.1 | 7.716 ms | 0.0410 ms | 0.0613 ms | 7.715 ms | 226.5625 | 78.1250 | - | 3,769 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | jquery.mobile-1.4.2 | 15.584 ms | 0.1786 ms | 0.2618 ms | 15.428 ms | 1218.7500 | 593.7500 | 62.5000 | 20,092 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | jquery.mobile-1.4.2 | 11.843 ms | 0.0340 ms | 0.0509 ms | 11.846 ms | 343.7500 | 171.8750 | - | 5,803 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | mootools-1.4.5 | 6.716 ms | 0.0100 ms | 0.0141 ms | 6.715 ms | 640.6250 | 304.6875 | - | 10,564 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | mootools-1.4.5 | 6.277 ms | 0.0070 ms | 0.0104 ms | 6.278 ms | 187.5000 | 85.9375 | - | 3,094 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | underscore-1.5.2 | 1.070 ms | 0.0056 ms | 0.0083 ms | 1.071 ms | 123.0469 | 46.8750 | - | 2,033 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | underscore-1.5.2 | 1.134 ms | 0.0098 ms | 0.0144 ms | 1.127 ms | 33.2031 | 15.6250 | - | 573 KB | 
| ParseProgram | Esprima 3.0.0-beta-4 | yui-3.12.0 | 6.116 ms | 0.0329 ms | 0.0492 ms | 6.121 ms | 585.9375 | 257.8125 | - | 9,665 KB | 
| ParseProgram | Esprima 3.0.0-beta-5 | yui-3.12.0 | 5.697 ms | 0.0111 ms | 0.0163 ms | 5.693 ms | 171.8750 | 85.9375 | - | 2,860 KB | 
What's Changed
- Create explicit Token constructors, Token and Marker as struct by @lahma in #236
 - Change FileParsingBenchmark to use parsing defaults by @lahma in #308
 - Remove invalid hash addition to private identifier name by @lahma in #309
 - Refinements around tokens and comments by @adams85 in #310
 - Minor improvements to AST by @adams85 in #311
 - Improve ToString() formatting in Range and Location by @adams85 in #312
 - Reduce memory allocations in JavaScriptParser by @lahma in #313
 - Support ROS input and returning matched string in StringMatcher by @lahma in #315
 - Clean up generation logic and output of StringMatcher by @adams85 in #317
 - Further parser optimizations by @adams85 in #318
 - Fix bracketing of optional chaining expressions in AstToJavascriptConverter by @adams85 in #320
 - Improve StringMatcher generated code performance by @lahma in #319
 - Implement string pooling in scanner/parser by @adams85 in #314
 - Implement Parse/TryParse in Range, Position and Location by @adams85 in #323
 - Use separate StringMatcher for TryGetInternedString by @lahma in #324
 
Full Changelog: v3.0.0-beta-4...v3.0.0-beta-5
v3.0.0-beta-4
What's Changed
- Finalize AST for v3.0 (part 2) by @adams85 in #295
 - Add AsSpan and AsMemory to NodeList by @adams85 in #296
 - Code style/formatting improvements by @adams85 in #297
 - Add .git-blame-ignore-revs by @adams85 in #298
 - Fixes a few bugs in parser (#292) by @adams85 in #299
 - Revise API for attaching additional data to nodes by @adams85 in #301
 - JavaScriptParser collects comments if options.Comments is true. by @rohan-warang in #178
 - Clean up comment parsing and implement comment writing by @adams85 in #302
 - Fix a few minor issues around visitors by @adams85 in #304
 - Implement AST to Javascript for JSX by @adams85 in #305
 - Make letter casing of "JavaScript" consistent in code by @adams85 in #306
 - Small cleanup and latest Test262Harness by @lahma in #307
 
New Contributors
- @rohan-warang made their first contribution in #178
 
Full Changelog: v3.0.0-beta-3...v3.0.0-beta-4
v3.0.0-beta-3
What's Changed
- Run test262 diff on PR, update GitHubActionsTestLogger by @lahma in #276
 - Provide a way for inheritors to dispatch visitation of their custom nodes to AstVisitor.VisitExtension by @adams85 in #278
 - Add a general purpose field for associating additional data/context with Node by @adams85 in #283
 - Add public methods for converting operators back to tokens by @adams85 in #285
 - Move max assignment depth into the parser options by @CharlieEriksen in #287
 - Revise Node.ChildNodes by @adams85 in #284
 - Fix enumeration/visitiation of reused node instances by @adams85 in #289
 - Rewrite ChildNodesEnumerationHelpersGenerator into incremental generator to improve performance by @adams85 in #290
 - Create StringMatcherGenerator by @lahma in #293
 - Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /test/Esprima.Tests by @dependabot in #280
 - Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /samples/Esprima.Sample by @dependabot in #281
 - Use StringMatcherGenerator in JavascriptParser by @lahma in #294
 - Convert to js by @jogibear9988 in #291
 
New Contributors
- @CharlieEriksen made their first contribution in #287
 - @dependabot made their first contribution in #280
 
Full Changelog: v3.0.0-beta-2...v3.0.0-beta-3
v3.0.0-beta-2
What's Changed
- Add hashbang support by @lahma in #246
 - Use GitHubActionsTestLogger by @lahma in #247
 - Update GitHubActionsTestLogger to latest preview by @lahma in #249
 - Fix DescendantNodes to cope with null nodes by @lahma in #250
 - JsxElement ChildNodes nullability and Ancestor node nullability fix by @Xicy in #251
 - Astvisitor updated for changing ast by @Xicy in #243
 - fixed TemplateLiteral ChildNodes order by @Xicy in #252
 - Revision of the API for visiting and changing AST by @adams85 in #253
 - Treat warnings as errors in test project by @lahma in #256
 - Import Assertions implementation by @Xicy in #254
 - Decorators support by @Xicy in #259
 - Fix escaped unicode characters in get set property by @Xicy in #260
 - Refactor JSX parsing into an isolated extension on top of standard JS parsing by @adams85 in #258
 - Minor build-related improvements by @adams85 in #261
 - Test262 build process improvement by @adams85 in #262
 - Update AstJson by @adams85 in #257
 - Minor corrections to AST by @adams85 in #263
 - Fix bug in UpdateWith methods by @adams85 in #269
 - Improve test compatibility by @adams85 in #268
 - Change fields to properties in AST public API by @adams85 in #270
 - Fix Node.ChildNodes inconsistencies by @adams85 in #271
 - Fix incorrect range and location of dynamic import expressions by @adams85 in #272
 - Finalize AST API for v3.0 by @adams85 in #273
 - Sort VisitXXX methods alphabetically by @adams85 in #274
 
Full Changelog: v3.0.0-beta-1...v3.0.0-beta-2
3.0.0 beta 1
What's Changed
- Upgrade to official NUnit + use net462 by @lahma in #231
 - Fix some class private identifier parsing issues by @lahma in #233
 - Replace hasProto token with ref bool by @lahma in #234
 - Fix some numeric parsing related issues by @lahma in #232
 - Update staging.yml by @lahma in #235
 - ImportDeclarationSpecifier AST correction by @adams85 in #238
 - AstVisitor corrections by @adams85 in #239
 - Use preview-GITHUB_RUN_NUMBER for MyGet feed version by @lahma in #237
 - Change TryStatement's Block and Finalizer to concrete BlockStatement by @lahma in #241
 - Implemented JSX Parser by @Xicy in #240
 - Seal classes, enable implicit usings and fix compilation warnings by @lahma in #244
 - Allow supplying match timeout to regex by @lahma in #242
 - Fix import.meta support by @lahma in #245
 
New Contributors
Full Changelog: v2.1.3...v3.0.0-beta-1