Releases: PerimeterX/restringer
v1.8.0 Performance Overhaul
What's Changed
- v1.8.0 Performance Overhaul by @BenBaryoPX in #81
Major refactor around loop optimizations and VM resource sharing.
Remove redundant iterations over the AST array. No more candidates (except for where it makes sense) - instead the logic is executed on the first iteration over the AST array.
Replace builtin iterations methods like [].filter and [].forEach with a for loop with an index iterator to remove the function creation overhead.
Replace !![].filter().length tests with [].some. The same for [].find => [].some if the value is used as a boolean.
Replace for-of loops with for loops with an index iterator to remove the array size calculation overhead.
Replace generateFlatAST with parseCode where there's no need for node enrichment.
Reorder test in if clauses to make the 'cheaper' tests first, reducing the cost of failing the tests early.
Add a flushing mechanism to the cache object. Can be used in expesive modules where a lot of costly cache is used.
Extract VM creation from evalInVm and allow modules to save, re-use, and share execution context. This removes the overhead of creating a VM on each execution, while also allows to finally run context code 1 time and use it for localized executions that require that context.
Full Changelog: v1.7.3...v1.8.0
v1.7.3
v1.7.3 Flast performance update (#80) * Update flast and obfuscation detector * Adjust test results since the module still needs to be adjusted to the flAST fixes * 1.7.3
v1.7.2 Faster flAST (1.4.0)
v1.7.1
v1.7.0
What's Changed
- Improve wrapped functions handling by @BenBaryoPX in #73
Full Changelog: v1.6.6...v1.7.0
v1.6.6
v1.6.5
What's Changed
- Fix edge cases by @BenBaryoPX in #68
- Avoid anti debugging trap by @BenBaryoPX in #69
Full Changelog: v1.6.3...v1.6.5
v1.6.3
What's Changed
- Refactor context collection and eval by @ctrl-escp in #67
Full Changelog: v1.6.2...v1.6.3
v1.6.2
What's Changed
- Improve augmented array coverage by @ctrl-escp in #65
Full Changelog: v1.6.1...v1.6.2
v1.6.1
What's Changed
- Refactor get declaration with context by @ctrl-escp in #63
Full Changelog: v1.6.0...v1.6.1