- fixed TouchPanel scalling #1852
- [BlazorGL] fixed Gamepad disconnect #1771
- [BlazorGL] map GamePad Indices #1773
- [BlazorGL] fixed Buffers SetData(...) with startIndex #1834
- [BlazorGL] fixed TouchPanel initialization #1837
- [OpenGL] fix DrawIndexedPrimitives (#1869
- [WindowsDX/UAP] fixed GamePadState.IsConnected #1769
- [Content.Pipeline] fixed OpenAssetImporter #1817,#1868
- [Content.Pipeline] fixed DX textureSlot #1851
- IsContentLost will not throw NotImplementedException #1865
- [Android] GraphicsAdapter.MonitorHandle return the native eglDisplay handle #1795
- [OpenGL/WebGL] include GL shader compilation InfoLog in the exception message. #1830,#1832,#1838
- [BlazorGL] Upgrade Wasm packages to v8.0.2 #1860
- [UAP] update to SDK v10.19041 #1769
- [LibOVR] OvrDevice require GraphicsProfile FL11_0 #1795
- [LibOVR] Upgrade LibOVR packages to v2.1 #1862
- [OpenGL] ColorSRgba support #1802,#1805
- [OpenGL] implemented GL shared texture2D #1854
- [Android/GLES] implemented RenderTarget multisampling #1843,#1814
- [Android/GLES] implemented Multiple Render Targets #1845
- [BlazorGL] implemented Multiple Render Targets #1840
- [BlazorGL] implemented SamplerStates #1765
- [BlazorGL] implemented DXT5 compression #1766
- [BlazorGL] implemented TextureCube #1767
- [BlazorGL] support for SM 3.0 standard_derivatives #1833,#1844
- [BlazorGL] implemented float texture surfaceTypes (Vector4,Vector2,Single) #1842
- [BlazorGL] implemented Buffers GetData(...) #1861
- [BlazorGL] implemented Gamepad Trigger buttons #1770
- [BlazorGL] implemented GamePad.SetVibration #1853
- [LibOVR] add OvrDevice.TrackFloorLevelOrigin #1864
- [Oculus/OpenXR] add HandsState.GetGripTransform() #1856
- fix GamePadCapabilities #1565
- [iOS] fix Game.Services NullReferenceException #1607
- [SDL] fix JoystickCapabilities.IsGamepad #1626
- [ANDROID] fix Keyboard #1688
- fix templates .mgcb file creation #1693
- Fix templates projectname #1694
- fix BlazorGL template alpha blend #1695
- [DX11] fix NonPowerOfTwoUnusedTextureShouldNotThrow test #1701
- [GL] fix NonPowerOfTwoUnusedTextureShouldNotThrow test #1702
- [EffectProcessor] inorder samplers merge #1709
- [EffectProcessor] fix ShaderProfileDX11 samplerSlot #1710
- fix CreateGamePadCapabilities #1713
- fix ResourceNameAlphaTestEffect #1724
- [BlazorGL] fix MediaPlayer IsRepeating #1726
- [SDL] early Joysticks initialization #1735
- [BlazorGL] clear KeyboardState on focus lost #1736
- [BlazorGL] fix Keyboard special keys #1738
- fix MGCB builds with no response file #1745
- optimize ConcreteTextureCollection.PlatformApply() #1605
- perf use HashSet for ContentManager _disposableAssets #1711
- [Android] reduce FromEGLConfig() allocations #1583
- [GL] use HashSet for GL Extensions #1587
- [GL] optimized PlatformApplyVertexBuffers() #1604, #1673
- [GL] discard VertexBuffer in SpriteBatcher #1636
- [OpenGL] remove glFinish() from Texture2D.SetData() #1638
- [OpenGL] use DrawRangeElements #1703
- [SDL] cache JoystickCapabilities #1625
- [SDL] cache GamePadCapabilities #1630
- [SDL] reduce Vorbis MediaPlayer allocations #1680
- [SDL] reuse Vorbis reader for Song Repeat #1684
- [EffectProcessor] Shader Model 1.x error message #1722
- [BlazorGL] implemented DrawUserPrimitives and DrawUserIndexedPrimitives with vertexOffset #1723
- [BlazorGL] implemented GamePad #1730
- [BlazorGL] implemented TouchPanelCapabilities MaximumTouchCount and IsConnected #1731
- [BlazorGL] implemented Medium quality SoundEfects (MsAdpcm) #1748
- [BlazorGL] implemented SoundEffect.FromStream() #1749
- [BlazorGL] implemented Buffers SetData(...) with startIndex #1753
- [BlazorGL] implemented HiDef and WebGL2 #1756
- VS2019 templates removed #1631
- Xamarin templates removed #1632
- removed GamePadState.Default #1650, #1651, #1653
- fix FBX GlobalSettings transforms #1310, #1545.
- fix ContentCompiler.Compile(...) #1320.
- fix psShader error message #1333.
- fix TitleContainer.Current comments #1339.
- [Android] fix Android Game Initialization #1446, #1551.
- [UAP] fix UAP Game Initialization #1452.
- [iOS] fix iOS Game Initialization #1487.
- allow the Game loop to run without a GraphicsDeviceManager #1453, #1467.
- fix XAudio ADPCM fallback #1508.
- fix ProcessMesh() channel mapping to VertexElement #1538.
- fix ExternalReferenceWriter GetRuntimeReader(...) #1540.
- ModelProcessor default ColorKeyColor #1542.
- set MaterialProcessor Parameter default values #1546, #1547.
- Fixed resolve Type bug due to splitting out to different assemblies #1534, #1552.
- skip XNB compression for uncompressed files #1321, #1334.
- compact sizeof GamePadCapabilities #1430.
- compact sizeof JoystickHat #1471.
- optimize BufferPool array allocation #1526, #1527.
- optimize ProcessMesh #1537.
- [Content.Pipeline] upgrade Assimp to v5.2.4 #1305.
- renamed HandState.GetHandTransform(int handIndex) parameter #1312.
- allow Shader Model 2_0 and 3_0 on DirectX targets #1333.
- Game.ResetElapsedTime() is no longer virtual #1439.
- GameTime properties are now readonly/protected. #1443.
- The library MonoGame.Framework is split into Xna.Framework.Input, and Xna.Framework.Game #1517, #1518.
- GameWindow keyboard events are now visible in all platforms #1317, #1323.
- fx macro KNIFX.
- protected GameWindow.OnClientSizeChanged() (XNA API compatibility) #1486.
- ModelProcessor.GenerateNormals #1543.
- TouchPanelState class #1337.
- TouchPanel.GetState(GameWindow) #1337.
- Removed Cardboard Xamarin target #1507, #1548.
- Removed obsolete PlatformInfo, GraphicsBackend, PlatformInfo #1519.
- protected ContentManager.LoadedAssets property #1523.
- [Content.Pipeline] fixed FontDescriptionStyle (Regular,Bold,Italic) #1019, #1056, #1142.
- [Content.Pipeline] fixed FontDescriptionStyle flags #1053.
- [Content.Pipeline] fixed FontDescription.Name. Resolve FontFamily #1060.
- [Content.Pipeline] fixed MeshHelper.CalculateNormals() #1128.
- [Content.Pipeline] fixed ProcessorContext.BuildAsset<Tin,Tout> asset path #1147.
- [PipelineEditor] fixed content Editor layout. Preserve splitter positions & window size. #1214, #1225.
- [GL] bugfix: #991 zero-initialized RenderTargetBinding instances being accessed in PlatformUnbindRenderTarget #998.
- [Android] fixed GL InitExtensions() #1239.
- [Android] fixed LzxDecoderStream #1261.
- [UAP.XAML] fixed PresentationParameters.DeviceWindowHandle #970.
- fixed SoundEffectInstance finalizer #1281.
- fixed default initialization of PresentationParameters #985.
- fixed spelling errors in comments #1063, #1281, #1209.
- fixed WindowsDX VS2019 template #1106.
- Optimized VertexElements iteration #1115.
- [Content.Pipeline] local fonts must specify the full filename + extension #1055.
- [Content.Pipeline] Builder.Task nuget package to replace build targets #1139, #1140, #1141 #1224, #1270.
- [Content.Pipeline] VertexBufferWriter will throw PipelineException on invalid VertexData.Length #1150.
- [Content.Pipeline] ModelProcessor throws InvalidOperationException on invalid geometry #1151.
- [Content.Pipeline] ContentWriter.Write(Color) & ContentReader.ReadColor() replaced with extensions #1190, #1191.
- [Content.Pipeline] Upgrade content pipeline to net8 #1229, #1230, #1235.
- [Content.Pipeline] 2MGFX tool renamed to Knifx #1251.
- [Content.Pipeline] renamed stock importers #1252.
- [PipelineEditor] Upgrade ContentMenu to ContentMenuStrip #1213.
- [PipelineEditor] Upgrade content editor from net4.x to net8 #1216, #1217, #1218, #1219, #1220, #1223, #1226.
- set Tools icon (content editor, MGCB, 2MGFX) #1221.
- [BlazorGL] Upgrade WebAssembly packages to v6.0.27 #1233.
- [BlazorGL] Upgrade Wasm packages to v8.0.0 #1249, #1287.
- [Android] Disabled fast deployment in net8 template #1279.
- [Android/iOS] Enable trimming in iOS, Android templates #1288.
- [DesktopGL] Enable trimming and nativeAOT in DesktopGL templates #1288.
- [DX11] GraphicsAdapter.DriverType & GraphicsAdapter.UseDriverType moved to PresentationParameters #1007.
- [LibOVR] Upgrade LibOVR packages to v2.0 #1286.
- [LibOVR] implement TouchController.ThumbSticks #1290, #1291, #1292.
- DesktopGL & WindowsDX11 projects upgraded to netcode SDK #1131.
- test files merged #1129.
- VS2019 project templates updated to use nuget packages #1269.
- updated VS2022 template icons #1289.
- The library MonoGame.Framework is split into MonoGame.Framework, Xna.Framework.Content, Xna.Framework.Graphics, Xna.Framework.Audio, and Xna.Framework.Media #1166, #1167, #1176, #1188.
- PlatformInfo.GraphicsBackend marked obsolete. Use Adapter.Backend #1202.
- PlatformInfo.MonoGamePlatform marked obsolete.Use TitleContainer.Platform #1208.
- Upgrade platforms to net8 #1228, #1236.
- Upgrade templates to net8 #1237.
- Upgrade framework to net8 #1263.
- RenderTargetBinding(RenderTarget3D) .ctor is now visible in all platforms #982.
- ResourceContentReader class is now visible in all platforms #1100.
- Added ContentReader.BufferPool property #1092.
- Added MediaQueue.Count property #1182.
- Added Adapter.Backend #1202.
- Added TitleContainer.Platform #1208.
- Added ColorConverter class #1253.
- Added MGCB debug profiles #1274.
- Enable trimming in framework libraries #1282, 1283.
- VertexDeclaration implements IDisposable #1284.
- [UAP.XAML] removed custom game constructor #961.
- [UAP] removed UAP gameloop thread #968.
- [UAP] removed template WizardExtension #1272.
- removed PresentationParameters.Clear() method #962.
- removed PresentationParameters.SwapChanPanel property #972, #975.
- removed Video.FileName property #1178.
- Fixed spelling of 'Occurred' in Exceptions, Errors and comments #536.
- Fixed spelling errors #545.
- Fixed not-supported compression format error message #537.
- Fixed GraphicsResource.Disposing event. Throw Disposing before the object is disposed or or collected (XNA Compatibility) #583.
- Fixed GraphicsDevice.Disposing event #587. Throw Disposing before the object is disposed or collected.
- [OculusVR] Dispose of OvrDevice on device disposing #589.
- [OpenAL] Fixed Microphone.BufferDuration redundancy #599.
- [OpenGL] Fixed GenRenderbuffer() & DeleteFramebuffer() #647.
- [DX11] Fixed MultiSample in shared textures #666.
- Fixed spelling in MeshHelper documentation #679.
- [OpenGL/WebGL] Fixed Texture bindings #694.
- [OpenGL/WebGL] Fixed GL Texture MultiSampleCount #720.
- Fixed spelling in comments #744.
- Fixed GLSL Texture parameter #752.
- Fixed HLSL Texture parameter #754, #755, #830.
- Fixed Game.IsActive on startup #759.
- Fixed collection of DynamicSoundEffectInstance objects #776.
- Fixed collection of MediaPlayer objects #777, #784.
- [OpenGL] Fixed appling of VertexBuffersAttribs #787.
- [OpenGL] Fixed disposal of GraphicsResource objects from the GC Finalizer thread. #797, #798, #799, #800, #802, #803, #805.
- [DX11] Fixed resizing while a renderTarget is attached to the backbuffer #808.
- [OpenGL] Fixed updating of GraphicsDevice.ScissorRectangle after a ClientResize event #810.
- Fixed content Builder db corruption #864.
- Fixed content Builder IntermediateOutputDir when building from VS target. #875, #876, #877, #878 .
- Fixed content Builder /Clean option. #882.
- Fixed content Editor crash from invalid builder's output #890.
- Fixed content Builder non-standard output. #892.
- Fixed content Builder race condition in CopyItems #894.
- Fixed content Builder Success/Error counters in CopyItems #895.
- Fixed Game.SuppressDraw #915.
- [SDL] Bugfix: Tick() was called after Game.Exit() #917.
- [OpenGL/WebGL] Optimized SamplerState.PlatformApplyState(...) #580.
- [OpenGL] Optimized Effect loading GL #672.
- [DX11] Optimized DrawUserIndexedPrimitives #678.
- [OpenGL/WebGL] Optimized Apply of TextureCollection #705.
- Optimized DrawIndexedPrimitives #706.
- [OpenGL] Optimized DrawIndexedPrimitives & DrawInstancedPrimitives #709.
- Optimized SpriteBatch flush #710.
- [DX11] Optimized SetConstantBuffers #711.
- Optimized Effect processor #763.
- [OpenGL/WebGL] Optimized ComputeHash #768.
- Optimized GraphicsResource.GraphicsDevice code-flow #783, #780.
- Optimized PlatformApplyVertexBuffersAttribs code-flow #786.
- Optimized content Builder db #871, #872.
- Optimized content Builder CleanItems #884.
- Optimized content Builder project file loading #887.
- Optimized SetParameter code-flow #896.
- Optimized Po2 check #906.
- [Android] implemented GameWindow.Handle and PresentationParameters.DeviceWindowHandle #534.
- GraphicsDevice.Handle and Texture.Handle marked obsolete. Use GraphicsDevice.GetD3D11Device() and Texture.GetD3D11Resource() extensions. #593.
- Renamed parameter 'cubeMapFace' of TextureCube.SetData() (XNA Compatibility) #613.
- Unresolvable Character error from a SpriteFont now reports the unresolved chracter. #648.
- Renamed parameter 'usage' of IndexBuffer & VertexBuffer (XNA Compatibility) #686.
- Renamed constants in project templates, LINUX->DESKTOPGL, WINDOWS->WINDOWSDX #712.
- VertexDeclaration is no longer inherited from GraphicsResource (breaks XNA API) #760, #773.
- Macros removed from the SpriteEffect.fx template #769, #817.
- The content Editor enforce rooted content #774.
- Updated CompareFunction Members documentation #815.
- Cleaned up UAP project templates #831.
- VS2022 project templates updated to use nuget packages. #839.
- Invalid XNB file error from ContentManager now reports the invalid platform flag #865, #866.
- Content builder with /quiet option no longer output 'Skipping...' files in VS build output. #873.
- VS2022 project templates updated to use new build target Kni.Content.Builder.targets #879, #880, #928.
- Content builder with /guiet option now output a single-line report message. #886.
- Content builder reports milliseconds in 3 digits. #886.
- [BlazorGL] implemented Texture2D.GetData() #716.
- [BlazorGL] implemented SongReader & MediaPlayer #723.
- [BlazorGL] implemented VideoPlayer #724.
- [BlazorGL] implemented Depth24Stencil8 for render targets #816.
- [BlazorGL] implemented Depth24Stencil8 for GraphicsDeviceManager.PreferredDepthStencilFormat #821.
- [BlazorGL] implemented GraphicsDeviceManager.PreferrMultiSampling #824.
- [BlazorGL] implemented PresentationParameters.RenderTargetUsage #825.
- [BlazorGL] implemented Game.IsActive #826.
- [OpenGL/WebGL] GraphicsAdapter.IsDefaultAdapter #826.
- [DesktopGL] GraphicsAdapter.IsProfileSupported #903.
- [ANDROID/iOS] Mobile/Xamarin projects & templates upgraded to .net8 #925, #926, #927.
- [BlazorGL] Brotli decompression is disabled by default #931.
- GraphicsDevice.Flush() added to all platforms #590.
- DynamicBuffer.ContentLost event (XNA API compatibility) #725.
- [BlazorGL] loading screen #911.
- [BlazorGL] added enableBrotliDecompression boolean in index.html #930.
- Textur2D.Reload() method #571.
- [Android/iOS] Native Texture2D.FromStream() methods #572.
- .net6 Libraries removed from the SDK #835.
- VS2017 project templates #850.
- Implicit response & content filenames as arguments in the content builder, Use /@:responseFile and /build:contentFile #867.
- /LauncgDebugger option from the content builder #868.
- .net6 Templates #920.
- bugfix: fix Complex.Magnitude.
- bugfix: fix DictionaryReader.
- bugfix: fix RenderTarget3D/RenderTargetCube multisample.
- bugfix: fix EffectParameter.SetValueTranspose(Matrix) for Matrxi4x3 and Matrix3x4.
- bugfix: [OpenGL] Dispose of GraphicsContext.
- bugfix: [OpenGL] fix MarshalStringToPtr(...).
- bugfix: [OpenGL] fix RenderTarget2D multisample.
- bugfix: [OpenGL] IndexBuffer is invalidated after a call to DrawUserPrimitives, IndexBuffer's .ctor and GetData/SetData.
- bugfix: [WindowsDX] fix ObjectDisposedException in PreFilterMessage.
- bugfix: [WindowsDX] fix VideoPlayer.Resume().
- bugfix: [WindowsDX] fix VideoPlayer memory leak.
- bugfix: [WindowsDX/UAP] fix VideoPlayer.GetTexture().
- bugfix: [DesktopGL] DeviceWindowHandle is not updated to the actual GL Window handle.
- bugfix: [DesktopGL] game window fails to load Icon.bmp.
- bugfix: [DesktopGL] GameWindow.Title.
- bugfix: [Content.Pipeline] fix FontDescriptionProcessor smoothing.
- bugfix: [Content.Pipeline] FontDescription.Spacing was incorectly applied to VerticalLineSpacing (XNA API compatibility).
- bugfix: [Content.Pipeline] fix FontDescriptionProcessor Yoffset Cropping.
- bugfix: [Content.Pipeline] fix font size.
- bugfix: [Content.Pipeline] Added 1px spacing to Glyphs when UseKerning is false.
- bugfix: [Content.Pipeline] method CalculateAlphaRange(...) should throw instead of returning default value when the type is unsupported.
- bugfix: [Content.Pipeline] fix GLSL optimized matrix parameter.
- bugfix: [Content.Pipeline] fix Compression of 16bit Textures with Alpha.
- bugfix: [Content.Pipeline] fix EnvironmentMapEffectWriter.
- bugfix: [Content.Pipeline] fix MeshHelper.CalculateNormals(...).
- bugfix: [Content.Pipeline] Implement ContentImporterContext.AddDependency() (XNA API compatibility).
- bugfix: [Content.Pipeline] Interpolate curved animation (XNA API compatibility).
- [DesktopGL] reduce GamePad.GetCapabilities(...) string allocations.
- [GL] Use DYNAMIC_DRAW for Dynamic buffers instead of STREAM_DRAW.
- [Content.Pipeline] Optimized ProcessPremultiplyAlpha(...).
- [Content.Pipeline] Optimized Texture compression.
- [Content.Pipeline] Optimized FontDescriptionProcessor and FontTextureProcessor.
- [Content.Pipeline] Optimized PixelBitmapContentT.SetPixelData(...) and PixelBitmapContentT.ReplaceColor(...).
- [PipelineEditor] optimize UpdateRecentProjectList().
- The library MonoGame.Framework is split into MonoGame.Framework, Xna.Framework and Xna.Framework.Design.
- Game.Exit() will now throw PlatformNotSupportedException instead of InvalidOperationException (XNA API change).
- GameWindow.Title will throw ArgumentNullException (XNA API compatibility).
- Max Capacity of TextureCollection, ConstantBufferCollection, SamplerStateCollection increased to 32. Collections will throw ArgumentOutOfRangeException.
- EffectParameter.SetValue(Matrix) will throw InvalidCastException for unsuported Matrix types.
- Vector2/3/4TypeConverter, renamed to Vector2/3/4Converter.
- IsContentLost will throw NotImplementedException.
- [BlazorGL] Game.Exit() will throw PlatformNotSupportedException.
- [BlazorGL] MaxTextureSlots increased to 8 from 4.
- [WindowsDX] Texture2D.Reload() will throw NotImplementedException.
- [PipelineEditor] font size increased to 11 from 9.
- [Content.Pipeline] AssimpNet updated to v4.1.0.
- [Content.Pipeline] The library MonoGame.Framework.Content.Pipeline is split into Xna.Framework.Content.Pipeline, Xna.Framework.Content.Pipeline.Audio, Xna.Framework.Content.Pipeline.Media, Xna.Framework.Content.Pipeline.Graphics and Xna.Framework.Content.Pipeline.Graphics.MojoProcessor.
- Implement IPackedVector for Color (XNA API compatibility).
- Implement EffectParameter.SetValue(Matrix) for Matrix4x2.
- [DesktopGL] Implement Mouse Raw Input.
- [WindowsDX/UAP] Implement VideoPlayer.IsLooped.
- [Android] Implement VideoPlayer.GetTexture(), VideoPlayer.PlayPosition, VideoPlayer.IsLooped, VideoPlayer.Volume.
- [BlazorGL] Implement building effects for the WebGL Platform.
- [BlazorGL] Update template to prevent Arrows Keys and Spacebar scrolling the outer page when running inside an iframe. (by @Terria-K)
- [BlazorGL] Update template to prevent Mousewheel scrolling the outer page when running inside an iframe.
- [Content.Pipeline] added FontDescriptionProcessor.Smoothing parameter.
- [Content.Pipeline] support Alpha8, NormalizedShort2, NormalizedShort4 in PixelBitmapContent (XNA API compatibility).
- GraphicsDevice.IsContentLost property.
- GraphicsDevice.ResourcesLost property.
- [UAP] removed Game.PreviousExecutionState property.
- [Android] removed Game.Activity property.
- [Content.Pipeline] StbSharp is now internal.
- bugfix: Android gameloop will now pause while app is in the background.
- bugfix: FontDescriptionProcessor glyph cropping.
- bugfix: FontDescriptionProcessor glyph whitespaces width.
- bugfix: GlyphPacker failed when FontDescription imports a single character.
- bugfix: [MGCB] processorParam flag changed to 'm'. Fix conflict with processor flag 'p'.
- bugfix: [MGCB] remove multiple flags support. Fix conflict with all non-flag parameters.
- bugfix: [DesktopGL] Game initialization.
- [GL] Single ShaderProgramCache lookup.
- [GL] Use _blendFactorDirty & _blendStateDirty to skip checks.
- Parallel PixelBitmapContent .ctor() and GetPixelData().
- Multithread content pipeline builder.
- GraphicsAdapter is no longer IDisposable (XNA API compatibility).
- MonoGameAndroidGameView renamed to AndroidSurfaceView
- base ContentTypeWriter.ShouldCompressContent(...) returns true.
- Include type name in the error message for failed resolved Types in content pipeline.
- Report duplicate importers/processors without faling/halting the build.
- [OpenGL/GLES] resources are released immediately when the object is collected/Disposed.
- Song in DesktopGL is re-implemented as DynamicSoundEffectInstance.
- Include FontDescription.DefaultCharacter in the imported Glyphs instead of throwing an error (XNA API compatibility).
- SpriteFont template updated with DefaultCharacter '�'.
- Reverted WinForms editor replaces eto.
- Calling EffectPass.Apply() will always apply the EffectPass that it was called on (XNA API compatibility). Changing the CurrentTechnique in Effect.OnApply() in no longer allowed and will throw an InvalidOperationException.
- MonoGamePlatform enum BLAZOR renamed to BlazorGL.
- [BlazorGL] workaround for .net7 Unmarshalled interop bug.
- The following Classes/Methods are now visible in all platforms. SetRenderTarget(RenderTarget2D renderTarget, int arraySlice) SetRenderTarget(RenderTarget3D renderTarget, int arraySlice)
- Restored SpriteFont.Characters property (XNA API compatibility).
- [MGCB] Parameter 'singleThread' (-s) to turn of Multithread build.
- fx macros DEBUG, DIRECTX, OPENGL, MOJOSHADER.
- DrawableGameComponent and GameComponent VS2022 template.
- BlazorGL VS2022 template.
- IWindowInfo
- AndroidGameActivity.RenderOnUIThread
- Song.Position
- Protected methods PlatformOnSongRepeat(), PlatformPlay(), PlatformResume() in MediaPlayer.
- GlyphCollection.CopyTo()
- Stadia platform.
- bugfix: [DesktopGL] screen appear white washed.
- bugfix: [GL] TextureSlots number can be greater that implementation limitations.
- bugfix: [webGL] Texture.Dispose() throws Exception when garbage collected.
- bugfix: [WebAudio] SoundEffect.Volume is not applied to a playing instance.
- bugfix: [DirectX] RenderTargetCube throws Exception when created without a Depth.
- bugfix: Content manager should throw error when TypeVersion does not match.
- perf: [GL] 250% faster spriteBatcher.
- perf: 10% faster MeasureString().
- perf: Optimize Vector array Transform methods.
- perf: cache resolved TypeReader types
- [webGL] implement Discard mode in Dynamic buffers.
- [webGL] implement Dtx3 texture compression.
- Oculus VR (PC library), Implemented as addon lib for WindowsDX. Added classes/structs: OvrDevice, HandsState, HeadsetState. The following classes/structs were added in Framework.Input.Oculus: TouchController, TouchControllerState, TouchControllerType, TouchButtons, TouchButtonState.
- Complex numbers. Added classes/structs/methods: Complex, ComplexWriter, ComplexReader, Vector2.Transform() overloads, SpriteBatch.Draw() and SpriteBatch.DrawString() overloads.
- The following Classes/Methods are now visible in all platforms. Video, VideoPlayer, VideoReader, OcclusionQuery, Texture3D, RenderTarget3D, Texture3DReader, EffectParameter.GetValueTexture3D()
- Fix incremental build of external assets.
- fix MGFXHeader.
- fix EffectProcessor.
- fix Mouse.SetCursor() resource leaks.
- fix memory leak on ContentManager.ReloadGraphicsAssets().
- Fix DrawableGameComponent.Dispose().
- TextureProcessor no longer override existing MipMaps (XNA API compatibility).
- [UAP] fix IsFullScreen. Implement IsFullScreenMode, PreferredLaunchWindowingMode.
- [UAP] fix GamePad race condition.
- fix ContentTypeReaderManager,ResolveType() when running on Core/Net6.
- fix game loop, Reset IsRunningSlowly after 5 frames.
- fix error "Could not find ContentTypeReader ReflectiveReader".
- fix FBX/OpenAssetImporter TextureCoordinate AddressV mode.
- fix FBX/OpenAssetImporter material.SpecularPower.
- [Android] fix GraphicsDeviceManager.SupportedOrientations and Backbuffer size handling.
- fix SoundEffectInstance, DynamicSoundEffectInstance states (Play/Stop/Pause/Resume).
- fix SoundEffectInstance resource leaks.
- fix DynamicSoundEffectInstance.BufferNeeded.
- [openAL] fix SoundEffectInstance Pan and Apply3D.
- GraphicsDeviceManager will not swap PreferredBackBufferWidth/PreferredBackBufferHeight.
- fix graphics context ApplyState.
- [DirectX] fix RenderTargetCube with depth for Feature level 10_0 and higher.
- fix mgcb output. Some errors are not caught by the mgcb editor.
- mgcb generates output combatible with Visual Studio. mgcb errors and warnings are visible on the Error List panel.
- fix error in FontDescriptionProcessor, throw InvalidContentException instead of InvalidOperationException.
- fix reported shader error/warning line number when #include files are used.
- fix pipeline error due to missing redistributable msvcr110.dll.
- [DesktopDX] reduce WinForms garbage from EventArgs.
- optimize Intersects BoundingBox vs BoundingSphere.
- optimize BoundingBox.CreateFromPoints().
- precalculate Glyph TexCoord (SpriteBatch).
- optimize Viewport Project()/Unproject().
- [DirectX] grow internal buffers in chunks.
- fast IntermediateSerializer.FindType().
- Reduce garbage in EffectResource loading.
- TouchCollection with Fixed Size array. Doesn't allocate memory/generate garbage.
- [DesktopDX] reduce WinForms keyboard garbage from EventArgs.
- [DirectX] optimized spriteBatcher. Two phase batching with buffers.
- [DirectX] optimized spriteBatcher. Write vertices directly to the Mapped Buffer.
- improved gameLoop.
- [DirectX] optimized Texture2D.GetData() when (rowPitch != 0).
- reduce garbage from GameWindow.TextInput, GameWindow.KeyUp, GameWindow.KeyDown events.
- [Android] reduce garbage in ContentManager.Load<>().
- [ANDROID] Reduce garbage from gameLoop.
- optimized SpriteBatch.End()/Setup().
- [Audio] Optimize and reduce memory garbage.
- optimize graphics context ApplyState.
- reduced size of TouchLocation. Split TouchLocation/TouchLocationData and other minor optimizations.
- backward compatible EffectReader (v9,v8).
- no longer applying reordering of content items in .mgcb files.
- ContentManager allow rooted paths on all platforms.
- [UAP] ContentManager throws DirectoryNotFoundException.
- Matrix.CreatePerspective() no longer support infinite far planes.
- Game.Exit() throws InvalidOperationException on platforms that don't allow programmatically exiting the app (Android, iOS).
- [WindowsDX] implement Mouse.WindowHandle.
- Texture2D.FromStream() does no longer cut-off alpha pixels (breaks XNA API).
- GamePadDPad and GamePadState constructors (XNA API compatibility).
- [UWP] Allow BackBuffer Scaling
- [WindowsDX] game will not update during moving/resizing of the window. instead the window gets repainted.
- removed sender parameter from on-event virtual methods (breaks XNA API). Game.OnExiting(), Game.OnActivated(), Game.OnDeactivated(), GameComponent.OnUpdateOrderChanged(), GameComponent.OnEnabledChanged() , DrawableGameComponent.OnDrawOrderChanged(), DrawableGameComponent.OnVisibleChanged().
- in effect templates the GL level is now the same version as DX.
- some Model properties, methods and setters were made internal/private.
- all ContentWriters are now backward compatible with XNA (XNA API compatibility).
- [UAP/Xaml] game loop runs from main thread.
- [DirectAudio] decode invalid MSADPCM during loading.
- [WindowsDX] BaseIndexInstancing is disabled.
- implement Graphic Profiles (Reach & HiDef) (XNA API compatibility).
- implement Extended Graphics profiles (FL10_0,FL10_1,FL11_0,FL11_1).
- The following event arguments were changed to classes inheriting EventArgs. FileDropEventArgs, InputKeyEventArgs, TextInputEventArgs.
- SpriteFont.Glyphs returns a GlyphCollection.
- [Android] TitleContainer now returns a random access stream.
- [Android] Fine tune resolution for automatic orientation (45 degrees angle).
- [Android] Shockproof automatic orientation (0.5sec delay).
- [Android] Suspend game during a Call (Requires READ_PHONE_STATE permission).
- [Android] Implement Game.IsActive.
- FrameworkDispatcher is no longer a static class (breaks XNA API).
- SoundEffect, SoundEffectInstance, DynamicSoundEffectInstance is now thread safe.
- Audio device might get initialized on demand and shutdown automatically as needed multiple times.
- DynamicSoundEffectInstance.BufferNeeded will not automatically stop firing.
- [GL] Texture2D.SetData(), Texture2D.GetData() no longer work from worker threads.
- GraphicsDeviceManager explicitly implements IGraphicsDeviceManager.
- SpriteFontContent properties, methods and setters were made internal/private.
- Converters under the Framework.Design namespace now convert only to/from String.
- Texture2D.FromStream now use native decoders when posible.
- Net.Framework libraries (DesktopGL, Content.Pipeline) set to target 4.0.
- Net6 libraries DesktopGL & Content.Pipeline set to target netstandard2.0.
- Mouse.IsRawInputAvailable, MouseState.RawX, MouseState.RawY.
- Game.IsVisible.
- GraphicsProfile.FL10_0, GraphicsProfile.FL10_1, GraphicsProfile.FL11_0, GraphicsProfile.FL11_1.
- GlyphCollection.
- The following Classes/Methods are now visible (XNA API compatibility). BoundingSphere.Intersects(BoundingFrustum frustum), Ray.Intersects(BoundingFrustum), EffectParameter.GetValueBooleanArray(), EffectParameter.GetValueQuaternionArray(), EffectParameter.SetValue(bool[]), EffectParameter.SetValue(Quaternion[]), EffectParameter.SetValue(string). GraphicsDevice.Present(Rectangle? , Rectangle? , IntPtr )
- MediaLibrary.SavePicture() overloads.
- IFrameworkDispatcher, FrameworkDispatcher.Current.
- GraphicsDeviceManager implements Dispose() on all platforms.
- StorageDevice, StorageContainer.
- VectorConverter (XNA API compatibility).
- Blazor/WebGL platform.
- Reference platform.
- System.Numerics.
- ContentProcessorContext.SourceIdentity.
- ContentStats.
- ContentBuildLogger.LoggerRootDirectory, ContentBuildLogger.IndentString.
- ContentManager.Unload().
- Buttons.None.
- TouchPanel.EnableMouseTouchPoint, TouchPanel.EnableMouseGestures.
- Texture2D.FromFile(), DefaultColorProcessors, Texture2D.FromStream(GraphicsDevice, Stream, Action<byte[]>).
- ContentTypeReaderManager.AddTypeCreator(), ContentTypeReaderManager.ClearTypeCreators().
- SpriteFont.Characters, SpriteFont.GetGlyphs(), Glyph.Character.
- MonoGameAndroidGameView.Visible, MonoGameAndroidGameView.Size.
- SoundEffect.FromFile().
- RenderTargetCube.GetRenderTargetView(), RenderTargetCube.GetDepthStencilView() (IRenderTarget methods).
- GrowRule, MaxRectsBin, MaxRectsHeuristic were made internal.
- VectorConversion.
- Fix MonoGame publisher name for the VS marketplace by @mrhelmut in MonoGame#7847
- Corrected 'Framwork' to 'Framework' by @benjitrosch in MonoGame#7850
- added missing words to platforms.md by @MrGrak in MonoGame#7852
- Fixed grammatical error from 'project' to 'projects' by @benjitrosch in MonoGame#7855
- Grammar Hotfix on README by @Emersont1 in MonoGame#7856
- Remove redundant dependencies by @vpenades in MonoGame#7854
- Fixes Visual Studio freezing with the extension by @mrhelmut in MonoGame#7857
- Updated migration guide by @mrhelmut in MonoGame#7858
- More migration guide updates by @mrhelmut in MonoGame#7859
- Wild cards don't work in dotnet-tools.json by @mrhelmut in MonoGame#7860
- Removed explicit global usings by @vpenades in MonoGame#7853
- Update build version to 3.8.1.xxxx by @tomspilman in MonoGame#7296
- Fix broken links by @rejurime in MonoGame#7297
- [DesktopGL] Fix setting backbuffer size not working in constructor by @harry-cpp in MonoGame#7299
- Add quotation marks around MGCBPath by @bjornenalfa in MonoGame#7304
- [Templates] Update FSharp projects by @harry-cpp in MonoGame#7302
- fix Texture.GetSharedHandle() by @nkast in MonoGame#7306
- [MGCB Editor] Update registration handling files by @harry-cpp in MonoGame#7311
- Updated to the latest version of StbSharp by @rds1983 in MonoGame#7312
- Support MSAA in SwapChainRenderTarget by @nkast in MonoGame#7307
- Updated link for the XNA 3.1 to XNA 4.0 cheatsheet by @SimonDarksideJ in MonoGame#7321
- Updated and added links to latest MonoGame 3.8 content in tutorials.md by @SimonDarksideJ in MonoGame#7322
- Explicitly document BackToFront and FrontToBack use an unstable sort. by @goosenoises in MonoGame#7323
- Update mgfxc_wine_setup.sh by @Kwyrky in MonoGame#7327
- Fix multisampling in DesktopGL by @sk-zk in MonoGame#7338
- [MGCB Editor] macOS fixes by @harry-cpp in MonoGame#7337
- Fix shader error messages for OpenGL by @cpt-max in MonoGame#7340
- Added IEffectBones interface, implemented by SkinnedEffect. by @vpenades in MonoGame#7344
- Update NVTT (fixes #5866) by @harry-cpp in MonoGame#7354
- Edited the Getting Started parts of the documentation for grammar, clarity, and style by @HopefulFrog in MonoGame#7374
- Updated Matrix.CreatePerspective - to support infinite far planes. by @vpenades in MonoGame#7367
- Add missing underscore in code section by @pbedn in MonoGame#7349
- Update CONTRIBUTING.md by @mrhelmut in MonoGame#7394
- Added ICurveEvaluator{T} interface. by @vpenades in MonoGame#7387
- Update Eto.Froms for VS for Mac addin by @harry-cpp in MonoGame#7365
- Fix for MGFXO file format to increases collection size limits. by @vpenades in MonoGame#7397
- NUnit Test Attachments To preview Test images in VS. by @vpenades in MonoGame#7413
- [macOS] Properly check current folder if we are inside of .app bundle by @harry-cpp in MonoGame#7416
- fix 7402: enqueue buffer ref before sending to OAL by @lodicolo in MonoGame#7403
- Fixes 3D Audio Direction Issues On Platforms Using OpenAL by @squarebananas in MonoGame#7404
- Fixes Stopping Looped Sounds On Platforms Using XAudio by @squarebananas in MonoGame#7405
- Fixes Buffer Bindings Cache Issue On Platforms Using OpenGL by @squarebananas in MonoGame#7406
- Fixes 3D Audio Direction Issues On Platforms Using X3DAudio by @squarebananas in MonoGame#7389
- Proposal for adding basic interoperability with System.Numerics.Vectors by @vpenades in MonoGame#7417
- [VSMac] Mark .spritefont files as .xml files by @harry-cpp in MonoGame#7426
- Updated console references by @mrhelmut in MonoGame#7432
- Removed residual OUYA references by @mrhelmut in MonoGame#7433
- [VSMac] Fix freeze upon opening a mgcb file and bump dependencies by @harry-cpp in MonoGame#7435
- [MGCB Editor] Fix help link (fixes #7428) by @harry-cpp in MonoGame#7438
- Changed uses of Math to MathF where it was used for floats by @initram in MonoGame#7390
- [MGCB.Task] Separate obj folder per target framework (fixes #7409) by @harry-cpp in MonoGame#7441
- Revert "Changed uses of Math to MathF where it was used for floats" by @harry-cpp in MonoGame#7442
- File drop event on DesktopGL and WindowsDX platforms by @Quant1um in MonoGame#7362
- [MGCB Editor] Bump Eto.Forms version (fixes #7418) by @harry-cpp in MonoGame#7439
- Update SDL to 2.0.14 by @mrhelmut in MonoGame#7445
- Help with compatibility toward NativeAOT by @mrhelmut in MonoGame#7462
- Generic Threading.BlockOnUIThread for reducing garbage allocs by @TechPizzaDev in MonoGame#7384
- Fix UWP Vsync support by @mrhelmut in MonoGame#7463
- [DesktopGL] Improve mouse handling outside gamewindow by @harry-cpp in MonoGame#7440
- Updated to the latest StbSharp 2.22.5, which added support for HDR images by @rds1983 in MonoGame#7467
- Fix type collisions and default implementations for consoles by @mrhelmut in MonoGame#7466
- Removed threading limitations by @mrhelmut in MonoGame#7472
- Fixed a typo in the comments. charaters --> characters by @rbwhitaker in MonoGame#7473
- fixed grammar in CONTRIBUTING.md by @algobytewise in MonoGame#7469
- Fixed a small handful of typos in the comments of SpriteFont. by @rbwhitaker in MonoGame#7479
- Update copyright year to 2021 in LICENSE.txt by @monegit in MonoGame#7482
- Fixes PacketNumber For Non-Haptic Gamepads On Platforms Using SDL by @squarebananas in MonoGame#7487
- Fixes Duplicate/Missing Gamepads On Platforms Using SDL by @squarebananas in MonoGame#7486
- Bump GtkSharp to fix crashes on Arch Linux by @harry-cpp in MonoGame#7493
- Update NVorbis submodule by @mrhelmut in MonoGame#7495
- Added selective ContentManager asset unloading by @kimimaru4000 in MonoGame#6663
- Update Mac Extension Link by @gideongrinberg in MonoGame#7497
- Remove deprecated property Color.TransparentBlack by @nkast in MonoGame#7505
- Remove duplicate check with wrong argument name by @nkast in MonoGame#7504
- fix spelling error by @nkast in MonoGame#7503
- Prevent App suspension when the user press 'B' button on UWP (xbox controller) by @nkast in MonoGame#7500
- fix PipelineBuildEvent deserialization by @nkast in MonoGame#7502
- Support drawing point primitives by @roy-t in MonoGame#7477
- Update samples.md by @Michael1993 in MonoGame#7358
- Merged the two requirements files into the REQUIREMENTS.md by @RicoGuerra in MonoGame#7484
- Upgrade tooling to .NET 5 by @harry-cpp in MonoGame#7437
- Upgraded projects and documentation to NET5 by @mrhelmut in MonoGame#7514
- Changed Math to MathF by @initram in MonoGame#7451
- Shared MSAA RenderTarget by @nkast in MonoGame#7506
- Added pixels processing function parameter to the Texture2D.FromStream/TextureFromFile by @rds1983 in MonoGame#7369
- Docs/content pipeline update by @SimonDarksideJ in MonoGame#7370
- Don't recompile the same shader multiple times. by @cpt-max in MonoGame#7392
- Update Game.cs by @SAJenkin in MonoGame#7528
- Fix FontDescriptionProcessor kerning by @nkast in MonoGame#7501
- Fix assembly trimming in templates by @mrhelmut in MonoGame#7529
- Fixed GLDesktop PlatformStop() resolving issue #7372 by @JacksonDorsett in MonoGame#7453
- Fix VSCode launch configuration for MGCB Editor on Mac by @the-maverick-m in MonoGame#7535
- OpenGL debug context for better error messages by @cpt-max in MonoGame#7536
- cask is no longer a brew command by @miluchen in MonoGame#7543
- Fix iOS GamePlatform to run pending background tasks #7520 by @Mindfulplays in MonoGame#7522
- Removed PS Vita support by @mrhelmut in MonoGame#7531
- Optimized ApplyAlpha by removing two unnecessary arithmetic operations by @rds1983 in MonoGame#7555
- [Feature] GitHub Actions integration by @harry-cpp in MonoGame#7511
- [Content Pipeline] Fix library names when packaging the nuget by @harry-cpp in MonoGame#7557
- Null song parameters for MediaPlayer.Play are not allowed in XNA by @james0x0A in MonoGame#7558
- Fixes XACT ADPCM Compression Playback by @squarebananas in MonoGame#7564
- Fixes XACT Cue.IsPlaying Behaviour When Paused by @squarebananas in MonoGame#7563
- Fixes EffectParameter SetValue Using Int For Float Parameters by @squarebananas in MonoGame#7568
- Added a keyboard shortcut (F2) to rename a file. by @rbwhitaker in MonoGame#7575
- Fix NRE for Game._gameTimer by @JacksonDorsett in MonoGame#7587
- Enable setting 8 render targets when targetting Windows by @bjornenalfa in MonoGame#7549
- Fixed Comment for Intersects Method by @JacksonDorsett in MonoGame#7592
- remove unused usings from Content readers by @nkast in MonoGame#7595
- remove CLSCompliant(false) from internal members by @nkast in MonoGame#7594
- remove unused reader/writer classes by @nkast in MonoGame#7597
- Added PlayStation 5 support by @mrhelmut in MonoGame#7645
- Fix back and start buttons on iOS by @mrhelmut in MonoGame#7694
- Update stuff to .NET 6 by @harry-cpp in MonoGame#7688
- net6 mobile and UWP fixes by @mrhelmut in MonoGame#7697
- Fixed a broken link in custom_effects docs. by @davidhesselbom in MonoGame#7663
- terminology, spelling & grammar corrections by @mikeirvingweb in MonoGame#7657
- Fix comment typos in enum GestureType by @Brett208 in MonoGame#7658
- Update SDL_GameControllerDB by @mrhelmut in MonoGame#7702
- Console check fake project by @mrhelmut in MonoGame#7698
- Improve GamePad support on macOS and introduce support for rumble by @carlfriess in MonoGame#7690
- Fix mgcb building content during nuget package restore by @harry-cpp in MonoGame#7709
- Visual Studio 2022 Extension for templates by @mrhelmut in MonoGame#7699
- Fix up mgcb-editor dotnet tool by @harry-cpp in MonoGame#7708
- Optimized SpriteFont GlyphPacker by @TechPizzaDev in MonoGame#7464
- Add thread locking to the UWP gamepads dictionary by @squarebananas in MonoGame#7655
- Multisampling on Android by @j0nat in MonoGame#7561
- proposal: additional vertex structs by @lodicolo in MonoGame#7421
- Fixes UWP Set Window Size Thread Access Error by @squarebananas in MonoGame#7570
- Fix templates for VS for Mac 2022 by @harry-cpp in MonoGame#7764
- Fix memory leak on desktop gl static variable by @adnanioricce in MonoGame#7684
- Make the VS extension to open .mgcb by @mrhelmut in MonoGame#7765
- Fix broken links to Extended samples in docs by @NogginBox in MonoGame#7767
- RTL text rendering overload for SpriteBatch.DrawString by @BlueElectivire in MonoGame#7644
- fix GamePad.GetCapabilities(...) race codition by @nkast in MonoGame#7770
- Update templates by @harry-cpp in MonoGame#7771
- Build system upgrades by @harry-cpp in MonoGame#7772
- Add automatic upload of artifacts to GitHub packages by @harry-cpp in MonoGame#7773
- [Actions] Use GITHUB_TOKEN for deploy job by @harry-cpp in MonoGame#7775
- Fix obsolete call on iOS by @mrhelmut in MonoGame#7777
- Fix SoundEffectInstance pooling by @mrhelmut in MonoGame#7776
- Update wine script for NET 6 by @mrhelmut in MonoGame#7790
- Auto versioning of VS extension by @mrhelmut in MonoGame#7788
- Added RollForward directive by @mrhelmut in MonoGame#7789
- Cleaned up rollforward from mobiles by @mrhelmut in MonoGame#7791
- Remove default Inner Exceptions by @nkast in MonoGame#7800
- fix list of supported surfaces by @nkast in MonoGame#7801
- Update submodules by @mrhelmut in MonoGame#7806
- Add Buttons.None by @TimerbaevRR in MonoGame#7818
- Fix Buttons.None by @mrhelmut in MonoGame#7822
- [Actions] Fix UWP package path by @harry-cpp in MonoGame#7825
- [Actions] Build VS for Mac addin by @harry-cpp in MonoGame#7824
- [WIP] Documentation update for 3.8.1 by @mrhelmut in MonoGame#7798
- Removed trimming property from templates by @mrhelmut in MonoGame#7829
- Create a release when pushing a tag by @mrhelmut in MonoGame#7828
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- SoundEffectInstance.Stop now works correctly.
- Project Templates for Visual Studio and MonoDevelop.
- Fixed a bug when loading of Wav files.
- 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.
- 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.
- 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.
- 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.
- 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.
- All new implementation which share quite a bit of code between MacOS X and Windows.
- Added shader support via the Effects class.
- All new implementation which shares quite a bit of code between MacOS and Linux.
- Project renamed MonoGame.
- Project moved to GitHub.
- Support for Linux, Mac, Linux, and OpenGL on Windows.
- First stable release.
- Originally named XnaTouch.
- iPhone support only.
- 2D rendering support.
- Audio support.
- Networking support.
- Partial multitouch support.
- Partial accelerometer support.