xxHash Changelog

What's new in xxHash 0.8.2

Jul 21, 2023
  • Fix an assert comparison the same values (flagged by PVS Studio in 0.8.1) by @kcgen in #628
  • Add GitHub Actions badge for release branch by @t-mat in #633
  • Add windows-2022 to ci.yml by @t-mat in #634
  • Add macOS matrix to ci.yml by @t-mat in #635
  • Fix compilation on RHEL 7 ppc64le (gcc 4.8) by @ellert in #631
  • Add clang-cl for MSVC 2019 to ci.yml by @t-mat in #637
  • [NEON] Split XXH3 into 6 NEON lanes and 2 scalar lanes on aarch64 by @easyaspi314 in #632
  • Fix some ARM/clang-cl feature detection issues by @easyaspi314 in #623
  • Add QEMU/gcc matrix to ci.yml by @t-mat in #640
  • fix #625 by @Cyan4973 in #638
  • fix #627 by @Cyan4973 in #639
  • added m68k emulation tests to GA by @Cyan4973 in #643
  • Document some nerdy ARM stuff, move scalarRound down. by @easyaspi314 in #642
  • fix minor static analyzer warning by @Cyan4973 in #644
  • fix man page installation by @Cyan4973 in #648
  • fix cmake --install by @Cyan4973 in #649
  • Use attribute((aligned)) instead of packed by @Hello71 in #650
  • [ARM/AArch64] Fix multiple GCC codegen problems by @easyaspi314 in #651
  • removed XXH3 declarations when XXH_NO_XXH3 is defined by @Cyan4973 in #653
  • new build macro XXH_NO_STDLIB by @Cyan4973 in #654
  • improved nostdlib test by @Cyan4973 in #656
  • added attribute((const)) by @Cyan4973 in #657
  • added attribute((malloc)) by @Cyan4973 in #658
  • added attribute((pure)) by @Cyan4973 in #659
  • Documentation update by @easyaspi314 in #661
  • Makefile: add dedicated install targets by @ffontaine in #665
  • XXH_HAS_C_ATTRIBUTE(x)?! by @easyaspi314 in #662
  • do no longer depend on <assert.h> for XXH_STATIC_ASSERT by @Cyan4973 in #670
  • Properly fix altivec namespace collisions by @easyaspi314 in #672
  • Introduce XXH_SIZE_OPT and XXH_NO_STREAM by @easyaspi314 in #667
  • Remove duplicated definition of XXH3_128bits by @mterron in #676
  • Removed windows-2016 from ci.yml by @t-mat in #690
  • tipi.build instructions by @pysco68 in #688
  • Fix issue #695 by @t-mat in #698
  • Build fix for Haiku by @Begasus in #696
  • Use inline assembler for Power/IBM XL Compiler by @MaxiBoether in #708
  • test filename-escape by @Cyan4973 in #710
  • avoid add_compile_definitions for cmake < v3.12 by @Cyan4973 in #711
  • just more cmake v2.8.12 tests by @Cyan4973 in #721
  • CPack Added in #719
  • Remove stream loads and slightly improve avx512 seed generation by @goldsteinn in #726
  • Fix: brace expansion by @t-mat in #729
  • Fix issue #724 by @t-mat in #730
  • Remove macOS-10.15 from ci.yml by @t-mat in #736
  • blind fix for fallthrough on icc by @Cyan4973 in #718
  • Optimize XXH3_accumulate_512_neon by @dougallj in #734
  • Fix typos found by codespell by @DimitriPapadopoulos in #739
  • ci: fix tipi build error on github CI workflow by @hzhuang1 in #749
  • Update GitHub Actions by @DimitriPapadopoulos in #742
  • xxhash: support SVE by intrinsic code by @hzhuang1 in #752
  • fix issues reported by cppcheck by @hzhuang1 in #746
  • CI: fix missing space by @hzhuang1 in #758
  • Fixing tipi-build / Build as dependency CI step by @pysco68 in #760
  • Customize full accumulating loop for SVE by @hzhuang1 in #756
  • added macos-12 test to GH CI by @Cyan4973 in #765
  • Small improvement to x86 vectorized hashes and medium-sizes hash. by @goldsteinn in #754
  • dispatch: Use attribute((constructor)) on XXH_setDispatch by @goldsteinn in #773
  • Fix typo found by codespell by @DimitriPapadopoulos in #777
  • http:// → https:// by @DimitriPapadopoulos in #778
  • Add attribute((noescape)) on pointers in public API by @goldsteinn in #782
  • Annotate xxh_x86dispatch with XXH_NOESCAPE by @goldsteinn in #786
  • [NEON] Refactor NEON code by @easyaspi314 in #787
  • Makefile: add install_libxxhash.includes target by @ffontaine in #776
  • s390x: add memory barrier to avoid fault issue by @hzhuang1 in #785
  • Define XXH_RESTRICT for some C++ compilers (gcc/clang/msvc/icc) by @goldsteinn in #788
  • Fix spelling. by @dwsteele in #797
  • cmake: support dispatch mode by @hzhuang1 in #790
  • Fix XXH_UNREACHABLE feature test for C++23 and remove for C23 #791 by @goldsteinn in #792
  • Rewrite XXH3_update by @easyaspi314 in #805
  • fix: GH-Actions - remove ubuntu-18.04 by @t-mat in #817
  • Fix: add gcc -Og check and fix its false positive warnings by @t-mat in #814
  • Fix off-by-one in XXH3_consumeStripes() (Fixes #816) by @easyaspi314 in #818
  • added read-all permission status to Github Actions Workflow by @Cyan4973 in #807
  • XXH_ASSUME macro using __builtin_assume if supported (clang only fo… by @devnexen in #803
  • Fix GCC 12 -Og by @easyaspi314 in #804
  • Add gcc-12 to ci.yml

New in xxHash 0.8.1 (Mar 16, 2023)

  • perf : much improved performance for XXH3 streaming variants, notably on gcc and msvc
  • perf : improved XXH64 speed and latency on small inputs
  • perf : small XXH32 speed and latency improvement on small inputs of random size
  • perf : minor stack usage improvement for XXH32 and XXH64
  • api : new experimental variants XXH3_*_withSecretandSeed()
  • api : updated XXH3_generateSecret(), can now generate secret of any size (>= XXH3_SECRET_SIZE_MIN)
  • cli : xxhsum can now generate and check XXH3 checksums, using command -H3
  • build: can build xxhash without XXH3, with new build macro XXH_NO_XXH3
  • build: fix xxh_x86dispatch build with MSVC, by @apankrat
  • build: XXH_INLINE_ALL can always be used safely, even after XXH_NAMESPACE or a previous XXH_INLINE_ALL
  • build: improved PPC64LE vector support, by @mpe
  • install: fix pkgconfig, by @ellert
  • install: compatibility with Haiku, by @Begasus
  • doc : code comments made compatible with doxygen, by @easyaspi314
  • misc : XXH_ACCEPT_NULL_INPUT_POINTER is no longer necessary, all functions can accept NULL input pointers, as long as size == 0
  • misc : complete refactor of CI tests on Github Actions, offering much larger coverage, by @t-mat
  • misc : xxhsum code base split into multiple specialized units, within directory cli/, by @easyaspi314