Range filters are compact probabilistic data structures that answer approximate range‑emptiness queries. They are widely used in key‑value stores to quickly rule out the existence of keys in a given range, thus avoiding costly storage scans. Existing range filters, however, suffer from three major drawbacks: (1) they lack explicit false‑positive‑rate or performance guarantees; (2) they do not support variable‑length keys and query intervals; (3) they cannot be updated dynamically.\ \ We introduce Diva, the first range filter that simultaneously addresses all three issues. Diva learns the data distribution by sampling keys and storing the samples in a cache‑efficient trie. For keys between samples, Diva removes their longest common prefix (LCP) and truncates their suffixes, keeping only a middle segment—an infix—sufficient to distinguish the keys in sorted order.\ \ Infixes are placed in constant‑time dynamic data blocks that split on insertions or expansions. A range query is answered by traversing the trie and checking whether the target interval contains the relevant infixes. We mathematically prove that, for many common real‑world distributions, Diva achieves the optimal trade‑off between memory usage and false‑positive rate.\ \ To broaden these benefits to a wider set of workloads, we extend Diva to Diva++. Diva++ removes redundancy among infixes using order‑preserving entropy encoding, eliminates any remaining duplicate infixes, and repurposes the freed space to store additional bits of the original keys inside compact binary tries. Benchmarks on real datasets show that Diva and Diva++ attain false‑positive rates comparable to the state‑of‑the‑art while supporting dynamic updates and variable‑length queries and keys.\ \ Blogger's Review: Diva++ cleverly merges cache‑friendly trie structures with entropy‑based compression, delivering low false‑positive rates without sacrificing dynamism or variable‑length support—an approach that merits serious consideration for production systems.