CHANGELOG 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. v0.8.3
  2. - fix : variant `XXH3_128bits_withSecretandSeed()` could produce an invalid result in some specific set of conditions, #894 by @hltj
  3. - cli : vector extension detected at runtime on x86/x64, enabled by default
  4. - cli : new commands `--filelist` and `--files-from`, by @Ian-Clowes
  5. - cli : XXH3 64-bits GNU format can now be generated and checked (command `-H3`)
  6. - portability: LoongArch SX SIMD extension, by @lrzlin
  7. - portability: can build on AIX, suggested by @likema
  8. - portability: validated for SPARC cpus
  9. v0.8.2
  10. - fix : XXH3 S390x vector implementation (@hzhuang1)
  11. - fix : PowerPC vector compilation with IBM XL compiler (@MaxiBoether)
  12. - perf : improved WASM speed by x2/x3 using SIMD128 (@easyaspi314)
  13. - perf : improved speed (+20%) for XXH3 on ARM NEON (@easyaspi314)
  14. - cli : Fix filename contain /LF character (@t-mat)
  15. - cli : Support # comment lines in --check files (@t-mat)
  16. - cli : Support commands --binary and --ignore-missing (@t-mat)
  17. - build: fix -Og compilation (@easyaspi314, @t-mat)
  18. - build: fix pkgconfig generation with cmake (@ilya-fedin)
  19. - build: fix icc compilation
  20. - build: fix cmake install directories
  21. - build: new build options XXH_NO_XXH3, XXH_SIZE_OPT and XXH_NO_STREAM to reduce binary size (@easyaspi314)
  22. - build: dedicated install targets (@ffontaine)
  23. - build: support DISPATCH mode in cmake (@hzhuang1)
  24. - portability: fix x86dispatch when building with Visual + clang-cl (@t-mat)
  25. - portability: SVE vector implementation of XXH3 (@hzhuang1)
  26. - portability: compatibility with freestanding environments, using XXH_NO_STDLIB
  27. - portability: can build on Haiku (@Begasus)
  28. - portability: validated on m68k and risc-v
  29. - doc : XXH3 specification (@Adrien1018)
  30. - doc : improved doxygen documentation (@easyaspi314, @t-mat)
  31. - misc : dedicated sanity test binary (@t-mat)
  32. v0.8.1
  33. - perf : much improved performance for XXH3 streaming variants, notably on gcc and msvc
  34. - perf : improved XXH64 speed and latency on small inputs
  35. - perf : small XXH32 speed and latency improvement on small inputs of random size
  36. - perf : minor stack usage improvement for XXH32 and XXH64
  37. - api : new experimental variants XXH3_*_withSecretandSeed()
  38. - api : update XXH3_generateSecret(), can no generate secret of any size (>= XXH3_SECRET_SIZE_MIN)
  39. - cli : xxhsum can now generate and check XXH3 checksums, using command `-H3`
  40. - build: can build xxhash without XXH3, with new build macro XXH_NO_XXH3
  41. - build: fix xxh_x86dispatch build with MSVC, by @apankrat
  42. - build: XXH_INLINE_ALL can always be used safely, even after XXH_NAMESPACE or a previous XXH_INLINE_ALL
  43. - build: improved PPC64LE vector support, by @mpe
  44. - install: fix pkgconfig, by @ellert
  45. - install: compatibility with Haiku, by @Begasus
  46. - doc : code comments made compatible with doxygen, by @easyaspi314
  47. - misc : XXH_ACCEPT_NULL_INPUT_POINTER is no longer necessary, all functions can accept NULL input pointers, as long as size == 0
  48. - misc : complete refactor of CI tests on Github Actions, offering much larger coverage, by @t-mat
  49. - misc : xxhsum code base split into multiple specialized units, within directory cli/, by @easyaspi314
  50. v0.8.0
  51. - api : stabilize XXH3
  52. - cli : xxhsum can parse BSD-style --check lines, by @WayneD
  53. - cli : `xxhsum -` accepts console input, requested by @jaki
  54. - cli : xxhsum accepts -- separator, by @jaki
  55. - cli : fix : print correct default algo for symlinked helpers, by @martinetd
  56. - install: improved pkgconfig script, allowing custom install locations, requested by @ellert
  57. v0.7.4
  58. - perf: automatic vector detection and selection at runtime (`xxh_x86dispatch.h`), initiated by @easyaspi314
  59. - perf: added AVX512 support, by @gzm55
  60. - api : new: secret generator `XXH_generateSecret()`, suggested by @koraa
  61. - api : fix: XXH3_state_t is movable, identified by @koraa
  62. - api : fix: state is correctly aligned in AVX mode (unlike `malloc()`), by @easyaspi314
  63. - api : fix: streaming generated wrong values in some combination of random ingestion lengths, reported by @WayneD
  64. - cli : fix unicode print on Windows, by @easyaspi314
  65. - cli : can `-c` check file generated by sfv
  66. - build: `make DISPATCH=1` generates `xxhsum` and `libxxhash` with runtime vector detection (x86/x64 only)
  67. - install: cygwin installation support
  68. - doc : Cryptol specification of XXH32 and XXH64, by @weaversa
  69. v0.7.3
  70. - perf: improved speed for large inputs (~+20%)
  71. - perf: improved latency for small inputs (~10%)
  72. - perf: s390x Vectorial code, by @easyaspi314
  73. - cli: improved support for Unicode filenames on Windows, thanks to @easyaspi314 and @t-mat
  74. - api: `xxhash.h` can now be included in any order, with and without `XXH_STATIC_LINKING_ONLY` and `XXH_INLINE_ALL`
  75. - build: xxHash's implementation transferred into `xxhash.h`. No more need to have `xxhash.c` in the `/include` directory for `XXH_INLINE_ALL` to work
  76. - install: created pkg-config file, by @bket
  77. - install: VCpkg installation instructions, by @LilyWangL
  78. - doc: Highly improved code documentation, by @easyaspi314
  79. - misc: New test tool in `/tests/collisions`: brute force collision tester for 64-bit hashes
  80. v0.7.2
  81. - Fixed collision ratio of `XXH128` for some specific input lengths, reported by @svpv
  82. - Improved `VSX` and `NEON` variants, by @easyaspi314
  83. - Improved performance of scalar code path (`XXH_VECTOR=0`), by @easyaspi314
  84. - `xxhsum`: can generate 128-bit hashes with the `-H2` option (note: for experimental purposes only! `XXH128` is not yet frozen)
  85. - `xxhsum`: option `-q` removes status notifications
  86. v0.7.1
  87. - Secret first: the algorithm computation can be altered by providing a "secret", which is any blob of bytes, of size >= `XXH3_SECRET_SIZE_MIN`.
  88. - `seed` is still available, and acts as a secret generator
  89. - updated `ARM NEON` variant by @easyaspi314
  90. - Streaming implementation is available
  91. - Improve compatibility and performance with Visual Studio, with help from @aras-p
  92. - Better integration when using `XXH_INLINE_ALL`: do not pollute host namespace, use its own macros, such as `XXH_ASSERT()`, `XXH_ALIGN`, etc.
  93. - 128-bit variant provides helper functions for comparison of hashes.
  94. - Better `clang` generation of `rotl` instruction, thanks to @easyaspi314
  95. - `XXH_REROLL` build macro to reduce binary size, by @easyaspi314
  96. - Improved `cmake` script, by @Mezozoysky
  97. - Full benchmark program provided in `/tests/bench`