]> git.proxmox.com Git - rustc.git/blob - vendor/object-0.29.0/CHANGELOG.md
New upstream version 1.68.2+dfsg1
[rustc.git] / vendor / object-0.29.0 / CHANGELOG.md
1 # `object` Change Log
2
3 --------------------------------------------------------------------------------
4
5 ## 0.29.0
6
7 Released 2022/06/22.
8
9 ### Breaking changes
10
11 * The `write` feature now has a minimum supported rust version of 1.56.1.
12 [#444](https://github.com/gimli-rs/object/pull/444)
13
14 * Added `os_abi` and `abi_version` fields to `FileFlags::Elf`.
15 [#438](https://github.com/gimli-rs/object/pull/438)
16 [#441](https://github.com/gimli-rs/object/pull/441)
17
18 ### Changed
19
20 * Fixed handling of empty symbol tables in `read::elf::ElfFile::symbol_table` and
21 `read::elf::ElfFile::dynamic_symbol_table`.
22 [#443](https://github.com/gimli-rs/object/pull/443)
23
24 ### Added
25
26 * Added more `ELF_OSABI_*` constants.
27 [#439](https://github.com/gimli-rs/object/pull/439)
28
29 --------------------------------------------------------------------------------
30
31 ## 0.28.4
32
33 Released 2022/05/09.
34
35 ### Added
36
37 * Added `read::pe::DataDirectories::resource_directory`.
38 [#425](https://github.com/gimli-rs/object/pull/425)
39 [#427](https://github.com/gimli-rs/object/pull/427)
40
41 * Added PE support for more ARM relocations.
42 [#428](https://github.com/gimli-rs/object/pull/428)
43
44 * Added support for `Architecture::LoongArch64`.
45 [#430](https://github.com/gimli-rs/object/pull/430)
46 [#432](https://github.com/gimli-rs/object/pull/432)
47
48 * Added `elf::EF_MIPS_ABI` and associated constants.
49 [#433](https://github.com/gimli-rs/object/pull/433)
50
51 --------------------------------------------------------------------------------
52
53 ## 0.28.3
54
55 Released 2022/01/19.
56
57 ### Changed
58
59 * For the Mach-O support in `write::Object`, accept `RelocationKind::MachO` for all
60 architecures, and accept `RelocationKind::Absolute` for ARM64.
61 [#422](https://github.com/gimli-rs/object/pull/422)
62
63 ### Added
64
65 * Added `pe::ImageDataDirectory::file_range`, `read::pe::SectionTable::pe_file_range_at`
66 and `pe::ImageSectionHeader::pe_file_range_at`.
67 [#421](https://github.com/gimli-rs/object/pull/421)
68
69 * Added `write::Object::add_coff_exports`.
70 [#423](https://github.com/gimli-rs/object/pull/423)
71
72 --------------------------------------------------------------------------------
73
74 ## 0.28.2
75
76 Released 2022/01/09.
77
78 ### Changed
79
80 * Ignored errors for the Wasm extended name section in `read::WasmFile::parse`.
81 [#408](https://github.com/gimli-rs/object/pull/408)
82
83 * Ignored errors for the COFF symbol table in `read::PeFile::parse`.
84 [#410](https://github.com/gimli-rs/object/pull/410)
85
86 * Fixed handling of `SectionFlags::Coff` in `write::Object::coff_write`.
87 [#412](https://github.com/gimli-rs/object/pull/412)
88
89 ### Added
90
91 * Added `read::ObjectSegment::flags`.
92 [#416](https://github.com/gimli-rs/object/pull/416)
93 [#418](https://github.com/gimli-rs/object/pull/418)
94
95 --------------------------------------------------------------------------------
96
97 ## 0.28.1
98
99 Released 2021/12/12.
100
101 ### Changed
102
103 * Fixed `read::elf::SymbolTable::shndx_section`.
104 [#405](https://github.com/gimli-rs/object/pull/405)
105
106 * Fixed build warnings.
107 [#405](https://github.com/gimli-rs/object/pull/405)
108 [#406](https://github.com/gimli-rs/object/pull/406)
109
110 --------------------------------------------------------------------------------
111
112 ## 0.28.0
113
114 Released 2021/12/12.
115
116 ### Breaking changes
117
118 * `write_core` feature no longer enables `std` support. Use `write_std` instead.
119 [#400](https://github.com/gimli-rs/object/pull/400)
120
121 * Multiple changes related to Mach-O split dyld cache support.
122 [#398](https://github.com/gimli-rs/object/pull/398)
123
124 ### Added
125
126 * Added `write::pe::Writer::write_file_align`.
127 [#397](https://github.com/gimli-rs/object/pull/397)
128
129 * Added support for Mach-O split dyld cache.
130 [#398](https://github.com/gimli-rs/object/pull/398)
131
132 * Added support for `IMAGE_SCN_LNK_NRELOC_OVFL` when reading and writing COFF.
133 [#399](https://github.com/gimli-rs/object/pull/399)
134
135 * Added `write::elf::Writer::reserve_null_symbol_index`.
136 [#402](https://github.com/gimli-rs/object/pull/402)
137
138 --------------------------------------------------------------------------------
139
140 ## 0.27.1
141
142 Released 2021/10/22.
143
144 ### Changed
145
146 * Fixed build error with older Rust versions due to cargo resolver version.
147
148 --------------------------------------------------------------------------------
149
150 ## 0.27.0
151
152 Released 2021/10/17.
153
154 ### Breaking changes
155
156 * Changed `read::elf` to use `SectionIndex` instead of `usize` in more places.
157 [#341](https://github.com/gimli-rs/object/pull/341)
158
159 * Changed some `read::elf` section methods to additionally return the linked section index.
160 [#341](https://github.com/gimli-rs/object/pull/341)
161
162 * Changed `read::pe::ImageNtHeaders::parse` to return `DataDirectories` instead of a slice.
163 [#357](https://github.com/gimli-rs/object/pull/357)
164
165 * Deleted `value` parameter for `write:WritableBuffer::resize`.
166 [#369](https://github.com/gimli-rs/object/pull/369)
167
168 * Changed `write::Object` and `write::Section` to use `Cow` for section data.
169 This added a lifetime parameter, which existing users can set to `'static`.
170 [#370](https://github.com/gimli-rs/object/pull/370)
171
172 ### Changed
173
174 * Fixed parsing when PE import directory has zero size.
175 [#341](https://github.com/gimli-rs/object/pull/341)
176
177 * Fixed parsing when PE import directory has zero for original first thunk.
178 [#385](https://github.com/gimli-rs/object/pull/385)
179 [#387](https://github.com/gimli-rs/object/pull/387)
180
181 * Fixed parsing when PE export directory has zero number of names.
182 [#353](https://github.com/gimli-rs/object/pull/353)
183
184 * Fixed parsing when PE export directory has zero number of names and addresses.
185 [#362](https://github.com/gimli-rs/object/pull/362)
186
187 * Fixed parsing when PE sections are contiguous.
188 [#354](https://github.com/gimli-rs/object/pull/354)
189
190 * Fixed `std` feature for `indexmap` dependency.
191 [#374](https://github.com/gimli-rs/object/pull/374)
192
193 * Fixed overflow in COFF section name offset parsing.
194 [#390](https://github.com/gimli-rs/object/pull/390)
195
196 ### Added
197
198 * Added `name_bytes` methods to unified `read` traits.
199 [#351](https://github.com/gimli-rs/object/pull/351)
200
201 * Added `read::Object::kind`.
202 [#352](https://github.com/gimli-rs/object/pull/352)
203
204 * Added `read::elf::VersionTable` and related helpers.
205 [#341](https://github.com/gimli-rs/object/pull/341)
206
207 * Added `read::elf::SectionTable::dynamic` and related helpers.
208 [#345](https://github.com/gimli-rs/object/pull/345)
209
210 * Added `read::coff::SectionTable::max_section_file_offset`.
211 [#344](https://github.com/gimli-rs/object/pull/344)
212
213 * Added `read::pe::ExportTable` and related helpers.
214 [#349](https://github.com/gimli-rs/object/pull/349)
215 [#353](https://github.com/gimli-rs/object/pull/353)
216
217 * Added `read::pe::ImportTable` and related helpers.
218 [#357](https://github.com/gimli-rs/object/pull/357)
219
220 * Added `read::pe::DataDirectories` and related helpers.
221 [#357](https://github.com/gimli-rs/object/pull/357)
222 [#384](https://github.com/gimli-rs/object/pull/384)
223
224 * Added `read::pe::RichHeaderInfo` and related helpers.
225 [#375](https://github.com/gimli-rs/object/pull/375)
226 [#379](https://github.com/gimli-rs/object/pull/379)
227
228 * Added `read::pe::RelocationBlocks` and related helpers.
229 [#378](https://github.com/gimli-rs/object/pull/378)
230
231 * Added `write::elf::Writer`.
232 [#350](https://github.com/gimli-rs/object/pull/350)
233
234 * Added `write::pe::Writer`.
235 [#382](https://github.com/gimli-rs/object/pull/382)
236 [#388](https://github.com/gimli-rs/object/pull/388)
237
238 * Added `write::Section::data/data_mut`.
239 [#367](https://github.com/gimli-rs/object/pull/367)
240
241 * Added `write::Object::write_stream`.
242 [#369](https://github.com/gimli-rs/object/pull/369)
243
244 * Added MIPSr6 ELF header flag definitions.
245 [#372](https://github.com/gimli-rs/object/pull/372)
246
247 --------------------------------------------------------------------------------
248
249 ## 0.26.2
250
251 Released 2021/08/28.
252
253 ### Added
254
255 * Added support for 64-bit symbol table names to `read::archive`.
256 [#366](https://github.com/gimli-rs/object/pull/366)
257
258 --------------------------------------------------------------------------------
259
260 ## 0.26.1
261
262 Released 2021/08/19.
263
264 ### Changed
265
266 * Activate `memchr`'s `rustc-dep-of-std` feature
267 [#356](https://github.com/gimli-rs/object/pull/356)
268
269 --------------------------------------------------------------------------------
270
271 ## 0.26.0
272
273 Released 2021/07/26.
274
275 ### Breaking changes
276
277 * Changed `ReadRef::read_bytes_at_until` to accept a range parameter.
278 [#326](https://github.com/gimli-rs/object/pull/326)
279
280 * Added `ReadRef` type parameter to `read::StringTable` and types that
281 contain it. String table entries are now only read as required.
282 [#326](https://github.com/gimli-rs/object/pull/326)
283
284 * Changed result type of `read::elf::SectionHeader::data` and `data_as_array`.
285 [#332](https://github.com/gimli-rs/object/pull/332)
286
287 * Moved `pod::WritableBuffer` to `write::WritableBuffer`.
288 Renamed `WritableBuffer::extend` to `write_bytes`.
289 Added more provided methods to `WritableBuffer`.
290 [#335](https://github.com/gimli-rs/object/pull/335)
291
292 * Moved `pod::Bytes` to `read::Bytes`.
293 [#336](https://github.com/gimli-rs/object/pull/336)
294
295 * Added `is_mips64el` parameter to `elf::Rela64::r_info/set_r_info`.
296 [#337](https://github.com/gimli-rs/object/pull/337)
297
298 ### Changed
299
300 * Removed `alloc` dependency when no features are enabled.
301 [#336](https://github.com/gimli-rs/object/pull/336)
302
303 ### Added
304
305 * Added `read::pe::PeFile` methods: `section_table`, `data_directory`, and `data`.
306 [#324](https://github.com/gimli-rs/object/pull/324)
307
308 * Added more ELF definitions.
309 [#332](https://github.com/gimli-rs/object/pull/332)
310
311 * Added `read::elf::SectionTable` methods for hash tables and symbol version
312 information.
313 [#332](https://github.com/gimli-rs/object/pull/332)
314
315 * Added PE RISC-V definitions.
316 [#333](https://github.com/gimli-rs/object/pull/333)
317
318 * Added `WritableBuffer` implementation for `Vec`.
319 [#335](https://github.com/gimli-rs/object/pull/335)
320
321 --------------------------------------------------------------------------------
322
323 ## 0.25.3
324
325 Released 2021/06/12.
326
327 ### Added
328
329 * Added `RelocationEncoding::AArch64Call`.
330 [#322](https://github.com/gimli-rs/object/pull/322)
331
332 --------------------------------------------------------------------------------
333
334 ## 0.25.2
335
336 Released 2021/06/04.
337
338 ### Added
339
340 * Added `Architecture::X86_64_X32`.
341 [#320](https://github.com/gimli-rs/object/pull/320)
342
343 --------------------------------------------------------------------------------
344
345 ## 0.25.1
346
347 Released 2021/06/03.
348
349 ### Changed
350
351 * write: Fix choice of `SHT_REL` or `SHT_RELA` for most architectures.
352 [#318](https://github.com/gimli-rs/object/pull/318)
353
354 * write: Fix relocation encoding for MIPS64EL.
355 [#318](https://github.com/gimli-rs/object/pull/318)
356
357 --------------------------------------------------------------------------------
358
359 ## 0.25.0
360
361 Released 2021/06/02.
362
363 ### Breaking changes
364
365 * Added `non_exhaustive` to most public enums.
366 [#306](https://github.com/gimli-rs/object/pull/306)
367
368 * `MachHeader::parse` and `MachHeader::load_commands` now require a header offset.
369 [#304](https://github.com/gimli-rs/object/pull/304)
370
371 * Added `ReadRef::read_bytes_at_until`.
372 [#308](https://github.com/gimli-rs/object/pull/308)
373
374 * `PeFile::entry`, `PeSection::address` and `PeSegment::address` now return a
375 virtual address instead of a RVA.
376 [#315](https://github.com/gimli-rs/object/pull/315)
377
378 ### Added
379
380 * Added `pod::from_bytes_mut`, `pod::slice_from_bytes_mut`, `pod::bytes_of_mut`,
381 and `pod::bytes_of_slice_mut`.
382 [#296](https://github.com/gimli-rs/object/pull/296)
383 [#297](https://github.com/gimli-rs/object/pull/297)
384
385 * Added `Object::pdb_info`.
386 [#298](https://github.com/gimli-rs/object/pull/298)
387
388 * Added `read::macho::DyldCache`, other associated definitions,
389 and support for these in the examples.
390 [#308](https://github.com/gimli-rs/object/pull/308)
391
392 * Added more architecture support.
393 [#303](https://github.com/gimli-rs/object/pull/303)
394 [#309](https://github.com/gimli-rs/object/pull/309)
395
396 * Derive more traits for enums.
397 [#311](https://github.com/gimli-rs/object/pull/311)
398
399 * Added `Object::relative_address_base`.
400 [#315](https://github.com/gimli-rs/object/pull/315)
401
402 ### Changed
403
404 * Improved performance for string parsing.
405 [#302](https://github.com/gimli-rs/object/pull/302)
406
407 * `objdump` example allows selecting container members.
408 [#308](https://github.com/gimli-rs/object/pull/308)