diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,21 @@
 
 # TidalCycles log of changes
 
+## 1.10.2 - Fairisle
+
+### What's Changed
+
+* Compatibility with ghc 9.6+ @yaxu https://codeberg.org/uzu/tidal/pulls/1249
+* Fix 'into' for patterning subpatterns, adding 'chunkinto' for chunking into subpatterns @yaxu https://codeberg.org/uzu/tidal/pulls/1247
+* Add 'revv' for reversing whole patterns rather than cycle-by-cycle @yaxu https://codeberg.org/uzu/tidal/pulls/1247
+* Emacs plugin fixes, thanks @bokonist https://codeberg.org/uzu/tidal/pulls/1242
+* Add _fromNote for raw string parsing, thanks @pulu https://codeberg.org/uzu/tidal/pulls/1235
+* Add tidal-mondo notation! Thanks @TristanCacqueray https://codeberg.org/uzu/tidal/pulls/1233
+* Fix runMarkov, thanks @jwaldmann https://codeberg.org/uzu/tidal/pulls/1232
+* Add midi-related params to tidal-parse, thanks @TristanCacqueray https://codeberg.org/uzu/tidal/pulls/1225
+* Reinstate 'required' alias for Nothing, used in defining OSC target defs @yaxu https://codeberg.org/uzu/tidal/pulls/1226 
+* Add 'polymeter' stepwise function, with 'pm' alias 
+
 ## 1.10.1 - Dundee
 
 ### What's Changed
diff --git a/src/Sound/Tidal/Stream/Target.hs b/src/Sound/Tidal/Stream/Target.hs
--- a/src/Sound/Tidal/Stream/Target.hs
+++ b/src/Sound/Tidal/Stream/Target.hs
@@ -224,3 +224,6 @@
 
 xDefault :: [Word8] -> Maybe Value
 xDefault x = Just $ VX x
+
+required :: Maybe Value
+required = Nothing
diff --git a/tidal.cabal b/tidal.cabal
--- a/tidal.cabal
+++ b/tidal.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.0
 
 name:                tidal
-version:             1.10.1
+version:             1.10.2
 synopsis:            Pattern language for improvised music
 description:         Tidal is a domain specific language for live coding patterns.
 homepage:            http://tidalcycles.org/
@@ -60,8 +60,8 @@
     , random < 1.4
     , exceptions < 0.11
     , mtl >= 2.2 && < 2.4
-    , tidal-link >= 1.2 && < 1.3
-    , tidal-core == 1.10.1
+    , tidal-link == 1.2.1
+    , tidal-core == 1.10.2
 
 test-suite tests
   type: exitcode-stdio-1.0
