diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,16 @@
 ## Changelog for the `threepenny-gui` package
 
+**0.8.3.0** – Maintenance and snapshot release
+
+* Export `keypress` event.
+* Fix the spelling of the `refX` and `refY` SVG attributes.
+  `refX` and `refY` are added to `Graphics.UI.Threepenny.SVG.Attributes`,
+  the old lowercase versions are deprecated.
+* Invoke compatibility mode of IE11 for jQuery v3.2.1.
+* Compatibility with GHC-8.6.1
+
 **0.8.2.4** – Maintenance release
+
 * Remove redundant dependencies on `network-uri` and `network`
 * Bump dependencies to allow `aeson` 1.4.0.0
 * Exclude `websockets` 0.12.5.0 from dependencies.
diff --git a/js/index.html b/js/index.html
--- a/js/index.html
+++ b/js/index.html
@@ -1,6 +1,8 @@
 <!doctype html>
 <head>
   <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+
   <title></title>
   <link rel="stylesheet" type="text/css" href="haskell.css"/>
 
diff --git a/src/Graphics/UI/Threepenny/Events.hs b/src/Graphics/UI/Threepenny/Events.hs
--- a/src/Graphics/UI/Threepenny/Events.hs
+++ b/src/Graphics/UI/Threepenny/Events.hs
@@ -9,7 +9,7 @@
     click, contextmenu, mousemove, mousedown, mouseup,
     hover, leave,
     focus, blur,
-    KeyCode, keyup, keydown,
+    KeyCode, keyup, keydown, keypress,
     ) where
 
 import Graphics.UI.Threepenny.Attributes
diff --git a/src/Graphics/UI/Threepenny/Internal.hs b/src/Graphics/UI/Threepenny/Internal.hs
--- a/src/Graphics/UI/Threepenny/Internal.hs
+++ b/src/Graphics/UI/Threepenny/Internal.hs
@@ -221,7 +221,7 @@
 --
 -- This operation removes the element from the browser window DOM
 -- and marks it for garbage collection on the Haskell side.
--- The element is unuseable afterwards.
+-- The element is unusable afterwards.
 --
 -- NOTE: If you wish to temporarily remove an element from the DOM tree,
 -- change the 'children' property of its parent element instead.
diff --git a/src/Graphics/UI/Threepenny/SVG/Attributes.hs b/src/Graphics/UI/Threepenny/SVG/Attributes.hs
--- a/src/Graphics/UI/Threepenny/SVG/Attributes.hs
+++ b/src/Graphics/UI/Threepenny/SVG/Attributes.hs
@@ -38,7 +38,7 @@
     panose_1, path, pathLength, patternContentUnits,
     patternTransform, patternUnits, points, pointsAtX, pointsAtY, pointsAtZ,
     preserveAlpha, preserveAspectRatio, primitiveUnits,
-    r, radius, refx, refy, rendering_intent, repeatCount, repeatDur,
+    r, radius, refX, refY, rendering_intent, repeatCount, repeatDur,
     requiredExtensions, requiredFeatures, restart, result, rotate, rx, ry,
     scale, seed, slope, spacing, specularConstant, specularExponent, spreadMethod,
     startOffset, stdDeviation, stemh, stemv, stitchTiles,
@@ -55,6 +55,9 @@
     y, y1, y2, yChannelSelector,
     z, zoomAndPan,
 
+    -- * Regular attributes (alternative spellings, deprecated)
+    refx, refy,
+
     -- * Presentation attributes
     alignment_baseline, baseline_shift,
     clip_path, clip_rule, clip, color_interpolation_filters, color_interpolation,
@@ -260,8 +263,11 @@
 primitiveUnits               =  strAttr "primitiveUnits"
 r                            =  strAttr "r"
 radius                       =  strAttr "radius"
-refx                         =  strAttr "refx"
-refy                         =  strAttr "refy"
+refX                         =  strAttr "refX"
+refY                         =  strAttr "refY"
+refx                         =  refX
+refy                         =  refY
+{-# DEPRECATED refx, refy "Use 'refX' and 'refY' instead" #-}
 rendering_intent             =  strAttr "rendering-intent"
 repeatCount                  =  strAttr "repeatCount"
 repeatDur                    =  strAttr "repeatDur"
diff --git a/src/Reactive/Threepenny.hs b/src/Reactive/Threepenny.hs
--- a/src/Reactive/Threepenny.hs
+++ b/src/Reactive/Threepenny.hs
@@ -218,7 +218,7 @@
 -- > stepper x0 ex = return $ \time ->
 -- >     last (x0 : [x | (timex,x) <- ex, timex < time])
 --
--- Note that the smaller-than-sign in the comparision @timex < time@ means
+-- Note that the smaller-than-sign in the comparison @timex < time@ means
 -- that the value of the behavior changes \"slightly after\"
 -- the event occurrences. This allows for recursive definitions.
 stepper :: MonadIO m => a -> Event a -> m (Behavior a)
diff --git a/threepenny-gui.cabal b/threepenny-gui.cabal
--- a/threepenny-gui.cabal
+++ b/threepenny-gui.cabal
@@ -1,5 +1,5 @@
 Name:                threepenny-gui
-Version:             0.8.2.4
+Version:             0.8.3.0
 Synopsis:            GUI framework that uses the web browser as a display.
 Description:
     Threepenny-GUI is a GUI framework that uses the web browser as a display.
@@ -108,11 +108,11 @@
   if flag(rebug)
       cpp-options:  -DREBUG
       ghc-options:  -O2
-  build-depends:     base                   >= 4.6   && < 4.12
+  build-depends:     base                   >= 4.6   && < 4.13
                     ,aeson                  (>= 0.7 && < 0.10) || == 0.11.* || (>= 1.0 && < 1.5)
                     ,async                  >= 2.0   && < 2.3
                     ,bytestring             >= 0.9.2 && < 0.11
-                    ,containers             >= 0.4.2 && < 0.6
+                    ,containers             >= 0.4.2 && < 0.7
                     ,data-default           >= 0.5.0 && < 0.8
                     ,deepseq                >= 1.3.0 && < 1.5
                     ,exceptions             >= 0.6   && < 0.11
@@ -122,8 +122,8 @@
                     ,safe                   == 0.3.*
                     ,snap-server            >= 0.9.0 && < 1.2
                     ,snap-core              >= 0.9.0 && < 1.1
-                    ,stm                    >= 2.2    && < 2.5
-                    ,template-haskell       >= 2.7.0  && < 2.14
+                    ,stm                    >= 2.2    && < 2.6
+                    ,template-haskell       >= 2.7.0  && < 2.15
                     ,text                   >= 0.11   && < 1.3
                     ,transformers           >= 0.3.0  && < 0.6
                     ,unordered-containers   == 0.2.*
