5.4.0
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 benull
and of typeModuleDefinition
. (#466) - Add language identifiers for Version Info win32 resources (#457)
- Add support for attaching multiple listeners to the
MemberCloner
(#461) - Add
DotNetRuntimeInfo::GetDefaultCorLib
andKnownCorlibs::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 ofAssemblyDescriptor.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 inModuleDefinition::FromBytes
(bbf5781)