------------------------------------------------------------------- Tue Feb 21 07:36:59 UTC 2023 - Daniel Garcia - Skip python 3.11, not yet supported, gh#rocky/python-xdis#98 - Update to version 6.0.5 * Detect versions pypy3.8.15, pypy-3.9.15 * Dectect Python 3.{7,8,9}.14 3.10.{5,6,7} * correct 3.10+ pydisasm -F xasm label * Revise marshal error handling (Issue #97) * Improve PyPy 3.7 CALL_FUNCTION arg interpretation * Fix 1.5-2.x bugs in line number encoding * Fix showing MAKE_FUNCTION operand * Miscellaneous lint, black, and isort changes ------------------------------------------------------------------- Tue Oct 11 17:24:18 UTC 2022 - Yogalakshmi Arunachalam - Update to version 6.0.4 * Detect 3.7.[7-13], 3.9.[8-13], 3.10.[1-4], PyPy 2.7.12, 3.[8-9]pypy * Correct line-number detection on Python 1.0-1.4 * Handle SET_LINENO in older pythons * Warn about wrong names in after RESERVE_FAST in Python 1.x * Some PyPy x-3.9.7 tolerance * Add Pypy 3.8 support * Better PyPy 3.6 formatting * Correct relative jump target calculation in 3.10 ------------------------------------------------------------------- Fri Feb 4 00:25:56 UTC 2022 - Steve Kowalik - Update to 6.0.3: * xasm format fixes * more Python version tuple compare conversions * add version_str_to_tuple() to convert the other way. This is useful in xasm, for example. * Reduce PYTHON_VERSION usage in xdis. * Allow optional delimiter and start length in version_tuple_to_str() * fix logic bug in setting MAGIC * Add a little Python 3.8.5 Graal (Java VM) knowledge. * Add PyPy 3.8 opcodes and disassembly * Accept Python 3.8.12 * Fix some small lingering bugs introduced converting Python version number floats to tuples * Reworked for Python 3.10. * Add 3.10 opcodes. * Add 3.9 and 3.10 testing. * Some tolerance for running from 3.11 * Update magic numbers * Expanding testing to include pyston and PyPy 3.7 * Added knowledge of Python versions 3.6.15 and 3.7.12. * Restrict wheel packaging for Python 3 only. * Use the wheel for only the 3.x and newer version of Python. * Add Python version 3.9.7 * Document unmarshal better * Correct stack information for IMPORT_NAME * Fix bug in code type handling where bytes were showing up as strings * More type annotations in master branch. Create more older variations without annotations * Add Python versions 3.9.6, 3.7.11, 3.8.11, and 3.6.14 * Note Python versions 3.8.10 and 3.9.5 * Incorrect variable name in marshal dump (used in writting .pyc files). PR #77 * Improve 3.9 IS_OP and CONTAINS_OP operand formatting * Correct disassembly of 3.9 bytecode from other bytecode * Accept 3.9.3 and 3.9.4 as a valid 3.9 version * Accept 3.8.9 as a valid 3.8 version - Rename python-xdis.patch to be slightly more descriptive: ignore-patchlevel-in-python-version.patch, and rebase it. ------------------------------------------------------------------- Fri Jan 22 05:41:10 UTC 2021 - Steve Kowalik - Switch to python_alternative for pydisasm script ------------------------------------------------------------------- Thu Dec 31 08:08:08 UTC 2020 - olaf@aepfle.de - update to 5.0.6: * Add support for Python2.7 on Ubuntu 20.04 * Bump versions for Python 3.8.6 and 3.5.10 * `VERSION` -> `__version__` because Python prefers it that way - Fix issue#71 with python-xdis.patch ------------------------------------------------------------------- Wed Sep 16 21:33:45 UTC 2020 - Dirk Mueller - udpate to 5.0.4: * Add python versions 3.6.12, 3.7.9 * extended arg disassembly handling for {LOAD,STORE}_ATTR * Add versions 3.8.5, 3.7.8, and 3.6.11 * Clarify changes to 3.8 `ROT_FOUR` * Update 3.9 magics and opcodes * Add Python 3.8.4 as a 3.8 release * pydisasm.py Python 3.3 tolerance * Make pydoc's version reporting show xdis's version ------------------------------------------------------------------- Tue Jul 21 12:10:17 UTC 2020 - Marketa Calabkova - Update to 5.0.1 * Routines for extracting line and offset information from code objects was added. * Disassembly format and options have simplified and improved. * Before, we had separate flags and command-line options for whether to show just the header, and whether to include bytecode ops in the output. Now there is just a single parameter called `asm_format`, and choice option `--format` (short option `-F`). * Small fixes and improvements ------------------------------------------------------------------- Wed Jun 3 08:24:47 UTC 2020 - Steve Kowalik - Update to 4.6.1: * A portable version of types.CodeType was rewritten. * Python 3.8-ish `replace()` method has been added to the portable code types * Portable code type classes `Code13`, `Code15` have been added to more precisely distinguish Python 1.3 and 1.5 code types. The other portable code classes are `Code2`, `Code3`, and `Code38`. * the to_native() conversts a portable code type into a native code type * the `decode_lineno_tab()` method on portable code types from Python 1.5 on decompresses the Python encode line number table into a dictionary mapping offset to line number. * The module `xdis.code` has been remamed to `xdis.codetype`. * `load_module()` and `load_module_from_file_object()` now return a couple more parameters. * --asm option fixes * Show sip hash in 3.7+ when that is used * Handle PEP 552 bytecode-file variations more properly * Detect more intermediate Python versions in `load_code_from_file_object()` * 3.8+ posonlyargcount in assembly... rename Kw-only field to Keyword-only * Add 3.5 canonic bytecode version Marshal `dumps()` * convert from byte() to str() in dumps() when needed in 3.x * to_native() convert to bytes from string when needed in 3.x. * clean up loading code by using float version values rather than magic values * `stack_effects()` checked against Python 3.4+ is now in place. * Added `stack_effects()` function to `std.py` since this is part of the API * `cross_xdis.py` file/module now has `dis.py` functions split off from `bytecod e.py` * `Instructions` class is in its own module too. * Python 2.7.18 added into magics. * Fix bug in marshal for 3.8+ (include posonlyargcount) * Go over stack effects from 2.5 to 3.4 using and idea from Maynard * Expand stack-effect testing * 3.8.3 added as a valid 3.8 release * command program `pydisasm` disassembles more Python source files now * Add better arguemnt formatting on `CALL_FUNCTION` and `MAKE_FUNCTION` * bytecode.py now has `distb` * opcode modules now have variable `python_implemenation` which is either "CPyth on" or "PyPY" * Reformat a number of files using blacken, and lint using flymake * Update `__init__.py` exports based on what is used in projects `uncompyle6`, ` decompyle3`, `trepan3k`, `xasm` and `x-python` * Remove duplicate `findlinestarts()` code. Remove testing on the Python version and simplify this where possible. * get_opcode_module allows either a float and string datatype for the version, and coverts the bytecode datatype when needed * Fix a bugs in marshal and unmarshal * Go over magics numbers, yet again * Fix a bad bug in handling byte constants in 3.x. - Skip a flaky test. ------------------------------------------------------------------- Thu Apr 16 07:33:45 UTC 2020 - Tomáš Chvátal - Update to 4.2.4: * Add Instruction instance methods: #Instruction.is_jump() and #Instruction.jumps_forward() ------------------------------------------------------------------- Tue Mar 24 15:22:55 UTC 2020 - pgajdos@suse.com - version update to 4.2.3 * Add Python versions: 3.7.7, 3.8.2, and 3.9.0alpha1, * Create a class for "STORE" instructions * facilitate code type freezing (PR #57) * Warn about cross-decompilation problems for byte types - deleted patches - py382.patch (upstreamed) ------------------------------------------------------------------- Mon Mar 9 16:45:15 UTC 2020 - Tomáš Chvátal - Add patch to work with 3.8.2: * py382.patch ------------------------------------------------------------------- Thu Feb 6 12:27:12 UTC 2020 - Marketa Calabkova - update to 4.2.2 * Add Python versions: 3.6.10, 3.7.6. 3.8.1 * Update 3.9-dev to 3.9.0alpha2 * Add interpolation of FUNCTION_CALL_{KW,EX} argument for 3.7-3.9 * Better output of complex type values * Correct and clean up compiler flags. ------------------------------------------------------------------- Tue Dec 3 14:27:40 UTC 2019 - Tomáš Chvátal - Update to 4.1.3: * Various dependency fixes ------------------------------------------------------------------- Wed Nov 6 12:12:41 UTC 2019 - Tomáš Chvátal - Update to 4.1.2: * Python 3.8.0 magic changed * More Pypy 3.6 tolerance * Fixed DeprecationWarning; thanks to laike9m ------------------------------------------------------------------- Wed Oct 30 12:39:55 UTC 2019 - Tomáš Chvátal - Update to 4.1.1: * Fix unmarshaling 3.4+ object_ref bugs. A big thanks to Armin Rigo of the PyPy team. * Add Pypy 3.6+ disassembly, e.g. pypy3.6-7.1.0 and pypy3.6-7.1.1 * Add Python 3.7.5, 2.7.16, 2.7.17rc1, and 2.7.15candidate1 as a valid releases * convert unmarshal if .. elif code to a dictionary lookup with function entries * Handle newer Python importlib - thanks to laike9m * Add early bytecodes: 1.0, 1.1, 1.2, and 1.6. Going off of pycdc bytecode since this is the only bytecode for these versions I know of * Fix bug in Python 3.x decompiling 2.x that contains strings with non-ascii characters * More generally, better handling of non-ascii Python 2 strings in both input and output in Python 3 * pypy 3.6-7.1.0 tolerance ------------------------------------------------------------------- Fri Oct 4 08:29:23 UTC 2019 - Tomáš Chvátal - Update to 4.0.4: * Add most-recent 3.8 magic number * Remove some 3.8 invalid escape warnings ------------------------------------------------------------------- Mon Aug 19 08:46:02 UTC 2019 - Tomáš Chvátal - Update to 4.0.3: * Support 3.8.0beta2; Code38 type with posonlyargcount field * Add Python versions 3.4.10, 3.7.4 and 3.6.9 * script no longer works to install pydisasm; entry_points still works * Add pypy 3.6 opcode formatting for MAKE_FUNCTION and EXTENDED_ARG * Add format_CALL_function and use it or pypy36 * Start using "blacken" to reformat Python files ------------------------------------------------------------------- Fri Jun 28 11:14:26 UTC 2019 - Andreas Färber - Initial (v4.0.2)