Releases: rocky/python-uncompyle6
Releases · rocky/python-uncompyle6
3.9.2
BlackHat Asia 2024 Ides of March
Lots of changes major changes. track xdis API has changes.
Separate Phases more clearly:
- disassembly
- tokenization
- parsing
- abstracting to AST (more is done in newer projects)
- printing
Although we do not decompile bytecode greater than 3.8, code supports running from up to 3.12.
Many bugs fixed.
A lot of Linting and coding style modernization.
Work done in preparation for Blackhat Asia 2024
Season Update
- deparse generator expressions for Python 3.0 .. 3.2
- Python 3.0 list comprehension.
- Fix Issues #310, #344, #377, #391, #409, #414
- Limited support for 3.8+ f-string "=" specifier
- Correct 2.5-7 relative import formatting
- Miscellaneous bug fixing
- remove \n in lambda
- Python 2.6 gramar cleanup
- Correct some Python 2.6 chain compare decompilation
- Ensure no parenthesis subscript slices
- Correct 2.x formatting "slice2" nonterminal
- Correct 3.7 imports
- Improve "async for" parsing
- Handle BUILD_MAP opcode
- match Python AT better
- Correct 3.7 positional args
- PyPy 3.7 and PyPy 3.8 support
- Miscellaneous linting, isorting, blacking
Jed + Rocky average
- Better handling of invalid bytecode magic
- Support running from 3.9 and 3.10 although we do not support those bytecodes
- Redo version comparisons using tuples instead of floats. This is needed for Python 3.10
- Split out into 3 branches so that the master branch can assume Python 3.6+ conventions, especially type annotations
- Source Fragment fixes
- Lambda-bug fixes #360
- Bug fixes
3.7.4
- Fragment parsing was borked. This means deparsing in trepan2/trepan3k was broken
- 3.7+: narrow precedence for call tatement
- del_stmt -> delete to better match Python AST
- 3.8+ Add another
forelsestmt
(found only in a loop) - 3.8+ Add precedence on walrus operator
- More files blackened
- bump min xdis version
3.7.3
Mostly small miscellaneous bug fixes
__doc__ = DocDescr()
fromtest_descr.py
was getting confused as a docstring.- detect 2.7 exchandler range better
- Add for .. else reduction checks on 2.6 and before
- Add reduce check for 2.7 augmented assign
- Add VERSION in a pydoc-friendly way
3.7.2
Fleetwood66
Released to pick up new xdis version which has fixes to read bytestings better on 3.x
- Handle 3.7+ "else" branch removal adAs seen in
_cmp()
ofpython3.8/distutils/version.py
with optimization-O2
- 3.6+ "with" and "with .. as" grammar improvements
- ast-check for "for" loop was missing some grammar rules
Primidi 1st Prairial - Alfalfa - HF
The main impetus for this release is to pull in the recent changes from xdis.
We simplify imports using xdis 4.6.0.
There were some bugfixes to Python 3.4-3.8. See the ChangeLog for details
Love in the Time of Cholera
The main reason for this release is an incompatablity bump in xdis which handles
3.7 SipHash better.
- Go over "yield" as an expression precidence
- Some small alignment with code in decompyle3 for "or" and "and" was done