# Release notes

# v0.2.9 LATEST

Released: 2025-06-20

  • get_assembly_attributes() that returns all assembly attributes
  • get_assembly_attributes_with_values() that returns common assembly attributes and their values, see #14
  • get_assembly_attribute_value() that returns value of a given assembly attribute
  • #Blob stream custom attributes parser with signature (element) types and calling convention definitions
  • get_fully_qualified_memberref_names() that returns fully qualified MemberRef names, see #12
  • get_assemblyref_names_with_versions() that returns AssemblyRef names and their versions, see #11
  • Internal get_reasonable_display_unicode_string_for_bytes() that returns Unicode string from bytes, see #13
  • get_token_strings() that returns all strings from a token
  • is_reference_assembly() that checks if an assembly is a reference assembly
  • stream_name_padding_bytes_patched anti-parsing check
  • Internal methods (_blob_signature_helper() -> code cleanup, _get_metadata_table_row_size() -> monkey patch fix)
  • Directory support for dotnetfile_dump.py example
  • Added example scripts as console commands (dotnetfile_dump, dotnetfile_disassemble)
  • Custom attributes parsing in parse_blob_stream()
  • Skip interface type and more delegate methods in get_entry_points()
  • Better Unicode string conversion in parse_us_stream(), see #13
  • Minor improvements (get_memberref_hash(), read_reasonable_string(), get_reasonable_display_string_for_bytes(), added missing typings)
  • Better support for stream names with patched padding bytes (anti analysis trick) in field_text()
  • Better support for empty and corrupted methods in _get_method_header_information()
  • Better boundary checks in _is_reader_position_valid()
  • Get correct row sizes for special assemblies in _get_metadata_table_row_size()
  • Better support for corrupted resources in parse_dotnet_resources() and _read_serialized_string()
  • Updated documentation and dotnetfile_dump.py with new methods

Thanks to all contributors! 👏


# v0.2.4

Released: 2023-08-11

  • Fast-load
  • Added method header parser to get RVA, header/code size and raw IL bytes
  • Added (internal) get_user_string() method, see #3
  • Detection and support for more anti metadata/parsing tricks
    • Mixed case stream names
    • Invalid entries in MethodDef table
    • Maximum length exceeding strings in #Strings stream
  • Available on PyPI #2
  • Simple disassembler code example
  • get_string() method better handles obfuscator tricks
  • DotNetPEParser handles PathLike objects, see #4
  • Better error handling for corrupt resources
  • Fixed sorting in TypeRef hash method
  • Typo fixes in documentation, see #5 + #6
  • Various other small fixes

Thanks to all contributors!


# v0.1.0

Released: 2022-05-30

  • Initial public release