Skip to content

Latest commit

 

History

History
668 lines (608 loc) · 48.9 KB

CHANGELOG.md

File metadata and controls

668 lines (608 loc) · 48.9 KB

Changelog

3.8 Release - 2020-08-10

Added

  • New Plane constructor. #6085
  • Round, Ceiling, Floor functions for Vector2/3/4. #6318
  • Dotnet templating templates. #6494
  • TransformMatrix for SpriteEffect. #6623
  • SpriteBatch constructor overload with capacity parameter. #6682
  • [OpenGL] Support for separate blend states per render target. #6343
  • Multiply operator overload for Color: scale * Color. #6747
  • Overloads for garbageless BoundingBox.CreateFromPoints. #6743
  • UseStandardPixelAddressing flag. #6621 #6780
  • [MGCB] Search fonts in HKEY_CURRENT_USER on Windows. #6671
  • Garbageless GetPressedKeys overload. #6643
  • Expose GraphicsDevice.DiscardColor to set the clear color of render targets. #6832
  • KeyDown and KeyUp events on GameWindow. #6762
  • FromFile for Texture2D and SoundEffect. #6586
  • PlatformInfo class to query runtime platform. #6846 #6873
  • API to query graphical system at runtime. #6872
  • Etc2 texture format support. #6864
  • MonoGame.Content.Builder package. #6905
  • τ constant. #6937
  • [UWP] Overloads for more detailed vibration control. #6933
  • [MGCB Editor] Always use Headerbar. #6938
  • Joystick display name for the Joystick API. #7008
  • [OpenGL] Overload with base index for draw instancing. #7016
  • Google Stadia Support. #7020 #7049
  • LastJoystickIndex for the Joystick API. #7017
  • MouseState.ToString. #7091
  • [MGCB Editor] .NET Core tool. #7090
  • [MGFXC] Wine support. #7098 #7103 #7107 #7188
  • EffectParameter.SetValue for int array. #7143
  • Add Web platform information to the content builder. #7144
  • [macOS] MonoGame Content pad for VS for Mac. #7266

Removed

  • Remove obsolete SpriteBatch.Draw overload. #6818
  • Disable Piranha portable build. #6844
  • Removed MonoGame.Framework.Net. #6900 #6775
  • Remove internal PNG Utility Classes. #6976
  • Protobuild removed and replaced with solutions and projects. #7040 #7041

Changed

  • OpenAssetImporter Improvements and FbxImporter Unit Tests. #6158
  • Made sound system optional. #6629
  • [UWP] Do not set minimum window size. #6763
  • Added Cake build script to replace NANT. #6776
  • Marked Color.TransparentBlack obsolete. #6817
  • [SDL] Performance and garbage optimizations to Joystick. #6829 #6834
  • Track GamePad packet number and general optimizations. #6760
  • [DirectX] Basic performance enhancements to Texture2D. #6726
  • Inline Vector2 operator / and Point.ToVector2(). #6700
  • Make OggStreamer thread a background thread. #6848
  • Made it so Texture2D in any format could be saved as Png/Jpeg when using MonoGame.DesktopGL backend. #6855
  • Upgrade SDK projects to .NET 4.5.2. #6902 #6903 #7050
  • Reduced garbage in Direct X-specific SetRenderTargets methods. #7034
  • MouseState Improvements. #6973
  • KeyboardState Improvements. #6972
  • [SDL] Updated controller DB. #7124
  • We now pool ContentManager scratch buffers. #5921
  • [OpenAL] Clean up sound disposal. #7097
  • [macOS] Replaced System.Drawing with StbImageSharp to enable tests. #7071
  • [Docs] Moved to DocFX v2 for documentation. #7127
  • [SDL] Bump dependencies to SDL 2.0.12. #7133
  • [Docs] Update for 3.8. #7117 #7240
  • [MGCB Editor] Changed position for context menu item Rebuild. #7176
  • [MGCB] Replace symbols for assembly references. #7272

