diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: rattletrap
-version: 4.1.1
+version: 4.1.2
 
 category: Game
 description: Rattletrap parses and generates Rocket League replays.
@@ -36,6 +36,11 @@
   - -Wno-safe
   - -Wno-unsafe
 
+flags:
+  static:
+    default: false
+    manual: true
+
 library:
   source-dirs: library
 
@@ -46,6 +51,9 @@
     - -threaded
   main: Main.hs
   source-dirs: executables
+  when:
+    - condition: flag(static)
+      ld-options: -static
 
 tests:
   test:
diff --git a/rattletrap.cabal b/rattletrap.cabal
--- a/rattletrap.cabal
+++ b/rattletrap.cabal
@@ -1,11 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.20.0.
+-- This file has been generated from package.yaml by hpack version 0.28.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ebd26438ba98a4620c0405440e2e3e17702ad2287dd31a334ab87cca6754eac7
+-- hash: f97575be8798337622664b2f229d5417b0e7e29fefe6a61109a65cb02abb3208
 
 name:           rattletrap
-version:        4.1.1
+version:        4.1.2
 synopsis:       Parse and generate Rocket League replays.
 description:    Rattletrap parses and generates Rocket League replays.
 category:       Game
@@ -16,7 +16,6 @@
 license-file:   LICENSE.markdown
 build-type:     Simple
 cabal-version:  >= 1.10
-
 extra-source-files:
     CHANGELOG.markdown
     package.yaml
@@ -27,24 +26,11 @@
   type: git
   location: https://github.com/tfausak/rattletrap
 
+flag static
+  manual: True
+  default: False
+
 library
-  hs-source-dirs:
-      library
-  ghc-options: -optP -Wno-nonportable-include-path -Weverything -Wno-implicit-prelude -Wno-missing-import-lists -Wno-safe -Wno-unsafe
-  build-depends:
-      aeson >=1.2.4 && <1.5
-    , aeson-pretty >=0.8.5 && <0.9
-    , base >=4.10.1 && <4.12
-    , binary >=0.8.5 && <0.9
-    , binary-bits >=0.5 && <0.6
-    , bytestring >=0.10.8 && <0.11
-    , containers >=0.5.10 && <0.6
-    , filepath >=1.4.1 && <1.5
-    , http-client >=0.5.10 && <0.6
-    , http-client-tls >=0.3.5 && <0.4
-    , template-haskell >=2.12.0 && <2.14
-    , text >=1.2.3 && <1.3
-    , transformers >=0.5.2 && <0.6
   exposed-modules:
       Rattletrap
       Rattletrap.Console.Main
@@ -268,10 +254,29 @@
       Rattletrap.Utility.Helper
   other-modules:
       Paths_rattletrap
+  hs-source-dirs:
+      library
+  ghc-options: -optP -Wno-nonportable-include-path -Weverything -Wno-implicit-prelude -Wno-missing-import-lists -Wno-safe -Wno-unsafe
+  build-depends:
+      aeson >=1.2.4 && <1.5
+    , aeson-pretty >=0.8.5 && <0.9
+    , base >=4.10.1 && <4.12
+    , binary >=0.8.5 && <0.9
+    , binary-bits >=0.5 && <0.6
+    , bytestring >=0.10.8 && <0.11
+    , containers >=0.5.10 && <0.6
+    , filepath >=1.4.1 && <1.5
+    , http-client >=0.5.10 && <0.6
+    , http-client-tls >=0.3.5 && <0.4
+    , template-haskell >=2.12.0 && <2.14
+    , text >=1.2.3 && <1.3
+    , transformers >=0.5.2 && <0.6
   default-language: Haskell2010
 
 executable rattletrap
   main-is: Main.hs
+  other-modules:
+      Paths_rattletrap
   hs-source-dirs:
       executables
   ghc-options: -optP -Wno-nonportable-include-path -Weverything -Wno-implicit-prelude -Wno-missing-import-lists -Wno-safe -Wno-unsafe -rtsopts -threaded
@@ -290,13 +295,15 @@
     , template-haskell >=2.12.0 && <2.14
     , text >=1.2.3 && <1.3
     , transformers >=0.5.2 && <0.6
-  other-modules:
-      Paths_rattletrap
+  if flag(static)
+    ld-options: -static
   default-language: Haskell2010
 
 test-suite test
   type: exitcode-stdio-1.0
   main-is: Main.hs
+  other-modules:
+      Paths_rattletrap
   hs-source-dirs:
       tests
   ghc-options: -optP -Wno-nonportable-include-path -Weverything -Wno-implicit-prelude -Wno-missing-import-lists -Wno-safe -Wno-unsafe -rtsopts -threaded
@@ -317,6 +324,4 @@
     , temporary >=1.2.1 && <1.4
     , text >=1.2.3 && <1.3
     , transformers >=0.5.2 && <0.6
-  other-modules:
-      Paths_rattletrap
   default-language: Haskell2010
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,1 +1,1 @@
-resolver: lts-11.0
+resolver: lts-12.0
