Changelog
=========

+ Version 0.26 (2019.12.05)

  - Call relocation for ARM v3 (#194)
  - More complete architecture coverage for ENUM_E_MACHINE (#206)
  - Support for .debug_pubtypes and .debug_pubnames sections (#208)
  - Support for DWARF v4 location lists (#214)
  - Decode strings in dynamic string tables (#217)
  - Improve symbol table handling in dynamic segments (#219)
  - Improved handling of location information (#225)
  - Avoid deprecation warnings in Python 3.7+
  - Add DWARF v5 OPs (#240)
  - Handle many new translation forms and constants
  - Lazy DIE parsing to speed up partial parsing of DWARF info (#249)

+ Version 0.25 (2018.09.01)

  - Make parsing of SH_TYPE and PT_TYPE fields dependent on the machine
    (e_machine header field), making it possible to support conflicting type
    enums between different machines (#71 and #121).
  - Add parsing and readelf dumping for .eh_frame (#155)
  - Support compressed sections (#152)
  - Better support for parsing core dumps (#147)
  - More comprehensive handling of ARM relocations (#121)
  - Convert all ascii encoding to utf-8 encoding (#182)
  - Don't attempt to hex/string dump SHT_NOBITS sections in readelf (#119).
  - Test with Python 3.6
  - Minor bugfixes (#118)
  - Cleanup: Use argparse instead of optparse
  - Make readelf comparison tests run in parallel using multiprocessing; cuts
    testing time 3-5x
  - Improvements in MIPS flags handling (#165)

+ Version 0.24 (2016.08.04)

  - Retrieve symbols by name - get_symbol_by_name (#58).
  - Symbol/section names are strings internally now, not bytestrings (this may
    affect API usage in Python 3) (#76).
  - Added DT_MIPS_* constants to ENUM_D_TAG (#79)
  - Made dwarf_decode_address example a bit more useful for command-line
    invocation.
  - More DWARF v4 support w.r.t decoding function ranges; DW_AT_high_pc value
    is now either absolute or relative to DW_AT_low_pc, depending on the class
    of the form encoded in the file. Also #89.
  - Support for SHT_NOTE sections (#109)
  - Support for .debug_aranges section (#108)
  - Support for zlib-compressed debug sections (#102)
  - Support for DWARF v4 line programs (#82)

+ Version 0.23 (2014.11.08)

  - 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 (2014.03.30)

  - 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 (2013.04.17)

  - 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 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 (2012.01.27)

  - 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 (2012.01.06)
