diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,12 @@
 
 ## Unreleased
 
+## 0.3.0.0
+
+### Changed
+
+- The project now depends on (and supports) OpenCascade `7.8.0` or later
+
 ## 0.2.2.1
 
 ### Fixed
diff --git a/src/Waterfall/Fillet.hs b/src/Waterfall/Fillet.hs
--- a/src/Waterfall/Fillet.hs
+++ b/src/Waterfall/Fillet.hs
@@ -10,7 +10,7 @@
 import qualified OpenCascade.BRepBuilderAPI.MakeShape as MakeShape
 import qualified OpenCascade.TopExp.Explorer as Explorer 
 import qualified OpenCascade.TopAbs.ShapeEnum as ShapeEnum
-import qualified OpenCascade.TopoDS.Shape as TopoDS.Shape
+import qualified OpenCascade.TopTools.ShapeMapHasher as TopTools.ShapeMapHasher
 import Foreign.Ptr (Ptr)
 import Control.Monad (when)
 import Control.Monad.IO.Class (liftIO)
@@ -24,7 +24,7 @@
             isMore <- Explorer.more explorer
             when isMore $ do
                 v <- unsafeDowncast =<< Explorer.value explorer
-                hash <- TopoDS.Shape.hashCode (upcast v) (2^(31 :: Int))
+                hash <- TopTools.ShapeMapHasher.hash (upcast v)
                 if hash `elem` visited
                     then do
                         Explorer.next explorer
diff --git a/waterfall-cad.cabal b/waterfall-cad.cabal
--- a/waterfall-cad.cabal
+++ b/waterfall-cad.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           waterfall-cad
-version:        0.2.2.1
+version:        0.3.0.0
 synopsis:       Declarative CAD/Solid Modeling Library
 description:    Please see the README on GitHub at <https://github.com/joe-warren/opencascade-hs#readme>
 category:       Graphics
@@ -65,7 +65,7 @@
     , lattices >=2.0 && <3
     , lens ==5.*
     , linear >=1.21 && <2
-    , opencascade-hs >=0.2.2.1 && <0.3
+    , opencascade-hs >=0.3.0.0 && <0.4
     , primitive >=0.7 && <0.10
     , resourcet >=1.2 && <1.4
   default-language: Haskell2010
