object
A unified interface for reading and writing object file formats.
0.40.0
578M downloads/mo
#168 most downloaded on crates.io
gimli-rs/object
What this package is like to depend on
Last release 22 days ago
01 Aug 2026
Release timing varies
gaps range from 9 days to 5 months
Most releases are documented
notes for 45 of 73 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
73 releases · first in 2016
5 releases in the last 12 months
see the full history below
Release timeline
73 releases · Aug 2016 to Aug 2026Releases
latest 60 of 73-
0.40.001 Aug 2026Release notes
Open source →Released 2026/08/01.
Breaking changes
-
Changed many file format struct fields and constants to use newtypes. Newtypes for bit flags have methods such as
containsandintersects. 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::DyldCacheHeaderto dyld-1340. #885 -
Deleted
SectionKind::Elfand addedsh_typefield toSectionFlags::Elf. #891 -
Added feature gates to variants of
FileFlags,SegmentFlags,SectionFlags,SymbolFlags, andRelocationFlags. #891 -
Added
p_typefield toSegmentFlags::Elf. Addedn_typefield toSymbolFlags::MachO. Addedtypandstorage_classfields toSymbolFlags::CoffSection. Addedn_typefield toSymbolFlags::Xcoff. Addedreserved2field toSectionFlags::MachO. #891 #963 -
Renamed
build::elf::AttributeTagtoAttributeScope. #894 -
Changed
write::elf::Writer::reserve_strtab/reserve_shstrtab/reserve_dynstrandwrite::coff::Writer::reserve_symtab_strtabto return anErrorfor null bytes in strings, or table size overflow. #905 -
Changed many
write::elf::Writermethods to returnu64instead ofusize. #909 -
Replaced name fields in
write::elf::SectionHeader,write::elf::Sym,write::elf::Verdefandwrite::elf::Vernauxwith string table offsets. Addedwrite::elf::Writermethods to obtain these offsets. #910 -
Added hash fields to
write::elf::Verdefandwrite::elf::Vernaux. Useelf::hashto calculate the hash values. #910 -
Replaced
write::elf::Classwithwrite::elf::Encoder, and replacedbuild::elf::Builder::classwithencoder. #910 -
Deleted
write::elf::Writer::reserve_*_section_index_with_nameandwrite::elf::Writer::reserve_dynamics. There is no replacement for these. #912 -
Changed offsets from
usizetou64inwrite::WritableBufferand low level writing APIs. #914 -
Improved overflow handling when writing. Some overflow handling for
write::elf::Writerhas been shifted to the caller, as indicated by narrowed parameter types forreserve_program_headers,reserve_gnu_verdefandreserve_gnu_verneed. #918 -
Added tool version data to
read::macho::LoadCommandVariant::BuildVersionandendianparameter toread::macho::LoadCommandData::build_version. #920 -
Added
offsetparameter toread::macho::Section::file_rangeanddata. Addedread::macho::Segment::section_offsetsto assist. #923 #968 -
Replaced
write::WritableBuffer::resizewithwrite_zerosand deletedwrite::WritableBuffer::len. Addedwrite::CountingBufferwhich can wrapWritableBufferto provideresizeandcountmethods. #930 #931 -
Moved
write::WritableBuffer::write_podandwrite_pod_sliceto a newwrite::WritableBufferExttrait, and deleted thewriteandwrite_slicemethods fordyn WritableBuffer. #930 -
Sealed low level parsing traits. #934
-
Renamed
read::coff::ImageSymboltoread::coff::Symbol. #936 -
Added
read::pe::ExportOrdinalandread::pe::ExportAddressIndex, and changedread::pe::ExportTablemethods to use them. #942 -
Changed
read::Object::importsandread::Object::exportsto iterators, and expandedread::Importandread::Exportto handle more types of imports and exports.Import::nameandExport::namereturnNameOrOrdinalandExport::addressis replaced byExport::target. #941 #945 #946 #949 #955 #956 -
Fixed handling of common symbols for Mach-O; it is now similar to other formats. Folded
SectionKind::CommonintoSectionKind::UninitializedDataand deletedwrite::StandardSection::Common, andwrite::Object::has_common.read::macho::Nlist::is_undefinednow excludes common symbols. #964 -
Changed
write::Symbol::valueto hold the alignment for common symbols. This is supported for ELF and Mach-O. #964 -
Changed the return types of
read::elf::FileHeader::phnumandshnumfromusizetou32. #966
Added
-
Added
namesfeature 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::GrowableBufferandwrite::elf::SinglePhaseWriter. #908 #909 #916 #917 -
Added
write::StringTable. #910 -
Added
macho::DyldInfoCommandmethods 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
RelocationKindsupport formacho::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_rawmethods for variouswrite::elfstructs. #966
Changed
-
Changed the minimum supported rust version (MSRV) for the
readfeature and its dependencies to 1.85.0. #892 -
Changed the rust edition to 2024. #893
-
Fixed
SectionKindfor Wasmreloc.*sections. #896 -
Fixed ELF
.symtab_shndxwriting whenst_shndxis notSHN_INDEX. #906 -
Changed
write::elf::Writerto handlee_phnumoverflow. #907 -
Fix ELF
.gnu.attributesalignment when writing. #912 -
Fixed COFF archive parsing of `/<ECSYMBOLS>' member when no names table is present. #947 #948
-
Fixed
read::ObjectSymbol::addressto return 0 for common symbols instead of the alignment. #964 -
Changed Mach-O
SectionKindparsing to use flags where possible instead of segment and section names. #965 -
Updated
ruzstdandwasmparserdependencies.
-
-
0.39.121 Apr 2026Release notes
Open source →Released 2026/04/21.
Changed
-
Changed
read::PeFile::importsto return an error for empty import names. #873 -
Fixed
read::PeFile::importsto handle import names in a different section. #881 -
Fixed the ELF section flags for
write::StandardSection::EhFrame. #877 -
Updated
hashbrown,indexmap, andwasmparserdependencies. #879
Added
-
Added Android definitions for ELF. #875
-
Updated Mach-O definitions. #883
-
Added
read::macho::LoadCommandData::dylib_use_flags. #887
-
-
0.39.029 Mar 2026Release notes
Open source →Released 2026/03/29.
Breaking changes
-
Changed
read::NativeFileto useNativeEndianinstead ofEndianness. #851 -
Changed the type of
elf::Dyn32/64::d_tagto signed (i32/i64). Changed the type ofDT_*constants toi64. Changedwrite::elf::Writer::write_dynamicparameter to match. #852 -
Changed parsing to always support unaligned data. The
unalignedfeature now has no effect. #861 -
Changed
read::SymbolMapName::newto accept asizeparameter. #863
Changed
-
Changed
read::MachOFile::entryto handleLC_UNIXTHREADload commands. #837 -
Reduced the size of
read::elf::CrelIterator. #840 -
Improved debug output for
read::*Fileby hiding the raw data bytes. #853 -
Removed
DT_SYMBOLICfrom theread::elf::Dyn::is_addresscheck. #854 -
Changed
read::machoto treatltmp*symbols as section symbols. #856 -
Changed
read::Relocation::encodingfor unknown relocations toRelocationEncoding::Unknown. #857 -
Changed
read::RelocationMapto handleRelocationKind::Noneand check for supportedRelocationEncoding. #857 -
Changed
read::elfto returnRelocationKind::GotRelativeforelf::R_X86_64_GOTPCRELXandelf::R_X86_64_REX_GOTPCRELX. #859 -
Changed
elf::R_X86_64_PLT32andmacho::X86_64_RELOC_BRANCHto useRelocationKind::PltRelativeandRelocationEncoding::X86Branch. #860 -
Changed
read::machoandwrite::Objectto handlemacho::ARM64_RELOC_BRANCH26. #860 -
Changed
read::SymbolMapto include symbol sizes. Deprecatedread::SymbolMap::get. Usebeforeorcontaininginstead. #863 -
Changed
read::elfto include unsized symbols inis_definition. #866 -
Changed
pod::slice_from_all_bytes/_mutto handle zero-sized types. #868 -
Updated
wasmparserdependency.
Added
-
Added
read::ObjectSegment::permissions. #838 -
Added
elf::R_X86_64_CODE_*relocations. #839 -
Added
read::macho::Section::reserved1andSection::reserved2. #846 -
Added
Fromimplementations for fixed endian integers. #850 -
Added
Native*Filetypes for each file format. #851 -
Added
read::elf::ElfFile::elf_dynamic_table. #854 -
Added
read::Relocation::subtractorandwrite::Object::add_relocation_with_subtractorto handlemacho::ARM64_RELOC_SUBTRACTORandmacho::X86_64_RELOC_SUBTRACTOR. #856 #860 -
Added
write::StandardSection::EhFrame. #856 -
Added
SymbolFlags::elf_visibility. #859 -
Added
read::macho::Section::symbol_stub_sizeandindirect_symbols. #862 -
Added missing
elf::DT_RELR*constants. #864 -
Added
elf::R_AARCH64_PLT32andelf::R_AARCH64_GOTPCREL32. #865
-
-
0.38.102 Jan 2026 -
0.38.021 Nov 2025Release notes
Open source →Released 2025/11/21.
Breaking changes
-
Changed the type of
macho::EXPORT_SYMBOL_FLAGSconstants tou8. #817 -
Fixed the type of the
StringTableparameter forread::elf::Dyn::string. #812
Changed
-
Updated
hashbrownandwasmparserdependencies. #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
-
Added more RISC-V constants for ELF. #809
-
Added more AArch64 constants for ELF. #819
-
Added
macho::LinkeditDataCommand::function_startsand associated parser. #814 #816 -
Added
macho::LinkeditDataCommand::exports_trieand associated parser. #817
-
-
0.37.313 Aug 2025Release notes
Open source →Released 2025/08/13.
Changed
- Fixed MSVC weak extern symbol support in
write::Objectby usingIMAGE_WEAK_EXTERN_SEARCH_ALIAS. #803
Added
-
Added
elf::SHT_GNU_SFRAMEandelf::PT_GNU_SFRAME. #799 -
Added
section_flags_mutandsymbol_flags_muttowrite::Object. #801
- Fixed MSVC weak extern symbol support in
-
0.37.201 Aug 2025Release notes
Open source →Released 2025/08/01.
Added
-
Added
elf::EF_RISCV_RV64ILP32. #779 -
Added
pe::IMAGE_FILE_MACHINE_POWERPCBEand associated read support. #783 -
Added PowerPC support to
write::coff. #795 -
Added support for COFF auxiliary weak external symbols to
write::Objectandwrite::coff::Writer. #791 -
Added methods to
write::Objectto 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
Changed
-
Updated
wasmparserdependency. -
Changed
write::Objectto accept undefined symbols of unknown kind for COFF. #795
-
-
0.37.111 Jun 2025Release notes
Open source →Released 2025/06/11.
Changed
-
Removed
compiler-builtinsfromrustc-dep-of-stddependencies. #777 -
Updated
wasmparserdependency.
-
-
0.37.002 Jun 2025Release notes
Open source →Released 2025/06/02.
Breaking changes
-
Changed dyld cache definitions and API to support iterating mapping and slide information. #738 #753 #754 #775
-
Removed
elf::R_RISCV_GNU_VTINHERITandelf::R_RISCV_GNU_VTENTRY. #767 -
Changed the type of
pe::IMAGE_WEAK_EXTERN_*constants. #770
Added
-
Added support for generating
ARM_RELOC_VANILLAinwrite::Object. #757 -
Added
size_hintforread::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_TLSDESCandelf::R_RISCV_GOT32_PCREL. #767 #768 -
Added
read::pe::SymbolTable::aux_weak_externalandread::pe::SymbolTable::has_aux_weak_external. #770 -
Added ELF relocations for LoongArch ABI v2.30. #773
Changed
-
Changed
ReadRef::read_bytes_atto allow zero size reads at any offset. This allows reading of empty sections in stripped ELF files. #758 -
Changed
read::MachOFile::object_mapto include static symbols. #764 -
Fixed
read::pe::SymbolTable::has_aux_functionto exclude weak externals. #772 -
Updated
wasmparserandruzstddependencies.
-
-
0.36.721 Dec 2024 -
0.36.621 Dec 2024Release notes
Open source →Released 2024/12/21.
Added
-
Added
Architecuture::Mips64_N32. #743 -
Added
elf::SHT_RELR,read::elf::SectionHeader::relr, andwrite::elf::Writer::write_relative_relocation_section_header. #746 -
Added
core::error::Errorimplementation for Rust 1.81 onwards. #747
Changed
-
Changed
build::elf::Builderto support.annobin.notes,SHT_LLVM_DEPENDENT_LIBRARIES, andSHT_RELRsections. #735 #737 #746 -
Changed
write::Object::add_subsectionto omit the subsection name suffix if the subsection name is empty. #748
-
0.36.504 Oct 2024Release notes
Open source →Released 2024/10/04.
Added
-
Added
Architecture::E2K32andArchitecture::E2K64. #727 -
Added read and write support for
pe::IMAGE_REL_ARM64_BRANCH26. #731
Changed
- Fixed decompression of multi-frame Zstandard data in
read::CompressedData::decompress. #730
-
-
0.36.430 Aug 2024Release notes
Open source →Released 2024/08/30.
Added
-
Added
pe::IMAGE_FILE_MACHINE_ARM64Xandpe::IMAGE_FILE_MACHINE_CHPE_X86. #717 -
Added
elf::SHF_GNU_RETAINandelf::SHF_GNU_MBIND. #720
Changed
-
Fixed the checksum for COFF BSS section symbols in
write::Object. #718 -
Changed
read::CompressedData::decompressto validate the decompressed size. #723 -
Updated
wasmparserdependency.
-
-
0.36.307 Aug 2024Release notes
Open source →Released 2024/08/07.
Added
Changed
-
Changed
from_bytesconstructors for integer endian types toconst. #712 -
Changed
nextmethods in the low level read API to fuse after returning an error. #714 -
Updated
wasmparserdependency. #715
-
-
0.36.224 Jul 2024Release notes
Open source →Released 2024/07/24.
Changed
-
Improved writing of GNU symbol versioning in
build::elf::Builder. #705 -
Fixed alignment of
SHT_HASH/SHT_GNU_verdef/SHT_GNU_verneedsections inwrite::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
-
-
0.36.129 Jun 2024Release notes
Open source →Released 2024/06/29.
Added
-
Added
SectionKind::DebugString. #694 -
Added
Architecture::SparcandArchitecture::Sparc32Plus. #699 #700 -
Added more RISC-V ELF relocation constants. #701
Changed
-
Changed
read::ElfFile::importsto return the library for versioned symbols. #693 -
Changed
read::MachOFileto support Go's debug section compression. #697 -
Reversed the order of Mach-O relocations emitted by
write::Object. #702
-
-
0.36.026 May 2024Release notes
Open source →Released 2024/05/26.
Breaking changes
-
Deleted
dataandalignparameters forwrite::Object::add_subsection. Useadd_symbol_dataoradd_symbol_bssinstead. #676 -
Changed methods in the lower level read API to accept or return
SectionIndexorSymbolIndexinstead ofusize. #677 #684 #685 -
Deleted
SymbolKind::Null. Changedread::Object::sectionsandread::Object::symbolsto no longer return null entries. This affects ELF and XCOFF. #679 -
Changed
read::ObjectMap::objectto returnObjectMapFile. This handles splitting the object file name into path and member. #686 -
Changed
read::coff::ImageSymbol::addressto only return an address for symbols that have an address. #689
Added
-
Added
pod::slice_from_all_bytesandpod::slice_from_all_bytes_mut. #672 -
Added
write::Object::set_subsections_via_symbols. Changedwrite::Object::add_symbol_dataandwrite::Object::add_symbol_bssto 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
SectionIndexorSymbolIndex. #684 #689 -
Implemented
Displayforread::SymbolIndexandread::SectionIndex. #684 -
Added
is_common,is_absolute,is_local, andis_weaktoread::elf::Sym. #685
Changed
-
Changed
read::ArchiveFileto skip the<ECSYMBOLS>member. #669 -
Fixed handling of segment data in the dyld shared cache. #673
-
Changed
read::RelocationMapto handle Mach-O section relocations. #675 -
Changed
read::elf::RelocationSectionsto 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, andread::elf::SymbolTable::symbol_section. #681
-
-
0.35.010 Apr 2024Release notes
Open source →Released 2024/04/10.
Breaking changes
- Moved the
'filelifetime parameter fromread::Objectto its associated types. #655
Added
-
Added support more section kinds in
build::elf. #650 -
Added thin archive support to
read::ArchiveFile. #651 -
Added
read::ReadCacheOpsand changedread::ReadCachebound fromRead + SeektoReadCacheOps. #652 -
Added
read::ObjectSection::relocation_map#654 -
Added
read::ArchiveFile::symbols. #658 -
Added
BinaryFormat::native_object. #661
Changed
-
The minimum supported rust version for the
readfeature and its dependencies has changed to 1.65.0. #655 -
Fixed
sh_offsethandling forSHT_NOBITSsections inbuild::elf. #645 -
Fixed handling of ELF files with dynamic symbols but no dynamic strings. #646
-
Fixed potential panics in
read::WasmFiledue to invalid function indices. #649 -
Fixed handling of Wasm components in
read::WasmFile. #649 -
Fixed
sh_entsizefor 32-bit hash sections inwrite::elf. #650 -
Fixed
sh_sizefor attribute sections inbuild::elf. #650 -
Fixed
sh_infoforSHT_DYNSYMsections inbuild::elf. #650 -
Fixed handling of dynamic relocations with invalid
sh_linkinbuild::elf. #650 -
Fixed parsing of member names containing '/' in
read::ArchiveFile. #657 -
Fixed handling of load segment alignments in
build::elf::Builder::read. #659
- Moved the
-
0.34.011 Mar 2024Release notes
Open source →Released 2024/03/11.
Breaking changes
- Replaced
macho::DyldSubCacheInfowithmacho::DyldSubCacheEntryV1. Changed the return type ofmacho::DyldCacheHeader::subcaches. #642
Changed
- Added
macho::DyldSubCacheEntryV2and changedread::macho::DyldCacheto handle both versions. This is needed for macOS 13 and above. #642
- Replaced
-
0.33.005 Mar 2024Release notes
Open source →Released 2024/03/05.
Breaking changes
-
Deleted file format variants in
RelocationKind. Replaced their usage withread::Relocation::flagsandwrite::Relocation::flags. #585 -
Replaced
kind,encodingandsizefields inwrite::RelocationwithRelocationFlags::Genericin theflagsfield. #585 -
Replaced
macho::FatHeader::parse,macho::FatHeader::parse_arch32, andmacho::FatHeader::parse_arch64withread::macho::MachOFatFile,read::macho::MachOFatFile32andread::macho::MachOFatFile64. #623
Added
-
Added
macho::PLATFORM_XROSandmacho::PLATFORM_XROSSIMULATOR. #626 -
Added
build::elf::Builderand associated types. Extendedwrite::elf::Writerto support this. #618
Changed
-
Changed the lifetime to
'datafor the return value ofObjectSection::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_exactfor large allocations. #632
-
-
0.32.224 Dec 2023Release notes
Open source →Released 2023/12/24.
Added
-
Added ELF support for SHARC. #593
-
Added
write::coff::Writer. #595 -
Added
SubArchitecture::Arm64ECsupport for PE/COFF. #607 -
Added
SubArchitecture::Arm64Esupport for Mach-O. #614 -
Added
read::Object::symbol_by_nameandread::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
Changed
-
Fixes for AArch64 relocation addends for Mach-O. #581
-
Changes to
write::Objectoutput for Mach-O, including the addition of aLC_DYSYMTABload command. #584 -
Changed
write::Objectto always useR_X86_64_PLT32for x86-64 branches for ELF. #590 -
Fixed
read::ObjectSymbol::kindfor undefined section symbols for COFF. #592 -
Fixed
write::Objectto 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 toread::Symbol::is_definition. #601 #606 -
Changed
read::ObjectSymbol::kindfor ELFSTT_NOTYPEsymbols toSymbolKind::Unknown. #604 -
Changed
read::ObjectSymbol::scopefor XCOFFC_HIDEXTsymbols toSymbolScope::Compilation. #605
-
0.32.103 Sep 2023Release notes
Open source → -
0.32.013 Aug 2023Release notes
Open source →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.31.110 May 2023Release notes
Open source →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.015 Apr 2023Release notes
Open source →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.406 Jun 2023Release notes
Open source → -
0.30.323 Jan 2023Release notes
Open source → -
0.30.211 Jan 2023Release notes
Open source → -
0.30.104 Jan 2023Release notes
Open source →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
- Changed
-
0.30.022 Nov 2022Release notes
Open source →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.023 Jun 2022Release notes
Open source →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.409 May 2022 -
0.28.319 Jan 2022Release notes
Open source →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
- For the Mach-O support in
-
0.28.209 Jan 2022Release notes
Open source →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.112 Dec 2021 -
0.28.012 Dec 2021Release notes
Open source →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.122 Oct 2021Release notes
Open source →Released 2021/10/22.
Changed
- Fixed build error with older Rust versions due to cargo resolver version.
-
0.27.017 Oct 2021Release notes
Open source →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.228 Aug 2021Release notes
Open source → -
0.26.119 Aug 2021Release notes
Open source → -
0.26.026 Jul 2021Release notes
Open source →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.312 Jun 2021 -
0.25.204 Jun 2021 -
0.25.103 Jun 2021Release notes
Open source →Released 2021/06/03.
Changed
-
write: Fix choice of
SHT_RELorSHT_RELAfor most architectures. #318 -
write: Fix relocation encoding for MIPS64EL. #318
-
-
0.25.002 Jun 2021Release notes
Open source →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
Changed
-
-
0.24.001 May 2021Nothing published for this version
-
0.23.012 Dec 2020Nothing published for this version
-
0.22.027 Oct 2020Nothing published for this version
-
0.21.119 Aug 2020Nothing published for this version
-
0.21.013 Aug 2020Nothing published for this version
-
0.20.015 Jun 2020Nothing published for this version
-
0.19.012 May 2020Nothing published for this version
-
0.18.022 Mar 2020Nothing published for this version
-
0.17.023 Dec 2019Nothing published for this version
-
0.16.019 Nov 2019Nothing published for this version
-
0.15.030 Oct 2019Nothing published for this version
-
0.14.129 Oct 2019Nothing published for this version
-
0.14.010 Sep 2019Nothing published for this version
-
0.13.025 Aug 2019Nothing published for this version
-
0.12.026 Apr 2019Nothing published for this version