MonoGame 3.7 Released

MonoGame, the open source game framework based on Microsoft’s long defunct XNA framework, just released version 3.7.  The biggest new feature of this release is most likely official support for the Nintendo Switch platform, but it also contains several improvements and fixes.  If you are interested in learning how to use MonoGame, be sure to check out our complete MonoGame tutorial series.

Details from the forum release post:

  • Remove Scale and Rotation properties from Matrix. #5584
  • Added Switch as a platform. #5596
  • DirectX: Fixed multisample clamping logic. #5477
  • SDL Gamepad DB update. #5605
  • Add Missing method OpaqueDataDictionary.GetValue. #5637
  • Increase code coverage in Model* family. #5632
  • Fix scroll wheel events on Windows Universal. #5631
  • Implement GetHashCode on Vertex types. #5654
  • Implement GetHashCode and ToString methods for Joystick. #5670
  • Fixed Gamepad DPad on Android. #5673
  • Pipeline process not terminating on exit fix. #5672
  • Added Joystick.IsSupported property. #5678
  • Use GraphicsCapabilities.MaxTextureAnisotropy on SamplerState. #5676
  • Make SpriteBatch.End throw when Begin not called. #5689
  • Add Open Output Directory option to Pipeline Tool. #5690
  • Rename Exit to Quit on Pipeline Tool Linux Headerbar. #5687
  • Added minimum size to the Pipeline Tool window. #5692
  • Added Id and DisplayName properties to Gamepad. #5625
  • Improved GameController database loading for DesktopGL. #5606
  • RPC curves are now updated before Cue is played. #5709
  • Fixes to Texture2D.FromStream on Windows DirectX. #5712
  • Support DistanceScale and DopplerFactor under OpenAL. #5718
  • Implemented Microphone for OpenAL platforms. #5651
  • Implemented caching of staging resources used to copy data from a Texture2D under DirectX. #5704
  • Reusable function for raising events. #5713
  • Remove reference to SharpDX from project templates. #5611
  • Improvements to VideoPlayer for Desktop DirectX. #5737
  • Use SharpDX NuGet packages from our NuGet packages. #5748
  • Fixed leaks that affected shutting down and recreating GraphicsDevice under DirectX. #5728
  • Texture2D mipmap generation and population fixes. #5614
  • Remove SharpDX.RawInput.dll reference from DirectX graphics backend. #5723
  • New fast Texture2D.FromStream implementation for DesktopGL ported from STB. #5630
  • Added support DrawInstancedPrimitives on OpenGL platforms. #4920
  • Fixed mouse touch event to release when mouse moves outside the client area or we loses focus. #5641
  • Added GraphicsAdapter.UseDebugLayers to enable GPU debug features in release builds. #5791
  • Fixed DirectX back buffer update when multisampling changes. #5617
  • Adds Xbox One S controller support to Linux. #5797
  • Do not allow the Pipeline tool to delete files outside the content folder. #5820
  • OpenGL Mouse.SetCursor now works with alpha correctly. #5829
  • Implement Mouse.SetCursor() for Windows. #5831
  • Fix pre-emptive song finish in OggStreamer. #5821
  • UWP Templates use target version selected in wizard. #5819
  • Implement Mouse.WindowHandle under Windows DirectX. #5816
  • Improve shader error/warning parsing in Pipeline Tool. #5849
  • Fix crash on multi-editing bool values in Pipeline Tool. #5859
  • Fixes to XACT sound effect pooling. #5832
  • Improved disposal of OpenGL resources. #5850
  • Better support for WAV audio formats in content pipeline and FromStream. #5750
  • Fix for build hang with no mgcb file in project. #5886
  • Removed deprecated Rider settings from Linux installer. #5881
  • Improved performance of SpriteFont.MeasureString() & SpriteBatch.DrawString(). #5874
  • Sort content when saving MGCB files. #5930
  • Fix a crash when building content in xbuild. #5897
  • Fixed back button problems in UWP. #5810
  • Removed Windows 8.1 and Windows Phone 8.1 support. #5809
  • Upgrade to SharpDX 4.0.1. #5949
  • Update the UWP Template to use the Latest SDK. #5931
  • Fixed the Scissor rect calculation on DesktopGL and OpenGL platforms. #5977
  • Calculate the Client Bounds a bit later. #5975
  • Rework Android OpenGL Framebuffer Support. #5993
  • Implemented GraphicsDevice.GetBackBufferData. #5114
  • Optimizations to Length and Normalize in Vector3 and Vector4. #6004
  • Added MGCB man page for Linux. #5987
  • Included mgcb autocomplete for bash. #5985
  • Fixed GamePad.SetVibration crash. #5965
  • Fallback SurfaceFormat for RenderTargets. #6170
  • Added O(1) EffectParameter lookups by name. #6146
  • Reduce MouseState garbage in Desktop DirectX. #6168
  • Made SpriteFont constructor public. #6126
  • New Template System using Nuget. #6135
  • Use StbSharp for all Texture2D.FromStream. #6008
  • Dynamic reference loading in Pipeline Tool. #6202
  • Fix Pipeline tool to work regardless of Mono changes. #6197
  • Update Template Icons and Fix Mac Info.plist. #6209
  • Fix typo in VS2013 Shared Project Template. #6216
  • Fill up dotnet template info. #6226
  • Support Mac Unit Tests. #5952
  • Updated Assimp to latest version. #6222
  • Make sure that the window titlebar is within screen bounds on DesktopGL. #6258
  • Fixed trigger/dpad button state and reduced garbage in iOS Gamepad. #6271
  • Updated Windows Universal Min SDK Versions. #6257
  • Fix property content serialization detection when using a property named Item. #5996
  • Fix launcher default mimetype in Linux installer. #6275
  • Restore NVTT. #6239
  • Support unicode in window title under DesktopGL. #6335
  • Add crash report window to Pipeline Tool. #6272
  • Fix linking for copy action in Pipeline Tool. #6398
  • Implemented KeyboardInput and MessageBox for Windows DX. #6410
  • Fixed audio interruption bug on iOS. #6433

Programming MonoGame


Scroll to Top