Tweak release instructions in TODO
[pyelftools.git] / CHANGES
1 Changelog
2 =========
3
4 + Version 0.26 (2019.12.05)
5
6 - Call relocation for ARM v3 (#194)
7 - More complete architecture coverage for ENUM_E_MACHINE (#206)
8 - Support for .debug_pubtypes and .debug_pubnames sections (#208)
9 - Support for DWARF v4 location lists (#214)
10 - Decode strings in dynamic string tables (#217)
11 - Improve symbol table handling in dynamic segments (#219)
12 - Improved handling of location information (#225)
13 - Avoid deprecation warnings in Python 3.7+
14 - Add DWARF v5 OPs (#240)
15 - Handle many new translation forms and constants
16 - Lazy DIE parsing to speed up partial parsing of DWARF info (#249)
17
18 + Version 0.25 (2018.09.01)
19
20 - Make parsing of SH_TYPE and PT_TYPE fields dependent on the machine
21 (e_machine header field), making it possible to support conflicting type
22 enums between different machines (#71 and #121).
23 - Add parsing and readelf dumping for .eh_frame (#155)
24 - Support compressed sections (#152)
25 - Better support for parsing core dumps (#147)
26 - More comprehensive handling of ARM relocations (#121)
27 - Convert all ascii encoding to utf-8 encoding (#182)
28 - Don't attempt to hex/string dump SHT_NOBITS sections in readelf (#119).
29 - Test with Python 3.6
30 - Minor bugfixes (#118)
31 - Cleanup: Use argparse instead of optparse
32 - Make readelf comparison tests run in parallel using multiprocessing; cuts
33 testing time 3-5x
34 - Improvements in MIPS flags handling (#165)
35
36 + Version 0.24 (2016.08.04)
37
38 - Retrieve symbols by name - get_symbol_by_name (#58).
39 - Symbol/section names are strings internally now, not bytestrings (this may
40 affect API usage in Python 3) (#76).
41 - Added DT_MIPS_* constants to ENUM_D_TAG (#79)
42 - Made dwarf_decode_address example a bit more useful for command-line
43 invocation.
44 - More DWARF v4 support w.r.t decoding function ranges; DW_AT_high_pc value
45 is now either absolute or relative to DW_AT_low_pc, depending on the class
46 of the form encoded in the file. Also #89.
47 - Support for SHT_NOTE sections (#109)
48 - Support for .debug_aranges section (#108)
49 - Support for zlib-compressed debug sections (#102)
50 - Support for DWARF v4 line programs (#82)
51
52 + Version 0.23 (2014.11.08)
53
54 - Minimal Python 2.x version raised to 2.7
55 - Basic support for MIPS (contributed by Karl Vogel).
56 - Support for PT_NOTE segment parsing (contributed by Alex Deymo).
57 - Support for parsing symbol table in dynamic segment
58 (contributed by Nam T. Nguyen).
59
60 + Version 0.22 (2014.03.30)
61
62 - pyelftools repository moved to https://github.com/eliben/pyelftools
63 - Support for version sections - contributed by Yann Rouillard.
64 - Better ARM support (including AArch64) - contributed by Dobromir Stefanov.
65 - Added some initial support for parsing Solaris OpenCSW ELF files
66 (contributed by Yann Rouillard).
67 - Added some initial support for DWARF4 (as generated by gcc 4.8)
68 and DWARF generated by recent versions of Clang (3.3).
69 - Added the get_full_path utility method to DIEs that have an associated
70 file name / path (based on pull request #16 by Shaheed Haque).
71 - Set up Travis CI integration.
72
73 + Version 0.21 (2013.04.17)
74
75 - Added new example: dwarf_decode_address - decode function name and
76 file & line information from an address.
77 - Issue #7: parsing incorrect DWARF was made a bit more forgiving for cases
78 where serialized DIE trees have extra NULLs at the end.
79 - Very initial support for ARM ELF files (Matthew Fernandez - pull
80 request #6).
81 - Support for dumping the dynamic section (Mike Frysinger - pull
82 request #7).
83 - Output of scripts/readelf.py now matches that of binutils 2.23.52.
84 - Added more machine EM_ values to ENUM_E_TYPE.
85
86 + Version 0.20 (2012.01.27)
87
88 - Python 3 support
89 - Fixed some problems with running tests
90 - Issue #2: made all examples run (and test/run_examples_test.py pass)
91 on Windows.
92
93 + Version 0.10 - Initial public release (2012.01.06)