diff --git a/tidal.el b/tidal.el
--- a/tidal.el
+++ b/tidal.el
@@ -282,71 +282,71 @@
 
 (defun tidal-mode-keybindings (map)
   "Haskell Tidal keybindings MAP."
-  (define-key map [?\C-c ?\C-s] 'tidal-start-haskell)
-  (define-key map [?\C-c ?\C-v] 'tidal-see-output)
-  (define-key map [?\C-c ?\C-q] 'tidal-quit-haskell)
-  (define-key map [?\C-c ?\C-c] 'tidal-run-line)
-  (define-key map [?\C-c ?\C-e] 'tidal-run-multiple-lines)
-  (define-key map (kbd "<C-return>") 'tidal-run-multiple-lines)
-  (define-key map [?\C-c ?\C-r] 'tidal-run-region)
-  (define-key map [?\C-c ?\C-l] 'tidal-load-buffer)
-  (define-key map [?\C-c ?\C-i] 'tidal-interrupt-haskell)
-  (define-key map [?\C-c ?\C-m] 'tidal-run-main)
-  (define-key map [?\C-c ?\C-h] 'tidal-hush)
-  (define-key map [?\C-c ?\C-1] 'tidal-run-d1)
-  (define-key map [?\C-c ?\C-2] 'tidal-run-d2)
-  (define-key map [?\C-c ?\C-3] 'tidal-run-d3)
-  (define-key map [?\C-c ?\C-4] 'tidal-run-d4)
-  (define-key map [?\C-c ?\C-5] 'tidal-run-d5)
-  (define-key map [?\C-c ?\C-6] 'tidal-run-d6)
-  (define-key map [?\C-c ?\C-7] 'tidal-run-d7)
-  (define-key map [?\C-c ?\C-8] 'tidal-run-d8)
-  (define-key map [?\C-c ?\C-9] 'tidal-run-d9)
-  (define-key map [?\C-c ?\C-0] 'tidal-run-d10)
-  (define-key map [?\C-v ?\C-1] 'tidal-stop-d1)
-  (define-key map [?\C-v ?\C-2] 'tidal-stop-d2)
-  (define-key map [?\C-v ?\C-3] 'tidal-stop-d3)
-  (define-key map [?\C-v ?\C-4] 'tidal-stop-d4)
-  (define-key map [?\C-v ?\C-5] 'tidal-stop-d5)
-  (define-key map [?\C-v ?\C-6] 'tidal-stop-d6)
-  (define-key map [?\C-v ?\C-7] 'tidal-stop-d7)
-  (define-key map [?\C-v ?\C-8] 'tidal-stop-d8)
-  (define-key map [?\C-v ?\C-9] 'tidal-stop-d9)
-  (define-key map [?\C-c ?\C-0] 'tidal-stop-d10))
+  (keymap-set map "C-c C-s" #'tidal-start-haskell)
+  (keymap-set map "C-c C-v" #'tidal-see-output)
+  (keymap-set map "C-c C-q" #'tidal-quit-haskell)
+  (keymap-set map "C-c C-c" #'tidal-run-line)
+  (keymap-set map "C-c C-e" #'tidal-run-multiple-lines)
+  (keymap-set map "C-<return>" #'tidal-run-multiple-lines)
+  (keymap-set map "C-c C-r" #'tidal-run-region)
+  (keymap-set map "C-c C-l" #'tidal-load-buffer)
+  (keymap-set map "C-c C-i" #'tidal-interrupt-haskell)
+  (keymap-set map "C-c C-m" #'tidal-run-main)
+  (keymap-set map "C-c C-h" #'tidal-hush)
+  (keymap-set map "C-c C-1" #'tidal-run-d1)
+  (keymap-set map "C-c C-2" #'tidal-run-d2)
+  (keymap-set map "C-c C-3" #'tidal-run-d3)
+  (keymap-set map "C-c C-4" #'tidal-run-d4)
+  (keymap-set map "C-c C-5" #'tidal-run-d5)
+  (keymap-set map "C-c C-6" #'tidal-run-d6)
+  (keymap-set map "C-c C-7" #'tidal-run-d7)
+  (keymap-set map "C-c C-8" #'tidal-run-d8)
+  (keymap-set map "C-c C-9" #'tidal-run-d9)
+  (keymap-set map "C-c C-0" #'tidal-run-d10)
+  (keymap-set map "C-v C-1" #'tidal-stop-d1)
+  (keymap-set map "C-v C-2" #'tidal-stop-d2)
+  (keymap-set map "C-v C-3" #'tidal-stop-d3)
+  (keymap-set map "C-v C-4" #'tidal-stop-d4)
+  (keymap-set map "C-v C-5" #'tidal-stop-d5)
+  (keymap-set map "C-v C-6" #'tidal-stop-d6)
+  (keymap-set map "C-v C-7" #'tidal-stop-d7)
+  (keymap-set map "C-v C-8" #'tidal-stop-d8)
+  (keymap-set map "C-v C-9" #'tidal-stop-d9)
+  (keymap-set map "C-c C-0" #'tidal-stop-d10))
 
 (defun tidal-turn-on-keybindings ()
   "Haskell Tidal keybindings in the local map."
-  (local-set-key [?\C-c ?\C-s] 'tidal-start-haskell)
-  (local-set-key [?\C-c ?\C-v] 'tidal-see-output)
-  (local-set-key [?\C-c ?\C-q] 'tidal-quit-haskell)
-  (local-set-key [?\C-c ?\C-c] 'tidal-run-line)
-  (local-set-key [?\C-c ?\C-e] 'tidal-run-multiple-lines)
-  (local-set-key (kbd "<C-return>") 'tidal-run-multiple-lines)
-  (local-set-key [?\C-c ?\C-r] 'tidal-run-region)
-  (local-set-key [?\C-c ?\C-l] 'tidal-load-buffer)
-  (local-set-key [?\C-c ?\C-i] 'tidal-interrupt-haskell)
-  (local-set-key [?\C-c ?\C-m] 'tidal-run-main)
-  (local-set-key [?\C-c ?\C-h] 'tidal-hush)
-  (local-set-key [?\C-c ?\C-1] 'tidal-run-d1)
-  (local-set-key [?\C-c ?\C-2] 'tidal-run-d2)
-  (local-set-key [?\C-c ?\C-3] 'tidal-run-d3)
-  (local-set-key [?\C-c ?\C-4] 'tidal-run-d4)
-  (local-set-key [?\C-c ?\C-5] 'tidal-run-d5)
-  (local-set-key [?\C-c ?\C-6] 'tidal-run-d6)
-  (local-set-key [?\C-c ?\C-7] 'tidal-run-d7)
-  (local-set-key [?\C-c ?\C-8] 'tidal-run-d8)
-  (local-set-key [?\C-c ?\C-9] 'tidal-run-d9)
-  (local-set-key [?\C-c ?\C-0] 'tidal-run-d10)
-  (local-set-key [?\C-v ?\C-1] 'tidal-stop-d1)
-  (local-set-key [?\C-v ?\C-2] 'tidal-stop-d2)
-  (local-set-key [?\C-v ?\C-3] 'tidal-stop-d3)
-  (local-set-key [?\C-v ?\C-4] 'tidal-stop-d4)
-  (local-set-key [?\C-v ?\C-5] 'tidal-stop-d5)
-  (local-set-key [?\C-v ?\C-6] 'tidal-stop-d6)
-  (local-set-key [?\C-v ?\C-7] 'tidal-stop-d7)
-  (local-set-key [?\C-v ?\C-8] 'tidal-stop-d8)
-  (local-set-key [?\C-v ?\C-9] 'tidal-stop-d9)
-  (local-set-key [?\C-v ?\C-0] 'tidal-stop-d10))
+  (keymap-local-set "C-c C-s" #'tidal-start-haskell)
+  (keymap-local-set "C-c C-v" #'tidal-see-output)
+  (keymap-local-set "C-c C-q" #'tidal-quit-haskell)
+  (keymap-local-set "C-c C-c" #'tidal-run-line)
+  (keymap-local-set "C-c C-e" #'tidal-run-multiple-lines)
+  (keymap-local-set "C-<return>" #'tidal-run-multiple-lines)
+  (keymap-local-set "C-c C-r" #'tidal-run-region)
+  (keymap-local-set "C-c C-l" #'tidal-load-buffer)
+  (keymap-local-set "C-c C-i" #'tidal-interrupt-haskell)
+  (keymap-local-set "C-c C-m" #'tidal-run-main)
+  (keymap-local-set "C-c C-h" #'tidal-hush)
+  (keymap-local-set "C-c C-1" #'tidal-run-d1)
+  (keymap-local-set "C-c C-2" #'tidal-run-d2)
+  (keymap-local-set "C-c C-3" #'tidal-run-d3)
+  (keymap-local-set "C-c C-4" #'tidal-run-d4)
+  (keymap-local-set "C-c C-5" #'tidal-run-d5)
+  (keymap-local-set "C-c C-6" #'tidal-run-d6)
+  (keymap-local-set "C-c C-7" #'tidal-run-d7)
+  (keymap-local-set "C-c C-8" #'tidal-run-d8)
+  (keymap-local-set "C-c C-9" #'tidal-run-d9)
+  (keymap-local-set "C-c C-0" #'tidal-run-d10)
+  (keymap-local-set "C-v C-1" #'tidal-stop-d1)
+  (keymap-local-set "C-v C-2" #'tidal-stop-d2)
+  (keymap-local-set "C-v C-3" #'tidal-stop-d3)
+  (keymap-local-set "C-v C-4" #'tidal-stop-d4)
+  (keymap-local-set "C-v C-5" #'tidal-stop-d5)
+  (keymap-local-set "C-v C-6" #'tidal-stop-d6)
+  (keymap-local-set "C-v C-7" #'tidal-stop-d7)
+  (keymap-local-set "C-v C-8" #'tidal-stop-d8)
+  (keymap-local-set "C-v C-9" #'tidal-stop-d9)
+  (keymap-local-set "C-v C-0" #'tidal-stop-d10))
 
 (defun tidal-mode-menu (map)
   "Haskell Tidal menu MAP."
@@ -402,6 +402,7 @@
   haskell-mode
   "Haskell Tidal"
   "Major mode for interacting with an inferior haskell process."
+  :after-hook (interactive-haskell-mode -1)
   (set (make-local-variable 'paragraph-start) "\f\\|[ \t]*$")
   (set (make-local-variable 'paragraph-separate) "[ \t\f]*$")
   (setq tidal-literate-p nil)
