# Changelog ## 3.8.4 Release - April 2nd - 2025 Fastest MonoGame release to date! WIth a total of 7 Previews, all vetted by the community. ### What has Changed - 3.8.4 - Fix IndexBuffer reflection issue by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8700 - Remove call to RestoreMGCB() by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8706 - Better AOT fix for content readers by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8714 - Back ported Vinicius' changes to ease local debugging/testing: Fix GamePad issue with Android and iOS by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8715 - Add additional remarks to the Mouse Wheel state values by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8710 - Unit test for 32bit index buffer support by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8719 - Remove OpenAL binaries from iOS by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8726 - Fix content error silencing by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8718 - Revert "[MGCB Editor] Added file watcher for the content project file with project reload prompt" by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8728 - [MGCB Editor] Quick fixing mgcb invocation by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8729 - Add device name for Android Gamepads by @theLaffa in https://github.com/MonoGame/MonoGame/pull/8732 - DesktopGL implementation for MessageBox.Show() by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8720 - Fix imported link paths not being nested correctly in the MGCB browser. by @ben-marsh in https://github.com/MonoGame/MonoGame/pull/8739 - Fixed SoundEffectInstance looping under XAudio by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8748 - OggStreamer refactor by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8747 - Fix Issue #8096, so UnloadContent happens before Exiting. (#8721) by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8721 - Fix OggStreamer singleton by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8758 - Add a new native API to handle loading assets by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8669 - Add C Header generation to MGFXC by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8767 - [MGCB Editor] Fix sizing issue by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8769 - [MGCB Editor] Experimental options to reduce the size by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8771 - [Pipeline] Use the new tooling nugets by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8782 - Fixed Vulkan shader profile not invoking dxc correctly by @KristianFenn in https://github.com/MonoGame/MonoGame/pull/8789 - Fixed bug where asset file length wasn't being written in MG_Asset_Open by @cssoftware-main in https://github.com/MonoGame/MonoGame/pull/8780 - Update to a newer wine distribution by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8791 - Fix Content Manager absolute path handling for image files by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8787 - Resolves issue with handling compressed DDS textures by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8790 - Fixed: incorrectly calculated rgbaBytes value which lead to vulkan validation error by @cssoftware-main in https://github.com/MonoGame/MonoGame/pull/8797 - Restore behavior of LoadTexture2DFromImageFile by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8802 - Fix EffectReader for AOT by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8803 ## 3.8.3 Release - April 5th, 2025 ### 3.8.3 Highlights Over 70 PRs since our last release. Fixes & Updates include: - SDL bumped to 2.32.2 - VS2022 Extension with new 2D cross-platform project templates - Content pipeline working on all supported platforms - Content Pipeline updated to use the new FreeType and FreeImage - Improved / updated content pipeline dependencies (Textures, Audio, Input) - Several SoundEffect fixes, including OpenAL update - GamePad button mappings on Android and iOS, Plus Joystick input fixes - MonoGame updated to be more AOT/trimming compliant - Fix Android MediaPlayer Song - Preliminary scaffolding for new Native platform - API Documentation updates - Vulkan in preview Massive thanks to our 16 1st time contributors! We're grateful for helping us make MonoGame Better. ### What has Changed - 3.8.3 - [CI] Improve versioning and allow upload to nuget.org by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8447 - Remove string allocations when calling GamePad.GetCapabilities. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8453 - Remove references to google stadia platform (#8450) by @Dehayat in https://github.com/MonoGame/MonoGame/pull/8452 - Updating links to include getting_started subdomain by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8455 - Create PULL_REQUEST_TEMPLATE.md by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8401 - Match Spritefont style on Windows by @wldevries in https://github.com/MonoGame/MonoGame/pull/7993 - Implement AddDependency in PipelineImporterContext by @bjornenalfa in https://github.com/MonoGame/MonoGame/pull/7584 - Update Joystick.LastConnectedIndex calculation for reconnected Joystick by @TimerbaevRR in https://github.com/MonoGame/MonoGame/pull/8416 - Allow Texture2D.GetData On Non UI Threads by @squarebananas in https://github.com/MonoGame/MonoGame/pull/7569 - Detect GamePad/Keyboard events on Android by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8465 - Update StbImageSharp to latest by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8476 - Fix OpenAL SoundEffectInstance Panning Issue on DesktopGL and Mobile by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8466 - Fix MacOS Content directory location. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8479 - [Paid Bounty] Upgrade MonoGame to use BasisUniversal for cross platform Texture Compression by @cdhanna in https://github.com/MonoGame/MonoGame/pull/8456 - Additional fixes for SoundEffectInstance.OpenAL panning by @squarebananas in https://github.com/MonoGame/MonoGame/pull/8480 - Run the Basic ContentBuilder Tests on CI by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8436 - Upgrade Android to handle obsolete API's. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8420 - Updated to the latest StbImageSharp by @rds1983 in https://github.com/MonoGame/MonoGame/pull/8494 - Add Self Hosted Runner for Tests by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8493 - Fix Deploy Task Error by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8502 - Bump Test timeout to 5 minutes by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8503 - [PAID BOUNTY] A shared base for public and console repos by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8309 - Add GDK-related platforms to enums and csproj by @Togimaro in https://github.com/MonoGame/MonoGame/pull/8474 - Capture Asserts in MGCB logging by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8517 - Native AudioDecoder and VideoDecoder by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8510 - Upgrade Mac Editor to net8.0-macos. Upgrade Eto.Forms by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8505 - Added Vibration and Caps to Native GamePad API by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8520 - Better Native Window Creation by @tomspilman in https://github.com/MonoGame/MonoGame/pull/8523 - Update FUNDING.yml by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8540 - Fixes SPIR-V globals key lookup & parsing int/uint/float input types by @squarebananas in https://github.com/MonoGame/MonoGame/pull/8544 - Allow a Texture to have multiple outputs. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8524 - Update README file by @Maniekko in https://github.com/MonoGame/MonoGame/pull/8551 - Update Extension to SDK by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8543 - Updated summary and comments in BoundingBox.Contains(BoundingFrustum) by @baudii in https://github.com/MonoGame/MonoGame/pull/8566 - (README) Replace ship game example to an image by @Maniekko in https://github.com/MonoGame/MonoGame/pull/8553 - Sprite font multi byte fix by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8554 - Throw Exception In `Content.Load` When `assetName` Is A Rooted Path. by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8569 - Bump Cake.Frosting to 5.0.0 for github actions update by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8561 - [CI] Combine test and dependency installation tasks into one by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8576 - Install dotnet tools locally in the Nuget Packages by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8527 - Use the new FreeType and FreeImage by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8570 - Update MonoGame.Library.OpenAL to 1.23.1.10 by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8560 - Fix Android MediaPlayer Song implementation. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8583 - Add support for multiplying two colors by @des54321 in https://github.com/MonoGame/MonoGame/pull/8577 - Update `Tests/Interactive` references by @emmanuel-ferdman in https://github.com/MonoGame/MonoGame/pull/8579 - Improved shader cache hash key to not cause collisions by @arosolino in https://github.com/MonoGame/MonoGame/pull/8557 - Remove temp buffer alloc get data when reading full texture by @MutsiMutsi in https://github.com/MonoGame/MonoGame/pull/8590 - Content.Load() fallback to load from file when no .xnb exists by @titanix in https://github.com/MonoGame/MonoGame/pull/8582 - Add MonoGame.Templates submodule by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8593 - Modify .gitmodules to use https for Templates to resolve permission i… by @MonogameGuy in https://github.com/MonoGame/MonoGame/pull/8598 - [Pipeline] Use AssimpNetter nuget for now by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8607 - Update dotnetcli domain by @richlander in https://github.com/MonoGame/MonoGame/pull/8613 - Update deps repo by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8615 - [Tools] Drop MonoGame.Packaging.Flatpak by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8616 - Update LICENSE.txt by @MrScottyPieey in https://github.com/MonoGame/MonoGame/pull/8635 - fix uses of ellipses in options in the menu strip of the MGCB Editor by @Poaetce in https://github.com/MonoGame/MonoGame/pull/8636 - Fixed a typo in the ModelProcessor.cs documentation. by @epoll31 in https://github.com/MonoGame/MonoGame/pull/8633 - Fix CI by using xcode 16.2 and latest .net by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8639 - Fix Vulkan CI build by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8658 - Fix Effect WineHelper to work with wine 10.0. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8673 - Making MonoGame AOT/trimming compliant by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8623 - [Documentation] Update XML documentation by @theLaffa in https://github.com/MonoGame/MonoGame/pull/8586 - Remove game controller db for SDL by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8668 - Fix: Last char missing from filename on filedrop event - WindowsDX platform by @theLaffa in https://github.com/MonoGame/MonoGame/pull/8660 - Fixes OpenAssetImporter.GetRelativeTransform to return a row-major matrix by @squarebananas in https://github.com/MonoGame/MonoGame/pull/8671 - Remove return so that it can try again with wine, instead of wine64. by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8676 - [Documentation] Minor XML documentation fixes by @Maniekko in https://github.com/MonoGame/MonoGame/pull/8675 - Added vertex size check with exception to GraphicsDevice.DrawUserPrimitives() by @baudii in https://github.com/MonoGame/MonoGame/pull/8580 - Added BoundingBox.ContainsPrecise(BoundingFrustum) method by @baudii in https://github.com/MonoGame/MonoGame/pull/8567 - Fix .NET 4.5 compatibility and restore ConsoleCheck by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8678 - SDL update to 2.32.2 by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8680 - Refactor to make accelerometer and compass classes available in cross-platform apps. by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8663 - Respect elements when importing XNA content projects. by @ben-marsh in https://github.com/MonoGame/MonoGame/pull/8684 - Remove range check in SoundEffectInstance.Pitch.set by @notexplosive in https://github.com/MonoGame/MonoGame/pull/7515 - Fixes DynamicSoundEffectInstance Requesting Buffers Too Late by @squarebananas in https://github.com/MonoGame/MonoGame/pull/7566 - Respect the /quiet command line option when converting content. by @ben-marsh in https://github.com/MonoGame/MonoGame/pull/8689 - Fix some build warnings in Debug due to malformed xmldoc comments. by @ben-marsh in https://github.com/MonoGame/MonoGame/pull/8690 - Update packages with ReadMe references by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8693 - Fix GamePad button mappings for Android and iOS devices. by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8688 - Update the MonoGame Templates checkout to include the new starter kits by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8696 - Bump extension versions to 3.8.3.0 for next release. by @CartBlanche in https://github.com/MonoGame/MonoGame/pull/8679 - Release 3.8.3 by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8697 ## 3.8.2 Release - August 16, 2024 ### What has Changed - 3.8.2 - HUGE investment in API XML documentation updates - @AristurtleDev managed - Migrate to .NET 8.0 by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8089 - Move docs to monogame.github.io repo by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8081 - Remove redundant dependencies by @vpenades in https://github.com/MonoGame/MonoGame/pull/7854 - Fixes Visual Studio freezing with the extension by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/7857 - Removed explicit global usings by @vpenades in https://github.com/MonoGame/MonoGame/pull/7853 - mgfxc_wine_setup.sh download dotnet x64 instead of dotnet x86 by @Tacodiva in https://github.com/MonoGame/MonoGame/pull/7899 - Updated install instructions to get wine working by @iCodeSometime in https://github.com/MonoGame/MonoGame/pull/7911 - Fixed VS SDK errors on Github Actions by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/7927 - Improve some source code comments in the Desktop GL Solution by @Brett208 in https://github.com/MonoGame/MonoGame/pull/7925 - Set the SupportedOSPlatformVersion within the Android project file by @Brett208 in https://github.com/MonoGame/MonoGame/pull/7917 - Improve sdl version checking by @Brett208 in https://github.com/MonoGame/MonoGame/pull/7924 - Improved documentation for Ubuntu by @rejurime in https://github.com/MonoGame/MonoGame/pull/7932 - Fix Android triggers by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/7930 - [GH Actions] Fix build failing on macOS by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8021 - Fixes a bug in the property grid by @rbwhitaker in https://github.com/MonoGame/MonoGame/pull/8015 - Fixes a reader/writer mismatch for the environment map effect by @rbwhitaker in https://github.com/MonoGame/MonoGame/pull/8018 - Adds a description to an InvalidOperationException for clarity. by @rbwhitaker in https://github.com/MonoGame/MonoGame/pull/8019 - Fixes bug in `CalculateNormals` that picked the wrong normal for each point. by @rbwhitaker in https://github.com/MonoGame/MonoGame/pull/8007 - Fixed effect parameter shifting by @Apostolique in https://github.com/MonoGame/MonoGame/pull/8000 - Fix buffer overflow in WinFormsGameForm DragQueryFile call. by @PerryAsleep in https://github.com/MonoGame/MonoGame/pull/7998 - Moved MSBuild Sdk version to fix Project Loading by @corykroll in https://github.com/MonoGame/MonoGame/pull/7963 - Added null check for ExtendedGamepad.ButtonOptions for iOS compatibility by @corykroll in https://github.com/MonoGame/MonoGame/pull/7966 - Added code to .targets to fix iOS Content inclusion by @corykroll in https://github.com/MonoGame/MonoGame/pull/7961 - Added missing identity for the uwpcore template by @ahmed605 in https://github.com/MonoGame/MonoGame/pull/7957 - Use SharpDX and NVorbis from Nuget by @rejurime in https://github.com/MonoGame/MonoGame/pull/7933 - [Docs] Add packaging instructions for universal macos apps by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8022 - Use SDL native library from NuGet by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8023 - Fix ConsoleCheck compilation by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8029 - Respect setting `Window.Title` in `Game1` constructor by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8052 - Resolves Crash When Setting `Window.Title` To An Empty String by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8051 - GamePad Trigger Source Code Comment Spelling Correction by @Brett208 in https://github.com/MonoGame/MonoGame/pull/8057 - Added `GenereateDocumentationFile` So XML Is Generated and Included in NuGets When Packed by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8049 - Correct error message in `DefaultTextureProfile` by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8055 - Automatically Restore NuGets When New Project Created From Templates by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8046 - [SDL] Fixed SdlGameWindow fails to load Icon.bmp. by @shin1m in https://github.com/MonoGame/MonoGame/pull/7983 - Fixes DesktopGL template so Icons display in Window Titlebar and Taskbar by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8036 - Added checks when opening files in content editor by @Nebulaxin in https://github.com/MonoGame/MonoGame/pull/8040 - Remove VS for Mac templates by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8066 - Change to fix ILC warning by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8083 - Prevent the timing of audio tests from overrunning by @squarebananas in https://github.com/MonoGame/MonoGame/pull/7585 - Update SDL_GameControllerDB to latest version by @Vectovox in https://github.com/MonoGame/MonoGame/pull/8086 - add Byte4TypeConverter as it was needed for a SkinnedModelProcesor th… by @pr3luder in https://github.com/MonoGame/MonoGame/pull/6836 - Removed unnecessary clearing of _queuedBuffers that can lead to problems by @CidVonHighwind in https://github.com/MonoGame/MonoGame/pull/7820 - VSInputTxVc Color and TexCoord swap. by @HouseOfPandas in https://github.com/MonoGame/MonoGame/pull/7919 - Wait building assemblies before running MGCB. by @jvlppm in https://github.com/MonoGame/MonoGame/pull/6337 - MGCB Editor and Readme.md url updates changing to the new website by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8098 - Added identity to UWP CoreApp template by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/7864 - Fix DesktopGL function loader ILC error by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8105 - Fixed _isRunningOnNetCore bug in ContentTypeReaderManager.cs in https://github.com/MonoGame/MonoGame/pull/7895 - Add high-frequency touch events to iOS GameView by @Peru-S in https://github.com/MonoGame/MonoGame/pull/8092 - Doc update by @Peru-S in https://github.com/MonoGame/MonoGame/pull/8108 - README formatting improvements by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8116 - Update urls to match website changes by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8119 - Vector rotation helper functions in Vector2 by @itsBuggingMe in https://github.com/MonoGame/MonoGame/pull/8117 - Fix building Windows tests by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8127 - Fix XAudio2 callback thread-safety by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8122 - Bugfix: Resolve issue with empty normals in an FBX using a custom processor by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8139 - Fix DesktopGL for documentation generation by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8142 - Update Copyright to MonoGame Foundation, Inc by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8126 - Remove unused compression libraries by @ThomasFOG in https://github.com/MonoGame/MonoGame/pull/8144 - Update requirements.md to new site and .net 8 by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8145 - Update WindowsDX csproj to Microsoft.NET.Sdk by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8150 - Fix the WindowsDX tests by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8153 - `Sdl.Version` Implement `GetHashCode` by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8156 - Resolve Invalid cref warning in BoundingBox by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8160 - Resolve CS3021 warning on public members by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8158 - Remove obsolete `GetObjectData` method by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8162 - Fix MGCB Color parsing error on ColorKeyColor by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8167 - Fix to avoid allocation/garbage when submitting OpenAL buffers. by @ParanoidCactus in https://github.com/MonoGame/MonoGame/pull/8178 - Add stubs for the Native platform by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8191 - Updates WineHelper.cs Error Text To State .NET 8 instead of .NET 6 by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8218 - Updates DOTNET_URL In Wine Setup To .NET 8 by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8219 - Validate Minimum Wine Version 8.0 for .NET 8 by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8220 - Update requirements.md platforms link and contributing.md tests link by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8192 - Update Info.plist by @Trevogre in https://github.com/MonoGame/MonoGame/pull/8221 - [Documentation] Adds and Corrects Documentation for Collection classes by @disappeaTed in https://github.com/MonoGame/MonoGame/pull/8232 - [BuildScripts] Switch to CAKE Frosting by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8234 - [BuildScripts] Versioning fixes by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8238 - [BuildScripts] Don't package ConsoleCheck by @harry-cpp in https://github.com/MonoGame/MonoGame/pull/8239 - Fix Visual Studio extension build issue by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8302 - Issue #4804: Documented that graphics driver settings may overwrite vsync settings by @pgh1686 in https://github.com/MonoGame/MonoGame/pull/8269 - Clarified Vertex Buffer SetData XML Comments by @h3allen in https://github.com/MonoGame/MonoGame/pull/8294 - Update doc links to docs.monogame.net by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8282 - Respect Window.AllowAltF4 For SDLGamePlatform by @AristurtleDev in https://github.com/MonoGame/MonoGame/pull/8248 - Issue #8084: DesktopGL GraphicsDevice.ScissorRectangle Fix by @samercer2002 in https://github.com/MonoGame/MonoGame/pull/8284 - Support cancelling game exit by @Jjagg in https://github.com/MonoGame/MonoGame/pull/7105 - Binary search for curve evaluation by @yousernaym in https://github.com/MonoGame/MonoGame/pull/6097 - Error on creating Effect with byte array and range #7794 by @bartimaeusnek in https://github.com/MonoGame/MonoGame/pull/8323 - Suppress warnings in Utilities/System.Numerics.Vectors by @Nebulaxin in https://github.com/MonoGame/MonoGame/pull/8350 - Suppress warnings from UWP project by @Nebulaxin in https://github.com/MonoGame/MonoGame/pull/8348 - Remove CLSCompliant attributes by @Nebulaxin in https://github.com/MonoGame/MonoGame/pull/8368 - Added error detection for effect content files by @Nebulaxin in https://github.com/MonoGame/MonoGame/pull/8299 - added test for normal generations of two geometries part of the same mesh by @grasshopperhamburger in https://github.com/MonoGame/MonoGame/pull/8330 - Update MeshHelper to fix #8140 by @grasshopperhamburger in https://github.com/MonoGame/MonoGame/pull/8307 - Add /waitfordebugger argument to MGCB. by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8227 - Add Android high-frequency touch events by @Peru-S in https://github.com/MonoGame/MonoGame/pull/8109 - Fix Android song unable to find a specified URI by @Peru-S in https://github.com/MonoGame/MonoGame/pull/8111 - Platform-specific launchers for MGCB Editor Build Task by @Lutz89 in https://github.com/MonoGame/MonoGame/pull/8396 - Cleanup Lidgren, GamepadConfig, and ThirdParty.iOS.sln by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8414 - Use specific wildcard to fix VS extension issue by @JakeLegendXIII in https://github.com/MonoGame/MonoGame/pull/8417 - Create CODE_OF_CONDUCT.md by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8400 - Add end-to-end test framework inspired from iOS interactive tests by @Peru-S in https://github.com/MonoGame/MonoGame/pull/8390 - UWP Deprecation by @SimonDarksideJ in https://github.com/MonoGame/MonoGame/pull/8407 - Fixes video playback (#8407 removed Video.PlatformInitialize) by @squarebananas in https://github.com/MonoGame/MonoGame/pull/8421 - Fix NuGet Package Security Issue by @dellis1972 in https://github.com/MonoGame/MonoGame/pull/8435 ## 3.8.1 HOTFIX Release - July 26, 2022 ### What has Changed - 3.8.1 Hotfix - Fix MonoGame publisher name for the VS marketplace by @mrhelmut in - Corrected 'Framwork' to 'Framework' by @benjitrosch in - added missing words to platforms.md by @MrGrak in - Fixed grammatical error from 'project' to 'projects' by @benjitrosch in - Grammar Hotfix on README by @Emersont1 in - Remove redundant dependencies by @vpenades in - Fixes Visual Studio freezing with the extension by @mrhelmut in - Updated migration guide by @mrhelmut in - More migration guide updates by @mrhelmut in - Wild cards don't work in dotnet-tools.json by @mrhelmut in - Removed explicit global usings by @vpenades in ## 3.8.1 Release - July 24, 2022 ### What has Changed - 3.8.1 - Update build version to 3.8.1.xxxx by @tomspilman in - Fix broken links by @rejurime in - [DesktopGL] Fix setting backbuffer size not working in constructor by @harry-cpp in - Add quotation marks around MGCBPath by @bjornenalfa in - [Templates] Update FSharp projects by @harry-cpp in - fix Texture.GetSharedHandle() by @nkast in - [MGCB Editor] Update registration handling files by @harry-cpp in - Updated to the latest version of StbSharp by @rds1983 in - Support MSAA in SwapChainRenderTarget by @nkast in - Updated link for the XNA 3.1 to XNA 4.0 cheatsheet by @SimonDarksideJ in - Updated and added links to latest MonoGame 3.8 content in tutorials.md by @SimonDarksideJ in - Explicitly document BackToFront and FrontToBack use an unstable sort. by @goosenoises in - Update mgfxc_wine_setup.sh by @Kwyrky in - Fix multisampling in DesktopGL by @sk-zk in - [MGCB Editor] macOS fixes by @harry-cpp in - Fix shader error messages for OpenGL by @cpt-max in - Added IEffectBones interface, implemented by SkinnedEffect. by @vpenades in - Update NVTT (fixes #5866) by @harry-cpp in - Edited the Getting Started parts of the documentation for grammar, clarity, and style by @HopefulFrog in - Updated Matrix.CreatePerspective - to support infinite far planes. by @vpenades in - Add missing underscore in code section by @pbedn in - Update CONTRIBUTING.md by @mrhelmut in - Added ICurveEvaluator{T} interface. by @vpenades in - Update Eto.Froms for VS for Mac addin by @harry-cpp in - Fix for MGFXO file format to increases collection size limits. by @vpenades in - NUnit Test Attachments To preview Test images in VS. by @vpenades in - [macOS] Properly check current folder if we are inside of .app bundle by @harry-cpp in - fix 7402: enqueue buffer ref before sending to OAL by @lodicolo in - Fixes 3D Audio Direction Issues On Platforms Using OpenAL by @squarebananas in - Fixes Stopping Looped Sounds On Platforms Using XAudio by @squarebananas in - Fixes Buffer Bindings Cache Issue On Platforms Using OpenGL by @squarebananas in - Fixes 3D Audio Direction Issues On Platforms Using X3DAudio by @squarebananas in - Proposal for adding basic interoperability with System.Numerics.Vectors by @vpenades in - [VSMac] Mark .spritefont files as .xml files by @harry-cpp in - Updated console references by @mrhelmut in - Removed residual OUYA references by @mrhelmut in - [VSMac] Fix freeze upon opening a mgcb file and bump dependencies by @harry-cpp in - [MGCB Editor] Fix help link (fixes #7428) by @harry-cpp in - Changed uses of Math to MathF where it was used for floats by @initram in - [MGCB.Task] Separate obj folder per target framework (fixes #7409) by @harry-cpp in - Revert "Changed uses of Math to MathF where it was used for floats" by @harry-cpp in - File drop event on DesktopGL and WindowsDX platforms by @Quant1um in - [MGCB Editor] Bump Eto.Forms version (fixes #7418) by @harry-cpp in - Update SDL to 2.0.14 by @mrhelmut in - Help with compatibility toward NativeAOT by @mrhelmut in - Generic Threading.BlockOnUIThread for reducing garbage allocs by @TechPizzaDev in - Fix UWP Vsync support by @mrhelmut in - [DesktopGL] Improve mouse handling outside gamewindow by @harry-cpp in - Updated to the latest StbSharp 2.22.5, which added support for HDR images by @rds1983 in - Fix type collisions and default implementations for consoles by @mrhelmut in - Removed threading limitations by @mrhelmut in - Fixed a typo in the comments. charaters --> characters by @rbwhitaker in - fixed grammar in CONTRIBUTING.md by @algobytewise in - Fixed a small handful of typos in the comments of SpriteFont. by @rbwhitaker in - Update copyright year to 2021 in LICENSE.txt by @monegit in - Fixes PacketNumber For Non-Haptic Gamepads On Platforms Using SDL by @squarebananas in - Fixes Duplicate/Missing Gamepads On Platforms Using SDL by @squarebananas in - Bump GtkSharp to fix crashes on Arch Linux by @harry-cpp in - Update NVorbis submodule by @mrhelmut in - Added selective ContentManager asset unloading by @kimimaru4000 in - Update Mac Extension Link by @gideongrinberg in - Remove deprecated property Color.TransparentBlack by @nkast in - Remove duplicate check with wrong argument name by @nkast in - fix spelling error by @nkast in - Prevent App suspension when the user press 'B' button on UWP (xbox controller) by @nkast in - fix PipelineBuildEvent deserialization by @nkast in - Support drawing point primitives by @roy-t in - Update samples.md by @Michael1993 in - Merged the two requirements files into the REQUIREMENTS.md by @RicoGuerra in - Upgrade tooling to .NET 5 by @harry-cpp in - Upgraded projects and documentation to NET5 by @mrhelmut in - Changed Math to MathF by @initram in - Shared MSAA RenderTarget by @nkast in - Added pixels processing function parameter to the Texture2D.FromStream/TextureFromFile by @rds1983 in - Docs/content pipeline update by @SimonDarksideJ in - Don't recompile the same shader multiple times. by @cpt-max in - Update Game.cs by @SAJenkin in - Fix FontDescriptionProcessor kerning by @nkast in - Fix assembly trimming in templates by @mrhelmut in - Fixed GLDesktop PlatformStop() resolving issue #7372 by @JacksonDorsett in - Fix VSCode launch configuration for MGCB Editor on Mac by @the-maverick-m in - OpenGL debug context for better error messages by @cpt-max in - cask is no longer a brew command by @miluchen in - Fix iOS GamePlatform to run pending background tasks #7520 by @Mindfulplays in - Removed PS Vita support by @mrhelmut in - Optimized ApplyAlpha by removing two unnecessary arithmetic operations by @rds1983 in - [Feature] GitHub Actions integration by @harry-cpp in - [Content Pipeline] Fix library names when packaging the nuget by @harry-cpp in - Null song parameters for MediaPlayer.Play are not allowed in XNA by @james0x0A in - Fixes XACT ADPCM Compression Playback by @squarebananas in - Fixes XACT Cue.IsPlaying Behaviour When Paused by @squarebananas in - Fixes EffectParameter SetValue Using Int For Float Parameters by @squarebananas in - Added a keyboard shortcut (F2) to rename a file. by @rbwhitaker in - Fix NRE for Game._gameTimer by @JacksonDorsett in - Enable setting 8 render targets when targetting Windows by @bjornenalfa in - Fixed Comment for Intersects Method by @JacksonDorsett in - remove unused usings from Content readers by @nkast in - remove CLSCompliant(false) from internal members by @nkast in - remove unused reader/writer classes by @nkast in - Added PlayStation 5 support by @mrhelmut in - Fix back and start buttons on iOS by @mrhelmut in - Update stuff to .NET 6 by @harry-cpp in - net6 mobile and UWP fixes by @mrhelmut in - Fixed a broken link in custom_effects docs. by @davidhesselbom in - terminology, spelling & grammar corrections by @mikeirvingweb in - Fix comment typos in enum GestureType by @Brett208 in - Update SDL_GameControllerDB by @mrhelmut in - Console check fake project by @mrhelmut in - Improve GamePad support on macOS and introduce support for rumble by @carlfriess in - Fix mgcb building content during nuget package restore by @harry-cpp in - Visual Studio 2022 Extension for templates by @mrhelmut in - Fix up mgcb-editor dotnet tool by @harry-cpp in - Optimized SpriteFont GlyphPacker by @TechPizzaDev in - Add thread locking to the UWP gamepads dictionary by @squarebananas in - Multisampling on Android by @j0nat in - proposal: additional vertex structs by @lodicolo in - Fixes UWP Set Window Size Thread Access Error by @squarebananas in - Fix templates for VS for Mac 2022 by @harry-cpp in - Fix memory leak on desktop gl static variable by @adnanioricce in - Make the VS extension to open .mgcb by @mrhelmut in - Fix broken links to Extended samples in docs by @NogginBox in - RTL text rendering overload for SpriteBatch.DrawString by @BlueElectivire in - fix GamePad.GetCapabilities(...) race codition by @nkast in - Update templates by @harry-cpp in - Build system upgrades by @harry-cpp in - Add automatic upload of artifacts to GitHub packages by @harry-cpp in - [Actions] Use GITHUB_TOKEN for deploy job by @harry-cpp in - Fix obsolete call on iOS by @mrhelmut in - Fix SoundEffectInstance pooling by @mrhelmut in - Update wine script for NET 6 by @mrhelmut in - Auto versioning of VS extension by @mrhelmut in - Added RollForward directive by @mrhelmut in - Cleaned up rollforward from mobiles by @mrhelmut in - Remove default Inner Exceptions by @nkast in - fix list of supported surfaces by @nkast in - Update submodules by @mrhelmut in - Add Buttons.None by @TimerbaevRR in - Fix Buttons.None by @mrhelmut in - [Actions] Fix UWP package path by @harry-cpp in - [Actions] Build VS for Mac addin by @harry-cpp in - [WIP] Documentation update for 3.8.1 by @mrhelmut in - Removed trimming property from templates by @mrhelmut in - Create a release when pushing a tag by @mrhelmut in ## 3.8 Release - August 10, 2020 ### Added - New Plane constructor. [#6085](https://github.com/MonoGame/MonoGame/pull/6085) - Round, Ceiling, Floor functions for Vector2/3/4. [#6318](https://github.com/MonoGame/MonoGame/pull/6318) - Dotnet templating templates. [#6494](https://github.com/MonoGame/MonoGame/pull/6494) - TransformMatrix for SpriteEffect. [#6623](https://github.com/MonoGame/MonoGame/pull/6623) - SpriteBatch constructor overload with capacity parameter. [#6682](https://github.com/MonoGame/MonoGame/pull/6682) - [OpenGL] Support for separate blend states per render target. [#6343](https://github.com/MonoGame/MonoGame/pull/6343) - Multiply operator overload for Color: `scale * Color`. [#6747](https://github.com/MonoGame/MonoGame/pull/6747) - Overloads for garbageless BoundingBox.CreateFromPoints. [#6743](https://github.com/MonoGame/MonoGame/pull/6743) - UseStandardPixelAddressing flag. [#6621](https://github.com/MonoGame/MonoGame/pull/6621) [#6780](https://github.com/MonoGame/MonoGame/pull/6780) - [MGCB] Search fonts in HKEY_CURRENT_USER on Windows. [#6671](https://github.com/MonoGame/MonoGame/pull/6671) - Garbageless GetPressedKeys overload. [#6643](https://github.com/MonoGame/MonoGame/pull/6643) - Expose GraphicsDevice.DiscardColor to set the clear color of render targets. [#6832](https://github.com/MonoGame/MonoGame/pull/6832) - KeyDown and KeyUp events on GameWindow. [#6762](https://github.com/MonoGame/MonoGame/pull/6762) - FromFile for Texture2D and SoundEffect. [#6586](https://github.com/MonoGame/MonoGame/pull/6586) - PlatformInfo class to query runtime platform. [#6846](https://github.com/MonoGame/MonoGame/pull/6846) [#6873](https://github.com/MonoGame/MonoGame/pull/6873) - API to query graphical system at runtime. [#6872](https://github.com/MonoGame/MonoGame/pull/6872) - Etc2 texture format support. [#6864](https://github.com/MonoGame/MonoGame/pull/6864) - MonoGame.Content.Builder package. [#6905](https://github.com/MonoGame/MonoGame/pull/6905) - τ constant. [#6937](https://github.com/MonoGame/MonoGame/pull/6937) - [UWP] Overloads for more detailed vibration control. [#6933](https://github.com/MonoGame/MonoGame/pull/6933) - [MGCB Editor] Always use Headerbar. [#6938](https://github.com/MonoGame/MonoGame/pull/6938) - Joystick display name for the Joystick API. [#7008](https://github.com/MonoGame/MonoGame/pull/7008) - [OpenGL] Overload with base index for draw instancing. [#7016](https://github.com/MonoGame/MonoGame/pull/7016) - Google Stadia Support. [#7020](https://github.com/MonoGame/MonoGame/pull/7020) [#7049](https://github.com/MonoGame/MonoGame/pull/7049) - LastJoystickIndex for the Joystick API. [#7017](https://github.com/MonoGame/MonoGame/pull/7017) - MouseState.ToString. [#7091](https://github.com/MonoGame/MonoGame/pull/7091) - [MGCB Editor] .NET Core tool. [#7090](https://github.com/MonoGame/MonoGame/pull/7090) - [MGFXC] Wine support. [#7098](https://github.com/MonoGame/MonoGame/pull/7098) [#7103](https://github.com/MonoGame/MonoGame/pull/7103) [#7107](https://github.com/MonoGame/MonoGame/pull/7107) [#7188](https://github.com/MonoGame/MonoGame/pull/7188) - EffectParameter.SetValue for int array. [#7143](https://github.com/MonoGame/MonoGame/pull/7143) - Add Web platform information to the content builder. [#7144](https://github.com/MonoGame/MonoGame/pull/7144) - [macOS] MonoGame Content pad for VS for Mac. [#7266](https://github.com/MonoGame/MonoGame/pull/7266) ### Removed - Remove obsolete SpriteBatch.Draw overload. [#6818](https://github.com/MonoGame/MonoGame/pull/6818) - Disable Piranha portable build. [#6844](https://github.com/MonoGame/MonoGame/pull/6844) - Removed MonoGame.Framework.Net. [#6900](https://github.com/MonoGame/MonoGame/pull/6900) [#6775](https://github.com/MonoGame/MonoGame/pull/6775) - Remove internal PNG Utility Classes. [#6976](https://github.com/MonoGame/MonoGame/pull/6976) - Protobuild removed and replaced with solutions and projects. [#7040](https://github.com/MonoGame/MonoGame/pull/7040) [#7041](https://github.com/MonoGame/MonoGame/pull/7041) ### Changed - OpenAssetImporter Improvements and FbxImporter Unit Tests. [#6158](https://github.com/MonoGame/MonoGame/pull/6158) - Made sound system optional. [#6629](https://github.com/MonoGame/MonoGame/pull/6629) - [UWP] Do not set minimum window size. [#6763](https://github.com/MonoGame/MonoGame/pull/6763) - Added Cake build script to replace NANT. [#6776](https://github.com/MonoGame/MonoGame/pull/6776) - Marked Color.TransparentBlack obsolete. [#6817](https://github.com/MonoGame/MonoGame/pull/6817) - [SDL] Performance and garbage optimizations to Joystick. [#6829](https://github.com/MonoGame/MonoGame/pull/6829) [#6834](https://github.com/MonoGame/MonoGame/pull/6834) - Track GamePad packet number and general optimizations. [#6760](https://github.com/MonoGame/MonoGame/pull/6760) - [DirectX] Basic performance enhancements to Texture2D. [#6726](https://github.com/MonoGame/MonoGame/pull/6726) - Inline Vector2 operator / and Point.ToVector2(). [#6700](https://github.com/MonoGame/MonoGame/pull/6700) - Make OggStreamer thread a background thread. [#6848](https://github.com/MonoGame/MonoGame/pull/6848) - Made it so Texture2D in any format could be saved as Png/Jpeg when using MonoGame.DesktopGL backend. [#6855](https://github.com/MonoGame/MonoGame/pull/6855) - Upgrade SDK projects to .NET 4.5.2. [#6902](https://github.com/MonoGame/MonoGame/pull/6902) [#6903](https://github.com/MonoGame/MonoGame/pull/6903) [#7050](https://github.com/MonoGame/MonoGame/pull/7050) - Reduced garbage in Direct X-specific SetRenderTargets methods. [#7034](https://github.com/MonoGame/MonoGame/pull/7034) - MouseState Improvements. [#6973](https://github.com/MonoGame/MonoGame/pull/6973) - KeyboardState Improvements. [#6972](https://github.com/MonoGame/MonoGame/pull/6972) - [SDL] Updated controller DB. [#7124](https://github.com/MonoGame/MonoGame/pull/7124) - We now pool ContentManager scratch buffers. [#5921](https://github.com/MonoGame/MonoGame/pull/5921) - [OpenAL] Clean up sound disposal. [#7097](https://github.com/MonoGame/MonoGame/pull/7097) - [macOS] Replaced System.Drawing with StbImageSharp to enable tests. [#7071](https://github.com/MonoGame/MonoGame/pull/7071) - [Docs] Moved to DocFX v2 for documentation. [#7127](https://github.com/MonoGame/MonoGame/pull/7127) - [SDL] Bump dependencies to SDL 2.0.12. [#7133](https://github.com/MonoGame/MonoGame/pull/7133) - [Docs] Update for 3.8. [#7117](https://github.com/MonoGame/MonoGame/pull/7117) [#7240](https://github.com/MonoGame/MonoGame/pull/7240) - [MGCB Editor] Changed position for context menu item Rebuild. [#7176](https://github.com/MonoGame/MonoGame/pull/7176) - [MGCB] Replace symbols for assembly references. [#7272](https://github.com/MonoGame/MonoGame/pull/7272) ### Fixed - Support arrays > 255 elements in shaders. [#5995](https://github.com/MonoGame/MonoGame/pull/5995) - [DesktopGL] Fix setting mouse cursor from Texture2D. [#6187](https://github.com/MonoGame/MonoGame/pull/6187) - Remove trailing NUL chars in registry font name. [#6577](https://github.com/MonoGame/MonoGame/pull/6577) - [OpenAL] Fix loading OpenAL-Soft in DesktopGL when # is in path. [#6581](https://github.com/MonoGame/MonoGame/pull/6581) - [WindowsDX] Avoid freezing while moving/resizing window. [#6594](https://github.com/MonoGame/MonoGame/pull/6594) - [iOS] Fixed background music stopping on game startup. [#6596](https://github.com/MonoGame/MonoGame/pull/6596) - Fixed GameUpdateRequiredException namespace. [#6597](https://github.com/MonoGame/MonoGame/pull/6597) - [MGCB] Fixed build not cleaning empty projects. [#6615](https://github.com/MonoGame/MonoGame/pull/6615) - Reduce garbage from TextInput. [#6664](https://github.com/MonoGame/MonoGame/pull/6664) - Fix for loading native libraries on Amazon Fire HD 8. [#6677](https://github.com/MonoGame/MonoGame/pull/6677) - Fixes reflection support on SpriteBatch ctor. [#6709](https://github.com/MonoGame/MonoGame/pull/6709) - [Android] Fixed crashes on launch and resume. [#6741](https://github.com/MonoGame/MonoGame/pull/6741) - [Android] Fixed restoration of an activity after Game.Exit. [#6739](https://github.com/MonoGame/MonoGame/pull/6739) - [SDL] Fix rumble infinity threshold. [#6744](https://github.com/MonoGame/MonoGame/pull/6744) - [SDL] Fixed OnTextInput. [#6749](https://github.com/MonoGame/MonoGame/pull/6749) - Move touches are now aged too. (fixes #6753). [#6756](https://github.com/MonoGame/MonoGame/pull/6756) - [Android] Fixed Texture2D.GetData corrupting the Texture2D object. [#6729](https://github.com/MonoGame/MonoGame/pull/6729) - [MGCB Editor] Fix assembly load API used for custom user references. [#6770](https://github.com/MonoGame/MonoGame/pull/6770) - Fix nuget metadata URL properties. [#6774](https://github.com/MonoGame/MonoGame/pull/6774) - Fix IRenderTarget comments. [#6785](https://github.com/MonoGame/MonoGame/pull/6785) - Catch ArgumentException when trying to get encoding upon PipelineController.DoBuild. [#6826](https://github.com/MonoGame/MonoGame/pull/6826) - [OpenAL] Free source when sound instance is disposed. [#6813](https://github.com/MonoGame/MonoGame/pull/6813) - Use Resume when Play is called on Paused sound effect instance. [#6815](https://github.com/MonoGame/MonoGame/pull/6815) - Fixed BoundingSphere.Intersects(BoundingBox). [#6666](https://github.com/MonoGame/MonoGame/pull/6666) - Override Dispose in DrawableGameComponent to unload content. [#6858](https://github.com/MonoGame/MonoGame/pull/6858) - Fixed SwapChain is null in GraphicsDevice.PlatformDispose. [#6869](https://github.com/MonoGame/MonoGame/pull/6869) - Swap red and blue when setting mouse cursor texture. [#6859](https://github.com/MonoGame/MonoGame/pull/6859) - [DesktopGL] Fix IsActive not getting set to false. [#6895](https://github.com/MonoGame/MonoGame/pull/6895) - Fix FileHelpers Uri getting confused by double slashes. [#6924](https://github.com/MonoGame/MonoGame/pull/6924) - [UWP] Vibrate controller handles instead of triggers. [#6933](https://github.com/MonoGame/MonoGame/pull/6933) - Fix for CoreRT support. [#6948](https://github.com/MonoGame/MonoGame/pull/6948) - Fix a crash on macOS and CoreRT related to mishandling unmanaged function pointers. [#6949](https://github.com/MonoGame/MonoGame/pull/6949) - [MGCB] Rethrow InvalidContentException for Importers instead of wrapping it in a new PipelineException. [#6954](https://github.com/MonoGame/MonoGame/pull/6954) - Throw InvalidContentException with error line number/position in ContentIdentity. [#6953](https://github.com/MonoGame/MonoGame/pull/6953) - Fall back to less precise frame pacing on non-Windows platforms. [#6941](https://github.com/MonoGame/MonoGame/pull/6941) - [UWP] Fixes content loading to work with packaged files (and not just resources). [#6964](https://github.com/MonoGame/MonoGame/pull/6964) - [UWP] Fixes window resizing upon GraphicsDeviceManager.ApplyChanges(). [#6964](https://github.com/MonoGame/MonoGame/pull/6964) - [Android] fix GamePad.Back emulation. [#6951](https://github.com/MonoGame/MonoGame/pull/6951) - [Android] Fixes android APIs fallback. [#6952](https://github.com/MonoGame/MonoGame/pull/6952) - Fixed sample count in SoundEffect. [#6996](https://github.com/MonoGame/MonoGame/pull/6996) - [SDL] Fixed memory leak in controller mapping by freeing the returned string. [#7021](https://github.com/MonoGame/MonoGame/pull/7021) - [macOS] Look for native libraries in Frameworks folder for .app bundles. [#7022](https://github.com/MonoGame/MonoGame/pull/7022) - [OpenGL] Fixed PlatformClear and PlatformPresent to be private in GraphicsDevice. [#7026](https://github.com/MonoGame/MonoGame/pull/7026) - [DesktopGL] Fixed GraphicsAdapter.Description to return renderer. [#6959](https://github.com/MonoGame/MonoGame/pull/6959) - [OpenGL] Query correct value for the bounds to GL.ActiveTexture. [#6970](https://github.com/MonoGame/MonoGame/pull/6970) - Fix Content.mgcb not being visible in VS 2019. [#7064](https://github.com/MonoGame/MonoGame/pull/7064) - [iOS] Fix initialization crash on GLES 2.0 devices. [#7047](https://github.com/MonoGame/MonoGame/pull/7047) - [iOS] Fix GL error and race condition. [#7073](https://github.com/MonoGame/MonoGame/pull/7073) - [MGCB Editor] Mac fixes. [#7077](https://github.com/MonoGame/MonoGame/pull/7077) - [OpenAL] Fixing audio duplicating sourceids. [#7095](https://github.com/MonoGame/MonoGame/pull/7095) - [MGCB] Fix FindCommand not looking system locations on macOS/Linux. [#7100](https://github.com/MonoGame/MonoGame/pull/7100) - Fix FuncLoader not properly checking the current folder (fixes #7101). [#7102](https://github.com/MonoGame/MonoGame/pull/7102) - Fix .NET Standard template using wrong nuget. [#7099](https://github.com/MonoGame/MonoGame/pull/7099) - [DirectX] Fixed MSAA RenderTarget GetData and SetData. [#5838](https://github.com/MonoGame/MonoGame/pull/5838) - Fixed deconstruction of color for bytes and floats. [#7109](https://github.com/MonoGame/MonoGame/pull/7109) - [MGCB] Fix failing to find ffmpeg because it tries relative path. [#7138](https://github.com/MonoGame/MonoGame/pull/7138) - [MGFXC] Various fixes. [#7148](https://github.com/MonoGame/MonoGame/pull/7148) - Fixed a bug where The "New Item" dialogue would have no templates listed. [#7141](https://github.com/MonoGame/MonoGame/pull/7141) - [MGCB Editor] Darken text in output. [#7163](https://github.com/MonoGame/MonoGame/pull/7163) - [MGCB] Fix trying to chmod root files. [#7183](https://github.com/MonoGame/MonoGame/pull/7183) - [MGCB Editor] Fixed to not require root privileges for installing. [#7185](https://github.com/MonoGame/MonoGame/pull/7185) - [SDL] Better debugging for macOS. [#7187](https://github.com/MonoGame/MonoGame/pull/7187) - Fixed content failing to load on NetCore. [#7199](https://github.com/MonoGame/MonoGame/pull/7199) - [MGCB Editor] Fix parsing filename from arguments on macOS. [#7215](https://github.com/MonoGame/MonoGame/pull/7215) - [Linux] Flatpak packaging upgrades. [#7224](https://github.com/MonoGame/MonoGame/pull/7224) - Fix path in RebuildMGFX.bat. [#7239](https://github.com/MonoGame/MonoGame/pull/7239) - [DirectX] Fix issues with RenderTexture2D and SwapChainRenderTarget. [#7225](https://github.com/MonoGame/MonoGame/pull/7225) - [macOS] VSMac addin fixes. [#7253](https://github.com/MonoGame/MonoGame/pull/7253) - [MGCB Editor] PropertyGrid fixes. [#7256](https://github.com/MonoGame/MonoGame/pull/7256) - [MGCB Editor] General fixes. [#7262](https://github.com/MonoGame/MonoGame/pull/7262) - Fix a race condition when playing sound in worker threads. [#7219](https://github.com/MonoGame/MonoGame/pull/7219) - [Android] Fixed surface recreation when resuming from sleep mode on FireTV. [#7211](https://github.com/MonoGame/MonoGame/pull/7211) - Fix loading of content with special characters in a file name. [#7267](https://github.com/MonoGame/MonoGame/pull/7267) ## 3.7.1 Release - December 8, 2018 - MGCB now generates content building statistics. [#6401](https://github.com/MonoGame/MonoGame/pull/6401) - Fixes to dependency loading in Pipeline Tool. [#6450](https://github.com/MonoGame/MonoGame/pull/6450) - Fixed crash when canceling choose folder dialog in Pipeline Tool. [#6449](https://github.com/MonoGame/MonoGame/pull/6449) - Fix add item dialog jumping around in Pipeline Tool. [#6451](https://github.com/MonoGame/MonoGame/pull/6451) - Fix OpenAL library loading on some Android phones. [#6454](https://github.com/MonoGame/MonoGame/pull/6454) - Fix Gamepad index tracking under UWP. [#6456](https://github.com/MonoGame/MonoGame/pull/6456) - Rename "Copy Asset Path" to "Copy Asset Name" for consistency with XNA in Pipeline Tool. [#6457](https://github.com/MonoGame/MonoGame/pull/6457) - Fix TextInput Keys argument for UWP. [#6455](https://github.com/MonoGame/MonoGame/pull/6455) - Add new GamePad.GetState() overloads to support different dead zone modes. [#6467](https://github.com/MonoGame/MonoGame/pull/6467) - Fixed incorrect offset DynamicSoundEffectInstance.SubmitBuffer under XAudio. [#6523](https://github.com/MonoGame/MonoGame/pull/6523) - Improved accuracy of fixed time step. [#6535](https://github.com/MonoGame/MonoGame/pull/6535) - Ensure intermediate output path exists before writing stats in Pipeline Tool. [#6503](https://github.com/MonoGame/MonoGame/pull/6503) - Fix for special window close case under SDL. [#6489](https://github.com/MonoGame/MonoGame/pull/6489) - Marshal microphone identifiers as UTF-8. [#6530](https://github.com/MonoGame/MonoGame/pull/6530) - Clear the current selections when excluding items in the Pipeline Tool. [#6549](https://github.com/MonoGame/MonoGame/pull/6549) - Enable standard derivatives extension for GLSL shaders. [#6501](https://github.com/MonoGame/MonoGame/pull/6501) - Fixed framebuffer object EXT loading under OpenGL. [#6562](https://github.com/MonoGame/MonoGame/pull/6562) - Fixed GL.RenderbufferStorage for devices that use the EXT entry points. [#6563](https://github.com/MonoGame/MonoGame/pull/6563) - Fix VS template installation when C# folder is missing. [#6544](https://github.com/MonoGame/MonoGame/pull/6544) - Fix for SDL loading when a '#' is in the directory path. [#6573](https://github.com/MonoGame/MonoGame/pull/6573) - Restored Buttons[] constructor in GamePadState fixing XNA compatibility. [#6572](https://github.com/MonoGame/MonoGame/pull/6572) ## 3.7 Release - September 23, 2018 - Remove Scale and Rotation properties from Matrix. [#5584](https://github.com/MonoGame/MonoGame/pull/5584) - Added Switch as a platform. [#5596](https://github.com/MonoGame/MonoGame/pull/5596) - DirectX: Fixed multisample clamping logic. [#5477](https://github.com/MonoGame/MonoGame/pull/5477) - SDL Gamepad DB update. [#5605](https://github.com/MonoGame/MonoGame/pull/5605) - Add Missing method OpaqueDataDictionary.GetValue. [#5637](https://github.com/MonoGame/MonoGame/pull/5637) - Increase code coverage in Model* family. [#5632](https://github.com/MonoGame/MonoGame/pull/5632) - Fix scroll wheel events on Windows Universal. [#5631](https://github.com/MonoGame/MonoGame/pull/5631) - Implement GetHashCode on Vertex types. [#5654](https://github.com/MonoGame/MonoGame/pull/5654) - Implement GetHashCode and ToString methods for Joystick. [#5670](https://github.com/MonoGame/MonoGame/pull/5670) - Fixed Gamepad DPad on Android. [#5673](https://github.com/MonoGame/MonoGame/pull/5673) - Pipeline process not terminating on exit fix. [#5672](https://github.com/MonoGame/MonoGame/pull/5672) - Added Joystick.IsSupported property. [#5678](https://github.com/MonoGame/MonoGame/pull/5678) - Use GraphicsCapabilities.MaxTextureAnisotropy on SamplerState. [#5676](https://github.com/MonoGame/MonoGame/pull/5676) - Make SpriteBatch.End throw when Begin not called. [#5689](https://github.com/MonoGame/MonoGame/pull/5689) - Add Open Output Directory option to Pipeline Tool. [#5690](https://github.com/MonoGame/MonoGame/pull/5690) - Rename Exit to Quit on Pipeline Tool Linux Headerbar. [#5687](https://github.com/MonoGame/MonoGame/pull/5687) - Added minimum size to the Pipeline Tool window. [#5692](https://github.com/MonoGame/MonoGame/pull/5692) - Added Id and DisplayName properties to Gamepad. [#5625](https://github.com/MonoGame/MonoGame/pull/5625) - Improved GameController database loading for DesktopGL. [#5606](https://github.com/MonoGame/MonoGame/pull/5606) - RPC curves are now updated before Cue is played. [#5709](https://github.com/MonoGame/MonoGame/pull/5709) - Fixes to Texture2D.FromStream on Windows DirectX. [#5712](https://github.com/MonoGame/MonoGame/pull/5712) - Support DistanceScale and DopplerFactor under OpenAL. [#5718](https://github.com/MonoGame/MonoGame/pull/5718) - Implemented Microphone for OpenAL platforms. [#5651](https://github.com/MonoGame/MonoGame/pull/5651) - Implemented caching of staging resources used to copy data from a Texture2D under DirectX. [#5704](https://github.com/MonoGame/MonoGame/pull/5704) - Reusable function for raising events. [#5713](https://github.com/MonoGame/MonoGame/pull/5713) - Remove reference to SharpDX from project templates. [#5611](https://github.com/MonoGame/MonoGame/pull/5611) - Improvements to VideoPlayer for Desktop DirectX. [#5737](https://github.com/MonoGame/MonoGame/pull/5737) - Use SharpDX NuGet packages from our NuGet packages. [#5748](https://github.com/MonoGame/MonoGame/pull/5748) - Fixed leaks that affected shutting down and recreating GraphicsDevice under DirectX. [#5728](https://github.com/MonoGame/MonoGame/pull/5728) - Texture2D mipmap generation and population fixes. [#5614](https://github.com/MonoGame/MonoGame/pull/5614) - Remove SharpDX.RawInput.dll reference from DirectX graphics backend. [#5723](https://github.com/MonoGame/MonoGame/pull/5723) - New fast Texture2D.FromStream implementation for DesktopGL ported from STB. [#5630](https://github.com/MonoGame/MonoGame/pull/5630) - Added support DrawInstancedPrimitives on OpenGL platforms. [#4920](https://github.com/MonoGame/MonoGame/pull/4920) - Fixed mouse touch event to release when mouse moves outside the client area or we loses focus. [#5641](https://github.com/MonoGame/MonoGame/pull/5641) - Added GraphicsAdapter.UseDebugLayers to enable GPU debug features in release builds. [#5791](https://github.com/MonoGame/MonoGame/pull/5791) - Fixed DirectX back buffer update when multisampling changes. [#5617](https://github.com/MonoGame/MonoGame/pull/5617) - Adds Xbox One S controller support to Linux. [#5797](https://github.com/MonoGame/MonoGame/pull/5797) - Do not allow the Pipeline tool to delete files outside the content folder. [#5820](https://github.com/MonoGame/MonoGame/pull/5820) - OpenGL Mouse.SetCursor now works with alpha correctly. [#5829](https://github.com/MonoGame/MonoGame/pull/5829) - Implement Mouse.SetCursor() for Windows. [#5831](https://github.com/MonoGame/MonoGame/pull/5831) - Fix pre-emptive song finish in OggStreamer. [#5821](https://github.com/MonoGame/MonoGame/pull/5821) - UWP Templates use target version selected in wizard. [#5819](https://github.com/MonoGame/MonoGame/pull/5819) - Implement Mouse.WindowHandle under Windows DirectX. [#5816](https://github.com/MonoGame/MonoGame/pull/5816) - Improve shader error/warning parsing in Pipeline Tool. [#5849](https://github.com/MonoGame/MonoGame/pull/5849) - Fix crash on multi-editing bool values in Pipeline Tool. [#5859](https://github.com/MonoGame/MonoGame/pull/5859) - Fixes to XACT sound effect pooling. [#5832](https://github.com/MonoGame/MonoGame/pull/5832) - Improved disposal of OpenGL resources. [#5850](https://github.com/MonoGame/MonoGame/pull/5850) - Better support for WAV audio formats in content pipeline and FromStream. [#5750](https://github.com/MonoGame/MonoGame/pull/5750) - Fix for build hang with no mgcb file in project. [#5886](https://github.com/MonoGame/MonoGame/pull/5886) - Removed deprecated Rider settings from Linux installer. [#5881](https://github.com/MonoGame/MonoGame/pull/5881) - Improved performance of SpriteFont.MeasureString() & SpriteBatch.DrawString(). [#5874](https://github.com/MonoGame/MonoGame/pull/5874) - Sort content when saving MGCB files. [#5930](https://github.com/MonoGame/MonoGame/pull/5930) - Fix a crash when building content in xbuild. [#5897](https://github.com/MonoGame/MonoGame/pull/5897) - Fixed back button problems in UWP. [#5810](https://github.com/MonoGame/MonoGame/pull/5810) - Removed Windows 8.1 and Windows Phone 8.1 support. [#5809](https://github.com/MonoGame/MonoGame/pull/5809) - Upgrade to SharpDX 4.0.1. [#5949](https://github.com/MonoGame/MonoGame/pull/5949) - Update the UWP Template to use the Latest SDK. [#5931](https://github.com/MonoGame/MonoGame/pull/5931) - Fixed the Scissor rect calculation on DesktopGL and OpenGL platforms. [#5977](https://github.com/MonoGame/MonoGame/pull/5977) - Calculate the Client Bounds a bit later. [#5975](https://github.com/MonoGame/MonoGame/pull/5975) - Rework Android OpenGL Framebuffer Support. [#5993](https://github.com/MonoGame/MonoGame/pull/5993) - Implemented GraphicsDevice.GetBackBufferData. [#5114](https://github.com/MonoGame/MonoGame/pull/5114) - Optimizations to Length and Normalize in Vector3 and Vector4. [#6004](https://github.com/MonoGame/MonoGame/pull/6004) - Added MGCB man page for Linux. [#5987](https://github.com/MonoGame/MonoGame/pull/5987) - Included mgcb autocomplete for bash. [#5985](https://github.com/MonoGame/MonoGame/pull/5985) - Fixed GamePad.SetVibration crash. [#5965](https://github.com/MonoGame/MonoGame/pull/5965) - Fallback SurfaceFormat for RenderTargets. [#6170](https://github.com/MonoGame/MonoGame/pull/6170) - Added O(1) EffectParameter lookups by name. [#6146](https://github.com/MonoGame/MonoGame/pull/6146) - Reduce MouseState garbage in Desktop DirectX. [#6168](https://github.com/MonoGame/MonoGame/pull/6168) - Made SpriteFont constructor public. [#6126](https://github.com/MonoGame/MonoGame/pull/6126) - New Template System using Nuget. [#6135](https://github.com/MonoGame/MonoGame/pull/6135) - Use StbSharp for all Texture2D.FromStream. [#6008](https://github.com/MonoGame/MonoGame/pull/6008) - Dynamic reference loading in Pipeline Tool. [#6202](https://github.com/MonoGame/MonoGame/pull/6202) - Fix Pipeline tool to work regardless of Mono changes. [#6197](https://github.com/MonoGame/MonoGame/pull/6197) - Update Template Icons and Fix Mac Info.plist. [#6209](https://github.com/MonoGame/MonoGame/pull/6209) - Fix typo in VS2013 Shared Project Template. [#6216](https://github.com/MonoGame/MonoGame/pull/6216) - Fill up dotnet template info. [#6226](https://github.com/MonoGame/MonoGame/pull/6226) - Support Mac Unit Tests. [#5952](https://github.com/MonoGame/MonoGame/pull/5952) - Updated Assimp to latest version. [#6222](https://github.com/MonoGame/MonoGame/pull/6222) - Make sure that the window titlebar is within screen bounds on DesktopGL. [#6258](https://github.com/MonoGame/MonoGame/pull/6258) - Fixed trigger/dpad button state and reduced garbage in iOS Gamepad. [#6271](https://github.com/MonoGame/MonoGame/pull/6271) - Updated Windows Universal Min SDK Versions. [#6257](https://github.com/MonoGame/MonoGame/pull/6257) - Fix property content serialization detection when using a property named `Item`. [#5996](https://github.com/MonoGame/MonoGame/pull/5996) - Fix launcher default mimetype in Linux installer. [#6275](https://github.com/MonoGame/MonoGame/pull/6275) - Restore NVTT. [#6239](https://github.com/MonoGame/MonoGame/pull/6239) - Support unicode in window title under DesktopGL. [#6335](https://github.com/MonoGame/MonoGame/pull/6335) - Add crash report window to Pipeline Tool. [#6272](https://github.com/MonoGame/MonoGame/pull/6272) - Fix linking for copy action in Pipeline Tool. [#6398](https://github.com/MonoGame/MonoGame/pull/6398) - Implemented KeyboardInput and MessageBox for Windows DX. [#6410](https://github.com/MonoGame/MonoGame/pull/6410) - Fixed audio interruption bug on iOS. [#6433](https://github.com/MonoGame/MonoGame/pull/6433) ## 3.6 Release - February 28, 2017 - Fixed XML deserialization of Curve type. [#5494](https://github.com/MonoGame/MonoGame/pull/5494) - Fix #5498 Pipeline Tool template loading on MacOS. [#5501](https://github.com/MonoGame/MonoGame/pull/5501) - Fix typo in the exclude.addins which cause warnings when installing the Addin in XS. [#5500](https://github.com/MonoGame/MonoGame/pull/5500) - Added support for arbitrary defines passed to the Effect compiler. [#5496](https://github.com/MonoGame/MonoGame/pull/5496) - Fixed GraphicsDevice.Present() to check for current render target. [#5389](https://github.com/MonoGame/MonoGame/pull/5389) - Custom texture compression for SpriteFonts. [#5299](https://github.com/MonoGame/MonoGame/pull/5299) - Performance improvements to SpriteBatch.DrawString(). [#5226](https://github.com/MonoGame/MonoGame/pull/5226) - Removed the OUYA platform [#5194](https://github.com/MonoGame/MonoGame/pull/5194) - Dispose of all graphical resources in unit tests. [#5133](https://github.com/MonoGame/MonoGame/pull/5133) - Throw NoSuitableGraphicsDeviceException if graphics device creation fails. [#5130](https://github.com/MonoGame/MonoGame/pull/5130) - Optimized and added additional constructors to Color. [#5117](https://github.com/MonoGame/MonoGame/pull/5117) - Added SamplerState.TextureFilterMode to correctly support comparison filtering. [#5112](https://github.com/MonoGame/MonoGame/pull/5112) - Fixed Apply3D() on stereo SoundEffect. [#5099](https://github.com/MonoGame/MonoGame/pull/5099) - Fixed Effect.OnApply to return void to match XNA. [#5090](https://github.com/MonoGame/MonoGame/pull/5090) - Fix crash when DynamicSoundEffectInstance not disposed. [#5075](https://github.com/MonoGame/MonoGame/pull/5075) - Texture2D.FromStream now correctly throws on null arguments. [#5050](https://github.com/MonoGame/MonoGame/pull/5050) - Implemented GraphicsAdapter for DirectX platforms. [#5024](https://github.com/MonoGame/MonoGame/pull/5024) - Fixed initialization of GameComponent when created within another GameComponent. [#5020](https://github.com/MonoGame/MonoGame/pull/5020) - Improved SoundEffect internal platform extendability. [#5006](https://github.com/MonoGame/MonoGame/pull/5006) - Refactored audio processing for platform extensibility. [#5001](https://github.com/MonoGame/MonoGame/pull/5001) - Refactored texture processing for platform extensibility. [#4996](https://github.com/MonoGame/MonoGame/pull/4996) - Refactor ShaderProfile to allow for pipeline extensibility. [#4992](https://github.com/MonoGame/MonoGame/pull/4992) - Removed unnessasary dictionary lookup for user index buffers for DirectX platforms. [#4988](https://github.com/MonoGame/MonoGame/pull/4988) - New SetRenderTargets() method which allows for variable target count. [#4987](https://github.com/MonoGame/MonoGame/pull/4987) - Added support for XACT reverb and filter effects. [#4974](https://github.com/MonoGame/MonoGame/pull/4974) - Remove array in GamePadDPad constructor. [#4970](https://github.com/MonoGame/MonoGame/pull/4970) - Updated to the latest version of Protobuild. [#4964](https://github.com/MonoGame/MonoGame/pull/4964) - Fixed static VBs and IBs on UWP on XB1. [#4955](https://github.com/MonoGame/MonoGame/pull/4955) - Updated to the latest version of Protobuild. [#4950](https://github.com/MonoGame/MonoGame/pull/4950) - Update Xamarin Studio addin for latest platform changes. [#4926](https://github.com/MonoGame/MonoGame/pull/4926) - Replace OpenTK with custom OpenGL bindings [#4874](https://github.com/MonoGame/MonoGame/pull/4874) - Fix Mouse updating when moving the Window. [#4924](https://github.com/MonoGame/MonoGame/pull/4924) - Fix incorrect use of startIndex in Texture2D.GetData DX. [#4833](https://github.com/MonoGame/MonoGame/pull/4833) - Cleanup of AssemblyInfo for framework assembly. [#4810](https://github.com/MonoGame/MonoGame/pull/4810) - New SDL2 backend for desktop GL platforms. [#4428](https://github.com/MonoGame/MonoGame/pull/4428) - Two MaterialProcessor properties fixed. [#4746](https://github.com/MonoGame/MonoGame/pull/4746) - Fixed thumbstick virtual buttons to always use independent axes. [#4742](https://github.com/MonoGame/MonoGame/pull/4742) - Fixed back buffer MSAA on DirectX platforms. [#4739](https://github.com/MonoGame/MonoGame/pull/4739) - Added new CHANGELOG.md to project. [#4732](https://github.com/MonoGame/MonoGame/pull/4732) - Added obsolete attribute and updated documentation. [#4731](https://github.com/MonoGame/MonoGame/pull/4731) - Fixed layout of UWP windows in VS template to ignore window chrome. [#4727](https://github.com/MonoGame/MonoGame/pull/4727) - Remove support for reading raw assets through ContentManager. [#4726](https://github.com/MonoGame/MonoGame/pull/4726) - Implemented DynamicSoundEffectInstance for DirectX and OpenAL platforms. [#4715](https://github.com/MonoGame/MonoGame/pull/4715) - Removed unused Yeti Mp3 compressor. [#4713](https://github.com/MonoGame/MonoGame/pull/4713) - MonoGame Portable Assemblies. [#4712](https://github.com/MonoGame/MonoGame/pull/4712) - Fixed RGBA64 packing and added unit tests. [#4683](https://github.com/MonoGame/MonoGame/pull/4683) - Fix Gamepad crash when platform doesn't support the amount. [#4677](https://github.com/MonoGame/MonoGame/pull/4677) - Fixed Song stopping before they are finished on Windows. [#4668](https://github.com/MonoGame/MonoGame/pull/4668) - Removed the Linux .deb installer. [#4665](https://github.com/MonoGame/MonoGame/pull/4665) - OpenAssetImporter is now automatically selected for all the formats it supports. [#4663](https://github.com/MonoGame/MonoGame/pull/4663) - Fixed broken unit tests under Linux. [#4614](https://github.com/MonoGame/MonoGame/pull/4614) - Split out Title Container into partial classes. [#4590](https://github.com/MonoGame/MonoGame/pull/4590) - Added Rider Support to Linux installer. [#4589](https://github.com/MonoGame/MonoGame/pull/4589) - Implement vertexStride in VertexBuffer.SetData for OpenGL. [#4568](https://github.com/MonoGame/MonoGame/pull/4568) - Performance improvement to SpriteBatch vertex generation. [#4547](https://github.com/MonoGame/MonoGame/pull/4547) - Optimization of indices initialization in SpriteBatcher. [#4546](https://github.com/MonoGame/MonoGame/pull/4546) - Optimized ContentReader to decode LZ4 compressed streams directly. [#4522](https://github.com/MonoGame/MonoGame/pull/4522) - TitleContainer partial class cleanup. [#4520](https://github.com/MonoGame/MonoGame/pull/4520) - Remove raw asset support from ContentManager. [#4489](https://github.com/MonoGame/MonoGame/pull/4489) - Initial implementation of RenderTargetCube for OpenGL. [#4488](https://github.com/MonoGame/MonoGame/pull/4488) - Removed unnecessary platform differences in MGFX. [#4486](https://github.com/MonoGame/MonoGame/pull/4486) - SoundEffect fixes and tests. [#4469](https://github.com/MonoGame/MonoGame/pull/4469) - Cleanup FX syntax for shader compiler. [#4462](https://github.com/MonoGame/MonoGame/pull/4462) - General Improvements to Pipeline Gtk implementation. [#4459](https://github.com/MonoGame/MonoGame/pull/4459) - ShaderProfile Refactor. [#4438](https://github.com/MonoGame/MonoGame/pull/4438) - GraphicsDeviceManager partial class refactor. [#4425](https://github.com/MonoGame/MonoGame/pull/4425) - Remove legacy Storage classes. [#4320](https://github.com/MonoGame/MonoGame/pull/4320) - Added mipmap generation for DirectX render targets. [#4189](https://github.com/MonoGame/MonoGame/pull/4189) ## 3.5.1 Release - March 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 - March 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 - April 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 - March 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 - April 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 - March 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 - January 1, 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 - June 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 - March 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(). - 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 - October 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 - October 28, 2011 - Project renamed MonoGame. - Project moved to GitHub. - Support for Linux, Mac, Linux, and OpenGL on Windows. ## 0.7 Release - December 2, 2009 - First stable release. - Originally named XnaTouch. - iPhone support only. - 2D rendering support. - Audio support. - Networking support. - Partial multitouch support. - Partial accelerometer support.