From c7233dcf6857cca853ea38eabf2be602683e6b78 Mon Sep 17 00:00:00 2001 From: Philip Craig Date: Sun, 29 Mar 2026 13:46:09 +1000 Subject: [PATCH] Release 0.39.0 --- CHANGELOG.md | 111 ++++++++++++++++++++++++++++++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- crates/rewrite/Cargo.toml | 2 +- 4 files changed, 114 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85cbd14..259bc18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,117 @@ -------------------------------------------------------------------------------- +## 0.39.0 + +Released 2026/03/29. + +### Breaking changes + +* Changed `read::NativeFile` to use `NativeEndian` instead of `Endianness`. + [#851](https://github.com/gimli-rs/object/pull/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](https://github.com/gimli-rs/object/pull/852) + +* Changed parsing to always support unaligned data. + The `unaligned` feature now has no effect. + [#861](https://github.com/gimli-rs/object/pull/861) + +* Changed `read::SymbolMapName::new` to accept a `size` parameter. + [#863](https://github.com/gimli-rs/object/pull/863) + +### Changed + +* Changed `read::MachOFile::entry` to handle `LC_UNIXTHREAD` load commands. + [#837](https://github.com/gimli-rs/object/pull/837) + +* Reduced the size of `read::elf::CrelIterator`. + [#840](https://github.com/gimli-rs/object/pull/840) + +* Improved debug output for `read::*File` by hiding the raw data bytes. + [#853](https://github.com/gimli-rs/object/pull/853) + +* Removed `DT_SYMBOLIC` from the `read::elf::Dyn::is_address` check. + [#854](https://github.com/gimli-rs/object/pull/854) + +* Changed `read::macho` to treat `ltmp*` symbols as section symbols. + [#856](https://github.com/gimli-rs/object/pull/856) + +* Changed `read::Relocation::encoding` for unknown relocations to + `RelocationEncoding::Unknown`. + [#857](https://github.com/gimli-rs/object/pull/857) + +* Changed `read::RelocationMap` to handle `RelocationKind::None` and + check for supported `RelocationEncoding`. + [#857](https://github.com/gimli-rs/object/pull/857) + +* Changed `read::elf` to return `RelocationKind::GotRelative` for + `elf::R_X86_64_GOTPCRELX` and `elf::R_X86_64_REX_GOTPCRELX`. + [#859](https://github.com/gimli-rs/object/pull/859) + +* Changed `elf::R_X86_64_PLT32` and `macho::X86_64_RELOC_BRANCH` + to use `RelocationKind::PltRelative` and `RelocationEncoding::X86Branch`. + [#860](https://github.com/gimli-rs/object/pull/860) + +* Changed `read::macho` and `write::Object` to handle `macho::ARM64_RELOC_BRANCH26`. + [#860](https://github.com/gimli-rs/object/pull/860) + +* Changed `read::SymbolMap` to include symbol sizes. + Deprecated `read::SymbolMap::get`. Use `before` or `containing` instead. + [#863](https://github.com/gimli-rs/object/pull/863) + +* Changed `read::elf` to include unsized symbols in `is_definition`. + [#866](https://github.com/gimli-rs/object/pull/866) + +* Changed `pod::slice_from_all_bytes/_mut` to handle zero-sized types. + [#868](https://github.com/gimli-rs/object/pull/868) + +* Updated `wasmparser` dependency. + +### Added + +* Added `read::ObjectSegment::permissions`. + [#838](https://github.com/gimli-rs/object/pull/838) + +* Added `elf::R_X86_64_CODE_*` relocations. + [#839](https://github.com/gimli-rs/object/pull/839) + +* Added `read::macho::Section::reserved1` and `Section::reserved2`. + [#846](https://github.com/gimli-rs/object/pull/846) + +* Added `From` implementations for fixed endian integers. + [#850](https://github.com/gimli-rs/object/pull/850) + +* Added `Native*File` types for each file format. + [#851](https://github.com/gimli-rs/object/pull/851) + +* Added `read::elf::ElfFile::elf_dynamic_table`. + [#854](https://github.com/gimli-rs/object/pull/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](https://github.com/gimli-rs/object/pull/856) + [#860](https://github.com/gimli-rs/object/pull/860) + +* Added `write::StandardSection::EhFrame`. + [#856](https://github.com/gimli-rs/object/pull/856) + +* Added `SymbolFlags::elf_visibility`. + [#859](https://github.com/gimli-rs/object/pull/859) + +* Added `read::macho::Section::symbol_stub_size` and `indirect_symbols`. + [#862](https://github.com/gimli-rs/object/pull/862) + +* Added missing `elf::DT_RELR*` constants. + [#864](https://github.com/gimli-rs/object/pull/864) + +* Added `elf::R_AARCH64_PLT32` and `elf::R_AARCH64_GOTPCREL32`. + [#865](https://github.com/gimli-rs/object/pull/865) + +-------------------------------------------------------------------------------- + ## 0.38.1 Released 2026/01/02. diff --git a/Cargo.lock b/Cargo.lock index 2797aa3..3f0c887 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -226,7 +226,7 @@ dependencies = [ [[package]] name = "object" -version = "0.38.1" +version = "0.39.0" dependencies = [ "crc32fast", "flate2", diff --git a/Cargo.toml b/Cargo.toml index 381a251..8923ea6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "object" -version = "0.38.1" +version = "0.39.0" edition = "2018" keywords = ["object", "elf", "mach-o", "pe", "coff"] license = "Apache-2.0 OR MIT" diff --git a/crates/rewrite/Cargo.toml b/crates/rewrite/Cargo.toml index 10fdc95..0a52865 100644 --- a/crates/rewrite/Cargo.toml +++ b/crates/rewrite/Cargo.toml @@ -17,7 +17,7 @@ include = [ features = ['doc'] [dependencies] -object = { version = "0.38.0", default-features = false, features = ["build", "elf"], path = "../.." } +object = { version = "0.39.0", default-features = false, features = ["build", "elf"], path = "../.." } # Dependencies for the cli anyhow = { version = "1.0.79", optional = true }