Download Latest Version Release Notes - 5.0.1 source code.tar.gz (17.1 MB)
Email in envelope

Get an email when there's a new version of Vanara

Home / v5.0.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-03-11 4.3 kB
Release Notes - 5.0.1 source code.tar.gz 2026-03-11 17.1 MB
Release Notes - 5.0.1 source code.zip 2026-03-11 18.5 MB
Totals: 3 Items   35.6 MB 0
  • Consolidated Vanara.PInvoke.Shared into Vanara.Core
  • Added support for .NET 10 which required removing support for .NET Core 3.1 in the Vanara.WinUI.Extensions package.
  • Removed StructPointer<T> and ArrayPointer<T> method parametes to allow .NET 4.8 to keep working and updated many methods to use updated generators.
  • Added implicit Span/ReadOnlySpan conversions to SafeNativeArray
  • Completed work on new TypeDef generator.
  • Converted BOOL, BOOLEAN, LCID, and LUID to use new TypeDef generator
  • Added PROPERTYKEY.System.RemoteConflictingFile value (#574)
  • Added StructHelper.InitFixedArray to help with fixed size field initialization from an array that may be of a smaller or equal length.Introduced AnySizeStructFieldArray<T>.AsSpan(int length) for safer access to unmanaged array data via Span<T>. Removed Obsolete attribute and added XML doc warning about memory overruns, recommending marshaling as a safer alternative.SafeMemStruct<TStruct, TMem> is now a public class with public constructors, allowing direct instantiation. The FieldAddress method now uses Marshal.OffsetOf<TStruct>(name) for improved type safety.Add span support and advanced count override to SafeNativeArray
  • Corrected issue with VssApi NuGet package (#575) not delivering ijwhost.dll which caused load problems with consumed.
  • Added extension method to change IVssAsync into waitable Task and added VSS error messages.
  • Add RefEnumeratorEx<T> for custom unmanaged iteration
  • Breaking Changes: Complete overhaul of PerfLib and Pdh methods and structures. Shouldn't affect many since it was so broken.
  • Applied DefaultDllImportSearchPaths(System32) to all assemblies to harden WinAPI P/Invoke Imports [#582]
  • Updated file attribute flags to split out those used by CreateFile2 and CreateFile3 structures
  • To address [#580], rewrote ListImplBase to effectively cache values rather than dynamically get them each time. This should speed query of the Count property and non-first item retrievals.
  • Added OverloadResolutionPriortiyAttribute for pre .NET 7 and optimized code for other compatibility attributesMinor refactoring
  • Added IGetMemorySize and IMemoryHandle interfaces for improved memory block size introspection and management. Updated HGlobalMemoryMethods to support size queries via GlobalSize. Refactored ISafeMemoryHandleBase to inherit from IMemoryHandle. Improved XML docs and exception references. Added Fill method and new constructor to SafeNativeArray for easier array initialization. Minor code and documentation cleanups.Introduce MarshalHelper with generic native-to-managed marshaling. Enhance GetFieldSizeViaAttribute to handle missing attributes. Update exception and attribute documentation for clarity. Refactor Marshaler.WriteFields to accept nativeSize parameter.
  • Major overhaul of parameter attribute processing in the Vanara source generator:
  • Added support for StructPointer and ArrayPointer attributes, enabling advanced marshaling scenarios with custom memory managers and marshalers.
  • Introduced ParamInfo-derived classes for robust attribute parsing and validation.
  • Attribute handlers now support ordered processing for multiple attributes.
  • Generator logic now merges and orders parameter attributes for correct transformation.
  • Rewrote Build*Method functions for improved error handling and code generation.
  • Enhanced XML documentation and utility methods.
  • Refactored MethodBodyBuilder for clarity and extensibility.
  • Improves flexibility, robustness, and error reporting for complex interop cases.Update CI build workflow for Visual Studio 2026
  • Fixed bug [#587] - ShellItem.FileInfo or ShellFileInfo(PIDL) throw exceptions when file name is longer than MAX_PATH.
  • Added StringBuilder overload for GetRawInputDeviceInfo to address [#592] scenario.
  • Enhanced GetRawInputDeviceInfo overload to return a generic type and removed generated overloads.
  • Fixed context menu and PIDL handling issues, mostly affecting context menu retrieval
  • Prelimary work on analyzers to help with Vanara
  • Reworked OBJECT_TYPE_LIST to eliminate unsafe uses
  • Removed problematic ICollection inheritance from Shell32.IShellWindows to ensure proper function under .NET 10 (#590)
  • Fixed IThumbnailProvider definition (#579)
Source: README.md, updated 2026-03-11