This is the official MonoGame v3.8.3 release source code and Visual Studio 2022 extensions for installing templates.
TL;DR; 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's Actually Changed
- [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
- [Documentation] Minor docs fixes by @Maniekko in https://github.com/MonoGame/MonoGame/pull/8478
- 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.LoadWhenassetNameIs 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/Interactivereferences 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<Texture>() 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 <link> 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
New Contributors
- @Dehayat made their first contribution in https://github.com/MonoGame/MonoGame/pull/8452
- @benda made their first contribution in https://github.com/MonoGame/MonoGame/pull/8427
- @cdhanna made their first contribution in https://github.com/MonoGame/MonoGame/pull/8456
- @Togimaro made their first contribution in https://github.com/MonoGame/MonoGame/pull/8474
- @baudii made their first contribution in https://github.com/MonoGame/MonoGame/pull/8566
- @des54321 made their first contribution in https://github.com/MonoGame/MonoGame/pull/8577
- @emmanuel-ferdman made their first contribution in https://github.com/MonoGame/MonoGame/pull/8579
- @arosolino made their first contribution in https://github.com/MonoGame/MonoGame/pull/8557
- @MutsiMutsi made their first contribution in https://github.com/MonoGame/MonoGame/pull/8590
- @titanix made their first contribution in https://github.com/MonoGame/MonoGame/pull/8582
- @MonogameGuy made their first contribution in https://github.com/MonoGame/MonoGame/pull/8598
- @richlander made their first contribution in https://github.com/MonoGame/MonoGame/pull/8613
- @Poaetce made their first contribution in https://github.com/MonoGame/MonoGame/pull/8636
- @epoll31 made their first contribution in https://github.com/MonoGame/MonoGame/pull/8633
- @ben-marsh made their first contribution in https://github.com/MonoGame/MonoGame/pull/8684
- @notexplosive made their first contribution in https://github.com/MonoGame/MonoGame/pull/7515
Full Changelog: https://github.com/MonoGame/MonoGame/compare/v3.8.2...v3.8.3