Fixed

  • Support arrays > 255 elements in shaders. #5995
  • [DesktopGL] Fix setting mouse cursor from Texture2D. #6187
  • Remove trailing NUL chars in registry font name. #6577
  • [OpenAL] Fix loading OpenAL-Soft in DesktopGL when # is in path. #6581
  • [WindowsDX] Avoid freezing while moving/resizing window. #6594
  • [iOS] Fixed background music stopping on game startup. #6596
  • Fixed GameUpdateRequiredException namespace. #6597
  • [MGCB] Fixed build not cleaning empty projects. #6615
  • Reduce garbage from TextInput. #6664
  • Fix for loading native libraries on Amazon Fire HD 8. #6677
  • Fixes reflection support on SpriteBatch ctor. #6709
  • [Android] Fixed crashes on launch and resume. #6741
  • [Android] Fixed restoration of an activity after Game.Exit. #6739
  • [SDL] Fix rumble infinity threshold. #6744
  • [SDL] Fixed OnTextInput. #6749
  • Move touches are now aged too. (fixes #6753). #6756
  • [Android] Fixed Texture2D.GetData corrupting the Texture2D object. #6729
  • [MGCB Editor] Fix assembly load API used for custom user references. #6770
  • Fix nuget metadata URL properties. #6774
  • Fix IRenderTarget comments. #6785
  • Catch ArgumentException when trying to get encoding upon PipelineController.DoBuild. #6826
  • [OpenAL] Free source when sound instance is disposed. #6813
  • Use Resume when Play is called on Paused sound effect instance. #6815
  • Fixed BoundingSphere.Intersects(BoundingBox). #6666
  • Override Dispose in DrawableGameComponent to unload content. #6858
  • Fixed SwapChain is null in GraphicsDevice.PlatformDispose. #6869
  • Swap red and blue when setting mouse cursor texture. #6859
  • [DesktopGL] Fix IsActive not getting set to false. #6895
  • Fix FileHelpers Uri getting confused by double slashes. #6924
  • [UWP] Vibrate controller handles instead of triggers. #6933
  • Fix for CoreRT support. #6948
  • Fix a crash on macOS and CoreRT related to mishandling unmanaged function pointers. #6949
  • [MGCB] Rethrow InvalidContentException for Importers instead of wrapping it in a new PipelineException. #6954
  • Throw InvalidContentException with error line number/position in ContentIdentity. #6953
  • Fall back to less precise frame pacing on non-Windows platforms. #6941
  • [UWP] Fixes content loading to work with packaged files (and not just resources). #6964
  • [UWP] Fixes window resizing upon GraphicsDeviceManager.ApplyChanges(). #6964
  • [Android] fix GamePad.Back emulation. #6951
  • [Android] Fixes android APIs fallback. #6952
  • Fixed sample count in SoundEffect. #6996
  • [SDL] Fixed memory leak in controller mapping by freeing the returned string. #7021
  • [macOS] Look for native libraries in Frameworks folder for .app bundles. #7022
  • [OpenGL] Fixed PlatformClear and PlatformPresent to be private in GraphicsDevice. #7026
  • [DesktopGL] Fixed GraphicsAdapter.Description to return renderer. #6959
  • [OpenGL] Query correct value for the bounds to GL.ActiveTexture. #6970
  • Fix Content.mgcb not being visible in VS 2019. #7064
  • [iOS] Fix initialization crash on GLES 2.0 devices. #7047
  • [iOS] Fix GL error and race condition. #7073
  • [MGCB Editor] Mac fixes. #7077
  • [OpenAL] Fixing audio duplicating sourceids. #7095
  • [MGCB] Fix FindCommand not looking system locations on macOS/Linux. #7100
  • Fix FuncLoader not properly checking the current folder (fixes #7101). #7102
  • Fix .NET Standard template using wrong nuget. #7099
  • [DirectX] Fixed MSAA RenderTarget GetData and SetData. #5838
  • Fixed deconstruction of color for bytes and floats. #7109
  • [MGCB] Fix failing to find ffmpeg because it tries relative path. #7138
  • [MGFXC] Various fixes. #7148
  • Fixed a bug where The "New Item" dialogue would have no templates listed. #7141
  • [MGCB Editor] Darken text in output. #7163
  • [MGCB] Fix trying to chmod root files. #7183
  • [MGCB Editor] Fixed to not require root privileges for installing. #7185
  • [SDL] Better debugging for macOS. #7187
  • Fixed content failing to load on NetCore. #7199
  • [MGCB Editor] Fix parsing filename from arguments on macOS. #7215
  • [Linux] Flatpak packaging upgrades. #7224
  • Fix path in RebuildMGFX.bat. #7239
  • [DirectX] Fix issues with RenderTexture2D and SwapChainRenderTarget. #7225
  • [macOS] VSMac addin fixes. #7253
  • [MGCB Editor] PropertyGrid fixes. #7256
  • [MGCB Editor] General fixes. #7262
  • Fix a race condition when playing sound in worker threads. #7219
  • [Android] Fixed surface recreation when resuming from sleep mode on FireTV. #7211
  • Fix loading of content with special characters in a file name. #7267

3.7.1 Release - 12/8/2018

  • MGCB now generates content building statistics. #6401
  • Fixes to dependency loading in Pipeline Tool. #6450
  • Fixed crash when canceling choose folder dialog in Pipeline Tool. #6449
  • Fix add item dialog jumping around in Pipeline Tool. #6451
  • Fix OpenAL library loading on some Android phones. #6454
  • Fix Gamepad index tracking under UWP. #6456
  • Rename "Copy Asset Path" to "Copy Asset Name" for consistency with XNA in Pipeline Tool. #6457
  • Fix TextInput Keys argument for UWP. #6455
  • Add new GamePad.GetState() overloads to support different dead zone modes. #6467
  • Fixed incorrect offset DynamicSoundEffectInstance.SubmitBuffer under XAudio. #6523
  • Improved accuracy of fixed time step. #6535
  • Ensure intermediate output path exists before writing stats in Pipeline Tool. #6503
  • Fix for special window close case under SDL. #6489
  • Marshal microphone identifiers as UTF-8. #6530
  • Clear the current selections when excluding items in the Pipeline Tool. #6549
  • Enable standard derivatives extension for GLSL shaders. #6501
  • Fixed framebuffer object EXT loading under OpenGL. #6562
  • Fixed GL.RenderbufferStorage for devices that use the EXT entry points. #6563
  • Fix VS template installation when C# folder is missing. #6544
  • Fix for SDL loading when a '#' is in the directory path. #6573
  • Restored Buttons[] constructor in GamePadState fixing XNA compatibility. #6572

3.7 Release - 9/23/2018

  • 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

3.6 Release - 2/28/2017

  • Fixed XML deserialization of Curve type. #5494
  • Fix #5498 Pipeline Tool template loading on MacOS. #5501
  • Fix typo in the exclude.addins which cause warnings when installing the Addin in XS. #5500
  • Added support for arbitrary defines passed to the Effect compiler. #5496
  • Fixed GraphicsDevice.Present() to check for current render target. #5389
  • Custom texture compression for SpriteFonts. #5299
  • Performance improvements to SpriteBatch.DrawString(). #5226
  • Removed the OUYA platform #5194
  • Dispose of all graphical resources in unit tests. #5133
  • Throw NoSuitableGraphicsDeviceException if graphics device creation fails. #5130
  • Optimized and added additional constructors to Color. #5117
  • Added SamplerState.TextureFilterMode to correctly support comparison filtering. #5112
  • Fixed Apply3D() on stereo SoundEffect. #5099
  • Fixed Effect.OnApply to return void to match XNA. #5090
  • Fix crash when DynamicSoundEffectInstance not disposed. #5075
  • Texture2D.FromStream now correctly throws on null arguments. #5050
  • Implemented GraphicsAdapter for DirectX platforms. #5024
  • Fixed initialization of GameComponent when created within another GameComponent. #5020
  • Improved SoundEffect internal platform extendability. #5006
  • Refactored audio processing for platform extensibility. #5001
  • Refactored texture processing for platform extensibility. #4996
  • Refactor ShaderProfile to allow for pipeline extensibility. #4992
  • Removed unnessasary dictionary lookup for user index buffers for DirectX platforms. #4988
  • New SetRenderTargets() method which allows for variable target count. #4987
  • Added support for XACT reverb and filter effects. #4974
  • Remove array in GamePadDPad constructor. #4970
  • Updated to the latest version of Protobuild. #4964
  • Fixed static VBs and IBs on UWP on XB1. #4955
  • Updated to the latest version of Protobuild. #4950
  • Update Xamarin Studio addin for latest platform changes. #4926
  • Replace OpenTK with custom OpenGL bindings #4874
  • Fix Mouse updating when moving the Window. #4924
  • Fix incorrect use of startIndex in Texture2D.GetData DX. #4833
  • Cleanup of AssemblyInfo for framework assembly. #4810
  • New SDL2 backend for desktop GL platforms. #4428
  • Two MaterialProcessor properties fixed. #4746
  • Fixed thumbstick virtual buttons to always use independent axes. #4742
  • Fixed back buffer MSAA on DirectX platforms. #4739
  • Added new CHANGELOG.md to project. #4732
  • Added obsolete attribute and updated documentation. #4731
  • Fixed layout of UWP windows in VS template to ignore window chrome. #4727
  • Remove support for reading raw assets through ContentManager. #4726
  • Implemented DynamicSoundEffectInstance for DirectX and OpenAL platforms. #4715
  • Removed unused Yeti Mp3 compressor. #4713
  • MonoGame Portable Assemblies. #4712
  • Fixed RGBA64 packing and added unit tests. #4683
  • Fix Gamepad crash when platform doesn't support the amount. #4677
  • Fixed Song stopping before they are finished on Windows. #4668
  • Removed the Linux .deb installer. #4665
  • OpenAssetImporter is now automatically selected for all the formats it supports. #4663
  • Fixed broken unit tests under Linux. #4614
  • Split out Title Container into partial classes. #4590
  • Added Rider Support to Linux installer. #4589
  • Implement vertexStride in VertexBuffer.SetData for OpenGL. #4568
  • Performance improvement to SpriteBatch vertex generation. #4547
  • Optimization of indices initialization in SpriteBatcher. #4546
  • Optimized ContentReader to decode LZ4 compressed streams directly. #4522
  • TitleContainer partial class cleanup. #4520
  • Remove raw asset support from ContentManager. #4489
  • Initial implementation of RenderTargetCube for OpenGL. #4488
  • Removed unnecessary platform differences in MGFX. #4486
  • SoundEffect fixes and tests. #4469
  • Cleanup FX syntax for shader compiler. #4462
  • General Improvements to Pipeline Gtk implementation. #4459
  • ShaderProfile Refactor. #4438
  • GraphicsDeviceManager partial class refactor. #4425
  • Remove legacy Storage classes. #4320
  • Added mipmap generation for DirectX render targets. #4189

3.5.1 Release - 3/30/2016

  • Fixed negative values when pressing up on left thumbstick on Mac.
  • Removed exception and just return empty state when requesting an invalid GamePad index.
  • Fixed texture processing for 64bpp textures.
  • Fixed Texture2D.SaveAsPng on Mac.

3.5 Release - 3/17/2016

  • Content Pipeline Integration for Xamarin Studio and MonoDevleop on Mac and Linux.
  • Automatic inclusion of XNBs into your final project on Mac and Linux.
  • Improved Mac and Linux installers.
  • Assemblies are now installed locally on Mac and Linux just like they are on Windows.
  • New cross-platform "Desktop" project where same binary and content will work on Windows, Linux and Mac desktops.
  • Better Support for Xamarin.Mac and Xam.Mac.
  • Apple TV support (requires to be built from source at the moment).
  • Various sound system fixes.
  • New GraphicsMetrics API.
  • Optimizations to SpriteBatch performance and garbage generation.
  • Many improvements to the Pipeline tool: added toolbar, new filtered output view, new templates, drag and drop, and more.
  • New GamePad support for UWP.
  • Mac and Linux now support Vorbis compressed music.
  • Major refactor of texture support in content pipeline.
  • Added 151 new unit tests.
  • Big improvements to FBX and model content processing.
  • Various fixes to XML serialization.
  • MediaLibrary implementation for Windows platforms.
  • Removed PlayStation Mobile platform.
  • Added content pipeline extension template project.
  • Support for binding multiple vertex buffers in a draw call.
  • Fixed deadzone issues in GamePad support.
  • OcclusionQuery support for DX platforms.
  • Fixed incorrect z depth in SpriteBatch.
  • Lots of OpenTK backend fixes.
  • Much improved font processing.
  • Added new VertexPosition vertex format.
  • Better VS project template installation under Windows.

3.4 Release - 4/29/2015

  • Removed old XNA content pipeline extensions.
  • Added all missing PackedVector types.
  • Replacement of old SDL joystick path with OpenTK.
  • Added SamplerState.ComparisonFunction feature to DX and OGL platforms.
  • Fixed bug where content importers would not be autodetected on upper case file extensions.
  • Fixed compatibility with XNA sound effect XNBs.
  • Lots of reference doc improvements.
  • Added SamplerState.BorderColor feature to DX and OGL platforms.
  • Lots of improvements to the Mac, Linux and Windows versions of the Pipeline GUI tool.
  • Fixes for bad key mapping on Linux.
  • Support for texture arrays on DX platforms.
  • Fixed broken ModelMesh.Tag
  • VS templates will now only install if VS is detected on your system.
  • Added Color.MonoGameOrange.
  • Fixed Xact SoundBack loading bug on Android.
  • Added support for a bunch of missing render states to MGFX.
  • Added support for sRGB texture formats to DX and OGL platforms.
  • Added RasterizerState.DepthClipEnable support for DX and OGL platforms.
  • New support for the Windows 10 UAP plafform.
  • Fixed bug which caused the GamePad left thumbstick to not work correctly.
  • Preliminary base classed for future Joystick API.
  • Performance improvement on iOS by avoiding unnessasary GL context changes.
  • Fixed bug where MediaPlayer volume affected all sounds.
  • New XamarinStudio/MonoDevelop Addin for Mac.
  • New Mac installer packages.

3.3 Release - 3/16/2015

  • Support for vertex texture fetch on Windows.
  • New modern classes for KeyboardInput and MessageBox.
  • Added more validation to draw calls and render states.
  • Cleaned up usage of statics to support multiple GraphicsDevice instances.
  • Support Window.Position on WindowsGL platform.
  • Reduction of redundant OpenGL calls.
  • Fullscreen support for Windows DX platform.
  • Implemented Texture2D SaveAsPng and SaveAsJpeg for Android.
  • Improved GamePad deadzone calculations.
  • We now use FFmpeg for audio content building.
  • BoundingSphere fixes and optimizations.
  • Many improvements to Linux platform.
  • Various fixes to FontTextureProcessor.
  • New Windows Universal App template for Windows Store and Windows Phone support.
  • Many fixes to reduce garbage generation during runtime.
  • Adding support for TextureFormatOptions to FontDescriptionProcessor.
  • XNA compatibility improvements to FontDescriptionProcessor.
  • Resuscitated the unit test framework with 100s of additional unit tests.
  • BoundingFrustum fixes and optimizations.
  • Added VS2013 project templates.
  • Moved to new MonoGame logo.
  • Added MSAA render target support for OpenGL platforms.
  • Added optional content compression support to content pipeline and runtime.
  • TextureCube content reader and GetData fixes.
  • New OpenAL software implementation for Android.
  • Xact compatibility improvements.
  • Lots of Android fixes and improvements.
  • Added MediaLibrary implementation for Android, iOS, Windows Phone, and Windows Store.
  • Added ReflectiveWriter implementation to content pipeline.
  • Fixes to Texture2D.GetData on DirectX platforms.
  • SpriteFont rendering performance optimizations.
  • Huge refactor of ModelProcessor to be more compatible with XNA.
  • Moved NET and GamerServices into its own MonoGame.Framework.Net assembly.
  • Runtime support for ETC1 textures for Androud.
  • Improved compatibility for FBXImporter and XImporter.
  • Multiple SpritBatch compatibility fixes.
  • We now use FreeImage in TextureImporter to support many more input formats.
  • MGFX parsing and render state improvements.
  • New Pipeline GUI tool for managing content projects for Windows, Mac, and Linux desktops.
  • New implementation of content pipeline IntermediateSerializer.
  • All tools and content pipeline built for 64-bit.
  • New documentation system.
  • Implement web platform (JSIL) stubs.
  • Lots of fixes to PSM.
  • Added Protobuild support for project generation.
  • Major refactor of internals to better separate platform specific code.
  • Added MGCB command line tool to Windows installer.

3.2 Release - 4/7/2014

  • Implemented missing PackedVector types.
  • VS2013 support for MonoGame templates.
  • Big improvement to XInput performance on Windows/Windows8.
  • Added GameWindow.TextInput event enhancement.
  • Added Xamarin.Mac compatability.
  • Support for WPF interop under DirectX.
  • Enhancement to support multiple GameWindows on Windows under DirectX.
  • Various SpriteFont compatibility improvements.
  • OpenAL performance/memory/error handling improvements.
  • Reduction of Effect runtime memory usage.
  • Support for DXT/S3TC textures on Android.
  • Touch support on Windows desktop games.
  • Added new RenderTarget3D enhancement.
  • OUYA gamepad improvements.
  • Internal improvements to reduce garbage generation.
  • Various windowing fixes for OpenTK on Linux, Mac, and Windows.
  • Automatic support for content reloading on resume for Android.
  • Support for TextureCube, Texture3D, and RenderTargetCube on DirectX.
  • Added TitleContainer.SupportRetina enhancement for loading @2x content.
  • Lots of Android/Kindle compatibility fixes.
  • Added enhancement GameWindow.IsBorderless.
  • OpenGL now supports multiple render targets.
  • Game.IsRunningSlowly working accurately to XNA.
  • Game tick resolution improvements.
  • XACT compatibility improvements.
  • Various fixes and improvements to math types.
  • DrawUserIndexedPrimitives now works with 32bit indicies.
  • GamerServices fixes under iOS.
  • Various MonoGame FX improvements and fixes.
  • Render target fixes for Windows Phone.
  • MediaPlayer/MediaQueue/Song fixes on Windows Phone.
  • XNA accuracy fixes to TitleContainer.
  • Fixes to SpriteBatch performance and compatibility with XNA.
  • Threading fixes around SoundEffectInstance.
  • Support for Song.Duration.
  • Fixed disposal of OpenGL shader program cache.
  • Improved support of PoT textures in OpenGL.
  • Implemented missing EffectParameter SetValue/GetValue calls.
  • Touch fixes to Windows Phone.
  • Fixes to orientation support in iOS.
  • Lots of PSM fixes which make it usable for 2D games.
  • New Windows desktop platform using DirectX/XAudio.
  • Old Windows project renamed WindowsGL.
  • Fixed offsetInBytes parameter in IndexBuffer/VertexBuffer SetData.
  • Fixed subpixel offset when viewport is changed in OpenGL.
  • Tons of content pipeline improvements making it close to complete.

3.0.1 Release - 3/3/2013

  • Fix template error.
  • Fix offsetInBytes parameter in IndexBuffer/VertexBuffer SetData.
  • Fixes the scale applied on the origin in SpriteBatch.
  • Fixed render targets on WP8.
  • Removed minVertexIndex Exception.
  • Fixed some threading issues on iOS.
  • Use generic link for opening store on iOS.
  • Fix Matrix::Transpose.
  • Fixed vertexOffset in DrawUserIndexedPrimitives in GL.
  • Keys.RightControl/RightShift Support for WinRT.
  • Dispose in ShaderProgramCache.
  • IsRunningSlowly Fix.

3.0 Release - 1/21/2013

  • 3D (many thanks to Infinite Flight Studios for the code and Sickhead Games in taking the time to merge the code in).
  • New platforms: Windows 8, Windows Phone 8, OUYA, PlayStation Mobile (including Vita).
  • Custom Effects.
  • PVRTC support for iOS.
  • iOS supports compressed Songs.
  • Skinned Meshs.
  • VS2012 templates.
  • New Windows Installer.
  • New MonoDevelop Package/AddIn.
  • A LOT of bug fixes.
  • Closer XNA 4 compatibility.

2.5.1 Release - 6/18/2012

  • Updated android to use enumerations rather than hardocded ids as part of the Mono for Android 4.2 update.
  • Changed the Android video player to make use of the ViewView.
  • Corrected namespaces for SongReader and SoundEffectReader.
  • Updated the Keyboard mapping for android.
  • Added RectangleArrayReader.
  • Removed links to the third party GamePadBridge.
  • Added some missing mouseState operators.
  • Replaced all calls to DateTime.Now with DateTime.UtcNow.
  • Fixed SpriteFont rendering (again).
  • Added code to correclty dispose of Textures on all platforms.
  • Added some fixes for the sound on iOS.
  • Adding missing MediaQueue class.
  • Fixed Rectangle Intersect code.
  • Changed the way UserPrimitives work on windows.
  • Made sure the @2x file support on iOS works.
  • Updated project templates.
  • Added project templates for MacOS.
  • Fixed MonoDevelop.MonoGame AddIn so it works on Linux.

2.5 Release - 3/29/2012

Fixes and Features

  • Minor fixes to the Networking stack to make it more reliable when looking for games.
  • SpriteBatch Fixes including making sure the matrix parameter is applied in both gles 1.1 and gles 2.0.
  • Updated IDrawable and IUpdatable interfaces to match XNA 4.0.
  • Fixed the Tick method.
  • Updated VideoPlayer constructor contract to match XNA 4.0.
  • Added Code to Lookup the Host Application Guid for Networking, the guid id is now pulled from the AssemblyInfo.cs if one is present.
  • Uses OpenAL on all platforms except Android.
  • Added Dxt5 decompression support.
  • Improves SpriteFont to conform more closely to XNA 4.0.
  • Moved DynamicVertexBuffer and DynamicIndexBuffer into its own files.

iOS

  • Fixed Console.WriteLine problem.
  • Fixed loading of @2x Retina files.
  • Fixed Landscape Rendering.
  • Fixed Orientations changes correctly animate.
  • Fixed Guide.BeginShowKeyboardInput.
  • Fixed StorageDevice AOT compile problem.
  • Fixed SpriteBatch to respect matrices when drawn.
  • Fixed DoubleTap, improves touches in serial Game instances.
  • Fixed App startup in non-Portrait orientations.
  • Fixed UnauthorizedAccessException using TitleContainer.
  • Fixed a runtime JIT error that was occuring with List<AddJournalEntry().
  • Guide.ShowKeyboard is not working.
  • App Backgrounding has regressed. A patch is already being tested in the develop branch and the fix will be rolled out as part of the v2.5.1.

Android

  • Project Templates for MonoDevelop.
  • Fixed a few issues with Gestures.
  • Fixed the name of the assembly to be MonoGame.Framework.Android.
  • Fixed a Memory Leak in Texture Loading.
  • Force linear filter and clamp wrap on npot textures in ES2.0 on Android.
  • Added SetData and GetData support for Texture2D.
  • Guide.SignIn picks up the first email account on the phone.
  • CatapultWars does not render correctly under gles 1.1.

MacOS X

  • SoundEffectInstance.Stop now works correctly.

Linux

  • Project Templates for Visual Studio and MonoDevelop.
  • Fixed a bug when loading of Wav files.

Windows

  • Project Templates for Visual Studio and MonoDevelop.
  • Fixed a bug when loading of Wav files.
  • Added Game.IsMouseVisible implementation for Windows.
  • Guide.SignIn picks up the logged in user.
  • Added a new Installer to install the MonoDevelop and / or Visual Studio Templates and binaries.

2.1 Release - 10/28/2011

Features

  • Content Manager rewritten to use partial classes and implementation of cached assets that are loaded. Greatly improves memory footprint.
  • Experimental support for GamePads and Joysticks. Enhancements will be coming to integrate better for developers.
  • ContentReader improvements across the board.
  • Improved support for XACT audio.
  • StarterKits VectorRumble.

iOS

  • Gesture support has been improved.
  • Better support for portrait to landscape rotations.
  • Fixed a rendering bug related to upsidedown portrait mode.
  • Better WaveBank support.
  • The Guide functionality is only available in iOS, for this release.

Android

  • Updated to support Mono for Android 4.0.
  • Improvements to the Orientation Support.
  • Changed Sound system to use SoundPool.
  • Added Tap and DoubleTap Gesture Support.

MacOS X

  • A lot of enhancements and fixes for Full Screen and Windowed control.
  • Cursor support fixed for IsMouseVisible.
  • Implementation of IsActive property and the events Activated and Deactivated.
  • First steps of DrawPrimitives, DrawUserPrimitives, DrawIndexedPrimitives.
  • Better WaveBank support.
  • Support for ApplyChanges() and setting the backbuffer and viewport sizes correctly.

Linux

  • All new implementation which share quite a bit of code between MacOS X and Windows.
  • Added shader support via the Effects class.

Windows

  • All new implementation which shares quite a bit of code between MacOS and Linux.

2.0 Release - 10/28/2011

  • Project renamed MonoGame.
  • Project moved to GitHub.
  • Support for Linux, Mac, Linux, and OpenGL on Windows.

0.7 Release - 12/2/2009

  • First stable release.
  • Originally named XnaTouch.
  • iPhone support only.
  • 2D rendering support.
  • Audio support.
  • Networking support.
  • Partial multitouch support.
  • Partial accelerometer support.