21 KiB
object Change Log
0.32.0
Released 2023/08/12.
Breaking changes
-
Changed
read::elf::Note::nameto exclude all trailing null bytes. #549 -
Updated dependencies, and changed some optional dependencies to use the
dep:feature syntax. #558 #569
Changed
-
The minimum supported rust version for the
readfeature and its dependencies has changed to 1.60.0. -
The minimum supported rust version for other features has changed to 1.65.0.
-
Changed many definitions from
statictoconst. #549 -
Fixed Mach-O section alignment padding in
write::Object. #553 -
Changed
read::Fileto an enum. #564
Added
-
Added
elf::ELF_NOTE_GO,elf::NT_GO_BUILD_ID, andread::elf::Note::name_bytes. #549 -
Added
read::FileKind::CoffImportandread::coff::ImportFile. #555 #556 -
Added
Architecture::Cskyand basic ELF support for C-SKY. #561 -
Added
read::elf::ElfSymbol::raw_symbol. #562
0.30.4
Released 2023/06/05.
Changed
- Fixed Mach-O section alignment padding in
write::Object. #553
0.31.1
Released 2023/05/09.
Changed
-
Fixed address for global symbols in
read::wasm. #539 -
Fixed writing of alignment for empty ELF sections. #540
Added
-
Added more
elf::GNU_PROPERTY_*definitions. Addedread::elf::note::gnu_properties,write::StandardSection::GnuProperty, andwrite::Object::add_elf_gnu_property_u32. #537 #541 -
Added Mach-O support for
Architecture::Aarch64_Ilp32. #542 #545 -
Added
Architecture::Wasm64. #543
0.31.0
Released 2023/04/14.
Breaking changes
-
Added a type parameter on existing COFF types to support reading COFF
/bigobjfiles. #502 -
Changed PE symbols to support COFF
/bigobj. Changedpe::IMAGE_SYM_*toi32. Changedpe::ImageSymbolEx::section_numbertoI32Bytes. Deleted a number of methods frompe::ImageSymbol. Use theread::pe::ImageSymboltrait instead. #502 -
Changed
pe::Guidto a single array, and added methods to read the individual fields. #502 -
Added
Symboltype parameter toSymbolFlagsto supportSymbolFlags::Xcoff. #527
Changed
-
Fix alignment when reserving zero length sections in
write::elf::Write::reserve. #514 -
Validate command size in
read::macho::LoadCommandIterator. #516 -
Handle invalid alignment in
read::macho::MachoSection::align. #516 -
Accept
SymbolKind::Unknowninwrite::Object::macho_write. #519 -
Updated
wasmparserdependency. #528
Added
-
Added more
elf::EF_RISCV_*definitions. #507 -
Added
read::elf::SectionHeader::gnu_attributesand associated types. Added.gnu.attributessupport towrite::elf::Writer. #509 #525 -
Added
write::Object::set_macho_build_version. #524 -
Added
read::FileKind::Xcoff32,read::FileKind::Xcoff64,read::XcoffFile, and associated types. Added XCOFF support towrite::Object. #469 #476 #477 #482 #484 #486 #527 -
Added
read::FileKind::CoffBig,read::pe::CoffHeaderandread::pe::ImageSymbol. #502 -
Added
elf::PT_GNU_PROPERTY. #530 -
Added
elf::ELFCOMPRESS_ZSTD,read::CompressionFormat::Zstandard, and Zstandard decompression inread::CompressedData::decompressusing theruzstdcrate. #532 -
Added
read::elf::NoteIterator::new. #533
0.30.3
Released 2023/01/23.
Added
- Added
SectionKind::ReadOnlyDataWithRelfor writing. #504
0.30.2
Released 2023/01/11.
Added
- Added more ELF constants for AVR flags and relocations. #500
0.30.1
Released 2023/01/04.
Changed
- Changed
read::ElfSymbol::kindto handleSTT_NOTYPEandSTT_GNU_IFUNC. #498
Added
-
Added
read::CoffSymbol::raw_symbol. #494 -
Added ELF support for Solana Binary Format. #491
-
Added ELF support for AArch64 ILP32. #497
0.30.0
Released 2022/11/22.
Breaking changes
-
The minimum supported rust version for the
readfeature has changed to 1.52.0. #458 -
The minimum supported rust version for the
writefeature has changed to 1.61.0. -
Fixed endian handling in
read::elf::SymbolTable::shndx. #458 -
Fixed endian handling in
read::pe::ResourceName. #458 -
Changed definitions for LoongArch ELF header flags. #483
Changed
-
Fixed parsing of multiple debug directory entries in
read::pe::PeFile::pdb_info. #451 -
Changed the section name used when writing COFF stub symbols. #475
Added
-
Added
read::pe::DataDirectories::delay_load_import_table. #448 -
Added
read::macho::LoadCommandData::raw_data. #449 -
Added ELF relocations for LoongArch ps ABI v2. #450
-
Added PowerPC support for Mach-O. #460
-
Added support for reading the AIX big archive format. #462 #467 #473
-
Added support for
RelocationEncoding::AArch64Callwhen writing Mach-O files. #465 -
Added support for
RelocationKind::Relativewhen writing RISC-V ELF files. #470 -
Added Xtensa architecture support for ELF. #481
-
Added
read::pe::ResourceName::raw_data. #487
0.29.0
Released 2022/06/22.
Breaking changes
-
The
writefeature now has a minimum supported rust version of 1.56.1. #444 -
Added
os_abiandabi_versionfields toFileFlags::Elf. #438 #441
Changed
- Fixed handling of empty symbol tables in
read::elf::ElfFile::symbol_tableandread::elf::ElfFile::dynamic_symbol_table. #443
Added
- Added more
ELF_OSABI_*constants. #439
0.28.4
Released 2022/05/09.
Added
-
Added
read::pe::DataDirectories::resource_directory. #425 #427 -
Added PE support for more ARM relocations. #428
-
Added
elf::EF_MIPS_ABIand associated constants. #433
0.28.3
Released 2022/01/19.
Changed
- For the Mach-O support in
write::Object, acceptRelocationKind::MachOfor all architectures, and acceptRelocationKind::Absolutefor ARM64. #422
Added
-
Added
pe::ImageDataDirectory::file_range,read::pe::SectionTable::pe_file_range_atandpe::ImageSectionHeader::pe_file_range_at. #421 -
Added
write::Object::add_coff_exports. #423
0.28.2
Released 2022/01/09.
Changed
-
Ignored errors for the Wasm extended name section in
read::WasmFile::parse. #408 -
Ignored errors for the COFF symbol table in
read::PeFile::parse. #410 -
Fixed handling of
SectionFlags::Coffinwrite::Object::coff_write. #412
Added
0.28.1
Released 2021/12/12.
Changed
0.28.0
Released 2021/12/12.
Breaking changes
-
write_corefeature no longer enablesstdsupport. Usewrite_stdinstead. #400 -
Multiple changes related to Mach-O split dyld cache support. #398
Added
-
Added
write::pe::Writer::write_file_align. #397 -
Added support for Mach-O split dyld cache. #398
-
Added support for
IMAGE_SCN_LNK_NRELOC_OVFLwhen reading and writing COFF. #399 -
Added
write::elf::Writer::reserve_null_symbol_index. #402
0.27.1
Released 2021/10/22.
Changed
- Fixed build error with older Rust versions due to cargo resolver version.
0.27.0
Released 2021/10/17.
Breaking changes
-
Changed
read::elfto useSectionIndexinstead ofusizein more places. #341 -
Changed some
read::elfsection methods to additionally return the linked section index. #341 -
Changed
read::pe::ImageNtHeaders::parseto returnDataDirectoriesinstead of a slice. #357 -
Deleted
valueparameter forwrite:WritableBuffer::resize. #369 -
Changed
write::Objectandwrite::Sectionto useCowfor section data. This added a lifetime parameter, which existing users can set to'static. #370
Changed
-
Fixed parsing when PE import directory has zero size. #341
-
Fixed parsing when PE import directory has zero for original first thunk. #385 #387
-
Fixed parsing when PE export directory has zero number of names. #353
-
Fixed parsing when PE export directory has zero number of names and addresses. #362
-
Fixed parsing when PE sections are contiguous. #354
-
Fixed
stdfeature forindexmapdependency. #374 -
Fixed overflow in COFF section name offset parsing. #390
Added
-
Added
name_bytesmethods to unifiedreadtraits. #351 -
Added
read::Object::kind. #352 -
Added
read::elf::VersionTableand related helpers. #341 -
Added
read::elf::SectionTable::dynamicand related helpers. #345 -
Added
read::coff::SectionTable::max_section_file_offset. #344 -
Added
read::pe::ImportTableand related helpers. #357 -
Added
read::pe::DataDirectoriesand related helpers. #357 #384 -
Added
read::pe::RichHeaderInfoand related helpers. #375 #379 -
Added
read::pe::RelocationBlocksand related helpers. #378 -
Added
write::elf::Writer. #350 -
Added
write::Section::data/data_mut. #367 -
Added
write::Object::write_stream. #369 -
Added MIPSr6 ELF header flag definitions. #372
0.26.2
Released 2021/08/28.
Added
- Added support for 64-bit symbol table names to
read::archive. #366
0.26.1
Released 2021/08/19.
Changed
- Activate
memchr'srustc-dep-of-stdfeature #356
0.26.0
Released 2021/07/26.
Breaking changes
-
Changed
ReadRef::read_bytes_at_untilto accept a range parameter. #326 -
Added
ReadReftype parameter toread::StringTableand types that contain it. String table entries are now only read as required. #326 -
Changed result type of
read::elf::SectionHeader::dataanddata_as_array. #332 -
Moved
pod::WritableBuffertowrite::WritableBuffer. RenamedWritableBuffer::extendtowrite_bytes. Added more provided methods toWritableBuffer. #335 -
Moved
pod::Bytestoread::Bytes. #336 -
Added
is_mips64elparameter toelf::Rela64::r_info/set_r_info. #337
Changed
- Removed
allocdependency when no features are enabled. #336
Added
-
Added
read::pe::PeFilemethods:section_table,data_directory, anddata. #324 -
Added more ELF definitions. #332
-
Added
read::elf::SectionTablemethods for hash tables and symbol version information. #332 -
Added PE RISC-V definitions. #333
-
Added
WritableBufferimplementation forVec. #335
0.25.3
Released 2021/06/12.
Added
- Added
RelocationEncoding::AArch64Call. #322
0.25.2
Released 2021/06/04.
Added
- Added
Architecture::X86_64_X32. #320
0.25.1
Released 2021/06/03.
Changed
-
write: Fix choice of
SHT_RELorSHT_RELAfor most architectures. #318 -
write: Fix relocation encoding for MIPS64EL. #318
0.25.0
Released 2021/06/02.
Breaking changes
-
Added
non_exhaustiveto most public enums. #306 -
MachHeader::parseandMachHeader::load_commandsnow require a header offset. #304 -
Added
ReadRef::read_bytes_at_until. #308 -
PeFile::entry,PeSection::addressandPeSegment::addressnow return a virtual address instead of a RVA. #315
Added
-
Added
pod::from_bytes_mut,pod::slice_from_bytes_mut,pod::bytes_of_mut, andpod::bytes_of_slice_mut. #296 #297 -
Added
Object::pdb_info. #298 -
Added
read::macho::DyldCache, other associated definitions, and support for these in the examples. #308 -
Derive more traits for enums. #311
-
Added
Object::relative_address_base. #315