diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+2022-07-07
+        * Version bump (3.10). (#356)
+        * Run tests in CI. (#329)
+        * Remove duplicated compiler option. (#328)
+        * Fix typos in README and Heater example. (#352)
+        * Relax version bounds of dependencies. (#335)
+        * Update repo info in cabal file. (#333)
+
 2022-05-06
         * Version bump (3.9). (#320)
         * Compliance with style guide (partial). (#316)
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@
 -- This is a simple example with basic usage. It implements a simple home
 -- heating system: It heats when temp gets too low, and stops when it is high
 -- enough. It read temperature as a byte (range -50C to 100C) and translates
--- this to Celcius.
+-- this to Celsius.
 
 module Heater where
 
@@ -96,7 +96,7 @@
 temp :: Stream Word8
 temp = extern "temperature" Nothing
 
--- Calculate temperature in Celcius.
+-- Calculate temperature in Celsius.
 -- We need to cast the Word8 to a Float. Note that it is an unsafeCast, as there
 -- is no direct relation between Word8 and Float.
 ctemp :: Stream Float
diff --git a/copilot.cabal b/copilot.cabal
--- a/copilot.cabal
+++ b/copilot.cabal
@@ -1,5 +1,5 @@
 name:                copilot
-version:             3.9
+version:             3.10
 cabal-version:       >= 1.10
 license:             BSD3
 license-file:        LICENSE
@@ -33,6 +33,7 @@
 source-repository head
     type:       git
     location:   https://github.com/Copilot-Language/copilot.git
+    subdir:     copilot
 
 flag examples
     description: Enable examples
@@ -44,19 +45,18 @@
     default-language:  Haskell2010
     ghc-options:
       -Wall
-      -fwarn-tabs
       -fno-warn-orphans
     build-depends:
                        base                 >= 4.9  && < 5
-                     , optparse-applicative >= 0.14 && < 0.16
+                     , optparse-applicative >= 0.14 && < 0.18
                      , directory            >= 1.3  && < 1.4
                      , filepath             >= 1.4  && < 1.5
 
-                     , copilot-core         >= 3.9  && < 3.10
-                     , copilot-theorem      >= 3.9  && < 3.10
-                     , copilot-language     >= 3.9  && < 3.10
-                     , copilot-libraries    >= 3.9  && < 3.10
-                     , copilot-c99          >= 3.9  && < 3.10
+                     , copilot-core         >= 3.10 && < 3.11
+                     , copilot-theorem      >= 3.10 && < 3.11
+                     , copilot-language     >= 3.10 && < 3.11
+                     , copilot-libraries    >= 3.10 && < 3.11
+                     , copilot-c99          >= 3.10 && < 3.11
 
 
     exposed-modules: Language.Copilot, Language.Copilot.Main
diff --git a/examples/Heater.hs b/examples/Heater.hs
--- a/examples/Heater.hs
+++ b/examples/Heater.hs
@@ -3,7 +3,7 @@
 -- This is a simple example with basic usage. It implements a simple home
 -- heating system: It heats when temp gets too low, and stops when it is high
 -- enough. It read temperature as a byte (range -50C to 100C) and translates
--- this to Celcius.
+-- this to Celsius.
 
 module Main where
 
@@ -16,7 +16,7 @@
 temp :: Stream Word8
 temp = extern "temperature" Nothing
 
--- Calculate temperature in Celcius.
+-- Calculate temperature in Celsius.
 -- We need to cast the Word8 to a Float. Note that it is an unsafeCast, as there
 -- is no direct relation between Word8 and Float.
 ctemp :: Stream Float
