]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
changelog: updates for 4.4 release
authorJustin Viiret <justin.viiret@intel.com>
Mon, 9 Jan 2017 23:31:09 +0000 (10:31 +1100)
committerMatthew Barr <matthew.barr@intel.com>
Fri, 20 Jan 2017 03:15:53 +0000 (14:15 +1100)
CHANGELOG.md

index 729e58efc234ea0d057e48f2b8e397cebc80d72f..03eba64d88db97d04917fff3fa2585c76005d61f 100644 (file)
@@ -2,8 +2,40 @@
 
 This is a list of notable changes to Hyperscan, in reverse chronological order.
 
-## [4.3.2] 2016-11-15
+## [4.4.0] 2017-01-20
+- Introduce the "fat runtime" build. This will build several variants of the
+  Hyperscan scanning engine specialised for different processor feature sets,
+  and use the appropriate one for the host at runtime. This uses the "ifunc"
+  indirect function attribute provided by GCC and is currently available on
+  Linux only, where it is the default for release builds.
+- New API function: add the `hs_valid_platform()` function. This function tests
+  whether the host provides the SSSE3 instruction set required by Hyperscan.
+- Introduce a new standard benchmarking tool, "hsbench". This provides an easy
+  way to measure Hyperscan's performance for a particular set of patterns and
+  corpus of data to be scanned.
+- Introduce a 64-bit GPR LimEx NFA model, which uses 64-bit GPRs on 64-bit
+  hosts and SSE registers on 32-bit hosts.
+- Introduce a new DFA model ("McSheng") which is a hybrid of the existing
+  McClellan and Sheng models. This improves scanning performance for some
+  cases.
+- Introduce lookaround specialisations to improve scanning performance.
+- Improve the handling of long literals by moving confirmation to the Rose
+  interpreter and simplifying the hash table used to track them in streaming
+  mode.
+- Improve compile time optimisation for removing redundant paths from
+  expression graphs.
+- Build: improve support for building with MSVC toolchain.
+- Reduce the size of small write DFAs used for small scans in block mode.
+- Introduce a custom graph type (`ue2_graph`) used in place of the Boost Graph
+  Library's `adjacency_list` type. Improves compile time performance and type
+  safety.
+- Improve scanning performance of the McClellan DFA.
+- Bugfix for a very unusual SOM case where the incorrect start offset was
+  reported for a match.
+- Bugfix for issue #37, removing execute permissions from some source files.
+- Bugfix for issue #41, handle Windows line endings in pattern files.
 
+## [4.3.2] 2016-11-15
 - Bugfix for issue #39. This small change is a workaround for an issue in
   Boost 1.62. The fix has been submitted to Boost for inclusion in a future
   release.
@@ -11,7 +43,7 @@ This is a list of notable changes to Hyperscan, in reverse chronological order.
 ## [4.3.1] 2016-08-29
 - Bugfix for issue #30. In recent versions of Clang, a write to a variable was
   being elided, resulting in corrupted stream state after calling
-  hs_reset_stream().
+  `hs_reset_stream()`.
 
 ## [4.3.0] 2016-08-24
 - Introduce a new analysis pass ("Violet") used for decomposition of patterns