--- a/Cargo.toml
+++ b/Cargo.toml
@@ -261,7 +261,7 @@
 optional = true
 
 [dependencies.hashbrown]
-version = ">= 0.9, < 0.15"
+version = ">= 0.15.0, < 0.16"
 optional = true
 
 [dependencies.indexmap]
--- a/src/conversions/hashbrown.rs
+++ b/src/conversions/hashbrown.rs
@@ -112,11 +112,13 @@
 #[cfg(test)]
 mod tests {
     use super::*;
+    use std::collections::hash_map::RandomState;
 
     #[test]
     fn test_hashbrown_hashmap_to_python() {
         Python::with_gil(|py| {
-            let mut map = hashbrown::HashMap::<i32, i32>::new();
+            let mut map =
+                hashbrown::HashMap::<i32, i32, RandomState>::with_hasher(RandomState::new());
             map.insert(1, 1);
 
             let m = map.to_object(py);
@@ -160,7 +162,8 @@
     #[test]
     fn test_hashbrown_hashmap_into_dict() {
         Python::with_gil(|py| {
-            let mut map = hashbrown::HashMap::<i32, i32>::new();
+            let mut map =
+                hashbrown::HashMap::<i32, i32, RandomState>::with_hasher(RandomState::new());
             map.insert(1, 1);
 
             let py_map = map.into_py_dict_bound(py);
@@ -182,11 +185,11 @@
     fn test_extract_hashbrown_hashset() {
         Python::with_gil(|py| {
             let set = PySet::new_bound(py, &[1, 2, 3, 4, 5]).unwrap();
-            let hash_set: hashbrown::HashSet<usize> = set.extract().unwrap();
+            let hash_set: hashbrown::HashSet<usize, RandomState> = set.extract().unwrap();
             assert_eq!(hash_set, [1, 2, 3, 4, 5].iter().copied().collect());
 
             let set = PyFrozenSet::new_bound(py, &[1, 2, 3, 4, 5]).unwrap();
-            let hash_set: hashbrown::HashSet<usize> = set.extract().unwrap();
+            let hash_set: hashbrown::HashSet<usize, RandomState> = set.extract().unwrap();
             assert_eq!(hash_set, [1, 2, 3, 4, 5].iter().copied().collect());
         });
     }
@@ -194,7 +197,8 @@
     #[test]
     fn test_hashbrown_hashset_into_py() {
         Python::with_gil(|py| {
-            let hs: hashbrown::HashSet<u64> = [1, 2, 3, 4, 5].iter().cloned().collect();
+            let hs: hashbrown::HashSet<u64, RandomState> =
+                [1, 2, 3, 4, 5].iter().cloned().collect();
 
             let hso: PyObject = hs.clone().into_py(py);
 
