diff --git a/.gitignore b/.gitignore
index 65f97a7..9a0b1b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@
 /vim-8.0-273.tar.bz2
 /vim-8.0-275.tar.bz2
 /vim-8.0-297.tar.bz2
+/vim-8.0-311.tar.bz2
diff --git a/README.patches b/README.patches
index c86e9a6..f519b98 100644
--- a/README.patches
+++ b/README.patches
@@ -1,3 +1,140 @@
+commit 544d3bc9f0e494cb712a33b61558b8e8e12b1e0b
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 21:14:50 2017 +0100
+
+    patch 8.0.0311: linebreak tests are old style
+    
+    Problem:    Linebreak tests are old style.
+    Solution:   Turn the tests into new style. Share utility functions. (Ozaki
+                Kiichi, closes #1444)
+
+commit 13c724fb3a630257b736a1c91643b396fee917c1
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 20:54:26 2017 +0100
+
+    patch 8.0.0310: not enough testing for GUI functionality
+    
+    Problem:    Not enough testing for GUI functionality.
+    Solution:   Add tests for v:windowid and getwinpos[xy](). (Kazunobu Kuriyama)
+
+commit 059b7482a2d9d4cebbf4c01b2b2ea6f1e783cc20
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 16:34:43 2017 +0100
+
+    patch 8.0.0309: cannot use an empty key in json
+    
+    Problem:    Cannot use an empty key in json.
+    Solution:   Allow for using an empty key.
+
+commit 2f9e575583c2ad3978ee3d0f790eeff7df56bd6c
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 16:07:54 2017 +0100
+
+    patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
+    
+    Problem:    When using a symbolic link, the package path will not be inserted
+                at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi)
+    Solution:   Resolve symbolic links when finding the right position in
+                'runtimepath'. (Hirohito Higashi)
+
+commit 955f198fc546cc30a34361932d3f454a61df0efa
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 15:10:51 2017 +0100
+
+    patch 8.0.0307: asan detects a memory error when EXITFREE is defined
+    
+    Problem:    Asan detects a memory error when EXITFREE is defined. (Dominique
+                Pelle)
+    Solution:   In getvcol() check for ml_get_buf() returning an empty string.
+                Also skip adjusting the scroll position.  Set "exiting" in
+                mch_exit() for all systems.
+
+commit e971df39a5aac5d9b7e8033247dc18b12daa0eb8
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 14:15:29 2017 +0100
+
+    patch 8.0.0306: mode() not sufficiently tested
+    
+    Problem:    mode() not sufficiently tested.
+    Solution:   Add more tests. (Yegappan Lakshmanan)
+
+commit aaaf57d8a936efe420190c077e4a74041cc6c72e
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sun Feb 5 14:13:20 2017 +0100
+
+    patch 8.0.0305: invalid memory access when option has duplicate flag
+    
+    Problem:    Invalid memory access when option has duplicate flag.
+    Solution:   Correct pointer computation. (Dominique Pelle, closes #1442)
+
+commit 1fb0d49803b4f57025ed6a43b1f5b9eb91524645
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sat Feb 4 21:50:19 2017 +0100
+
+    patch 8.0.0304: assign test fails in the GUI
+    
+    Problem:    Assign test fails in the GUI.
+    Solution:   Skip the test for setting t_k1.
+
+commit a1891848d970452cd775d35a4bccfdd9758a690a
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sat Feb 4 21:34:31 2017 +0100
+
+    patch 8.0.0303: bracketed paste does not work in Visual mode
+    
+    Problem:    Bracketed paste does not work in Visual mode.
+    Solution:   Delete the text before pasting
+
+commit e353c402e63b9b0a0bc06acf390e352d9e7eeaeb
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sat Feb 4 19:49:16 2017 +0100
+
+    patch 8.0.0302: cannot set terminal key codes with :let
+    
+    Problem:    Cannot set terminal key codes with :let.
+    Solution:   Make it work.
+
+commit 698f8b207bbfefa1cbbd7361caf5412cb3416534
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Sat Feb 4 15:53:32 2017 +0100
+
+    patch 8.0.0301: not enough testing for setting options
+    
+    Problem:    No tests for ":set completion" and various errors of the :set
+                command.
+    Solution:   Add more :set tests. (Dominique Pelle, closes #1440)
+
+commit 25ea0544587dd45088512fec9d7a685e35fea679
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Fri Feb 3 23:16:28 2017 +0100
+
+    patch 8.0.0300: cannot stop diffing hidden buffers
+    
+    Problem:    Cannot stop diffing hidden buffers. (Daniel Hahler)
+    Solution:   When using :diffoff! make the whole list if diffed buffers empty.
+                (closes #736)
+
+commit 6b40f303291be6b2fe524b5708e089773048c269
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Fri Feb 3 22:01:47 2017 +0100
+
+    patch 8.0.0299: a window resize is sometimes not taking effect
+    
+    Problem:    When the GUI window is resized Vim does not always take over the
+                new size. (Luchr)
+    Solution:   Reset new_p_guifont in gui_resize_shell().  Call
+                gui_may_resize_shell() in the main loop.
+
+commit cbf20fbcd3e9bb006f694bcc35da859930fb12a2
+Author: Bram Moolenaar <Bram@vim.org>
+Date:   Fri Feb 3 21:19:04 2017 +0100
+
+    patch 8.0.0298: Ex command range with repeated search does not work
+    
+    Problem:    Ex command range with repeated search does not work. (Bruce
+                DeVisser)
+    Solution:   Skip over \/, \? and \&.
+
 commit 03ff9bcbc968f7d306e4a4e334e226fdde62ca82
 Author: Bram Moolenaar <Bram@vim.org>
 Date:   Thu Feb 2 22:59:27 2017 +0100
diff --git a/sources b/sources
index 314d266..0f4d97b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (vim-8.0-297.tar.bz2) = de618eebce6a20ed839d4cb8199ca05a1658a1fe8ca1c0854f32c7aa29929ce547114bbb7f71a3b8be99c46c6923895e9a66daa9d7f41e42cba4bcff62e3444d
+SHA512 (vim-8.0-311.tar.bz2) = 0198a342b0c212b6c9c119d76791e4de5cd5fa6e42ff97c3d26fff1e5afa66aa2bf594ec9e6c556425ea0098982af94160c32cc83723fe5bdb58ecf73da847f1
diff --git a/vim.spec b/vim.spec
index d63210a..5cd9f59 100644
--- a/vim.spec
+++ b/vim.spec
@@ -1,4 +1,4 @@
-%define patchlevel 297
+%define patchlevel 311
 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1}
 %define WITH_SELINUX 1
 %endif
@@ -758,6 +758,9 @@ rm -rf %{buildroot}
 %{_datadir}/icons/locolor/*/apps/*
 
 %changelog
+* Mon Feb 06 2017 Karsten Hopp <karsten@redhat.com> 8.0.311-1
+- patchlevel 311
+
 * Fri Feb 03 2017 Karsten Hopp <karsten@redhat.com> 8.0.297-1
 - patchlevel 297