docs: read version from pybind11 file (#2496)

* docs: read version from pybind11 file

* docs: show full PEP 440 version everywhere
diff --git a/docs/conf.py b/docs/conf.py
index 0946f30..b324276 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -59,11 +59,15 @@
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
 # built documents.
-#
-# The short X.Y version.
-version = '2.5'
+
+# Read the listed version
+with open("../pybind11/_version.py") as f:
+    code = compile(f.read(), "../pybind11/_version.py", "exec")
+loc = {}
+exec(code, loc)
+
 # The full version, including alpha/beta/rc tags.
-release = '2.5.dev1'
+version = loc["__version__"]
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
@@ -145,7 +149,7 @@
 #html_theme_path = []
 
 # The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
+# "<project> v<version> documentation".
 #html_title = None
 
 # A shorter title for the navigation bar.  Default is the same as html_title.