docs: add release notes for 20.2.6
diff --git a/bin/gen_release_notes.py b/bin/gen_release_notes.py
index 716f807..f7a5c14 100755
--- a/bin/gen_release_notes.py
+++ b/bin/gen_release_notes.py
@@ -113,24 +113,25 @@
     commits = await gather_commits(version)
 
     issues: typing.List[str] = []
-    for commit in commits.split('\n'):
-        sha, message = commit.split(maxsplit=1)
-        p = await asyncio.create_subprocess_exec(
-            'git', 'log', '--max-count', '1', r'--format=%b', sha,
-            stdout=asyncio.subprocess.PIPE)
-        _out, _ = await p.communicate()
-        out = _out.decode().split('\n')
-        for line in reversed(out):
-            if line.startswith('Closes:'):
-                bug = line.lstrip('Closes:').strip()
-                break
-        else:
-            raise Exception('No closes found?')
-        if bug.startswith('h'):
-            # This means we have a bug in the form "Closes: https://..."
-            issues.append(os.path.basename(urllib.parse.urlparse(bug).path))
-        else:
-            issues.append(bug.lstrip('#'))
+    if commits:
+        for commit in commits.split('\n'):
+            sha, message = commit.split(maxsplit=1)
+            p = await asyncio.create_subprocess_exec(
+                'git', 'log', '--max-count', '1', r'--format=%b', sha,
+                stdout=asyncio.subprocess.PIPE)
+            _out, _ = await p.communicate()
+            out = _out.decode().split('\n')
+            for line in reversed(out):
+                if line.startswith('Closes:'):
+                    bug = line.lstrip('Closes:').strip()
+                    break
+            else:
+                raise Exception('No closes found?')
+            if bug.startswith('h'):
+                # This means we have a bug in the form "Closes: https://..."
+                issues.append(os.path.basename(urllib.parse.urlparse(bug).path))
+            else:
+                issues.append(bug.lstrip('#'))
 
     loop = asyncio.get_event_loop()
     async with aiohttp.ClientSession(loop=loop) as session:
diff --git a/docs/relnotes/20.2.6.rst b/docs/relnotes/20.2.6.rst
new file mode 100644
index 0000000..d17e66a
--- /dev/null
+++ b/docs/relnotes/20.2.6.rst
@@ -0,0 +1,47 @@
+Mesa 20.2.6 Release Notes / 2020-12-16
+======================================
+
+Mesa 20.2.6 is a an emergency bug fix release for the 20.2 series
+
+Mesa 20.2.6 implements the OpenGL 4.6 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 4.6. OpenGL
+4.6 is **only** available if requested at context creation.
+Compatibility contexts may report a lower version depending on each driver.
+
+Mesa 20.2.6 implements the Vulkan 1.2 API, but the version reported by
+the apiVersion property of the VkPhysicalDeviceProperties struct
+depends on the particular driver being used.
+
+SHA256 checksum
+---------------
+
+::
+
+    TBD.
+
+
+New features
+------------
+
+- None
+
+
+Bug fixes
+---------
+
+- None
+
+
+Changes
+-------
+
+Daniel Schürmann (1):
+
+- aco/spill: only prevent rematerializable vars from being DCE'd if they haven't been renamed
+
+Dylan Baker (2):
+
+- docs: add sha256 sums for 20.2.5
+- .pick_status.json: Update to 2d78e28ba702d366becabb8e241b861e6711c76e