Valkey Bloom 1.0.0 release notes
Valkey Bloom 1.0.0 GA - Released Tue 01 April 2025
This is the first release of valkey-bloom 1.0 that brings bloom filters as a new data type to Valkey and provides both scalable and non-scalable bloom filter variants. It is API compatible with the bloom filter command syntax used across popular Valkey client libraries (as well as the equivalent Redis libraries).
valkey-bloom 1.0 can be built to be compatible with Valkey 8.0 and 8.1 versions.
Valkey Bloom 1.0.0 RC1 - Released Fri 21 Mar 2025
This is the first release candidate of valkey-bloom 1.0 that brings bloom filters as a new data type to Valkey and provides both scalable and non-scalable bloom filter variants. It is API compatible with the bloom filter command syntax used across popular Valkey client libraries.
API and Interface changes
- Add the bloom filter module data type (
bloomfltr
) which can handle RDB load, RDB save, free, copy, debug, defragmentation, AOF rewrite, and memory usage - Add the following bloom filter module commands: BF.ADD, BF.MADD, BF.EXISTS, BF.MEXISTS, BF.CARD, BF.INFO, BF.RESERVE, BF.INSERT, and BF.LOAD
- Add deterministic replication support where a bloom object creation on a primary is replicated with the same properties to create the same bloom filter on a replica
- Create a new bloom filter specific ACL category (
@bloom
) and add this to all bloom filter module commands - Add two key space events: (1) item addition and (2) bloom filter creation
- Add non-scaling and scaling support for bloom filters
- Support configuring random seed / fixed seed mode on the newly created bloom objects
- Add memory-usage limit per bloom object controlled through the bf.bloom-memory-usage-limit config
- Support for BF.INSERT to allow specifying a custom seed for bloom object creation
- Support for BF.INSERT to allow specifying a tightening ratio for bloom object creation
- Add an INFO handler to add bloom filter module metrics around usage and module data type defragmentation
- Add optional VALIDATESCALETO arg to BF.INSERT to allow users to validate if their bloom filter can reach the desired size through scale-outs
- Support ERROR, TIGHTENING, and MAXSCALEDCAPACITY options in the BF.INFO command
- Add a 8.0 feature flag (valkey_8_0) which can be used to build the module to be compatible with Valkey 8.0 servers
New configurations
- Add support for the following configurations: bf.bloom-capacity, bf.bloom-expansion, bf.bloom-memory-usage-limit, bf.bloom-fp-rate, bf.bloom-tightening-ratio, bf.bloom-use-random-seed, and bf.bloom-defrag-enabled
We appreciate the efforts of all who contributed code to this release!
Karthik Subbarao (KarthikSubbarao), Cameron Zack (zackcam), Vanessa Tang (YueTang-Vanessa), Nihal Mehta (nnmehta), wuranxx (wuranxx)