Changelog
=========

+ Version 0.23 (08.11.2014)

  - Minimal Python 2.x version raised to 2.7
  - Basic support for MIPS (contributed by Karl Vogel).
  - Support for PT_NOTE segment parsing (contributed by Alex Deymo).
  - Support for parsing symbol table in dynamic segment
    (contributed by Nam T. Nguyen).

+ Version 0.22 (30.03.2014)

  - pyelftools repository moved to https://github.com/eliben/pyelftools
  - Support for version sections - contributed by Yann Rouillard.
  - Better ARM support (including AArch64) - contributed by Dobromir Stefanov.
  - Added some initial support for parsing Solaris OpenCSW ELF files
    (contributed by Yann Rouillard).
  - Added some initial support for DWARF4 (as generated by gcc 4.8)
    and DWARF generated by recent versions of Clang (3.3).
  - Added the get_full_path utility method to DIEs that have an associated
    file name / path (based on pull request #16 by Shaheed Haque).
  - Set up Travis CI integration.

+ Version 0.21 (17.04.2013)

  - Added new example: dwarf_decode_address - decode function name and
    file & line information from an address.
  - Issue #7: parsing incorrect DWARF was made a bit more forgiving for cases
    where serialized DIE trees have extra NULLs at the end.
  - Very initial support for ARM ELF files (Matthew Fernandez - pull
    request #6).
  - Support support for dumping the dynamic section (Mike Frysinger - pull
    request #7).
  - Output of scripts/readelf.py now matches that of binutils 2.23.52.
  - Added more machine EM_ values to ENUM_E_TYPE.

+ Version 0.20 (27.01.2012)

  - Python 3 support
  - Fixed some problems with running tests
  - Issue #2: made all examples run (and test/run_examples_test.py pass)
    on Windows.

+ Version 0.10 - Initial public release (06.01.2012)
