diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,13 @@
 
+0.3
+---
+
+Package changes:
+ * Added `libonly` flag (defaults to `False`) to control whether to
+   build the `tart` executable.
+ * Raised the `brick` upper bound.
+ * Raised the `vty` upper bound.
+
 0.2
 ---
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -32,6 +32,11 @@
 $ $(find . -name tart -type f)
 ```
 
+By default, `tart` is built as both a library and a command-line tool.
+But if you want to use tart only for its Haskell library and avoid the
+additional executable dependencies, you can build with the `libonly`
+cabal build flag.
+
 Features
 ========
 
diff --git a/programs/Events/Main.hs b/programs/Events/Main.hs
--- a/programs/Events/Main.hs
+++ b/programs/Events/Main.hs
@@ -89,8 +89,6 @@
         (EvKey (KChar 'd') [MCtrl])            -> return $ moveCurrentLayerDown s
         (EvKey (KChar 'v') [MCtrl])            -> return $ toggleCurrentLayer s
         (EvKey (KChar 'C') [])                 -> return $ recenterCanvas s
-        (EvKey (KChar 'f') [])                 -> return $ beginFgPaletteSelect s
-        (EvKey (KChar 'b') [])                 -> return $ beginBgPaletteSelect s
         (EvKey (KChar '>') [])                 -> return $ increaseToolSize s
         (EvKey (KChar '<') [])                 -> return $ decreaseToolSize s
         (EvKey KEsc []) | isJust (s^.dragging) -> return $ cancelDragging s
diff --git a/tart.cabal b/tart.cabal
--- a/tart.cabal
+++ b/tart.cabal
@@ -1,5 +1,5 @@
 name:                tart
-version:             0.2
+version:             0.3
 synopsis:            Terminal Art
 description:         A program to make ASCII art
 license:             BSD3
@@ -19,6 +19,10 @@
   type:     git
   location: git://github.com/jtdaugherty/tart.git
 
+Flag libonly
+    Description:     Build only the library, not the tool
+    Default:         False
+
 library
   ghc-options:         -Wall
   hs-source-dirs:      src
@@ -33,7 +37,7 @@
   build-depends:       base >=4.9 && < 5,
                        array,
                        binary,
-                       vty >= 5.17.1 && < 5.27,
+                       vty >= 5.17.1,
                        microlens-platform,
                        bytestring,
                        mtl,
@@ -41,6 +45,8 @@
                        text
 
 executable tart
+  if flag(libonly)
+    Buildable: False
   ghc-options:         -threaded -Wall
   hs-source-dirs:      programs
   main-is:             Main.hs
@@ -78,8 +84,8 @@
                        Draw.Box
   default-language:    Haskell2010
   build-depends:       base >=4.9 && < 5,
-                       brick >= 0.52 && < 0.53,
-                       vty >= 5.17 && < 5.27,
+                       brick >= 0.52 && < 0.58,
+                       vty,
                        vector,
                        microlens-platform,
                        microlens-th,
