diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 2.0.4
+
+* Freeing dynamic tables.
+
 ## 2.0.3
 
 * Using shutdown instead of close in the example. This is important to
diff --git a/Network/HTTP2/Server/Context.hs b/Network/HTTP2/Server/Context.hs
--- a/Network/HTTP2/Server/Context.hs
+++ b/Network/HTTP2/Server/Context.hs
@@ -58,7 +58,9 @@
                      <*> newTVarIO defaultInitialWindowSize
 
 clearContext :: Context -> IO ()
-clearContext _ctx = return ()
+clearContext ctx = do
+    clearDynamicTable $ encodeDynamicTable ctx
+    clearDynamicTable $ decodeDynamicTable ctx
 
 ----------------------------------------------------------------
 
diff --git a/http2.cabal b/http2.cabal
--- a/http2.cabal
+++ b/http2.cabal
@@ -1,5 +1,5 @@
 Name:                   http2
-Version:                2.0.3
+Version:                2.0.4
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
