diff --git a/TShockAPI/Configuration/TShockConfig.cs b/TShockAPI/Configuration/TShockConfig.cs
index 79c374b25..c91466fec 100644
--- a/TShockAPI/Configuration/TShockConfig.cs
+++ b/TShockAPI/Configuration/TShockConfig.cs
@@ -320,8 +320,8 @@ public class TShockSettings
[Description("The reason given if banning a mediumcore player on death.")]
public string MediumcoreBanReason = GetString("Death results in a ban");
- /// Disbales IP bans by default, if no arguments are passed to the ban command.
- [Description("Disbales IP bans by default, if no arguments are passed to the ban command.")]
+ /// Disables IP bans by default, if no arguments are passed to the ban command.
+ [Description("Disables IP bans by default, if no arguments are passed to the ban command.")]
public bool DisableDefaultIPBan;
/// Enable or disable the whitelist based on IP addresses in the whitelist.txt file.
diff --git a/TShockAPI/Permissions.cs b/TShockAPI/Permissions.cs
index d7ec7166d..99ac5d7d2 100644
--- a/TShockAPI/Permissions.cs
+++ b/TShockAPI/Permissions.cs
@@ -529,18 +529,9 @@ public static void DumpDescriptions()
field.GetCustomAttributes(false).FirstOrDefault(o => o is DescriptionAttribute) as DescriptionAttribute;
var desc = descattr != null && !string.IsNullOrWhiteSpace(descattr.Description) ? descattr.Description : GetString("No description available.");
- var commands = GetCommands(name);
- foreach (var c in commands)
- {
- for (var i = 0; i < c.Names.Count; i++)
- {
- c.Names[i] = "/" + c.Names[i];
- }
- }
- var strs =
- commands.Select(
- c =>
- c.Name + (c.Names.Count > 1 ? " ({0})".SFormat(string.Join(" ", c.Names.ToArray(), 1, c.Names.Count - 1)) : ""));
+ var strs = GetCommands(name).Select(c => c.Names.Count > 1
+ ? $"/{c.Name} (/{string.Join(" /", c.Names.Skip(1))})"
+ : $"/{c.Name}");
sb.AppendLine($"## {name}");
sb.AppendLine($"{desc}");
diff --git a/TShockInstaller/TShockInstaller.csproj b/TShockInstaller/TShockInstaller.csproj
index 9b73d66a1..ac3bfff40 100644
--- a/TShockInstaller/TShockInstaller.csproj
+++ b/TShockInstaller/TShockInstaller.csproj
@@ -12,6 +12,6 @@
-
+
diff --git a/TShockPluginManager/TShockPluginManager.csproj b/TShockPluginManager/TShockPluginManager.csproj
index 33c503fde..1d53f320b 100644
--- a/TShockPluginManager/TShockPluginManager.csproj
+++ b/TShockPluginManager/TShockPluginManager.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/docs/changelog.md b/docs/changelog.md
index b5303c5f4..f477c3cc5 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -78,6 +78,11 @@ Use past tense when adding new entries; sign your name off when you add or chang
* If there is no section called "Upcoming changes" below this line, please add one with `## Upcoming changes` as the first line, and then a bulleted item directly after with the first change. -->
## Upcoming changes
+* Fixed `/dump-reference-data` mutate the command names. (#2943, @sgkoishi)
+* You know the drill
+* Fix typo in config for IP bans. (@redchess64)
+
+## TShock 5.2.1
* Updated `TSPlayer.GodMode`. (@AgaSpace)
* Previously the field was used as some kind of dataset changed by /godmode command, but now it is a property that receives/changes data in journey mode.
* Added the `TSPlayer.Client` property. It allows the developer to get the `RemoteClient` player, without an additional call to `Terraria.Netplay.Clients`. (@AgaSpace)