SharpDX v4.0.0 Release Notes

Release Date: 2017-05-29 // almost 7 years ago
  • Overview

    ๐Ÿš€ This new release of SharpDX contains:

    • ๐Ÿ‘€ Several bug fixes, see the full list below
    • ๐Ÿ‘ท A migration of the build system to VS 2017
    • โž• Added support for the .NET Core Platform (netcoreapp1.0, netstandard1.1, uap10)

    ๐Ÿš€ This release is the dedicated work of external contributors, thanks a lot for their work!

    The binaries are accessible on nuget.

    ๐Ÿ”„ Changelog since v3.1.1

    ๐Ÿ— Build

    • โž• Add AppVeyor.yml build (changes)
    • ๐Ÿ›  Fix appveyor.yml bis (changes)

    Comments

    • โž• Add inherit on basic disposes and tostring (changes)
    • ๐Ÿ›  Fix include path in order to remove some warnings in visual studio (changes)
    • ๐Ÿ›  Fix path on compositor (changes)

    Direct2D1

    Direct3D11

    Direct3D12

    • โž• Add code comments and fix include path where relevant (changes)

    Doc

    • ๐Ÿ›  Fix documentation comments on function reflection. Add comment for return parameter (changes)

    General

    • ๐Ÿ“š Restored generate documentation (changes)

    Misc

    • โž• Add desktop check and documentation to CapturePhotoConfirmation. (changes)
    • โž• Add inherit for Size2F ToString (changes)
    • โž• Add missing TypeExtensions file (changes)
    • โž• Add Rebuild target to SharpDXGen (changes)
    • โž• Add support for net40 target (issue #877) (changes)
    • โž• Added build output for .NET Core apps and UWP apps for the core SharpDX library. Refactored some of the common properties into MSBuild .props and .targets files. (changes)
    • โž• Added convenience mappings for capture sink methods that SharpGen didn't generate. (changes)
    • โž• Added documentation for wrappers. (changes)
    • โž• Added IFormattable to FourCC to provide customised string representation when building Media Foundation GUIDs. (changes)
    • โž• Added mappings for IMFCaptureEngine and related APIs. (changes)
    • โž• Added public Initialize method onto CaptureEngine. (changes)
    • โž• Added shadows and vtables for callback interfaces. (changes)
    • โž• Added useful constructors for the CaptureEngineClassFactory and the CaptureEngine. (changes)
    • โž• Added vswhere executable to repo. (changes)
    • ๐Ÿ”„ Changed all references to GCC Xml outside of the CastXml class to refer to CastXml. References in CastXml.cs stay because we are using the GCC-XML compatible output format. (changes)
    • ๐Ÿ”„ Changed base package to use new project system. Currently builds on .net45 and netstandard1.1 (changes)
    • ๐Ÿ”„ Changed SharpDX.Tests assembly to make tests discoverable in VS. (changes)
    • ๐Ÿ”„ Changed solution structure and SharpDX.build file to set up a build structure that generates NuGet packages in the Bin folder. (changes)
    • ๐Ÿ’… Cleaned up project style and removed now-unused .nuspec file (package info is in the .csproj and .props files) (changes)
    • ๐Ÿ‘ Cleaned up SharpGen code gen for the different app types. Still a little glitchy, but is better than before (doesn't overwrite itself). (changes)
    • ๐Ÿ— Converted build script to a cmd file. (changes)
    • Converted D3D10 to the new project system. (changes)
    • Converted DirectComposition to the new project system. (changes)
    • Converted SharpDX.Desktop to the new project system. (changes)
    • ๐Ÿ‘ CoreCLR support: replaced HandleRef by IntPtr in Pinvoke routines as HandleRef is not present in CoreCLR/CoreFX. (changes)
    • ๐Ÿ Enabled binding APIs up to Windows 10 Redstone 1 (Anniversary Edition). Now bindings for all APIs available as of 3/16/2017 will be generated. (changes)
    • ๐Ÿ›  Fix appveyor.yml (changes)
    • ๐Ÿ›  Fix code comments for color, and add alpha description (changes)
    • ๐Ÿ›  Fix sharpdx.DirectComposition project metadata. (changes)
    • ๐Ÿ›  Fixed appveyor artifact path. (changes)
    • ๐Ÿ›  Fixed artifact path for NuGet Packages (changes)
    • ๐Ÿ›  Fixed Assembly mapping file checker to correctly detect changes and generate for the correct app type. (changes)
    • ๐Ÿ›  fixed help text BoundingBox -> BoundingSphere (changes)
    • ๐Ÿ›  Fixed paths in build script (changes)
    • ๐Ÿ›  Fixed PtrToStringAnsi and PtrToStringUni to correctly return null-terminating string instead of always returning string with maxLength chars (changes)
    • ๐Ÿ›  fixed readme.md (changes)
    • Freeing allocated string in DebugName setter (changes)
    • Fully populate derived structs (changes)
    • ๐Ÿ›  Got CastXML working to process the headers. Only a few glitches here and there that need to be fixed. (changes)
    • ๐Ÿ‘Œ Improved CapturePhotoConfirmation mapping. (changes)
    • Making progress on getting sharpgen's detection of not needed work (only gen when needed) working correctly again. (changes)
    • Matrix3x2.Multiply now behaves like other Matrix.Multiply functions (changes)
    • ๐Ÿšš Moved AssemblyInfo into the .props file. (changes)
    • ๐Ÿšš Moved UWP support targets into SharpDX.targets (changes)
    • ๐Ÿšš Moved XAudio2 to the new project system. (changes)
    • ๐Ÿšš Moved XInput over to the new project system. (changes)
    • Ported over DirectInput to new project system. (changes)
    • Ported SharpDX.Mathematics over to the new project system. (changes)
    • Ported SharpDX.RawInput over to the new project system (net45 only because of WinForms dependency). (changes)
    • Provide mapping to IDWriteFontFallback::MapCharacters method (changes)
    • Re added conditional code signing. (changes)
    • RectangleF.Contains now includes right and lower border (changes)
    • ๐Ÿ”จ Refactored code to use vswhere to find any compatible VS2017 or newer installation for the VC toolset location. (changes)
    • ๐Ÿ”จ Refactored running SharpGen into a seperate MSBuild project because there were issues with the MSBuild glob includes finding the files if they were newly created before. (changes)
    • โœ‚ Remove parameter mapping. (changes)
    • โœ‚ Remove Windows 10 SDK requirement from the SharpGen batch script (this requirement is enforced with the Mapping files) (changes)
    • โœ‚ Removed dead code in SharpGen. (changes)
    • โœ‚ Removed GCCXML from the repo (changes)
    • โœ‚ Removed unused (outdated) build scripts. (changes)
    • โšก๏ธ Update DirectSound to the new project system. (changes)
    • โšก๏ธ update maping on window 10 SDK 15063 (changes)
    • update mapping for NTDDI_WIN10_RS2 (changes)
    • โšก๏ธ Update README to include requirements to build this branch (for when this is merged into master) (changes)
    • โšก๏ธ Update to new Reflection API that works equally well under both the .NET Framework and CoreCLR. (changes)
    • โšก๏ธ Updated appveyor.yml (changes)
    • โšก๏ธ Updated capture attributes to more accurate types. (changes)
    • โšก๏ธ Updated D3D11.Effects to the new project system. (changes)
    • โšก๏ธ Updated Direct2D1 project to new project system. (changes)
    • โšก๏ธ Updated Direct3D11 to the new project system. (changes)
    • โšก๏ธ Updated Direct3D12 to the new project system. Removed some unneeded props from a previous build change. (changes)
    • โšก๏ธ Updated Direct3D9 to use the new project system. Added in an MSBuild property to allow projects to opt out of SharpGen (i.e. when their code is not being generated). (changes)
    • โšก๏ธ Updated DirectManipulation to the new project system (changes)
    • โšก๏ธ Updated DXGI project to new project system. (changes)
    • โšก๏ธ Updated enumeration mapping. (changes)
    • โšก๏ธ Updated mappings to fix an issue in API partitioning that showed up with the new (multi-gen) code gen process. (changes)
    • โšก๏ธ Updated MediaFoundation to the new project system. (changes)
    • โšก๏ธ Updated project files to not refer to $(SolutionDir) so that dotnet restore would work. Added dotnet restore to the build script. (changes)
    • ๐Ÿš€ Updated props file to make packages pre-release. Made base version 4.0.0 because of breaking backward compatibility. (changes)
    • โšก๏ธ Updated SharpDX.Animation and SharpDX.D3DCompiler to new project system (incl nuget package generation) (changes)
    • โšก๏ธ Updated SharpDX.Animation to use the new project system. (changes)
    • โšก๏ธ Updated SharpGen to generate different app configurations based on a command line flag. Modify targets and project files to utilize this flag and optimally build the code with the different APIs in a single build. (changes)
    • โšก๏ธ Updated variant.cs for issue #787 (changes)

    SharpDX.Direct3D12

    • โž• Add constructor overload on StaticSamplerDescription, to take a SamplerStateDescription as input. (changes)
    • โž• Add overloads for SetDescriptorHeaps and SetVertexBuffers in GraphicsCommandList (changes)

    SharpGen

    • "bases" Attribute is optional (changes)
    • "extern" attribute now only indicates an explicit extern storage qualifier. Use "inline" as it is equivalent for SharpDX, for now (changes)
    • โž• Add CastXML binaries (CastXML/CastXML@c6cf62a) (changes)
    • โž• Add fundamental type "bool" (changes)
    • Anonymous declarations have empty names in CastXML (changes)
    • Array types don't have "size" attribute anymore. "max" contains the correct dimension. (changes)
    • Clang lists attributes in reverse order (GCC too?). Also, writable/readable are pre-conditions (changes)
    • Correctly handle literals in Guids (changes)
    • Execute CastXML instead of gccxml (changes)
    • ๐Ÿ›  Fix path for include, to remove warnings as file was not found (changes)
    • ๐Ÿ– Handle format of C++ floating point literals (changes)
    • In CastXML, init attributes contain expressions. Cast to correct type if necessary (changes)
    • ๐Ÿ‘‰ Use "annotate" instead of "gccxml" attribute (changes)