All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.



  • Added BitCount to get approximate count of elements in the set. (@xyb)

  • Added BloomFilter.approx_len() and BloomFilter.bit_count() properties.


  • Calling len(bloomfilter) now reports approximate element count if any set union or intersection was performed.

0.5.3 (2020-08-22)


  • Fixed a long standing issue where Bloom filter length would not get reset after calling clear_all()

  • Added C99 compatibility for MurmurHash3.c as pybloomfilter would fail on some systems such as Alpine


  • Release tooling (uploads tagged releases to pypi).

0.5.2 (2020-01-13)


  • Python setup will now always try to use and build from Cython, if the module is available in the current environment. To force cythonize, use “–cython”. If the module is not available and no “–cython” was used, the setup will look for a bundled Cython source.

0.5.1 (2019-12-31)


  • Add BloomFilter.bit_array() property for bit vector representation

  • Add BloomFilter.filename() property and issue a PendingDeprecationWarning when using

  • Do memset after initializing BloomFilter instance to set alignment bytes to 0 prior to populating the filter (see notes in #24)

  • Remove mode parameter from BloomFilter.from_base64() method introduced in 0.5.0 as part of a refactoring (see notes in #23)

  • Add explicit flag to build using Cython when building or installing a package; setup looks for a bundled Cython source by default (included in the PyPI distribution package)

0.5.0 (2019-11-25)


  • Add support for read-only Bloom filter files

  • Add customization of hash seeds for hashing algorithms

  • Drop Python < 3.5 support

0.4.19 (2019-10-11)


0.4.18 (2019-10-08)


  • Fix missing Cython dependency in

0.4.17 (2019-08-25)


  • PyPi wants long_description and its type

0.4.16 (2019-08-25)


0.4.15 (2019-04-09)


  • Remove Python 2 support, add Python 3 support

Previous Versions

See Python 2 pybloomfiltermmap CHANGELOG.