diff --git a/README.md b/README.md
index 78bc6ef6..23692a5d 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ SadConsole is a C#-based .NET cross-platform terminal, ascii, console, game engi
While SadConsole is a generic library that doesn't provide any rendering capabilities, "host" libraries are provided that add renderers to SadConsole. The two hosts provided by this library are for **SadConsole.Host.MonoGame** and **SadConsole.Host.SFML**. When adding a host library to your project, you don't need to reference the base **SadConsole** package. If you use MonoGame, you'll also need to add a rendering NuGet package, such as **MonoGame.Framework.DesktopGL**.
-_SadConsole currently targets .NET 6, .NET 7, and .NET 8_
+_SadConsole currently targets .NET 6, .NET 7, .NET 8, and .NET 9_
For the latest changes in this release, see the [notes below](#latest-changes)
@@ -119,11 +119,9 @@ End Module
## Latest changes
-v10.4.2 (10/23/2024)
-
-- [Core] Fixed small bug when cursor's effect was removed.
-- [Core] `StringParser`'s base command object has a virtual `Removed` method.
-- [Core] `StringParser`'s Recolor command can use 'w' in place of length to specify that it recolors 'word' length: until a space or \0 character is reached.
-- [Core] `StringParser`'s Blink command now has the blink effect `RestoreCellOnRemoved` set to true.
-- [Core] `NamedColor` supporting type which is just a collection of named color values for serialization.
-- [Core] Fix some spelling errors.
+- [All] Add .NET 9 target. This will be the last release for .NET 6 and .NET 7.
+- [Core] Some components that used their own renderers weren't disposing the ones they replaced.
+- [UI] Fix bug with mouse moving over composite controls such as the list box.
+- [Extended] Rework `DebugMouseTint` class and add `DebugFocusedTint` class. Both settable as configuration builder options now.
+- [MonoGame] Use `TitleContainer` for serialization. This was previously removed for some reason. Configurable through the `UseTitleContainer` configuration builder option.
+- [Debug Library] Release the first version of the `SadConsole.Debug.MonoGame` library. This also adds general **ImGui** support.
diff --git a/SadConsole/SadConsole.xml b/SadConsole/SadConsole.xml
index 403a2579..642c30ed 100644
--- a/SadConsole/SadConsole.xml
+++ b/SadConsole/SadConsole.xml
@@ -2759,23 +2759,6 @@
The string "Console".
-
-
- A debugging screen that takes the place of the active and displays information about SadConsole.
-
-
-
-
- Displays the debugger.
-
- The font to use the debugging screen.
- The size of the font.
-
-
-
- Shows the debug screen with the default font and size.
-
-
A draw call that invokes an delegate.
@@ -11056,16 +11039,6 @@
A message to provide to the result if the validation fails.
The validation result.
-
-
- Pattern:
- [a-zA-Z]
- Explanation:
-
- ○ Match a character in the set [A-Za-z].
-
-
-
A color that can be adjusted by brightness and mapped to a color.
@@ -15125,44 +15098,5 @@
The text to use for the colored string.
A new colored string object.
-
- Custom -derived type for the LettersOnly method.
-
-
- Cached, thread-safe singleton instance.
-
-
- Initializes the instance.
-
-
- Provides a factory for creating instances to be used by methods on .
-
-
- Creates an instance of a used by methods on .
-
-
- Provides the runner that contains the custom logic implementing the specified regular expression.
-
-
- Scan the starting from base.runtextstart for the next match.
- The text being scanned by the regular expression.
-
-
- Search starting from base.runtextpos for the next location a match could possibly start.
- The text being scanned by the regular expression.
- true if a possible match was found; false if no more matches are possible.
-
-
- Helper methods used by generated -derived implementations.
-
-
- Default timeout value set in , or if none was set.
-
-
- Whether is non-infinite.
-
-
- Supports searching for characters in or not in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".
-
diff --git a/nuget/build.ps1 b/nuget/build.ps1
index 76d1a124..1e9641e5 100644
--- a/nuget/build.ps1
+++ b/nuget/build.ps1
@@ -53,8 +53,41 @@ if ($foundPackage){
$projects = "SadConsole.Extended", "SadConsole.Host.MonoGame", "SadConsole.Host.SFML", "SadConsole.Host.FNA", "SadConsole.Debug.MonoGame"
foreach ($project in $projects) {
-
- # SadConsole Extended
+
+ # Special condition for debug package
+ if ($project -eq "SadConsole.Debug.MonoGame") {
+
+
+ $timeout = New-TimeSpan -Minutes 10
+ $timer = [Diagnostics.StopWatch]::StartNew()
+ [Boolean]$foundPackage = $false
+
+ Write-Output "Processing SadConsole.Debug.MonoGame project, waiting on MonoGame host package"
+
+ # Loop searching for the new MonoGame package
+ while ($timer.elapsed -lt $timeout){
+
+ $existingVersions = (Invoke-WebRequest "https://api-v2v3search-0.nuget.org/query?q=PackageId:SadConsole.Host.MonoGame&prerelease=true").Content | ConvertFrom-Json
+
+ if ($existingVersions.totalHits -eq 0) {
+ throw "Unable to get any results from NuGet"
+ }
+
+ if ($null -eq ($existingVersions.data.versions | Where-Object version -eq $version)) {
+ Write-Output "Waiting 30 seconds to retry..."
+ Start-Sleep -Seconds 30
+ }
+ else {
+ Write-Output "Found package. Waiting 1 extra minute to let things settle"
+ $foundPackage = $true
+ Start-Sleep -Seconds 60
+ break
+ }
+ }
+
+ }
+
+ # Build package
Write-Output "Building $project Debug and Release"
$output = Invoke-Expression "dotnet build ..\$project\$project.csproj -c Debug -p:UseProjectReferences=false --no-cache"; if ($LASTEXITCODE -ne 0) { Write-Error "Failed"; Write-Output $output; throw }
$output = Invoke-Expression "dotnet build ..\$project\$project.csproj -c Release -p:UseProjectReferences=false --no-cache"; if ($LASTEXITCODE -ne 0) { Write-Error "Failed"; Write-Output $output; throw }
@@ -72,3 +105,4 @@ if ($foundPackage){
# Archive the packages
Move-Item "*.nupkg","*.snupkg" .\archive\ -force
}
+
diff --git a/templates/SadConsole.Templates.csproj b/templates/SadConsole.Templates.csproj
index d8aa978b..0193bdfa 100644
--- a/templates/SadConsole.Templates.csproj
+++ b/templates/SadConsole.Templates.csproj
@@ -2,7 +2,7 @@
Template
- 10.4.5
+ 10.5.0
SadConsole.Templates
SadConsole Game Templates
Thraka
diff --git a/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json b/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json
index c30b5698..3f56feb0 100644
--- a/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json
+++ b/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json
@@ -20,7 +20,7 @@
{
"modifiers": [
{
- "copyOnly": [ "*.MonoGame.cs", "*.SFML.cs", "Program.cs" ]
+ "copyOnly": [ "*.MonoGame.cs", "*.SFML.cs", "*.FNA.cs", "Program.cs" ]
}
]
}
diff --git a/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj b/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj
index fdaa22c5..26aa5355 100644
--- a/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj
+++ b/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj
@@ -27,9 +27,9 @@
-
-
-
+
+
+
diff --git a/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj b/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj
index 1376f91e..02f20332 100644
--- a/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj
+++ b/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj b/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj
index 3c296bca..aa7a001b 100644
--- a/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj
+++ b/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj
@@ -16,8 +16,8 @@
-
-
+
+