Releases: VectorCamp/vectorscan
vectorscan/5.4.12
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
- @ypicchi-arm made their first contribution in #217
- @ProBrian made their first contribution in #229
- @bradlarsen made their first contribution in #233
- @jlinton made their first contribution in #231
- @gtsoul-tech made their first contribution in #237
- @isildur-g made their first contribution in #232
- @mtremer made their first contribution in #310
- @HelixHexagon made their first contribution in #315
- @dowgird made their first contribution in #333
- @ValadisLiakopoulos made their first contribution in #338
- @ibrkas01arm made their first contribution in #339
Full Changelog: vectorscan/5.4.11...vectorscan/5.4.12
vectorscan/5.4.11
What's Changed
- Fix clang 15,16 compilation errors on all platforms, refactor CMake build system by @markos in #181
- Fix version getting out of sync #175 by @markos in #185
- Ubuntu 20.04 gcc does not define HWCAP2_SVE2 #180 by @markos in #186
- make pkgconfig a requirement by @markos in #188
- Correct set_source_files_properties usage by @mlmitch in #189
- Move VERM16 enums to the end of the list by @markos in #191
- Merge with master by @markos in #192
- prepare for 5.4.11 release by @markos in #196
- release 5.4.11 by @markos in #197
- Fix missing hs_version.h header (closes #198) by @gliwka in #199
- fix missing installation of static libs by @markos in #200
- Fix installation problems by @markos in #201
New Contributors
Full Changelog: vectorscan/5.4.10.1...vectorscan/5.4.11
vectorscan/5.4.10.1
What's Changed
Full Changelog: vectorscan/5.4.10...vectorscan/5.4.10.1
vectorscan/5.4.10
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
- @rschu1ze made their first contribution in #144
- @azat made their first contribution in #148
- @jeffplaisance made their first contribution in #164
Full Changelog: vectorscan/5.4.9...vectorscan/5.4.10
vectorscan/5.4.9
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
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
- @jth made their first contribution in #108
- @pareenaverma made their first contribution in #116
- @liquidaty made their first contribution in #121
Full Changelog: vectorscan/5.4.7...vectorscan/5.4.8
vectorscan/5.4.7
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
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