diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+2021-11-07
+        * Version bump (3.6). (#264)
+        * Introduce new ops atan2, ceiling, floor. (#246)
+        * Allow customizing output directory. (#255)
+        * Fix outdated/broken links. (#252)
+
 2021-08-19
         * Version bump (3.5). (#247)
         * Update travis domain in README. (#222)
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Build Status](https://travis-ci.com/Copilot-Language/copilot-c99.svg?branch=master)](https://travis-ci.com/Copilot-Language/copilot-core)
+[![Build Status](https://travis-ci.com/Copilot-Language/copilot.svg?branch=master)](https://app.travis-ci.com/github/Copilot-Language/copilot)
 
 # Copilot: a stream DSL
 Copilot-c99 implements a C99 backend for Copilot, producing high quality code
@@ -30,4 +30,4 @@
 
 ## License
 Copilot is distributed under the BSD-3-Clause license, which can be found
-[here](https://raw.githubusercontent.com/Copilot-Language/copilot-c99/master/LICENSE).
+[here](https://raw.githubusercontent.com/Copilot-Language/copilot/master/copilot-c99/LICENSE).
diff --git a/copilot-c99.cabal b/copilot-c99.cabal
--- a/copilot-c99.cabal
+++ b/copilot-c99.cabal
@@ -1,6 +1,6 @@
 cabal-version             : >= 1.10
 name                      : copilot-c99
-version                   : 3.5
+version                   : 3.6
 synopsis                  : A compiler for Copilot targeting C99.
 description               :
   This package is a back-end from Copilot to C.
@@ -48,7 +48,7 @@
                           , mtl                 >= 2.2 && < 2.3
                           , pretty              >= 1.1 && < 1.2
 
-                          , copilot-core        >= 3.5   && < 3.6
+                          , copilot-core        >= 3.6   && < 3.7
                           , language-c99        >= 0.1.1 && < 0.2
                           , language-c99-util   >= 0.1.1 && < 0.2
                           , language-c99-simple >= 0.1.1 && < 0.2
diff --git a/src/Copilot/Compile/C99/Compile/Internal.hs b/src/Copilot/Compile/C99/Compile/Internal.hs
--- a/src/Copilot/Compile/C99/Compile/Internal.hs
+++ b/src/Copilot/Compile/C99/Compile/Internal.hs
@@ -7,6 +7,8 @@
 import Text.PrettyPrint     (render)
 import Data.List            (nub)
 import Data.Maybe           (catMaybes)
+import System.Directory     (createDirectoryIfMissing)
+import System.FilePath      ((</>))
 
 import Language.C99.Pretty  (pretty)
 import qualified Language.C99.Simple as C
@@ -41,8 +43,10 @@
                         , ""
                         ]
 
-  writeFile (prefix ++ ".c") $ cmacros ++ cfile
-  writeFile (prefix ++ ".h") hfile
+  let dir = cSettingsOutputDirectory cSettings
+  createDirectoryIfMissing True dir
+  writeFile (dir </> prefix ++ ".c") $ cmacros ++ cfile
+  writeFile (dir </> prefix ++ ".h") hfile
 
 -- | Compile a specification to a .h and a .c file.
 --
diff --git a/src/Copilot/Compile/C99/Settings/Internal.hs b/src/Copilot/Compile/C99/Settings/Internal.hs
--- a/src/Copilot/Compile/C99/Settings/Internal.hs
+++ b/src/Copilot/Compile/C99/Settings/Internal.hs
@@ -4,8 +4,9 @@
 -- | Settings used to customize the code generated.
 data CSettings = CSettings
   { cSettingsStepFunctionName :: String
+  , cSettingsOutputDirectory  :: FilePath
   }
 
 -- | Default settings with a step function called @step@.
 mkDefaultCSettings :: CSettings
-mkDefaultCSettings = CSettings "step"
+mkDefaultCSettings = CSettings "step" "."
diff --git a/src/Copilot/Compile/C99/Translate.hs b/src/Copilot/Compile/C99/Translate.hs
--- a/src/Copilot/Compile/C99/Translate.hs
+++ b/src/Copilot/Compile/C99/Translate.hs
@@ -74,6 +74,8 @@
   Asinh    _      -> funcall "asinh" [e]
   Atanh    _      -> funcall "atanh" [e]
   Acosh    _      -> funcall "acosh" [e]
+  Ceiling  _      -> funcall "ceil"  [e]
+  Floor    _      -> funcall "floor" [e]
   BwNot    _      -> (C..~) e
   Cast     _ ty  -> C.Cast (transtypename ty) e
   GetField (Struct _)  _ f -> C.Dot e (accessorname f)
@@ -92,6 +94,7 @@
   Fdiv     _   -> e1 C../  e2
   Pow      _   -> funcall "pow" [e1, e2]
   Logb     _   -> funcall "log" [e2] C../ funcall "log" [e1]
+  Atan2    _   -> funcall "atan2" [e1, e2]
   Eq       _   -> e1 C..== e2
   Ne       _   -> e1 C..!= e2
   Le       _   -> e1 C..<= e2
