NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #176 most downloaded on crates.io
A unified interface for reading and writing object file formats.
Last release 2 months ago
01 Aug 2026
Release timing varies
gaps range from 9 days to 5 months
Most releases are documented
notes for 45 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
73 releases · first in 2016
Changed many file format struct fields and constants to use newtypes. Newtypes for bit flags have methods such as contains and intersects. Some consta
Released 2026/08/01.
Changed many file format struct fields and constants to use newtypes.
Newtypes for bit flags have methods such as contains and intersects.
Some constants are fields within another newtype and have methods for conversion.
The raw values are always accessible by .0.
#894
#897
#898
#899
#900
#957
#958
#959
#970
Updated macho::DyldCacheHeader to dyld-1340.
#885
Deleted SectionKind::Elf and added sh_type field to SectionFlags::Elf.
#891
Added feature gates to variants of FileFlags, SegmentFlags,
SectionFlags, SymbolFlags, and RelocationFlags.
#891
Added p_type field to SegmentFlags::Elf.
Added n_type field to SymbolFlags::MachO.
Added typ and storage_class fields to SymbolFlags::CoffSection.
Added n_type field to SymbolFlags::Xcoff.
Added reserved2 field to SectionFlags::MachO.
#891
#963
Renamed build::elf::AttributeTag to AttributeScope.
#894
Changed write::elf::Writer::reserve_strtab/reserve_shstrtab/reserve_dynstr
and write::coff::Writer::reserve_symtab_strtab to return an Error for
null bytes in strings, or table size overflow.
#905
Changed many write::elf::Writer methods to return u64 instead of usize.
#909
Replaced name fields in write::elf::SectionHeader, write::elf::Sym,
write::elf::Verdef and write::elf::Vernaux with string table offsets.
Added write::elf::Writer methods to obtain these offsets.
#910
Added hash fields to write::elf::Verdef and write::elf::Vernaux.
Use elf::hash to calculate the hash values.
#910
Replaced write::elf::Class with write::elf::Encoder,
and replaced build::elf::Builder::class with encoder.
#910
Deleted write::elf::Writer::reserve_*_section_index_with_name
and write::elf::Writer::reserve_dynamics. There is no replacement
for these.
#912
Changed offsets from usize to u64 in write::WritableBuffer
and low level writing APIs.
#914
Improved overflow handling when writing. Some overflow handling for
write::elf::Writer has been shifted to the caller, as indicated by
narrowed parameter types for reserve_program_headers,
reserve_gnu_verdef and reserve_gnu_verneed.
#918
Added tool version data to read::macho::LoadCommandVariant::BuildVersion
and endian parameter to read::macho::LoadCommandData::build_version.
#920
Added offset parameter to read::macho::Section::file_range and data.
Added read::macho::Segment::section_offsets to assist.
#923
#968
Replaced write::WritableBuffer::resize with write_zeros and deleted
write::WritableBuffer::len. Added write::CountingBuffer which can
wrap WritableBuffer to provide resize and count methods.
#930
#931
Moved write::WritableBuffer::write_pod and write_pod_slice to a
new write::WritableBufferExt trait, and deleted the write and
write_slice methods for dyn WritableBuffer.
#930
Sealed low level parsing traits. #934
Renamed read::coff::ImageSymbol to read::coff::Symbol.
#936
Added read::pe::ExportOrdinal and read::pe::ExportAddressIndex,
and changed read::pe::ExportTable methods to use them.
#942
Changed read::Object::imports and read::Object::exports to iterators,
and expanded read::Import and read::Export to handle more types of
imports and exports. Import::name and Export::name return NameOrOrdinal
and Export::address is replaced by Export::target.
#941
#945
#946
#949
#955
#956
Fixed handling of common symbols for Mach-O; it is now similar to other formats.
Folded SectionKind::Common into SectionKind::UninitializedData and
deleted write::StandardSection::Common, and write::Object::has_common.
read::macho::Nlist::is_undefined now excludes common symbols.
#964
Changed write::Symbol::value to hold the alignment for common symbols.
This is supported for ELF and Mach-O.
#964
Changed the return types of read::elf::FileHeader::phnum and shnum
from usize to u32.
#966
Added names feature to provide display names for file format constants.
#876
#878
#902
Added relocation parsing for Wasm. #895
Added more PE constants definitions. #903
Added z/OS archive support. #904
Added write::elf::GrowableBuffer and write::elf::SinglePhaseWriter.
#908
#909
#916
#917
Added write::StringTable.
#910
Added macho::DyldInfoCommand methods to parse rebases, binds, and exports.
#922
Added macho::LinkeditDataCommand::chained_fixups.
#924
Added macho::LinkeditDataCommand::code_signature.
#932
Added initial GOFF definitions as an unstable feature. #926 #962
Added Architecture::Ia64.
#927
Added RelocationKind support for macho::ARM64_RELOC_POINTER_TO_GOT.
#929
Added read::macho::LoadCommandData::offset.
#937
Added parsing support for macho::R_ABS.
#938
Added read::Object::import_libraries.
#960
Added from_raw methods for various write::elf structs.
#966
Changed the minimum supported rust version (MSRV) for the read feature and
its dependencies to 1.85.0.
#892
Changed the rust edition to 2024. #893
Fixed SectionKind for Wasm reloc.* sections.
#896
Fixed ELF .symtab_shndx writing when st_shndx is not SHN_INDEX.
#906
Changed write::elf::Writer to handle e_phnum overflow.
#907
Fix ELF .gnu.attributes alignment when writing.
#912
Fixed COFF archive parsing of `/<ECSYMBOLS>' member when no names table is present. #947 #948
Fixed read::ObjectSymbol::address to return 0 for common symbols instead
of the alignment.
#964
Changed Mach-O SectionKind parsing to use flags where possible instead
of segment and section names.
#965
Updated ruzstd and wasmparser dependencies.
One column per quarter.
Update wasmparser to 0.247.0 Ignore unused warning
Update wasmparser to 0.247.0
Ignore unused warning
Released 2026/04/21.
Changed read::PeFile::imports to return an error for empty import names.
#873
Fixed read::PeFile::imports to handle import names in a different section.
#881
Fixed the ELF section flags for write::StandardSection::EhFrame.
#877
Updated hashbrown, indexmap, and wasmparser dependencies.
#879
Added Android definitions for ELF. #875
Updated Mach-O definitions. #883
Added read::macho::LoadCommandData::dylib_use_flags.
#887
Changed read::SymbolMap to include symbol sizes. Deprecated read::SymbolMap::get. Use before or containing instead. #863
Released 2026/03/29.
Changed read::NativeFile to use NativeEndian instead of Endianness.
#851
Changed the type of elf::Dyn32/64::d_tag to signed (i32/i64).
Changed the type of DT_* constants to i64.
Changed write::elf::Writer::write_dynamic parameter to match.
#852
Changed parsing to always support unaligned data.
The unaligned feature now has no effect.
#861
Changed read::SymbolMapName::new to accept a size parameter.
#863
Changed read::MachOFile::entry to handle LC_UNIXTHREAD load commands.
#837
Reduced the size of read::elf::CrelIterator.
#840
Improved debug output for read::*File by hiding the raw data bytes.
#853
Removed DT_SYMBOLIC from the read::elf::Dyn::is_address check.
#854
Changed read::macho to treat ltmp* symbols as section symbols.
#856
Changed read::Relocation::encoding for unknown relocations to
RelocationEncoding::Unknown.
#857
Changed read::RelocationMap to handle RelocationKind::None and
check for supported RelocationEncoding.
#857
Changed read::elf to return RelocationKind::GotRelative for
elf::R_X86_64_GOTPCRELX and elf::R_X86_64_REX_GOTPCRELX.
#859
Changed elf::R_X86_64_PLT32 and macho::X86_64_RELOC_BRANCH
to use RelocationKind::PltRelative and RelocationEncoding::X86Branch.
#860
Changed read::macho and write::Object to handle macho::ARM64_RELOC_BRANCH26.
#860
Changed read::SymbolMap to include symbol sizes.
Deprecated read::SymbolMap::get. Use before or containing instead.
#863
Changed read::elf to include unsized symbols in is_definition.
#866
Changed pod::slice_from_all_bytes/_mut to handle zero-sized types.
#868
Updated wasmparser dependency.
Added read::ObjectSegment::permissions.
#838
Added elf::R_X86_64_CODE_* relocations.
#839
Added read::macho::Section::reserved1 and Section::reserved2.
#846
Added From implementations for fixed endian integers.
#850
Added Native*File types for each file format.
#851
Added read::elf::ElfFile::elf_dynamic_table.
#854
Added read::Relocation::subtractor and write::Object::add_relocation_with_subtractor
to handle macho::ARM64_RELOC_SUBTRACTOR and macho::X86_64_RELOC_SUBTRACTOR.
#856
#860
Added write::StandardSection::EhFrame.
#856
Added SymbolFlags::elf_visibility.
#859
Added read::macho::Section::symbol_stub_size and indirect_symbols.
#862
Added missing elf::DT_RELR* constants.
#864
Added elf::R_AARCH64_PLT32 and elf::R_AARCH64_GOTPCREL32.
#865
Added basic PowerPC relocation support for Mach-O. #825
Changes to the minimum supported rust version are not considered breaking changes.
Released 2025/11/21.
Changed the type of macho::EXPORT_SYMBOL_FLAGS constants to u8.
#817
Fixed the type of the StringTable parameter for read::elf::Dyn::string.
#812
Updated hashbrown and wasmparser dependencies.
#806
The minimum supported rust version with all features enabled has changed to 1.87.0. Changes to the minimum supported rust version are not considered breaking changes.
Added more RISC-V constants for ELF. #809
Added more AArch64 constants for ELF. #819
Added macho::LinkeditDataCommand::function_starts and associated parser.
#814
#816
Added macho::LinkeditDataCommand::exports_trie and associated parser.
#817
Release 0.37.3
Release 0.37.3 (#804)
Released 2025/08/13.
write::Object by using
IMAGE_WEAK_EXTERN_SEARCH_ALIAS.
#803Added elf::SHT_GNU_SFRAME and elf::PT_GNU_SFRAME.
#799
Added section_flags_mut and symbol_flags_mut to write::Object.
#801
Added elf::EF_RISCV_RV64ILP32. #779
Released 2025/08/01.
Added elf::EF_RISCV_RV64ILP32.
#779
Added pe::IMAGE_FILE_MACHINE_POWERPCBE and associated read support.
#783
Added PowerPC support to write::coff.
#795
Added support for COFF auxiliary weak external symbols to write::Object and
write::coff::Writer.
#791
Added methods to write::Object to obtain default section and symbol flags.
#789
Added compact relocation support to read::elf.
#782
#784
#785
#788
Added Architecture::Alpha.
#790
Added Architecture::Hppa.
#793
Updated wasmparser dependency.
Changed write::Object to accept undefined symbols of unknown kind for COFF.
#795
Removed compiler-builtins from rustc-dep-of-std dependencies. #777
Released 2025/06/11.
Removed compiler-builtins from rustc-dep-of-std dependencies.
#777
Updated wasmparser dependency.
Changed dyld cache definitions and API to support iterating mapping and slide information. #738 #753 #754 #775
Released 2025/06/02.
Changed dyld cache definitions and API to support iterating mapping and slide information. #738 #753 #754 #775
Removed elf::R_RISCV_GNU_VTINHERIT and elf::R_RISCV_GNU_VTENTRY.
#767
Changed the type of pe::IMAGE_WEAK_EXTERN_* constants.
#770
Added support for generating ARM_RELOC_VANILLA in write::Object.
#757
Added size_hint for read::archive::ArchiveSymbolIterator.
#759
Added Architecture::SuperH.
#762
Added Architecture::LoongArch32.
#765
Added support for Wasm object files to read::WasmFile.
#766
Added elf::R_RISCV_TLSDESC and elf::R_RISCV_GOT32_PCREL.
#767
#768
Added read::pe::SymbolTable::aux_weak_external and read::pe::SymbolTable::has_aux_weak_external.
#770
Added ELF relocations for LoongArch ABI v2.30. #773
Changed ReadRef::read_bytes_at to allow zero size reads at any offset.
This allows reading of empty sections in stripped ELF files.
#758
Changed read::MachOFile::object_map to include static symbols.
#764
Fixed read::pe::SymbolTable::has_aux_function to exclude weak externals.
#772
Updated wasmparser and ruzstd dependencies.
Includes build.rs in package.
Includes build.rs in package.
Added Architecuture::M68k. #742 #749
Released 2024/12/21.
Added Architecuture::Mips64_N32.
#743
Added elf::SHT_RELR, read::elf::SectionHeader::relr, and
write::elf::Writer::write_relative_relocation_section_header.
#746
Added core::error::Error implementation for Rust 1.81 onwards.
#747
Changed build::elf::Builder to support .annobin.notes,
SHT_LLVM_DEPENDENT_LIBRARIES, and SHT_RELR sections.
#735
#737
#746
Changed write::Object::add_subsection to omit the subsection name suffix
if the subsection name is empty.
#748
Added Architecture::E2K32 and Architecture::E2K64. #727
Added pe::IMAGE_FILE_MACHINE_ARM64X and pe::IMAGE_FILE_MACHINE_CHPE_X86. #717
Released 2024/08/30.
Added pe::IMAGE_FILE_MACHINE_ARM64X and pe::IMAGE_FILE_MACHINE_CHPE_X86.
#717
Added elf::SHF_GNU_RETAIN and elf::SHF_GNU_MBIND.
#720
Fixed the checksum for COFF BSS section symbols in write::Object.
#718
Changed read::CompressedData::decompress to validate the decompressed size.
#723
Updated wasmparser dependency.
Added Iterator implementations for various types in the low level read API. #713 #714
Improved writing of GNU symbol versioning in build::Builder. #705
Released 2024/07/24.
Improved writing of GNU symbol versioning in build::elf::Builder.
#705
Fixed alignment of SHT_HASH/SHT_GNU_verdef/SHT_GNU_verneed sections in
write::elf::Writer.
#706
Fixed writing of GNU hash for absolute symbols in build::elf::Builder.
#707
Fixed writing of empty ELF string table in write::Object.
#710
Added SectionKind::DebugString. #694
Released 2024/06/29.
Added SectionKind::DebugString.
#694
Added Architecture::Sparc and Architecture::Sparc32Plus.
#699
#700
Added more RISC-V ELF relocation constants. #701
Changed read::ElfFile::imports to return the library for versioned symbols.
#693
Changed read::MachOFile to support Go's debug section compression.
#697
Reversed the order of Mach-O relocations emitted by write::Object.
#702
Added methods in the unified read API to return the lower level API structures. Some existing methods were deprecated so that naming of these methods…
Released 2024/05/26.
Deleted data and align parameters for write::Object::add_subsection.
Use add_symbol_data or add_symbol_bss instead.
#676
Changed methods in the lower level read API to accept or return SectionIndex
or SymbolIndex instead of usize.
#677
#684
#685
Deleted SymbolKind::Null. Changed read::Object::sections and read::Object::symbols
to no longer return null entries. This affects ELF and XCOFF.
#679
Changed read::ObjectMap::object to return ObjectMapFile. This handles
splitting the object file name into path and member.
#686
Changed read::coff::ImageSymbol::address to only return an address for
symbols that have an address.
#689
Added pod::slice_from_all_bytes and pod::slice_from_all_bytes_mut.
#672
Added write::Object::set_subsections_via_symbols.
Changed write::Object::add_symbol_data and write::Object::add_symbol_bss
to correctly handle zero size symbols when subsections are enabled.
#676
Added methods in the unified read API to return the lower level API structures. Some existing methods were deprecated so that naming of these methods is more consistent. #678
Added methods in the lower level read API to return a SectionIndex or SymbolIndex.
#684
#689
Implemented Display for read::SymbolIndex and read::SectionIndex.
#684
Added is_common, is_absolute, is_local, and is_weak to read::elf::Sym.
#685
Changed read::ArchiveFile to skip the <ECSYMBOLS> member.
#669
Fixed handling of segment data in the dyld shared cache. #673
Changed read::RelocationMap to handle Mach-O section relocations.
#675
Changed read::elf::RelocationSections to ignore relocations that apply to relocations.
#680
Removed a lifetime bound from an argument in read::elf::SectionTable::section_name,
read::elf::SymbolTable::symbol_name, and read::elf::SymbolTable::symbol_section.
#681
Moved the 'file lifetime parameter from read::Object to its associated types. #655
Released 2024/04/10.
'file lifetime parameter from read::Object to its associated types.
#655Added support more section kinds in build::elf.
#650
Added thin archive support to read::ArchiveFile.
#651
Added read::ReadCacheOps and changed read::ReadCache bound from Read + Seek to ReadCacheOps.
#652
Added read::ObjectSection::relocation_map
#654
Added read::ArchiveFile::symbols.
#658
Added BinaryFormat::native_object.
#661
The minimum supported rust version for the read feature and its dependencies
has changed to 1.65.0.
#655
Fixed sh_offset handling for SHT_NOBITS sections in build::elf.
#645
Fixed handling of ELF files with dynamic symbols but no dynamic strings. #646
Fixed potential panics in read::WasmFile due to invalid function indices.
#649
Fixed handling of Wasm components in read::WasmFile.
#649
Fixed sh_entsize for 32-bit hash sections in write::elf.
#650
Fixed sh_size for attribute sections in build::elf.
#650
Fixed sh_info for SHT_DYNSYM sections in build::elf.
#650
Fixed handling of dynamic relocations with invalid sh_link in build::elf.
#650
Fixed parsing of member names containing '/' in read::ArchiveFile.
#657
Fixed handling of load segment alignments in build::elf::Builder::read.
#659
Replaced macho::DyldSubCacheInfo with macho::DyldSubCacheEntryV1. Changed the return type of macho::DyldCacheHeader::subcaches. #642
Released 2024/03/11.
macho::DyldSubCacheInfo with macho::DyldSubCacheEntryV1.
Changed the return type of macho::DyldCacheHeader::subcaches.
#642macho::DyldSubCacheEntryV2 and changed read::macho::DyldCache
to handle both versions. This is needed for macOS 13 and above.
#642Deleted file format variants in RelocationKind. Replaced their usage with read::Relocation::flags and write::Relocation::flags. #585
Released 2024/03/05.
Deleted file format variants in RelocationKind. Replaced their usage
with read::Relocation::flags and write::Relocation::flags.
#585
Replaced kind, encoding and size fields in write::Relocation
with RelocationFlags::Generic in the flags field.
#585
Replaced macho::FatHeader::parse, macho::FatHeader::parse_arch32,
and macho::FatHeader::parse_arch64 with read::macho::MachOFatFile,
read::macho::MachOFatFile32 and read::macho::MachOFatFile64.
#623
Added macho::PLATFORM_XROS and macho::PLATFORM_XROSSIMULATOR.
#626
Added build::elf::Builder and associated types.
Extended write::elf::Writer to support this.
#618
Changed the lifetime to 'data for the return value of ObjectSection::name,
ObjectSection::name_bytes, ObjectComdat::name, ObjectComdat::name_bytes.
#620
#622
Checked that sizes are smaller than the file length in read::ReadCache.
#630
Used Vec::try_reserve_exact for large allocations.
#632
Added ELF relocations for LoongArch ABI v2.20. #578 #589
Released 2023/12/24.
Added ELF support for SHARC. #593
Added write::coff::Writer.
#595
Added SubArchitecture::Arm64EC support for PE/COFF.
#607
Added SubArchitecture::Arm64E support for Mach-O.
#614
Added read::Object::symbol_by_name and read::Object::symbol_by_name_bytes.
#602
Added more functions to the low level API in read::xcoff.
#608
Added more functions to the low level API in read::macho.
#584
Fixes for AArch64 relocation addends for Mach-O. #581
Changes to write::Object output for Mach-O, including the addition of a LC_DYSYMTAB load command.
#584
Changed write::Object to always use R_X86_64_PLT32 for x86-64 branches for ELF.
#590
Fixed read::ObjectSymbol::kind for undefined section symbols for COFF.
#592
Fixed write::Object to accept undefined section symbols for COFF.
#594
Improved parsing of auxiliary section symbols for COFF. #603
Improved the selection of symbols for read::Object::symbol_map.
This includes changes to read::Symbol::is_definition.
#601
#606
Changed read::ObjectSymbol::kind for ELF STT_NOTYPE symbols to SymbolKind::Unknown.
#604
Changed read::ObjectSymbol::scope for XCOFF C_HIDEXT symbols to SymbolScope::Compilation.
#605
Added write::Object::set_macho_cpu_subtype. #574
Changed read::Note::name to exclude all trailing null bytes. #549
Released 2023/08/12.
Changed read::elf::Note::name to exclude all trailing null bytes.
#549
Updated dependencies, and changed some optional dependencies to use the dep:
feature syntax.
#558
#569
The minimum supported rust version for the read feature 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 static to const.
#549
Fixed Mach-O section alignment padding in write::Object.
#553
Changed read::File to an enum.
#564
Added elf::ELF_NOTE_GO, elf::NT_GO_BUILD_ID, and read::elf::Note::name_bytes.
#549
Added read::FileKind::CoffImport and read::coff::ImportFile.
#555
#556
Added Architecture::Csky and basic ELF support for C-SKY.
#561
Added read::elf::ElfSymbol::raw_symbol.
#562
Fixed address for global symbols in read::wasm. #539
Released 2023/05/09.
Fixed address for global symbols in read::wasm.
#539
Fixed writing of alignment for empty ELF sections. #540
Added more elf::GNU_PROPERTY_* definitions.
Added read::elf::note::gnu_properties, write::StandardSection::GnuProperty,
and write::Object::add_elf_gnu_property_u32.
#537
#541
Added Mach-O support for Architecture::Aarch64_Ilp32.
#542
#545
Added Architecture::Wasm64.
#543
Added a type parameter on existing COFF types to support reading COFF /bigobj files. #502
Released 2023/04/14.
Added a type parameter on existing COFF types to support reading COFF /bigobj files.
#502
Changed PE symbols to support COFF /bigobj.
Changed pe::IMAGE_SYM_* to i32.
Changed pe::ImageSymbolEx::section_number to I32Bytes.
Deleted a number of methods from pe::ImageSymbol.
Use the read::pe::ImageSymbol trait instead.
#502
Changed pe::Guid to a single array, and added methods to read the individual fields.
#502
Added Symbol type parameter to SymbolFlags to support SymbolFlags::Xcoff.
#527
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::Unknown in write::Object::macho_write.
#519
Updated wasmparser dependency.
#528
Added more elf::EF_RISCV_* definitions.
#507
Added read::elf::SectionHeader::gnu_attributes and associated types.
Added .gnu.attributes support to write::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 to write::Object.
#469
#476
#477
#482
#484
#486
#527
Added read::FileKind::CoffBig, read::pe::CoffHeader and read::pe::ImageSymbol.
#502
Added elf::PT_GNU_PROPERTY.
#530
Added elf::ELFCOMPRESS_ZSTD, read::CompressionFormat::Zstandard,
and Zstandard decompression in read::CompressedData::decompress using
the ruzstd crate.
#532
Added read::elf::NoteIterator::new.
#533
Fixed Mach-O section alignment padding in write::Object. #553
Added SectionKind::ReadOnlyDataWithRel for writing. #504
Added more ELF constants for AVR flags and relocations. #500
Changed read::ElfSymbol::kind to handle STT_NOTYPE and STT_GNU_IFUNC. #498
The minimum supported rust version for the read feature has changed to 1.52.0. #458
Released 2022/11/22.
The minimum supported rust version for the read feature has changed to 1.52.0.
#458
The minimum supported rust version for the write feature 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
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 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::AArch64Call when writing Mach-O files.
#465
Added support for RelocationKind::Relative when writing RISC-V ELF files.
#470
Added Xtensa architecture support for ELF. #481
Added read::pe::ResourceName::raw_data.
#487
The write feature now has a minimum supported rust version of 1.56.1. #444
Released 2022/06/22.
The write feature now has a minimum supported rust version of 1.56.1.
#444
Added os_abi and abi_version fields to FileFlags::Elf.
#438
#441
read::elf::ElfFile::symbol_table and
read::elf::ElfFile::dynamic_symbol_table.
#443ELF_OSABI_* constants.
#439Added read::DataDirectories::resource_directory. #425 #427
For the Mach-O support in write::Object, accept RelocationKind::MachO for all architectures, and accept RelocationKind::Absolute for ARM64. #422
Released 2022/01/19.
write::Object, accept RelocationKind::MachO for all
architectures, and accept RelocationKind::Absolute for ARM64.
#422Added pe::ImageDataDirectory::file_range, read::pe::SectionTable::pe_file_range_at
and pe::ImageSectionHeader::pe_file_range_at.
#421
Added write::Object::add_coff_exports.
#423
Ignored errors for the Wasm extended name section in read::WasmFile::parse. #408
Fixed read::SymbolTable::shndx_section. #405
write_core feature no longer enables std support. Use write_std instead. #400
Released 2021/12/12.
write_core feature no longer enables std support. Use write_std instead.
#400
Multiple changes related to Mach-O split dyld cache support. #398
Added write::pe::Writer::write_file_align.
#397
Added support for Mach-O split dyld cache. #398
Added support for IMAGE_SCN_LNK_NRELOC_OVFL when reading and writing COFF.
#399
Added write::elf::Writer::reserve_null_symbol_index.
#402
Fixed build error with older Rust versions due to cargo resolver version.
Released 2021/10/22.
Changed read::elf to use SectionIndex instead of usize in more places. #341
Released 2021/10/17.
Changed read::elf to use SectionIndex instead of usize in more places.
#341
Changed some read::elf section methods to additionally return the linked section index.
#341
Changed read::pe::ImageNtHeaders::parse to return DataDirectories instead of a slice.
#357
Deleted value parameter for write:WritableBuffer::resize.
#369
Changed write::Object and write::Section to use Cow for section data.
This added a lifetime parameter, which existing users can set to 'static.
#370
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 std feature for indexmap dependency.
#374
Fixed overflow in COFF section name offset parsing. #390
Added name_bytes methods to unified read traits.
#351
Added read::Object::kind.
#352
Added read::elf::VersionTable and related helpers.
#341
Added read::elf::SectionTable::dynamic and related helpers.
#345
Added read::coff::SectionTable::max_section_file_offset.
#344
Added read::pe::ImportTable and related helpers.
#357
Added read::pe::DataDirectories and related helpers.
#357
#384
Added read::pe::RichHeaderInfo and related helpers.
#375
#379
Added read::pe::RelocationBlocks and 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
Added support for 64-bit symbol table names to read::archive. #366
Activate memchr's rustc-dep-of-std feature #356
Changed ReadRef::read_bytes_at_until to accept a range parameter. #326
Released 2021/07/26.
Changed ReadRef::read_bytes_at_until to accept a range parameter.
#326
Added ReadRef type parameter to read::StringTable and types that
contain it. String table entries are now only read as required.
#326
Changed result type of read::elf::SectionHeader::data and data_as_array.
#332
Moved pod::WritableBuffer to write::WritableBuffer.
Renamed WritableBuffer::extend to write_bytes.
Added more provided methods to WritableBuffer.
#335
Moved pod::Bytes to read::Bytes.
#336
Added is_mips64el parameter to elf::Rela64::r_info/set_r_info.
#337
alloc dependency when no features are enabled.
#336Added read::pe::PeFile methods: section_table, data_directory, and data.
#324
Added more ELF definitions. #332
Added read::elf::SectionTable methods for hash tables and symbol version
information.
#332
Added PE RISC-V definitions. #333
Added WritableBuffer implementation for Vec.
#335
Added RelocationEncoding::AArch64Call. #322
Added Architecture::X86_64_X32. #320
write: Fix choice of SHT_REL or SHT_RELA for most architectures. #318
Added non_exhaustive to most public enums. #306
Released 2021/06/02.
Added non_exhaustive to most public enums.
#306
MachHeader::parse and MachHeader::load_commands now require a header offset.
#304
Added ReadRef::read_bytes_at_until.
#308
PeFile::entry, PeSection::address and PeSegment::address now return a
virtual address instead of a RVA.
#315
Added pod::from_bytes_mut, pod::slice_from_bytes_mut, pod::bytes_of_mut,
and pod::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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →