Get ready for release 3.6.1

This commit is contained in:
rocky
2019-12-24 12:17:01 -05:00
parent 8b48f62fc8
commit 6be3656ceb
4 changed files with 79 additions and 11 deletions

33
NEWS.md
View File

@@ -1,3 +1,36 @@
3.6.1: 2019-12-10 Christmas Hannukah
====================================
Overall, as in the past, the focus has been on just fixing bugs, more geared
in the later 3.x range. Handling "async for/with" in 3.8+ works better.
Numerous bugs around handling `lambda` with keyword-only and `*` args in the
3.0-3.8 have been fixed. However many still remain.
`binary_expr` and `unary_expr` have been renamed to `bin_op` and
`unary_op` to better correspond the Python AST names.
Some work was done Python 3.7+ to handle `and` better; less was done
along the lines of handling `or`. Much more is needed to improve
parsing stability of 3.7+. More of what was done with `and` needs to
be done with `or` and this will happen first in the "decompyle3"
project.
Later this will probably be extended backwards to handle the 3.6-
versions better. This however comes with a big decompilation speed
penalty. When we redo control flow this should go back to normal, but
for now, accuracy is more important than speed.
Another `assert` transform rule was added. Parser rules to distingish
`try/finally` in 3.8 were added and we are more stringent about what
can be turned into an `assert`. There was some grammar cleanup here
too.
A number of small bugs were fixed, and some administrative changes to
make `make check-short` really be short, but check more throughly what
it checks. See the `ChangeLog` for details.
3.6.0: 2019-12-10 gecko gecko
=============================

View File

@@ -58,7 +58,7 @@ entry_points = {
]}
ftp_url = None
install_requires = ["spark-parser >= 1.8.9, < 1.9.0",
"xdis >= 4.2.1, < 4.3.0"]
"xdis >= 4.2.2, < 4.3.0"]
license = "GPL3"
mailing_list = "python-debugger@googlegroups.com"

View File

@@ -148,10 +148,11 @@ case $PYVERSION in
SKIP_TESTS[test_base64.py]=1
fi
;;
3.3)
3.2)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_ast.py]=1 # Look at: AssertionError: b'hi' != 'hi'
[test_dis.py]=1 # We change line numbers - duh!
[test_quopri.py]=1 # TypeError: Can't convert 'bytes' object to str implicitly
)
if (( batch )) ; then
# Fails in crontab environment?
@@ -161,10 +162,36 @@ case $PYVERSION in
fi
;;
3.5)
3.3)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_decorators.py]=1 # Control flow wrt "if elif"
)
if (( batch )) ; then
# Fails in crontab environment?
# Figure out what's up here
SKIP_TESTS[test_exception_variations.py]=1
SKIP_TESTS[test_quopri.py]=1
fi
;;
3.4)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_dis.py]=1 # We change line numbers - duh!
)
if (( batch )) ; then
# Fails in crontab environment?
# Figure out what's up here
SKIP_TESTS[test_exception_variations.py]=1
SKIP_TESTS[test_quopri.py]=1
fi
;;
3.5)
SKIP_TESTS=(
[test_ast.py]=1 #
[test_atexit.py]=1 #
[test_builtin.py]=1 #
[test_compare.py]=1
[test_dis.py]=1 # We change line numbers - duh!
)
if (( batch )) ; then
@@ -177,11 +204,18 @@ case $PYVERSION in
3.6)
SKIP_TESTS=(
[test_ast.py]=1 #
[test_atexit.py]=1 #
[test_bdb.py]=1 #
[test_builtin.py]=1 #
[test_compare.py]=1
[test_compile.py]=1
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_contextlib_async.py]=1 # Investigate
[test_coroutines.py]=1 # Parse error
[test_curses.py]=1 # Parse error
[test_dis.py]=1 # We change line numbers - duh!
[test_pow.py]=1 # Control flow wrt "continue"
[test_quopri.py]=1 # Only fails on POWER
[test_quopri.py]=1 # AssertionError: b'123=four' != '123=four'
)
;;
3.7)
@@ -193,6 +227,7 @@ case $PYVERSION in
[test_builtin.py]=1 #
[test_cmdline.py]=1 # Interactive?
[test_codecs-3.7.py]=1
[test_collections.py]=1 # Fixed I think in decompyle3 - pull from there
[test_compare.py]=1
[test_compile.py]=1
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
@@ -208,7 +243,7 @@ case $PYVERSION in
3.8)
SKIP_TESTS=(
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
[test_collections.py]=1 # parse error
[test_collections.py]=1 # Fixed I think in decompyle3 - pull from there
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_dis.py]=1 # We change line numbers - duh!
[test_pow.py]=1 # Control flow wrt "continue"

View File

@@ -12,4 +12,4 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This file is suitable for sourcing inside bash as
# well as importing into Python
VERSION="3.6.0" # noqa
VERSION="3.6.1" # noqa