3 --------------------------------------------------------------------------------
11 * Fix build error with older Rust versions due to cargo resolver version.
13 --------------------------------------------------------------------------------
21 * Changed `read::elf` to use `SectionIndex` instead of `usize` in more places.
22 [#341](https://github.com/gimli-rs/object/pull/341)
24 * Changed some `read::elf` section methods to additionally return the linked section index.
25 [#341](https://github.com/gimli-rs/object/pull/341)
27 * Changed `read::pe::ImageNtHeaders::parse` to return `DataDirectories` instead of a slice.
28 [#357](https://github.com/gimli-rs/object/pull/357)
30 * Deleted `value` parameter for `write:WritableBuffer::resize`.
31 [#369](https://github.com/gimli-rs/object/pull/369)
33 * Changed `write::Object` and `write::Section` to use `Cow` for section data.
34 This added a lifetime parameter, which existing users can set to `'static`.
35 [#370](https://github.com/gimli-rs/object/pull/370)
39 * Fixed parsing when PE import directory has zero size.
40 [#341](https://github.com/gimli-rs/object/pull/341)
42 * Fixed parsing when PE import directory has zero for original first thunk.
43 [#385](https://github.com/gimli-rs/object/pull/385)
44 [#387](https://github.com/gimli-rs/object/pull/387)
46 * Fixed parsing when PE export directory has zero number of names.
47 [#353](https://github.com/gimli-rs/object/pull/353)
49 * Fixed parsing when PE export directory has zero number of names and addresses.
50 [#362](https://github.com/gimli-rs/object/pull/362)
52 * Fixed parsing when PE sections are contiguous.
53 [#354](https://github.com/gimli-rs/object/pull/354)
55 * Fixed `std` feature for `indexmap` dependency.
56 [#374](https://github.com/gimli-rs/object/pull/374)
58 * Fixed overflow in COFF section name offset parsing.
59 [#390](https://github.com/gimli-rs/object/pull/390)
63 * Added `name_bytes` methods to unified `read` traits.
64 [#351](https://github.com/gimli-rs/object/pull/351)
66 * Added `read::Object::kind`.
67 [#352](https://github.com/gimli-rs/object/pull/352)
69 * Added `read::elf::VersionTable` and related helpers.
70 [#341](https://github.com/gimli-rs/object/pull/341)
72 * Added `read::elf::SectionTable::dynamic` and related helpers.
73 [#345](https://github.com/gimli-rs/object/pull/345)
75 * Added `read::coff::SectionTable::max_section_file_offset`.
76 [#344](https://github.com/gimli-rs/object/pull/344)
78 * Added `read::pe::ExportTable` and related helpers.
79 [#349](https://github.com/gimli-rs/object/pull/349)
80 [#353](https://github.com/gimli-rs/object/pull/353)
82 * Added `read::pe::ImportTable` and related helpers.
83 [#357](https://github.com/gimli-rs/object/pull/357)
85 * Added `read::pe::DataDirectories` and related helpers.
86 [#357](https://github.com/gimli-rs/object/pull/357)
87 [#384](https://github.com/gimli-rs/object/pull/384)
89 * Added `read::pe::RichHeaderInfo` and related helpers.
90 [#375](https://github.com/gimli-rs/object/pull/375)
91 [#379](https://github.com/gimli-rs/object/pull/379)
93 * Added `read::pe::RelocationBlocks` and related helpers.
94 [#378](https://github.com/gimli-rs/object/pull/378)
96 * Added `write::elf::Writer`.
97 [#350](https://github.com/gimli-rs/object/pull/350)
99 * Added `write::pe::Writer`.
100 [#382](https://github.com/gimli-rs/object/pull/382)
101 [#388](https://github.com/gimli-rs/object/pull/388)
103 * Added `write::Section::data/data_mut`.
104 [#367](https://github.com/gimli-rs/object/pull/367)
106 * Added `write::Object::write_stream`.
107 [#369](https://github.com/gimli-rs/object/pull/369)
109 * Added MIPSr6 ELF header flag definitions.
110 [#372](https://github.com/gimli-rs/object/pull/372)
112 --------------------------------------------------------------------------------
120 * Added support for 64-bit symbol table names to `read::archive`.
121 [#366](https://github.com/gimli-rs/object/pull/366)
123 --------------------------------------------------------------------------------
131 * Activate `memchr`'s `rustc-dep-of-std` feature
132 [#356](https://github.com/gimli-rs/object/pull/356)
134 --------------------------------------------------------------------------------
142 * Changed `ReadRef::read_bytes_at_until` to accept a range parameter.
143 [#326](https://github.com/gimli-rs/object/pull/326)
145 * Added `ReadRef` type parameter to `read::StringTable` and types that
146 contain it. String table entries are now only read as required.
147 [#326](https://github.com/gimli-rs/object/pull/326)
149 * Changed result type of `read::elf::SectionHeader::data` and `data_as_array`.
150 [#332](https://github.com/gimli-rs/object/pull/332)
152 * Moved `pod::WritableBuffer` to `write::WritableBuffer`.
153 Renamed `WritableBuffer::extend` to `write_bytes`.
154 Added more provided methods to `WritableBuffer`.
155 [#335](https://github.com/gimli-rs/object/pull/335)
157 * Moved `pod::Bytes` to `read::Bytes`.
158 [#336](https://github.com/gimli-rs/object/pull/336)
160 * Added `is_mips64el` parameter to `elf::Rela64::r_info/set_r_info`.
161 [#337](https://github.com/gimli-rs/object/pull/337)
165 * Removed `alloc` dependency when no features are enabled.
166 [#336](https://github.com/gimli-rs/object/pull/336)
170 * Added `read::pe::PeFile` methods: `section_table`, `data_directory`, and `data`.
171 [#324](https://github.com/gimli-rs/object/pull/324)
173 * Added more ELF definitions.
174 [#332](https://github.com/gimli-rs/object/pull/332)
176 * Added `read::elf::SectionTable` methods for hash tables and symbol version
178 [#332](https://github.com/gimli-rs/object/pull/332)
180 * Added PE RISC-V definitions.
181 [#333](https://github.com/gimli-rs/object/pull/333)
183 * Added `WritableBuffer` implementation for `Vec`.
184 [#335](https://github.com/gimli-rs/object/pull/335)
186 --------------------------------------------------------------------------------
194 * Added `RelocationEncoding::AArch64Call`.
195 [#322](https://github.com/gimli-rs/object/pull/322)
197 --------------------------------------------------------------------------------
205 * Added `Architecture::X86_64_X32`.
206 [#320](https://github.com/gimli-rs/object/pull/320)
208 --------------------------------------------------------------------------------
216 * write: Fix choice of `SHT_REL` or `SHT_RELA` for most architectures.
217 [#318](https://github.com/gimli-rs/object/pull/318)
219 * write: Fix relocation encoding for MIPS64EL.
220 [#318](https://github.com/gimli-rs/object/pull/318)
222 --------------------------------------------------------------------------------
230 * Added `non_exhaustive` to most public enums.
231 [#306](https://github.com/gimli-rs/object/pull/306)
233 * `MachHeader::parse` and `MachHeader::load_commands` now require a header offset.
234 [#304](https://github.com/gimli-rs/object/pull/304)
236 * Added `ReadRef::read_bytes_at_until`.
237 [#308](https://github.com/gimli-rs/object/pull/308)
239 * `PeFile::entry`, `PeSection::address` and `PeSegment::address` now return a
240 virtual address instead of a RVA.
241 [#315](https://github.com/gimli-rs/object/pull/315)
245 * Added `pod::from_bytes_mut`, `pod::slice_from_bytes_mut`, `pod::bytes_of_mut`,
246 and `pod::bytes_of_slice_mut`.
247 [#296](https://github.com/gimli-rs/object/pull/296)
248 [#297](https://github.com/gimli-rs/object/pull/297)
250 * Added `Object::pdb_info`.
251 [#298](https://github.com/gimli-rs/object/pull/298)
253 * Added `read::macho::DyldCache`, other associated definitions,
254 and support for these in the examples.
255 [#308](https://github.com/gimli-rs/object/pull/308)
257 * Added more architecture support.
258 [#303](https://github.com/gimli-rs/object/pull/303)
259 [#309](https://github.com/gimli-rs/object/pull/309)
261 * Derive more traits for enums.
262 [#311](https://github.com/gimli-rs/object/pull/311)
264 * Added `Object::relative_address_base`.
265 [#315](https://github.com/gimli-rs/object/pull/315)
269 * Improved performance for string parsing.
270 [#302](https://github.com/gimli-rs/object/pull/302)
272 * `objdump` example allows selecting container members.
273 [#308](https://github.com/gimli-rs/object/pull/308)