From fd64c6d13b815a6f15bd85462e550790962bea1d Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 15 Mar 2024 11:35:46 -0400 Subject: [PATCH] Get ready for release 6.1.0 --- NEWS.md | 30 ++++++++++++++++++++++++++++++ admin-tools/make-dist-2.4-2.7.sh | 5 +++++ admin-tools/make-dist-3.0-3.2.sh | 6 +++++- admin-tools/make-dist-3.3-3.5.sh | 26 ++++++++++++++++++++++---- admin-tools/make-dist-3.6-3.10.sh | 22 ++++++++++++++++------ admin-tools/make-dist-newest.sh | 4 ++++ pyproject.toml | 16 ++++++++-------- xdis/version.py | 2 +- 8 files changed, 91 insertions(+), 20 deletions(-) diff --git a/NEWS.md b/NEWS.md index 48367091..6a744a6e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,33 @@ +6.1.0 2024-03-15 +================= + +Lots of changes major changes. API has changed. + +We now support many disassembly options: + * classic: disasm-like output + * bytes: disasm-like output with bytecode + * extended: simple interpretation of previous sequence of instructions + * extended-bytes: same as above, but with "bytes" bytecode ouptut + * header: show header/metadata information only + +This is reflected in the `--format` (`-F`) options on `pydisasm`. +Option `--show-source` (`-S`) gives add the source text line (or part of it) before assembly instructions that implement the line. + +Released Python magic numbers have been updated as of this release (up to Python 3.12.2, including PyPy magic numbers. + +Some support for the [GraalVM](https://www.graalvm.org/python/) +implementation of Python started. + +Many bugs fixed. + +A lot of Linting and coding style modernization. + +typing.NameTuple used for Python versions that support this. +Additional fields "start_offset" and "tos_str" added to instruction. + +Elliot Tarbet (2elli) largely provided support for Python 3.11 and 3.12 bytecode + + 6.0.5 2022-12-22 ================= diff --git a/admin-tools/make-dist-2.4-2.7.sh b/admin-tools/make-dist-2.4-2.7.sh index b8fdc070..5d38d2a4 100755 --- a/admin-tools/make-dist-2.4-2.7.sh +++ b/admin-tools/make-dist-2.4-2.7.sh @@ -21,6 +21,11 @@ source $PACKAGE/version.py echo $__version__ for pyversion in $PYVERSIONS; do + echo --- $pyversion --- + if [[ ${pyversion:0:4} == "pypy" ]] ; then + echo "$pyversion - PyPy does not get special packaging" + continue + fi if ! pyenv local $pyversion ; then exit $? fi diff --git a/admin-tools/make-dist-3.0-3.2.sh b/admin-tools/make-dist-3.0-3.2.sh index 08fdd6b3..f256d5b1 100644 --- a/admin-tools/make-dist-3.0-3.2.sh +++ b/admin-tools/make-dist-3.0-3.2.sh @@ -19,10 +19,14 @@ fi cd .. source $PACKAGE/version.py -echo $VERSION +echo $__version__ for pyversion in $PYVERSIONS; do echo --- $pyversion --- + if [[ ${pyversion:0:4} == "pypy" ]] ; then + echo "$pyversion - PyPy does not get special packaging" + continue + fi if ! pyenv local $pyversion ; then exit $? fi diff --git a/admin-tools/make-dist-3.3-3.5.sh b/admin-tools/make-dist-3.3-3.5.sh index 67492688..4a5371c4 100755 --- a/admin-tools/make-dist-3.3-3.5.sh +++ b/admin-tools/make-dist-3.3-3.5.sh @@ -19,22 +19,40 @@ fi cd .. source $PACKAGE/version.py -echo $VERSION +echo $__version__ for pyversion in $PYVERSIONS; do echo --- $pyversion --- + if [[ ${pyversion:0:4} == "pypy" ]] ; then + echo "$pyversion - PyPy does not get special packaging" + continue + fi if ! pyenv local $pyversion ; then - exit $? + exit $? fi # pip bdist_egg create too-general wheels. So # we narrow that by moving the generated wheel. - # Pick out first two number of version, e.g. 3.5.1 -> 35 + # Pick out first two numbers of version, e.g. 3.5.1 -> 35 first_two=$(echo $pyversion | cut -d'.' -f 1-2 | sed -e 's/\.//') rm -fr build python setup.py bdist_egg bdist_wheel - mv -v dist/${PACKAGE}-$VERSION-{py3,py$first_two}-none-any.whl + if [[ $first_two =~ py* ]]; then + if [[ $first_two =~ pypy* ]]; then + # For PyPy, remove the what is after the dash, e.g. pypy37-none-any.whl instead of pypy37-7-none-any.whl + first_two=${first_two%-*} + fi + mv -v dist/${PACKAGE}-$__version__-{py3,$first_two}-none-any.whl + else + mv -v dist/${PACKAGE}-$__version__-{py3,py$first_two}-none-any.whl + fi echo === $pyversion === done python ./setup.py sdist + +tarball=dist/${PACKAGE}-${__version__}.tar.gz +if [[ -f $tarball ]]; then + mv -v $tarball dist/${PACKAGE}_33-${__version__}.tar.gz +fi +finish diff --git a/admin-tools/make-dist-3.6-3.10.sh b/admin-tools/make-dist-3.6-3.10.sh index f55d5f49..7b322db9 100755 --- a/admin-tools/make-dist-3.6-3.10.sh +++ b/admin-tools/make-dist-3.6-3.10.sh @@ -3,11 +3,11 @@ PACKAGE=xdis # FIXME put some of the below in a common routine function finish { - cd $owd + cd $make_dist_36_owd } cd $(dirname ${BASH_SOURCE[0]}) -owd=$(pwd) +make_dist_36_owd=$(pwd) trap finish EXIT if ! source ./pyenv-3.6-3.10-versions ; then @@ -19,22 +19,32 @@ fi cd .. source $PACKAGE/version.py -echo $VERSION +echo $__version__ for pyversion in $PYVERSIONS; do echo --- $pyversion --- + if [[ ${pyversion:0:4} == "pypy" ]] ; then + echo "$pyversion - PyPy does not get special packaging" + continue + fi if ! pyenv local $pyversion ; then exit $? fi # pip bdist_egg create too-general wheels. So # we narrow that by moving the generated wheel. - # Pick out first two number of version, e.g. 3.5.1 -> 35 + # Pick out first two numbers of version, e.g. 3.5.1 -> 35 first_two=$(echo $pyversion | cut -d'.' -f 1-2 | sed -e 's/\.//') rm -fr build - # python setup.py bdist_egg bdist_wheel + python setup.py bdist_egg bdist_wheel mv -v dist/${PACKAGE}-$VERSION-{py3,py$first_two}-none-any.whl echo === $pyversion === done -# python ./setup.py sdist +python ./setup.py sdist + +tarball=dist/${PACKAGE}-${__version__}.tar.gz +if [[ -f $tarball ]]; then + mv -v $tarball dist/${PACKAGE}_36-${__version__}.tar.gz +fi +finish diff --git a/admin-tools/make-dist-newest.sh b/admin-tools/make-dist-newest.sh index 79a7ecb3..8d3bd9e9 100755 --- a/admin-tools/make-dist-newest.sh +++ b/admin-tools/make-dist-newest.sh @@ -23,6 +23,10 @@ echo $__version__ for pyversion in $PYVERSIONS; do echo --- $pyversion --- + if [[ ${pyversion:0:4} == "pypy" ]] ; then + echo "$pyversion - PyPy does not get special packaging" + continue + fi if ! pyenv local $pyversion ; then exit $? fi diff --git a/pyproject.toml b/pyproject.toml index 2a554e2b..9451022a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,14 +37,14 @@ classifiers = [ "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5 ", - "Programming Language :: Python :: 3.6 ", - "Programming Language :: Python :: 3.7 ", - "Programming Language :: Python :: 3.8 ", - "Programming Language :: Python :: 3.9 ", - "Programming Language :: Python :: 3.10 ", - "Programming Language :: Python :: 3.11 ", - "Programming Language :: Python :: 3.12 ", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] dynamic = ["version"] diff --git a/xdis/version.py b/xdis/version.py index bd73cfee..f14fc567 100644 --- a/xdis/version.py +++ b/xdis/version.py @@ -4,4 +4,4 @@ # well as importing into Python. That's why there is no # space around "=" below. # fmt: off -__version__="6.1.0.dev0" # noqa +__version__="6.1.0" # noqa