From 9b8b609207274d9563851c3ed7fa81accdee3a5d Mon Sep 17 00:00:00 2001 From: Justin Viiret Date: Fri, 9 Jun 2017 09:47:03 +1000 Subject: [PATCH] changelog: updates for 4.5 release --- CHANGELOG.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e4330b..9ebe1ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,49 @@ This is a list of notable changes to Hyperscan, in reverse chronological order. +## [4.5.0] 2017-06-09 +- New API feature: approximate matching using the "edit distance" extended + parameter. This allows the user to request all matches that are a given edit + distance from an exact match for a pattern. +- Initial support for Intel(R) Advanced Vector Extensions 512 (Intel(R) + AVX-512), disabled by default. To enable it, pass `-DBUILD_AVX512=1` to + `cmake`. +- Major compile time improvements in many subsystems, reducing compile time + significantly for many large pattern sets. +- Internal reworking of literal matchers to operate on literals of at + most eight characters, with subsequent confirmation done in the Rose + interpreter. This reduces complexity and bytecode size and improves + performance for many pattern sets. +- Improve performance of the FDR literal matcher front end. +- Improve bucket assignment and other heuristics governing the FDR literal + matcher. +- Improve optimisation passes that take advantage of extended parameter + constraints (`min_offset`, etc). +- Introduce further lookaround specialisations to improve scanning performance. +- Optimise Rose interpreter construction to reduce the length of programs + generated in some situations. +- Remove the old "Rose" pattern decomposition analysis pass in favour of the + new "Violet" pass introduced in Hyperscan 4.3.0. +- In streaming mode, allow exhaustion (where the stream can no longer produce + matchers) to be detected in more situations, improving scanning performance. +- Improve parsing of control verbs (such as `(*UTF8)`) that can only occur at + the beginning of the pattern. Combinations of supported verbs in any order + are now permitted. +- Update version of PCRE used by testing tools as a syntax and semantic + reference to PCRE 8.40. +- Tuning support for Intel(R) microarchitecture code names Skylake, Skylake + Server, Goldmont. +- CMake: when building a native build with a version of GCC that doesn't + recognise the host compiler, tune for the microarch selected by + `-march=native`. +- CMake: don't fail if SQLite (which is only required to build the `hsbench` + tool) is not present. +- CMake: detect libc++ directly and use that to inform the Boost version + requirement. +- Bugfix for issue #51: make the fat runtime build wrapper less fragile. +- Bugfix for issues #46, #52: use `sqlite3_errmsg()` to allow SQLite 3.6.x to + be used. Thanks to @EaseTheWorld for the PR. + ## [4.4.1] 2017-02-28 - Bugfixes to fix issues where stale data was being referenced in scratch memory. In particular this may have resulted in `hs_close_stream()`