There's no reason to expose the full Python version over what is frequently a public API.tags/v1.94.0rc1
@@ -0,0 +1 @@ | |||||
Remove Python version from `/_synapse/admin/v1/server_version`. |
@@ -1,7 +1,7 @@ | |||||
# Version API | # Version API | ||||
This API returns the running Synapse version and the Python version | |||||
on which Synapse is being run. This is useful when a Synapse instance | |||||
This API returns the running Synapse version. | |||||
This is useful when a Synapse instance | |||||
is behind a proxy that does not forward the 'Server' header (which also | is behind a proxy that does not forward the 'Server' header (which also | ||||
contains Synapse version information). | contains Synapse version information). | ||||
@@ -15,7 +15,9 @@ It returns a JSON body like the following: | |||||
```json | ```json | ||||
{ | { | ||||
"server_version": "0.99.2rc1 (b=develop, abcdef123)", | |||||
"python_version": "3.7.8" | |||||
"server_version": "0.99.2rc1 (b=develop, abcdef123)" | |||||
} | } | ||||
``` | ``` | ||||
*Changed in Synapse 1.94.0:* The `python_version` key was removed from the | |||||
response body. |
@@ -16,7 +16,6 @@ | |||||
# limitations under the License. | # limitations under the License. | ||||
import logging | import logging | ||||
import platform | |||||
from http import HTTPStatus | from http import HTTPStatus | ||||
from typing import TYPE_CHECKING, Optional, Tuple | from typing import TYPE_CHECKING, Optional, Tuple | ||||
@@ -107,10 +106,7 @@ class VersionServlet(RestServlet): | |||||
PATTERNS = admin_patterns("/server_version$") | PATTERNS = admin_patterns("/server_version$") | ||||
def __init__(self, hs: "HomeServer"): | def __init__(self, hs: "HomeServer"): | ||||
self.res = { | |||||
"server_version": SYNAPSE_VERSION, | |||||
"python_version": platform.python_version(), | |||||
} | |||||
self.res = {"server_version": SYNAPSE_VERSION} | |||||
def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]: | def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]: | ||||
return HTTPStatus.OK, self.res | return HTTPStatus.OK, self.res | ||||
@@ -42,9 +42,7 @@ class VersionTestCase(unittest.HomeserverTestCase): | |||||
channel = self.make_request("GET", self.url, shorthand=False) | channel = self.make_request("GET", self.url, shorthand=False) | ||||
self.assertEqual(200, channel.code, msg=channel.json_body) | self.assertEqual(200, channel.code, msg=channel.json_body) | ||||
self.assertEqual( | |||||
{"server_version", "python_version"}, set(channel.json_body.keys()) | |||||
) | |||||
self.assertEqual({"server_version"}, set(channel.json_body.keys())) | |||||
class QuarantineMediaTestCase(unittest.HomeserverTestCase): | class QuarantineMediaTestCase(unittest.HomeserverTestCase): | ||||