Skip to content

Releases: rocky/python-uncompyle6

3.9.2

21 Jul 23:13
Compare
Choose a tag to compare
  • track xdis API changes
  • Bug fixes and lint

BlackHat Asia 2024 Ides of March

16 Mar 07:56
Compare
Choose a tag to compare

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

23 Dec 05:06
Compare
Choose a tag to compare
  • 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

30 Oct 02:43
Compare
Choose a tag to compare
  • 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

05 Sep 10:12
Compare
Choose a tag to compare
  • 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

25 Jul 19:39
Compare
Choose a tag to compare

Mostly small miscellaneous bug fixes

  • __doc__ = DocDescr() from test_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

28 Jun 03:20
Compare
Choose a tag to compare
  • Use newer xdis
  • Docstrings (again) which were broken again on earlier Python
  • Fix 2.6 and 2.7 decompilation bug in handling "list if" comprehensions

Fleetwood66

13 Jun 01:28
Compare
Choose a tag to compare

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() of python3.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

19 May 05:31
Compare
Choose a tag to compare

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

19 May 05:30
Compare
Choose a tag to compare

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