Skip to content

Releases: VectorCamp/vectorscan

vectorscan/5.4.12

22 Jul 15:13
b585ad4

Choose a tag to compare

What's Changed

Multiple changes since last release, this will be the last 100% ABI and API compatible with Hyperscan release. Next versions will include major refactors and API extensions, it will be mostly backwards compatible however. Without particular order, platform support is now:

Linux (x86, Arm, Power)
FreeBSD 14 (x86, Arm, Power)
MacOS 14+ (x86, Arm)

In total more than 200 configurations in the CI are tested for every PR.

Other features:

Fat Runtime supported for Arm as well (ASIMD/SVE/SVE2).
Initial implementations for Arm SVE/SVE2 algorithms added, thanks to Yoan Picchi from Arm.
SIMDe support added, used as an alternative backend for existing platforms, but mostly interesting for allowing Vectorscan to build in new platforms without a supported SIMD engine.
Various speedups and optimizations.
Cppcheck and clang-tidy fixes throughout the code, both have been added to CI for multiple configurations, but only cppcheck triggers a build failure for now.

Various bugfixes, most important listed:

Speed up truffle with 256b TBL instructions (#290)
Fix Clang Tidy warnings (#295)
Clang 17+ is more restrictive on rebind on MacOS/Boost, remove warning (#332)
partial_load_u64 will fail if buf == NULL/c_len == 0 (#331)
Bugfix/fix avx512vbmi regressions (#335)
fix missing hs_version.h header (closes #198)
hs_valid_platform: Fix check for SSE4.2 (#310)
Fixed out of bounds read in AVX512VBMI version of fdr_exec_fat_teddy … (#333)
Fix noodle SVE2 off by one bug (#313)
Make vectorscan accept \0 starting pattern (#312)
Fix 5.4.11's config step regression (#327)
Fix double shufti's vector end false positive (#325)

New Contributors

Full Changelog: vectorscan/5.4.11...vectorscan/5.4.12

vectorscan/5.4.11

21 Nov 13:11
d29730e

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: vectorscan/5.4.10.1...vectorscan/5.4.11

vectorscan/5.4.10.1

08 Sep 11:03
4918f81

Choose a tag to compare

What's Changed

Full Changelog: vectorscan/5.4.10...vectorscan/5.4.10.1

vectorscan/5.4.10

07 Sep 17:14

Choose a tag to compare

What's Changed

  • Fix compilation with libcxx 16 by @rschu1ze in #144
  • Fix use-of-uninitialized-value due to getData128() by @azat in #148
  • Use std::vector instead of boost::container::small_vector under MSan by @azat in #149
  • Feature/enable fat runtime arm by @markos in #165
  • adding ifndef around HS_PUBLIC_API definition so that vectorscan can be statically linked into another shared library without exporting symbols by @jeffplaisance in #164
  • Feature/backport hyperscan 2023 q3 by @markos in #169
  • Prepare for 5.4.10 by @markos in #167

New Contributors

Full Changelog: vectorscan/5.4.9...vectorscan/5.4.10

vectorscan/5.4.9

23 Mar 15:16
b4bba94

Choose a tag to compare

What's Changed

  • Major change: Enable SVE & SVE2 builds and make it a supported architecture! (thanks to @abondarev84)
  • Fix various clang-related bugs
  • Fix Aarch64 bug in Parser.rl because of char signedness. Make unsigned char the default in the Parser for all architectures.
  • Fix Power bug, multiple tests were failing.
  • C++20 related change, use prefixed assume_aligned to avoid conflict with C++20 std::assume_aligned.

related PRs:
#125
#129
#131
#136
#141
#142
#143

Full Changelog: vectorscan/5.4.8...vectorscan/5.4.9

vectorscan/5.4.8

13 Sep 13:03

Choose a tag to compare

New Vectorscan release, 5-10% faster than 5.4.7 on Arm, 10-20% faster on Power.

What's Changed

  • CMake: Use non-deprecated method for finding python by @jth in #108
  • Optimize vectorscan for aarch64 by using shrn instruction by @danlark1 in #113
  • Fixed the PCRE download location by @pareenaverma in #116
  • Bugfix/hyperscan backport 202208 by @markos in #118
  • VSX optimizations by @markos in #119
  • when compiling with mingw64, use __mingw_aligned_malloc() and __mingw_aligned_free() by @liquidaty in #121
  • [NEON] simplify/optimize shift/align primitives by @markos in #123
  • Merge develop to master by @markos in #124

New Contributors

Full Changelog: vectorscan/5.4.7...vectorscan/5.4.8

vectorscan/5.4.7

05 May 09:26
fc5059a

Choose a tag to compare

What's Changed

  • Fix word boundary assertions under C++20 by @BigRedEye in #90
  • Fix all ASAN issues in vectorscan by @danlark1 in #93
  • change FAT_RUNTIME to a normal option so it can be set to off by @a16bitsysop in #94
  • Optimized and correct version of movemask128 for ARM by @danlark1 in #102

Vectorscan 5.4.6

21 Jan 11:50
e6f8564

Choose a tag to compare

New release 5.4.6

Changelog:

  • Major refactoring of many engines to use internal SuperVector C++ templates library. Code size reduced to 1/3rd with no loss of performance in most cases.
  • Microbenchmarking tool added for performance finetuning
  • Arm Advanced SIMD/NEON fully ported. Initial work on SVE2 for a couple of engines.
  • Power9 VSX ppc64le fully ported. Initial port needs some optimization.
  • Clang compiler support added.
  • Apple M1 support added.
  • CI added, the following configurations are tested on every PR:
    gcc-debug, gcc-release, clang-debug, clang-release:
    Linux Intel: SSE4.2, AVX2, AVX512, FAT
    Linux Arm
    Linux Power9
    clang-debug, clang-release:
    MacOS Apple M1