prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Keep tighter version constraints on TensorFlow releases
  # Description
  
  As Issue #997 makes it clear that minor releases might as well be major releases for TensorFlow, then it is probably worth keeping tighter version constraints on them and just watching the releases of TensorFlow and TensorFlow Probability to see when we can relax these.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 from setuptools import setup
  2 
  3 extras_require = {
  4     'shellcomplete': ['click_completion'],
  5     'tensorflow': [
  6         'tensorflow~=2.0',
  7         'tensorflow-probability~=0.10',  # TODO: Temp patch until tfp v0.11
  8     ],
  9     'torch': ['torch~=1.2'],
  10     'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],
  11     'xmlio': ['uproot~=3.6'],  # Future proof against uproot4 API changes
  12     'minuit': ['iminuit~=1.4,>=1.4.3'],  # Use "name" keyword in MINUIT optimizer
  13 }
  14 extras_require['backends'] = sorted(
  15     set(
  16         extras_require['tensorflow']
  17         + extras_require['torch']
  18         + extras_require['jax']
  19         + extras_require['minuit']
  20     )
  21 )
  22 extras_require['contrib'] = sorted(set(['matplotlib']))
  23 extras_require['lint'] = sorted(set(['pyflakes', 'black']))
  24 
  25 extras_require['test'] = sorted(
  26     set(
  27         extras_require['backends']
  28         + extras_require['xmlio']
  29         + extras_require['contrib']
  30         + extras_require['shellcomplete']
  31         + [
  32             'pytest~=3.5',
  33             'pytest-cov>=2.5.1',
  34             'pytest-mock',
  35             'pytest-benchmark[histogram]',
  36             'pytest-console-scripts',
  37             'pytest-mpl',
  38             'pydocstyle',
  39             'coverage>=4.0',  # coveralls
  40             'papermill~=2.0',
  41             'nteract-scrapbook~=0.2',
  42             'jupyter',
  43             'uproot~=3.3',
  44             'graphviz',
  45             'jsonpatch',
  46         ]
  47     )
  48 )
  49 extras_require['docs'] = sorted(
  50     set(
  51         [
  52             'sphinx>=3.1.2',
  53             'sphinxcontrib-bibtex',
  54             'sphinx-click',
  55             'sphinx_rtd_theme',
  56             'nbsphinx',
  57             'ipywidgets',
  58             'sphinx-issues',
  59             'sphinx-copybutton>0.2.9',
  60         ]
  61     )
  62 )
  63 extras_require['develop'] = sorted(
  64     set(
  65         extras_require['docs']
  66         + extras_require['lint']
  67         + extras_require['test']
  68         + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']
  69     )
  70 )
  71 extras_require['complete'] = sorted(set(sum(extras_require.values(), [])))
  72 
  73 
  74 setup(
  75     extras_require=extras_require,
  76     use_scm_version=lambda: {'local_scheme': lambda version: ''},
  77 )
  78
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -3,8 +3,8 @@
   extras_require = {
       'shellcomplete': ['click_completion'],
       'tensorflow': [
  -        'tensorflow~=2.0',
  -        'tensorflow-probability~=0.10',  # TODO: Temp patch until tfp v0.11
  +        'tensorflow~=2.2.0',  # TensorFlow minor releases are as volatile as major
  +        'tensorflow-probability~=0.10.0',
       ],
       'torch': ['torch~=1.2'],
       'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -3,8 +3,8 @@\n extras_require = {\n     'shellcomplete': ['click_completion'],\n     'tensorflow': [\n-        'tensorflow~=2.0',\n-        'tensorflow-probability~=0.10',  # TODO: Temp patch until tfp v0.11\n+        'tensorflow~=2.2.0',  # TensorFlow minor releases are as volatile as major\n+        'tensorflow-probability~=0.10.0',\n     ],\n     'torch': ['torch~=1.2'],\n     'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n", "issue": "Keep tighter version constraints on TensorFlow releases\n# Description\r\n\r\nAs Issue #997 makes it clear that minor releases might as well be major releases for TensorFlow, then it is probably worth keeping tighter version constraints on them and just watching the releases of TensorFlow and TensorFlow Probability to see when we can relax these.\n", "before_files": [{"content": "from setuptools import setup\n\nextras_require = {\n    'shellcomplete': ['click_completion'],\n    'tensorflow': [\n        'tensorflow~=2.0',\n        'tensorflow-probability~=0.10',  # TODO: Temp patch until tfp v0.11\n    ],\n    'torch': ['torch~=1.2'],\n    'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n    'xmlio': ['uproot~=3.6'],  # Future proof against uproot4 API changes\n    'minuit': ['iminuit~=1.4,>=1.4.3'],  # Use \"name\" keyword in MINUIT optimizer\n}\nextras_require['backends'] = sorted(\n    set(\n        extras_require['tensorflow']\n        + extras_require['torch']\n        + extras_require['jax']\n        + extras_require['minuit']\n    )\n)\nextras_require['contrib'] = sorted(set(['matplotlib']))\nextras_require['lint'] = sorted(set(['pyflakes', 'black']))\n\nextras_require['test'] = sorted(\n    set(\n        extras_require['backends']\n        + extras_require['xmlio']\n        + extras_require['contrib']\n        + extras_require['shellcomplete']\n        + [\n            'pytest~=3.5',\n            'pytest-cov>=2.5.1',\n            'pytest-mock',\n            'pytest-benchmark[histogram]',\n            'pytest-console-scripts',\n            'pytest-mpl',\n            'pydocstyle',\n            'coverage>=4.0',  # coveralls\n            'papermill~=2.0',\n            'nteract-scrapbook~=0.2',\n            'jupyter',\n            'uproot~=3.3',\n            'graphviz',\n            'jsonpatch',\n        ]\n    )\n)\nextras_require['docs'] = sorted(\n    set(\n        [\n            'sphinx>=3.1.2',\n            'sphinxcontrib-bibtex',\n            'sphinx-click',\n            'sphinx_rtd_theme',\n            'nbsphinx',\n            'ipywidgets',\n            'sphinx-issues',\n            'sphinx-copybutton>0.2.9',\n        ]\n    )\n)\nextras_require['develop'] = sorted(\n    set(\n        extras_require['docs']\n        + extras_require['lint']\n        + extras_require['test']\n        + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']\n    )\n)\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\n\nsetup(\n    extras_require=extras_require,\n    use_scm_version=lambda: {'local_scheme': lambda version: ''},\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import setup\n\nextras_require = {\n    'shellcomplete': ['click_completion'],\n    'tensorflow': [\n        'tensorflow~=2.2.0',  # TensorFlow minor releases are as volatile as major\n        'tensorflow-probability~=0.10.0',\n    ],\n    'torch': ['torch~=1.2'],\n    'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n    'xmlio': ['uproot~=3.6'],  # Future proof against uproot4 API changes\n    'minuit': ['iminuit~=1.4,>=1.4.3'],  # Use \"name\" keyword in MINUIT optimizer\n}\nextras_require['backends'] = sorted(\n    set(\n        extras_require['tensorflow']\n        + extras_require['torch']\n        + extras_require['jax']\n        + extras_require['minuit']\n    )\n)\nextras_require['contrib'] = sorted(set(['matplotlib']))\nextras_require['lint'] = sorted(set(['pyflakes', 'black']))\n\nextras_require['test'] = sorted(\n    set(\n        extras_require['backends']\n        + extras_require['xmlio']\n        + extras_require['contrib']\n        + extras_require['shellcomplete']\n        + [\n            'pytest~=3.5',\n            'pytest-cov>=2.5.1',\n            'pytest-mock',\n            'pytest-benchmark[histogram]',\n            'pytest-console-scripts',\n            'pytest-mpl',\n            'pydocstyle',\n            'coverage>=4.0',  # coveralls\n            'papermill~=2.0',\n            'nteract-scrapbook~=0.2',\n            'jupyter',\n            'uproot~=3.3',\n            'graphviz',\n            'jsonpatch',\n        ]\n    )\n)\nextras_require['docs'] = sorted(\n    set(\n        [\n            'sphinx>=3.1.2',\n            'sphinxcontrib-bibtex',\n            'sphinx-click',\n            'sphinx_rtd_theme',\n            'nbsphinx',\n            'ipywidgets',\n            'sphinx-issues',\n            'sphinx-copybutton>0.2.9',\n        ]\n    )\n)\nextras_require['develop'] = sorted(\n    set(\n        extras_require['docs']\n        + extras_require['lint']\n        + extras_require['test']\n        + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']\n    )\n)\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\n\nsetup(\n    extras_require=extras_require,\n    use_scm_version=lambda: {'local_scheme': lambda version: ''},\n)\n", "path": "setup.py"}]}