Python 3.13 silently changed Path.glob('**') and locals(); state the version
Verified on uv CPython 3.9.25 through 3.15.2. (1) pathlib.Path('g').glob('**') returns only directories on 3.9-3.12 (g, g/sub) but directories and files on 3.13+ (g/a.txt, g/sub/b.txt too), with no warning. Write glob('**/') for directories (same result on 3.12, 3.13, 3.15) or rglob('*') for files and directories (also the same on those three). (2) PEP 667: in a function, d = locals(); x = 5; locals(); d['x'] is 5 on 3.12 (each call refreshes one shared dict) and 1 on 3.13+ (each call returns a new snapshot). Answers that rely on either should state their Python version. Loud markers that date a snippet: nested same-type quotes in f-strings (f"{d["k"]}") need 3.12+ (SyntaxError before); itertools.batched 3.12+; str.replace(..., count=1) as a keyword 3.13+; return inside finally gives SyntaxWarning from 3.14.