Skip to content

5.4.0

Compare
Choose a tag to compare
@Washi1337 Washi1337 released this 16 Jul 19:04
· 176 commits to master since this release
82989a6

This release includes support for PE certificate tables, PE forwarder exports, as well as various quality of life improvements and bug fixes. Check out the documentation and the full change-log below:

New Features

  • Add read/write support for PE certificate tables (#451).
  • Add support for arbitrary symbols to be references in NativeMethodBody (#444, #449).
  • Let assembly resolution mechanism respect ModuleReaderParameters::WorkingDirectory (#438, #441).
  • Add read/write support for ExportedSymbol::IsForwarder (#437, #440).
  • Add ManagedPEFileBuilder::ErrorListener (#468).
  • Allow for ITypeDescriptor::Scope to be null and of type ModuleDefinition. (#466)
  • Add language identifiers for Version Info win32 resources (#457)
  • Add support for attaching multiple listeners to the MemberCloner (#461)
  • Add DotNetRuntimeInfo::GetDefaultCorLib and KnownCorlibs::FromRuntimeInfo (#462)
  • PEFile::CreateReaderAtFileOffset now supports reading from EOF data (5821428).
  • Add Source Link (#469, thanks @ds5678)

Bug fixes

  • Fix an issue when resolution scope of a type reference set to 0 when the coded index to the current module was meant instead (#459, #466).
  • Fix an issue where field RVA rows were not always correctly updated when writing unchanged serialized PEs (#468).
  • Fix an issue where win32 resource VersionInfo tables were not correctly aligned to the next 4-byte boundary, resulting in some of the resource to be trimmed away when rebuilding (#456).
  • Fix an issue where the Culture= part of AssemblyDescriptor.FullName was not included in the output (#458).
  • Fix an issue where PE section names would result in spurious "name too long" exceptions when containing unconventional UTF-8 code points (#453, #455).
  • Fix an issue where GetImpliedMemoryLayout would stack-overflow with unresolved generic parameter type signatures (#447, #448).
  • Fix an issue where ModuleReaderParameters were not passed along correctly in ModuleDefinition::FromBytes (bbf5781)