Skip to content

Commit 4f58dc1

Browse files
karthiknadigshsumankimadelinerchiodo
authored
Update changelog and version for point release. (#13610)
* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600) * Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554) * Update vscode-tas-client * Add experiment group enum * Add method to retrieve experiment values * Implementation + tests * News file * Update wording of the news entry * Add telemetry * More tests * No opting-in and out of this one * Don't fetch value if opted out, add tests * Address comments * Fix save on close (#13567) * Pass model through command instead of URI in order to use directly * Add a test to verify we don't regress * Finish fixing tests * Add news entry * Fix unit tests * Update changelog and version for point release. * Change date. * Format using latest black (#13625) Co-authored-by: Shantnu Suman <[email protected]> Co-authored-by: Kim-Adeline Miguel <[email protected]> Co-authored-by: Rich Chiodo <[email protected]>
1 parent 2b0bb51 commit 4f58dc1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+876
-182
lines changed

CHANGELOG.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,73 @@
11
# Changelog
22

3+
## 2020.8.2 (27 August 2020)
4+
5+
### Enhancements
6+
7+
1. Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing.
8+
([#13535](https://github.com/Microsoft/vscode-python/issues/13535))
9+
10+
### Fixes
11+
12+
1. Fix saving during close and auto backup to actually save a notebook.
13+
([#11711](https://github.com/Microsoft/vscode-python/issues/11711))
14+
1. Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window.
15+
([#13551](https://github.com/Microsoft/vscode-python/issues/13551))
16+
17+
### Thanks
18+
19+
Thanks to the following projects which we fully rely on to provide some of
20+
our features:
21+
22+
- [debugpy](https://pypi.org/project/debugpy/)
23+
- [isort](https://pypi.org/project/isort/)
24+
- [jedi](https://pypi.org/project/jedi/)
25+
and [parso](https://pypi.org/project/parso/)
26+
- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server)
27+
- [Pylance](https://github.com/microsoft/pylance-release)
28+
- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed)
29+
- [rope](https://pypi.org/project/rope/) (user-installed)
30+
31+
Also thanks to the various projects we provide integrations with which help
32+
make this extension useful:
33+
34+
- Debugging support:
35+
[Django](https://pypi.org/project/Django/),
36+
[Flask](https://pypi.org/project/Flask/),
37+
[gevent](https://pypi.org/project/gevent/),
38+
[Jinja](https://pypi.org/project/Jinja/),
39+
[Pyramid](https://pypi.org/project/pyramid/),
40+
[PySpark](https://pypi.org/project/pyspark/),
41+
[Scrapy](https://pypi.org/project/Scrapy/),
42+
[Watson](https://pypi.org/project/Watson/)
43+
- Formatting:
44+
[autopep8](https://pypi.org/project/autopep8/),
45+
[black](https://pypi.org/project/black/),
46+
[yapf](https://pypi.org/project/yapf/)
47+
- Interpreter support:
48+
[conda](https://conda.io/),
49+
[direnv](https://direnv.net/),
50+
[pipenv](https://pypi.org/project/pipenv/),
51+
[pyenv](https://github.com/pyenv/pyenv),
52+
[venv](https://docs.python.org/3/library/venv.html#module-venv),
53+
[virtualenv](https://pypi.org/project/virtualenv/)
54+
- Linting:
55+
[bandit](https://pypi.org/project/bandit/),
56+
[flake8](https://pypi.org/project/flake8/),
57+
[mypy](https://pypi.org/project/mypy/),
58+
[prospector](https://pypi.org/project/prospector/),
59+
[pylint](https://pypi.org/project/pylint/),
60+
[pydocstyle](https://pypi.org/project/pydocstyle/),
61+
[pylama](https://pypi.org/project/pylama/)
62+
- Testing:
63+
[nose](https://pypi.org/project/nose/),
64+
[pytest](https://pypi.org/project/pytest/),
65+
[unittest](https://docs.python.org/3/library/unittest.html#module-unittest)
66+
67+
And finally thanks to the [Python](https://www.python.org/) development team and
68+
community for creating a fantastic programming language and community to be a
69+
part of!
70+
371
## 2020.8.1 (20 August 2020)
472

573
### Fixes

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "python",
33
"displayName": "Python",
44
"description": "Linting, Debugging (multi-threaded, remote), Intellisense, Jupyter Notebooks, code formatting, refactoring, unit tests, snippets, and more.",
5-
"version": "2020.8.1",
5+
"version": "2020.8.2",
66
"featureFlags": {
77
"usingNewInterpreterStorage": true
88
},
@@ -3527,7 +3527,7 @@
35273527
"vscode-languageclient": "^7.0.0-next.8",
35283528
"vscode-languageserver": "^7.0.0-next.6",
35293529
"vscode-languageserver-protocol": "^3.16.0-next.6",
3530-
"vscode-tas-client": "^0.0.864",
3530+
"vscode-tas-client": "^0.1.4",
35313531
"vsls": "^0.3.1291",
35323532
"winreg": "^1.2.4",
35333533
"winston": "^3.2.1",

pythonFiles/completion.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ def _get_top_level_module(cls, path):
8686
return path
8787

8888
def _generate_signature(self, completion):
89-
"""Generate signature with function arguments.
90-
"""
89+
"""Generate signature with function arguments."""
9190
if completion.type in ["module"] or not hasattr(completion, "params"):
9291
return ""
9392
return "%s(%s)" % (
@@ -551,8 +550,8 @@ def _set_request_config(self, config):
551550

552551
def _normalize_request_path(self, request):
553552
"""Normalize any Windows paths received by a *nix build of
554-
Python. Does not alter the reverse os.path.sep=='\\',
555-
i.e. *nix paths received by a Windows build of Python.
553+
Python. Does not alter the reverse os.path.sep=='\\',
554+
i.e. *nix paths received by a Windows build of Python.
556555
"""
557556
if "path" in request:
558557
if not self.drive_mount:
@@ -569,8 +568,7 @@ def _normalize_request_path(self, request):
569568
request["path"] = newPath
570569

571570
def _process_request(self, request):
572-
"""Accept serialized request from VSCode and write response.
573-
"""
571+
"""Accept serialized request from VSCode and write response."""
574572
request = self._deserialize(request)
575573

576574
self._set_request_config(request.get("config", {}))

pythonFiles/refactor.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ class ChangeType:
5252

5353

5454
class Change:
55-
"""
56-
"""
55+
""""""
5756

5857
EDIT = 0
5958
NEW = 1
@@ -337,8 +336,7 @@ def _deserialize(self, request):
337336
return json.loads(request)
338337

339338
def _process_request(self, request):
340-
"""Accept serialized request from VSCode and write response.
341-
"""
339+
"""Accept serialized request from VSCode and write response."""
342340
request = self._deserialize(request)
343341
lookup = request.get("lookup", "")
344342

pythonFiles/tests/debug_adapter/test_install_debugpy.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ def _check_binaries(dir_path):
1919

2020

2121
@pytest.mark.skipif(
22-
sys.version_info[:2] != (3, 7), reason="DEBUGPY wheels shipped for Python 3.7 only",
22+
sys.version_info[:2] != (3, 7),
23+
reason="DEBUGPY wheels shipped for Python 3.7 only",
2324
)
2425
def test_install_debugpy(tmpdir):
2526
import install_debugpy

pythonFiles/tests/testing_tools/adapter/pytest/test_cli.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ def test_discover(self):
3535
add_subparser("discover", "pytest", subparsers)
3636

3737
self.assertEqual(
38-
stub.calls, [("subparsers.add_parser", None, {"name": "pytest"}),]
38+
stub.calls,
39+
[
40+
("subparsers.add_parser", None, {"name": "pytest"}),
41+
],
3942
)
4043

4144
def test_unsupported_command(self):

pythonFiles/tests/testing_tools/adapter/pytest/test_discovery.py

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,21 @@ def normcase(path):
185185
raise NotImplementedError
186186
##########
187187
def _fix_fileid(*args):
188-
return fix_fileid(*args, **dict(_normcase=normcase, _pathsep=pathsep,))
188+
return fix_fileid(
189+
*args,
190+
**dict(
191+
_normcase=normcase,
192+
_pathsep=pathsep,
193+
)
194+
)
189195

190196
def _normalize_test_id(*args):
191197
return pytest_item._normalize_test_id(
192-
*args, **dict(_fix_fileid=_fix_fileid, _pathsep=pathsep,)
198+
*args,
199+
**dict(
200+
_fix_fileid=_fix_fileid,
201+
_pathsep=pathsep,
202+
)
193203
)
194204

195205
def _iter_nodes(*args):
@@ -203,20 +213,39 @@ def _iter_nodes(*args):
203213
)
204214

205215
def _parse_node_id(*args):
206-
return pytest_item._parse_node_id(*args, **dict(_iter_nodes=_iter_nodes,))
216+
return pytest_item._parse_node_id(
217+
*args,
218+
**dict(
219+
_iter_nodes=_iter_nodes,
220+
)
221+
)
207222

208223
##########
209224
def _split_fspath(*args):
210-
return pytest_item._split_fspath(*args, **dict(_normcase=normcase,))
225+
return pytest_item._split_fspath(
226+
*args,
227+
**dict(
228+
_normcase=normcase,
229+
)
230+
)
211231

212232
##########
213233
def _matches_relfile(*args):
214234
return pytest_item._matches_relfile(
215-
*args, **dict(_normcase=normcase, _pathsep=pathsep,)
235+
*args,
236+
**dict(
237+
_normcase=normcase,
238+
_pathsep=pathsep,
239+
)
216240
)
217241

218242
def _is_legacy_wrapper(*args):
219-
return pytest_item._is_legacy_wrapper(*args, **dict(_pathsep=pathsep,))
243+
return pytest_item._is_legacy_wrapper(
244+
*args,
245+
**dict(
246+
_pathsep=pathsep,
247+
)
248+
)
220249

221250
def _get_location(*args):
222251
return pytest_item._get_location(
@@ -286,7 +315,9 @@ def test_failure(self):
286315

287316
self.assertEqual(
288317
stub.calls,
289-
[("pytest.main", None, {"args": self.DEFAULT_ARGS, "plugins": [plugin]}),],
318+
[
319+
("pytest.main", None, {"args": self.DEFAULT_ARGS, "plugins": [plugin]}),
320+
],
290321
)
291322

292323
def test_no_tests_found(self):
@@ -778,7 +809,9 @@ def test_doctest(self):
778809
id="./x/y/z/test_eggs.py::test_eggs",
779810
name="test_eggs",
780811
path=TestPath(
781-
root=testroot, relfile=fix_relpath(relfile), func=None,
812+
root=testroot,
813+
relfile=fix_relpath(relfile),
814+
func=None,
782815
),
783816
source="{}:{}".format(fix_relpath(relfile), 1),
784817
markers=[],
@@ -801,7 +834,9 @@ def test_doctest(self):
801834
id="./x/y/z/test_eggs.py::test_eggs.TestSpam",
802835
name="test_eggs.TestSpam",
803836
path=TestPath(
804-
root=testroot, relfile=fix_relpath(relfile), func=None,
837+
root=testroot,
838+
relfile=fix_relpath(relfile),
839+
func=None,
805840
),
806841
source="{}:{}".format(fix_relpath(relfile), 13),
807842
markers=[],
@@ -824,7 +859,9 @@ def test_doctest(self):
824859
id="./x/y/z/test_eggs.py::test_eggs.TestSpam.TestEggs",
825860
name="test_eggs.TestSpam.TestEggs",
826861
path=TestPath(
827-
root=testroot, relfile=fix_relpath(relfile), func=None,
862+
root=testroot,
863+
relfile=fix_relpath(relfile),
864+
func=None,
828865
),
829866
source="{}:{}".format(fix_relpath(relfile), 28),
830867
markers=[],

pythonFiles/tests/testing_tools/adapter/test___main__.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ def test_unsupported_command(self):
4848

4949
class ParseDiscoverTests(unittest.TestCase):
5050
def test_pytest_default(self):
51-
tool, cmd, args, toolargs = parse_args(["discover", "pytest",])
51+
tool, cmd, args, toolargs = parse_args(
52+
[
53+
"discover",
54+
"pytest",
55+
]
56+
)
5257

5358
self.assertEqual(tool, "pytest")
5459
self.assertEqual(cmd, "discover")
@@ -88,7 +93,13 @@ def test_pytest_full(self):
8893

8994
def test_pytest_opts(self):
9095
tool, cmd, args, toolargs = parse_args(
91-
["discover", "pytest", "--simple", "--no-hide-stdio", "--pretty",]
96+
[
97+
"discover",
98+
"pytest",
99+
"--simple",
100+
"--no-hide-stdio",
101+
"--pretty",
102+
]
92103
)
93104

94105
self.assertEqual(tool, "pytest")
@@ -120,8 +131,14 @@ def test_discover(self):
120131
"discover",
121132
{"spam": "eggs"},
122133
[],
123-
_tools={tool.name: {"discover": tool.discover,}},
124-
_reporters={"discover": reporter.report,},
134+
_tools={
135+
tool.name: {
136+
"discover": tool.discover,
137+
}
138+
},
139+
_reporters={
140+
"discover": reporter.report,
141+
},
125142
)
126143

127144
self.assertEqual(

0 commit comments

Comments
 (0)