Skip to content

Release Notes - 3.2.20

Compare
Choose a tag to compare
@dahall dahall released this 08 Nov 23:17
· 1563 commits to master since this release

Additions

  • Added PIDL conversion to byte[]
  • Added PropertyDescriptor.TryCreate method and CanGroupBy and IsViewable properties
  • Updated Theraot NuGet pkg to 3.2.0 across solution
  • Added FileIconInit method and SHSTOCKICONINFO.Default field.
  • Added GetSystemIcon overload that uses an index and optimized methods.
  • Added Vanara.Windows.Shell.StockIcon class
  • Added second IExtractIcon.Extract extension to handle getting one icon
  • Exposed underlying handle of StockIcon via IconHandle
  • Added Vanara.Windows.Shell.ShellDataTable which is a DataTable that defines its columns and row from items in a shell folder. Designed for streamlined async reading of a shell folder's items and their properties.
  • Overloaded IntPtr.LinkedListToEnum extension method to allow for offset func.
  • Added IGraphicsObjectHandle to all appropriate GDI safe handles
  • Added GetUIObjectOf extension methods that return HRESULT
  • Added missing param attributes to CopyImage
  • Added methods to convert between SHIL values and the system's closest pixel size

Fixes

  • Fixed layout of PARTITION_INFORMATION_GPT so it is blittable (#173)
  • Optimized PROPERTYKEY.Equals
  • Rebased PIDL on SafeHANDLE from GenericSafeHandle to avoid generics.
  • Fixed params on IShellFolder2.GetDetailsEx
  • Removed unnecessary handling of 'shell::' prefixed paths in GetShellItemForPath. Determined that SHCreateItemFromParsingName already does this.
  • Updated parameter attributes and overloads for Shell_GetCachedImageIndex and SHMapPIDLToSystemImageListIndex
  • BREAKING CHANGES: Changed name of IExtractIcon to IExtractIconW and added IExtractIconA. In use, both are required. Changed Extract method to unsafe and made parameters pointers to allow for null values. Added Extract extension method for safe access to method.
  • MANY BREAKING CHANGES: Since these all can implemented interfaces, changed all interfaces methods to PreserveSig with HRESULT return values for ICategorizer, ICategoryProvider, IObjectWithFolderEnumMode, IShellFolder, IShellFolder2, and IShellIcon. Updated extension methods accordingly.
  • Fixed minor bug in IconExtension.GetSystemIcon
  • Fixed #175 per detail for GetLogicalProcessorInformationEx
  • Moved pure extensions for Gdi functions to Gdi32
  • Changed IExtractImage interface to PreserveSig format
  • Changed IThumbnailProvider.GetThumbnail to return a SafeHBITMAP instead of HBITMAP
  • Fixed ShellNavigationHistory so events fire
  • Unchanged non-errant IpHlpLib fields base to FILETIME from SYSTEMTIME per #154 and updated documentation