uncompyle6 2.6.0 2016-07-07

- Improve Python 2.6 bytecode deparsing:
  stdlib now will deparse something
- Better <2.6 vs. 2.7 grammar separation
- Fix some 2.7 deparsing bugs
- Fix bug in installing uncompyle6 script
- Doc improvments

uncompyle6 2.5.0 2016-06-22  Summer Solstace

- Much better Python 3.2-3.5 coverage.
  3.4.6 is probably the best;3.2 and 3.5 are weaker
- Better AST printing with -t
- Better error reporting
- Better fragment offset tracking
- Some (much-needed) code refactoring

uncompyle6 2.4.0 2016-05-18 (in memory of Lewis Bernstein)

- Many Python 3 bugs fixed:
  * Python 3.2 to 3.5 libaries largely
    uncompyle and most verify
- pydisassembler:
  * disassembles all code objects in a file
  * can select showing bytecode before
    or after uncompyle mangling, option -U
- DRY scanner code (but more is desired)
- Some code cleanup (but more is desired)
- Misc Bugs fixed:
  * handle complex number unmarshaling
  * Running on Python 2 to works on Python 3.5 bytecodes now

uncompyle6 2.3.5 and 2.3.6 2016-05-14

- Python 2 class decorator fix (thanks to Tey)
- Fix fragment parsing bugs
- Fix some Python 3 parsing bugs:
  * Handling single in * parameter
  * "while True"
  * escape from for inside if
  * yield expressions
- Correct history based on info from Dan Pascu
- Fix up pip packaging, ugh.

uncompyle6 2.3.4 2016-05-5

- More Python 3.5 parsing bugs addressed
- decompiling Python 3.5 from other Python versions works
- test from Python 3.2
- remove "__module__ = __name__" in 3.0 <= Python 3.2

uncompyle6 2.3.3 2016-05-3

- Fix bug in running uncompyle6 script on Python 3
- Speed up performance on deparsing long lists by grouping in chunks of 32 and 256 items
- DRY Python expressions between Python 2 and 3

uncompyle6 2.3.2 2016-05-1

- Add --version option standalone scripts
- Correct License information in package
- expose fns uncompyle_file, load_file, and load_module
- Start to DRY Python2 and Python3 grammars Separate out 3.2, and 3.5+
  specific grammar code
- Fix bug in 3.5+ constant map parsing

uncompyle6 2.3.0, 2.3.1 2016-04-30

- Require spark_parser  >= 1.1.0

uncompyle6 2.2.0 2016-04-30

- Spark is no longer here but pulled separate package spark_parse
- Python 3 parsing fixes
- More tests

uncompyle6 2.2.0 2016-04-02

- Support single-mode (in addtion to exec-mode) compilation
- Start to DRY Python 2 and Python 3 grammars
- Fix bug in if else ternary  construct
- Fix bug in uncomplye6 -d and -r options (via lelicopter)


uncompyle6 2.1.3 2016-01-02

- Limited support for decompiling Python 3.5
- Improve Python 3 class deparsing
- Handle MAKE_CLOSURE opcode
- Start to DRY opcode code.
- increase test coverage
- fix misc small bugs and some improvements

uncompyle6 2.1.2 2015-12-31

- Fix cross-version Marshal loading
- Handle Python 3.3 . dotted class names
- Limited 3.5 support: allows deparsing other versions
- Refactor code more, misc bug fixes

uncompyle6 2.1.1 2015-12-27

- packaging issues

uncompyle6 2.1.0 2015-12-27

- Python 3.x deparsing much more solid
- Better cross-version deparsing

Some bugs squashed while other run rampant. Some code cleanup while
much more is yet needed. More tests added, but many more are needed.


uncompyle6 2.0.0 2015-12-11

Changes from uncompyle2

- Can give code fragments given an instruction offset. See
  https://github.com/rocky/python-uncompyle6/wiki/Deparsing-technology-and-its-use-in-exact-location-reporting
- Runs under Python3. Decompiles Python 2.5-2.7 and some Python 3.2-3.4
- Allows for multiple Python grammars, specifically Python2 vs Python 3
- Add a cross-version Python disassembler command-line utility
- Add some py.test and start reorganizing tests

SPARK:
  add option to show grammar rules applied
  allow Python-style # comments in grammar
  Runs on Python 3 and Python 2
