diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index de3ca1e..458b625 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,6 @@ name: Visual Studio Project Templates env: - TEMPLATE_VERSION: 3.8.4 + TEMPLATE_VERSION: 3.8.5 on: push: @@ -18,13 +18,13 @@ jobs: steps: - name: Checkout current repo - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: path: main submodules: true - name: Setup .NET 8.0.x & 9.0.x - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: | 8.0.x @@ -35,7 +35,7 @@ jobs: run: dotnet pack main/CSharp/MonoGame.Templates.CSharp.csproj -p:Configuration=Release /p:Version=${{ ENV.TEMPLATE_VERSION }} - name: Upload Template Nugets - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: MonoGame.Templates.CSharp.${{ ENV.TEMPLATE_VERSION }} path: 'Artifacts/MonoGame.Templates.CSharp/**/*.nupkg' \ No newline at end of file diff --git a/CSharp/content/MonoGame.2D.StartKit.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.2D.StartKit.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.2D.StartKit.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.2D.StartKit.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Application.Android.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.Android.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.Application.Android.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Application.Android.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Application.DesktopGL.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.DesktopGL.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.Application.DesktopGL.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Application.DesktopGL.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.config/dotnet-tools.json new file mode 100644 index 0000000..ffcc32a --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.config/dotnet-tools.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-mgcb": { + "version": "3.8.5", + "commands": [ + "mgcb" + ] + }, + "dotnet-mgcb-editor": { + "version": "3.8.5", + "commands": [ + "mgcb-editor" + ] + }, + "dotnet-mgcb-editor-linux": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-linux" + ] + }, + "dotnet-mgcb-editor-windows": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-windows" + ] + }, + "dotnet-mgcb-editor-mac": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-mac" + ] + } + } +} \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.template.config/template.json b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.template.config/template.json new file mode 100644 index 0000000..132a7fe --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.template.config/template.json @@ -0,0 +1,34 @@ +{ + "author": "MonoGame Foundation", + "classifications": [ + "MonoGame", "Games", "Desktop", "Windows", "Linux", "macOS" + ], + "name": "MonoGame Cross-Platform Vulkan Desktop Application", + "groupIdentity": "MonoGame.Application.DesktopVK", + "identity": "MonoGame.Application.DesktopVK.CSharp", + "shortName": "mgdesktopvk", + "tags": { + "language": "C#", + "type": "project" + }, + "primaryOutputs": [ + { + "path": "MGNamespace.csproj" + } + ], + "sourceName": "MGNamespace", + "preferNameDirectory": "true", + "description": "A MonoGame game project for Windows, Linux and macOS using Vulkan.", + "postActions": [ + { + "description": "Restore NuGet packages required by this project.", + "manualInstructions": [ + { + "text": "Run 'dotnet restore'" + } + ], + "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", + "continueOnError": true + } + ] +} diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.vscode/launch.json b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.vscode/launch.json new file mode 100644 index 0000000..46709c7 --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "C#: MGNamespace Debug", + "type": "dotnet", + "request": "launch", + "projectPath": "${workspaceFolder}/MGNamespace.csproj" + } + ], + } \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Content/Content.mgcb b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Content/Content.mgcb new file mode 100644 index 0000000..ddc4c36 --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Content/Content.mgcb @@ -0,0 +1,15 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:DesktopGL +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Game1.cs b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Game1.cs new file mode 100644 index 0000000..be10195 --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Game1.cs @@ -0,0 +1,51 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace MGNamespace; + +public class Game1 : Game +{ + private GraphicsDeviceManager _graphics; + private SpriteBatch _spriteBatch; + + public Game1() + { + _graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + IsMouseVisible = true; + } + + protected override void Initialize() + { + // TODO: Add your initialization logic here + + base.Initialize(); + } + + protected override void LoadContent() + { + _spriteBatch = new SpriteBatch(GraphicsDevice); + + // TODO: use this.Content to load your game content here + } + + protected override void Update(GameTime gameTime) + { + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) + Exit(); + + // TODO: Add your update logic here + + base.Update(gameTime); + } + + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + // TODO: Add your drawing code here + + base.Draw(gameTime); + } +} diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.bmp b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.bmp new file mode 100644 index 0000000..2b48165 Binary files /dev/null and b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.bmp differ diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.ico b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.ico new file mode 100644 index 0000000..7d9dec1 Binary files /dev/null and b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Icon.ico differ diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/MGNamespace.csproj b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/MGNamespace.csproj new file mode 100644 index 0000000..b36eb1b --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/MGNamespace.csproj @@ -0,0 +1,32 @@ + + + WinExe + net9.0 + Major + false + false + + + app.manifest + Icon.ico + + + + + + + + Icon.ico + + + Icon.bmp + + + + + + + + + + \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Program.cs b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Program.cs new file mode 100644 index 0000000..364cad0 --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/Program.cs @@ -0,0 +1,2 @@ +using var game = new MGNamespace.Game1(); +game.Run(); diff --git a/CSharp/content/MonoGame.Application.DesktopVK.CSharp/app.manifest b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/app.manifest new file mode 100644 index 0000000..436f0c9 --- /dev/null +++ b/CSharp/content/MonoGame.Application.DesktopVK.CSharp/app.manifest @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + permonitorv2,permonitor + + + + diff --git a/CSharp/content/MonoGame.Application.WindowsDX.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.WindowsDX.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.Application.WindowsDX.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Application.WindowsDX.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.config/dotnet-tools.json new file mode 100644 index 0000000..ffcc32a --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.config/dotnet-tools.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-mgcb": { + "version": "3.8.5", + "commands": [ + "mgcb" + ] + }, + "dotnet-mgcb-editor": { + "version": "3.8.5", + "commands": [ + "mgcb-editor" + ] + }, + "dotnet-mgcb-editor-linux": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-linux" + ] + }, + "dotnet-mgcb-editor-windows": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-windows" + ] + }, + "dotnet-mgcb-editor-mac": { + "version": "3.8.5", + "commands": [ + "mgcb-editor-mac" + ] + } + } +} \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.template.config/template.json b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.template.config/template.json new file mode 100644 index 0000000..4bef84a --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.template.config/template.json @@ -0,0 +1,34 @@ +{ + "author": "MonoGame Foundation", + "classifications": [ + "MonoGame", "Games", "Desktop", "Windows" + ], + "name": "MonoGame Windows Desktop DX12 Application", + "groupIdentity": "MonoGame.Application.WindowsDX12", + "identity": "MonoGame.Application.WindowsDX12.CSharp", + "shortName": "mgwindowsdx12", + "tags": { + "language": "C#", + "type": "project" + }, + "primaryOutputs": [ + { + "path": "MGNamespace.csproj" + } + ], + "sourceName": "MGNamespace", + "preferNameDirectory": "true", + "description": "A MonoGame game project for Windows using DirectX 12.", + "postActions": [ + { + "description": "Restore NuGet packages required by this project.", + "manualInstructions": [ + { + "text": "Run 'dotnet restore'" + } + ], + "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", + "continueOnError": true + } + ] +} diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.vscode/launch.json b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.vscode/launch.json new file mode 100644 index 0000000..46709c7 --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "C#: MGNamespace Debug", + "type": "dotnet", + "request": "launch", + "projectPath": "${workspaceFolder}/MGNamespace.csproj" + } + ], + } \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Content/Content.mgcb b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Content/Content.mgcb new file mode 100644 index 0000000..3c42606 --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Content/Content.mgcb @@ -0,0 +1,15 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:Windows +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Game1.cs b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Game1.cs new file mode 100644 index 0000000..be10195 --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Game1.cs @@ -0,0 +1,51 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace MGNamespace; + +public class Game1 : Game +{ + private GraphicsDeviceManager _graphics; + private SpriteBatch _spriteBatch; + + public Game1() + { + _graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + IsMouseVisible = true; + } + + protected override void Initialize() + { + // TODO: Add your initialization logic here + + base.Initialize(); + } + + protected override void LoadContent() + { + _spriteBatch = new SpriteBatch(GraphicsDevice); + + // TODO: use this.Content to load your game content here + } + + protected override void Update(GameTime gameTime) + { + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) + Exit(); + + // TODO: Add your update logic here + + base.Update(gameTime); + } + + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + // TODO: Add your drawing code here + + base.Draw(gameTime); + } +} diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Icon.ico b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Icon.ico new file mode 100644 index 0000000..7d9dec1 Binary files /dev/null and b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Icon.ico differ diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/MGNamespace.csproj b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/MGNamespace.csproj new file mode 100644 index 0000000..4adc5bc --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/MGNamespace.csproj @@ -0,0 +1,19 @@ + + + WinExe + net9.0-windows + Major + false + false + true + + + app.manifest + Icon.ico + + + + + + + \ No newline at end of file diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Program.cs b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Program.cs new file mode 100644 index 0000000..364cad0 --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/Program.cs @@ -0,0 +1,2 @@ +using var game = new MGNamespace.Game1(); +game.Run(); diff --git a/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/app.manifest b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/app.manifest new file mode 100644 index 0000000..436f0c9 --- /dev/null +++ b/CSharp/content/MonoGame.Application.WindowsDX12.CSharp/app.manifest @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + permonitorv2,permonitor + + + + diff --git a/CSharp/content/MonoGame.Application.iOS.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Application.iOS.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.Application.iOS.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Application.iOS.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Blank.2D.StartKit.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Blank.2D.StartKit.CSharp/.config/dotnet-tools.json index fbedee1..ffcc32a 100644 --- a/CSharp/content/MonoGame.Blank.2D.StartKit.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Blank.2D.StartKit.CSharp/.config/dotnet-tools.json @@ -3,31 +3,31 @@ "isRoot": true, "tools": { "dotnet-mgcb": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb" ] }, "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ] diff --git a/CSharp/content/MonoGame.Library.CSharp/.config/dotnet-tools.json b/CSharp/content/MonoGame.Library.CSharp/.config/dotnet-tools.json index b345335..afd1eb6 100644 --- a/CSharp/content/MonoGame.Library.CSharp/.config/dotnet-tools.json +++ b/CSharp/content/MonoGame.Library.CSharp/.config/dotnet-tools.json @@ -3,25 +3,25 @@ "isRoot": true, "tools": { "dotnet-mgcb-editor": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor" ] }, "dotnet-mgcb-editor-linux": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-linux" ] }, "dotnet-mgcb-editor-windows": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-windows" ] }, "dotnet-mgcb-editor-mac": { - "version": "3.8.4", + "version": "3.8.5", "commands": [ "mgcb-editor-mac" ]