Skip to content

fix(deps): update rust crate object to 0.40 - #1653

Merged
popescuoctavian merged 1 commit into
mainfrom
renovate/object-0.x
Aug 25, 2026
Merged

fix(deps): update rust crate object to 0.40#1653
popescuoctavian merged 1 commit into
mainfrom
renovate/object-0.x

Conversation

@renovate

@renovate renovate Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
object dependencies minor 0.370.40

Release Notes

gimli-rs/object (object)

v0.40.0

Compare 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 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
  • 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 write::macho::Encoder.
    #​913
    #​967

  • Added build::macho::Builder.
    #​921
    #​925

  • 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
  • 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 some malformed data handling.
    #​939
    #​940
    #​961

  • Fixed COFF archive parsing of `/' 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.


v0.39.1

Compare Source

Released 2026/04/21.

Changed
  • 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
  • Added Android definitions for ELF.
    #​875

  • Updated Mach-O definitions.
    #​883

  • Added read::macho::LoadCommandData::dylib_use_flags.
    #​887


v0.39.0

Compare Source

Released 2026/03/29.

Breaking changes
  • 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
  • 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
  • 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


v0.38.1

Compare Source

Released 2026/01/02.

Changed
  • Updated wasmparser dependency.
Added
  • Added basic PowerPC relocation support for Mach-O.
    #​825

  • Added more ELF relocations for LoongArch.
    #​826
    #​827

  • Added RelocationKind::None.
    #​828

  • Added write::StreamingBuffer::flush.
    #​829


v0.38.0

Compare Source

Released 2025/11/21.

Breaking changes
  • 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

Changed
  • 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
  • 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



Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added dependencies Pull requests that update a dependency file no changeset needed This PR doesn't require a changeset labels Aug 22, 2026
@renovate
renovate Bot requested a review from a team August 22, 2026 14:30
@renovate renovate Bot added no changeset needed This PR doesn't require a changeset dependencies Pull requests that update a dependency file labels Aug 22, 2026
@renovate
renovate Bot temporarily deployed to github-action-benchmark August 22, 2026 14:30 Inactive
@changeset-bot

changeset-bot Bot commented Aug 22, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8be028e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@socket-security

socket-security Bot commented Aug 22, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcargo/​object@​0.37.3 ⏵ 0.40.099 +1910093100100

View full report

@renovate
renovate Bot temporarily deployed to github-action-benchmark August 22, 2026 14:34 Inactive
@renovate
renovate Bot had a problem deploying to github-action-benchmark August 22, 2026 14:34 Failure
@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.01%. Comparing base (855d3db) to head (8be028e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1653      +/-   ##
==========================================
- Coverage   80.01%   80.01%   -0.01%     
==========================================
  Files         464      464              
  Lines       80392    80392              
  Branches    80392    80392              
==========================================
- Hits        64329    64327       -2     
- Misses      13856    13857       +1     
- Partials     2207     2208       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate
renovate Bot force-pushed the renovate/object-0.x branch from 8bef649 to 8be028e Compare August 24, 2026 15:53
@renovate
renovate Bot temporarily deployed to github-action-benchmark August 24, 2026 15:53 Inactive
@renovate
renovate Bot had a problem deploying to github-action-benchmark August 24, 2026 17:04 Failure
@renovate
renovate Bot temporarily deployed to github-action-benchmark August 24, 2026 17:04 Inactive
@renovate
renovate Bot had a problem deploying to github-action-benchmark August 25, 2026 07:07 Failure
@popescuoctavian

Copy link
Copy Markdown
Contributor

This is safe to merge - the benchmark failure cannot be related to these changes since object is only used on the solx stack-trace path. I'm investigating these types of benchmark failures.

@popescuoctavian
popescuoctavian added this pull request to the merge queue Aug 25, 2026
Merged via the queue into main with commit 3386450 Aug 25, 2026
82 of 85 checks passed
@popescuoctavian
popescuoctavian deleted the renovate/object-0.x branch August 25, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file no changeset needed This PR doesn't require a changeset

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant