diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,8 +1,33 @@
+1.4.5 (12 Nov 2022)
+-------------------
+
+- `TwoD.Layout.Grid`: Return `mempty` in `gridCat` and `gridSnake` on
+  empty input ([#89](https://github.com/diagrams/diagrams-contrib/pull/89))
+
 1.4.4 (12 Nov 2019)
 -------------------
 
 - Updated to build on GHC 8.8
 - New module `Diagrams.TwoD.Path.IntersectionExtras`
+
+- Hackage revisions (latest revision 7 Nov 2022)
+    - r1: allow lens-4.19 and linear-1.21
+    - r2: allow
+        - base-4.15
+        - monoid-extras-0.6
+        - diagrams-core-1.5
+        - lens-5.0
+        - random-1.2
+        - QuickCheck-2.14
+    - r3: update homepage URL
+    - r4: allow
+        - `base-4.16`
+        - `hashable-1.4`
+        - `lens-5.1`
+        - `semigroups-0.20`
+    - r5: allow `text-2.0`
+    - r6: allow `base-4.17`, `lens-5.2`, and test with GHC 9.4
+    - r7: allow `MonadRandom-0.6`
 
 1.4.3 (14 May 2018)
 -------------------
diff --git a/diagrams-contrib.cabal b/diagrams-contrib.cabal
--- a/diagrams-contrib.cabal
+++ b/diagrams-contrib.cabal
@@ -1,10 +1,10 @@
 name:                diagrams-contrib
-version:             1.4.4
+version:             1.4.5
 synopsis:            Collection of user contributions to diagrams EDSL
 description:         A collection of user contributions for diagrams,
                      an embedded domain-specific language for generation
                      of vector graphics.
-homepage:            http://projects.haskell.org/diagrams/
+homepage:            https://diagrams.github.io/
 license:             BSD3
 license-file:        LICENSE
 author:              Various
@@ -15,7 +15,7 @@
 cabal-version:       1.18
 extra-source-files:  README.markdown, CHANGES.markdown, diagrams/*.svg, CONTRIBUTORS
 extra-doc-files:     diagrams/*.svg
-tested-with:         GHC ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3 || ==8.6.5 || ==8.8.1
+tested-with:         GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.1
 Source-repository head
   type:     git
   location: http://github.com/diagrams/diagrams-contrib.git
@@ -51,30 +51,30 @@
                        Diagrams.TwoD.Path.Metafont.Internal
                        Diagrams.TwoD.Path.Metafont.Combinators
                        Diagrams.TwoD.Path.Metafont.Parser
-  build-depends:       base >= 4.8 && < 4.14,
+  build-depends:       base >= 4.8 && < 4.18,
                        mtl >= 2.0 && < 2.3,
                        mtl-compat >= 0.2.1 && < 0.3,
                        containers > 0.4 && < 0.7,
                        split >= 0.2.1 && < 0.3,
                        colour >= 2.3.1 && < 2.4,
                        split >= 0.2.1 && < 0.3,
-                       monoid-extras >= 0.4.2 && < 0.6,
-                       diagrams-core >= 1.4 && < 1.5,
+                       monoid-extras >= 0.4.2 && < 0.7,
+                       diagrams-core >= 1.4 && < 1.6,
                        diagrams-lib >= 1.4 && < 1.5,
                        diagrams-solve >= 0.1 && < 0.2,
-                       lens >= 4.0 && < 4.19,
-                       linear >= 1.11.3 && < 1.21,
+                       lens >= 4.0 && < 5.3,
+                       linear >= 1.11.3 && < 1.22,
                        force-layout >= 0.4 && < 0.5,
                        data-default >= 0.5.2 && < 0.8,
-                       MonadRandom >= 0.1.8 && < 0.6,
-                       random >= 1.0 && < 1.2,
+                       MonadRandom >= 0.1.8 && < 0.7,
+                       random >= 1.0 && < 1.3,
                        circle-packing >= 0.1 && < 0.2,
                        parsec >= 3.1 && < 3.2,
-                       text >= 0.11 && < 1.3,
+                       text >= 0.11 && < 2.1,
                        data-default-class < 0.2,
-                       semigroups >= 0.3.4 && < 0.20,
+                       semigroups >= 0.3.4 && < 0.21,
                        cubicbezier >= 0.6 && < 0.7,
-                       hashable >= 0.1.2 && < 1.4,
+                       hashable >= 0.1.2 && < 1.5,
                        mfsolve >= 0.3 && < 0.4
   hs-source-dirs:      src
   default-language:    Haskell2010
@@ -89,7 +89,7 @@
                        Diagrams.TwoD.Path.Turtle.Internal
 
   build-depends:       HUnit                      >= 1.2 && < 1.7,
-                       QuickCheck                 >= 2.4 && < 2.14,
+                       QuickCheck                 >= 2.4 && < 2.15,
                        containers                 >= 0.3 && < 0.7,
                        test-framework             >= 0.4 && < 0.9,
                        test-framework-hunit       >= 0.2 && < 0.4,
diff --git a/src/Diagrams/TwoD/Layout/Grid.hs b/src/Diagrams/TwoD/Layout/Grid.hs
--- a/src/Diagrams/TwoD/Layout/Grid.hs
+++ b/src/Diagrams/TwoD/Layout/Grid.hs
@@ -48,6 +48,7 @@
   :: TypeableFloat n
   => [QDiagram b V2 n Any]
   -> QDiagram b V2 n Any
+gridCat [] = mempty
 gridCat diagrams = gridCat' (intSqrt $ length diagrams) diagrams
 
 -- | Same as 'gridCat', but with a specified number of columns.
@@ -76,6 +77,7 @@
   :: TypeableFloat n
   => [QDiagram b V2 n Any]
   -> QDiagram b V2 n Any
+gridSnake [] = mempty
 gridSnake diagrams = gridSnake' (intSqrt $ length diagrams) diagrams
 
 -- | Same as 'gridSnake', but with a specified number of columns.
