Components: Configuration: - Version: 5.1.0 Changes: - Descriptions: - Added `Session:DelayCleaningFailedDeployments`. If set, failed deployments will leave their directories intact. They will be automatically cleaned up the next time the instance is onlined (i.e. When TGS restarts). Author: Cyberboss PullRequest: 1770 - Version: 5.0.0 Changes: - Descriptions: - Microsoft SQL Server database connections no longer have `Encrypt=false` set by default. If your MSSQL server doesn't support encryption, you will need to unset this flag manually by adding `;Encrypt=false` to the end of your existing connection string. Author: Cyberboss PullRequest: 1614 - Descriptions: - Fixed `Session:LowPriorityDeploymentProcesses` not being respected when adding firewall rules. Author: Cyberboss PullRequest: 1742 - Version: 4.7.1 Changes: - Descriptions: - Added strict URL parsing the the `Elasticsearch:Host` option. Author: Cyberboss PullRequest: 1600 - Version: 4.7.0 Changes: - Descriptions: - Added `Swarm:PublicAddress` this address is simply included in the response to `/` on the main HTTP API. Clients can use this as a hint to talk to other servers in the swarm without additional user input. Author: Cyberboss PullRequest: 1584 - Version: 4.6.0 Changes: - Descriptions: - Added `Swarm:UpdateRequiredNodeCount` option. This is the number of additional nodes a swarm controller expects to be present for an update. Author: Cyberboss PullRequest: 1461 - Descriptions: - Added `General:DeploymentDirectoryCopyTasksPerCore` to allow operators to manually adjust the rate at which asynchronous file copies are performed on instances. Too few can significantly increase deployment times, too many can make TGS unresponsive and slowdown other I/O operations on the machine. Leaving this unset disables the throttle entirely. **Note that this is the default for upgraded TGS installations. Server operators should highly consider setting the throttle.** The default value for new installations is `100`. Author: Cyberboss PullRequest: 1462 - Version: 4.5.0 Changes: - Descriptions: - Added `UserInformationUrlOverride` option to OAuth configuration items. For power users only. Does not work with the GitHub provider. Author: Cyberboss PullRequest: 1448 - Version: 4.4.0 Changes: - Descriptions: - Added `ControlPanel:PublicPath` for setting where the control panel is hosted in remote environments. Author: alexkar598 PullRequest: 1394 - Version: 4.3.0 Changes: - Descriptions: - '**The new Configuration version is 4.3.0**' - Added `General:SkipAddingByondFirewallException` to skip adding firewall exceptions for new BYOND installs. Author: Cyberboss PullRequest: 1393 - Version: 4.2.0 Changes: - Descriptions: - InvisonCommunity can now be configured as an OAuth provider. Takes ClientId, ClientSecret, RedirectUrl and ServerUrl as strings. Author: AffectedArc07 PullRequest: 1370 - Version: 4.1.0 Changes: - Descriptions: - Added `Session:HighPriorityLiveDreamDaemon` to control if live DreamDaemon instances get set to above normal priority processes. - Added `Session:LowPriorityDeploymentProcesses` to control if DreamMaker and API validation DreamDaemon instances get set to below normal priority processes. Author: Cyberboss PullRequest: 1343 - Version: 4.0.0 Changes: - Descriptions: - Added an `Elasticsearch` section with entries for your elasticsearch `Host`, `Username`, `Password`, and `Enable`d status. Author: AffectedArc07 PullRequest: 1277 - Descriptions: - '**`General:RestartTimeout` renamed to `General:RestartTimeoutMinutes`. Now takes minutes instead of milliseconds.**' - Added `General:ShutdownTimeoutMinutes` for timing out graceful shutdown requests. Author: Cyberboss PullRequest: 1288 - Version: 3.0.0 Changes: - Descriptions: - 'Added `ControlPanel:Channel`. This should be set to a URL to load the web control panel from. The formatters `${Major}`, `${Minor}`, and `${Patch}` are available for the current TGS API version. If set to "local" the previous behavior of loading the bundled control panel will be used. **Upgrading installations will have this set to `null` by default and thus be non-functional. Consider setting it to the current default upstream: `https://tgstation.github.io/tgstation-server-webpanel/api/${Major}.${Minor}.${Patch}`.**' Author: Cyberboss PullRequest: 1213 - Version: 2.2.0 Changes: - Descriptions: - Added OAuth entries sections under `Security:OAuth`. These sections, keyed by provider name, contain `RedirectUrl`, `ClientId`, and `ClientSecret` string entries. They may also contain and `ServerUrl` entries for some providers. Filling out these sections with the relevant OAuth app credentials enables logins from the provider. - Added `Security:OAuthTokenExpiryMinutes` which is an integer indicating the amount of minutes until an OAuth token expires. Defaults to 1 day (`1440`). Author: Cyberboss PullRequest: 1152 - Descriptions: - This version contains a rather hefty SQL migration to support user groups. **Please** ensure your `Database:ServerVersion` configuration property is set correctly before updating. Author: Cyberboss PullRequest: 1164 - Descriptions: - Added the `Swarm` configuration section for configuring the swarm system. - '`Swarm:PrivateKey` should be a secure string set identically on all swarmed servers. Setting this enables the swarm system. If this is to happen, ensure all swarm servers are set to connect to the same database.' - '`Swarm:ControllerAddress` should be set on all swarmed servers that are **not** the controller server and should be an address the controller server may be reached at.' - '`Swarm:Address` should be set on all swarmed servers. Should be an address the server can be reached at by other servers in the swarm.' - '`Swarm:Identifier` should be set uniquely on all swarmed servers. Used to identify the current server. This is also used to select which instances exist on the current machine and should not be changed post-setup.' Author: Cyberboss PullRequest: 1175 - Descriptions: - Added `General:UserGroupLimit` for limiting the total number of user groups that can be created. Author: Cyberboss PullRequest: 1178 - Version: 2.1.1 Changes: - Descriptions: - Fixed typo in `General:HostApiDocumentation` setting. Please correct this in your configuration if need be. Author: Cyberboss PullRequest: 1139 - Version: 2.1.0 Changes: - Descriptions: - Added `General:HostApiDocumentation` setting this to `true` will host the OpenAPI spec publicly at `/swagger/v1/swagger.json`. - Added the `Security` section to give more control over API token handling. - '`Security:TokenExpiryMinutes` allows changing the expiry time for API tokens from the default of `15`.' - '`Security:TokenClockSkewMinutes` allows setting the leeway for token issue times. Recommended to leave at the default of `1`.' - '`Security:TokenSigningKeyByteCount` allows adjusting the amount of bytes used to generate token signing keys. Default is `256`.' - '`Security:CustomTokenSigningKeyBase64` allows setting a persistent token signing key as a base64 string. This will allow tokens to persist past server reboots. Having it set to the default of `null` will keep the current behavior of generating a new key every server launch.' - Mapping Discord channel 0 will now associate with all other unmapped channels accessible to the bot. - The Discord bot will appear to be typing when responding to a command. Author: Cyberboss PullRequest: 1105 - Version: 2.0.0 Changes: - Descriptions: - The initial config version is `2.0.0`. - Future release notes will contain this section to indicate changes to be made to the configuration file. - Configuration is now versioned in the field `General:ConfigVersion`. Having this up-to-date will prevent warnings during server startup. Author: Cyberboss PullRequest: 1062 - Descriptions: - The option `General:UseExperimentalWatchdog` has been removed. Author: Cyberboss PullRequest: 1066 - Descriptions: - Renamed `General:UseBasicWatchdogOnWindows` to `General:UseBasicWatchdog`. - The default POSIX log directory has been changed to `/var/log/tgstation-server` on POSIX and `C:/ProgramData/tgstation-server` on Windows. This change only affects you if your `FileLogging:Directory` is set to `null`. Author: Cyberboss PullRequest: 1070 Core: - Version: 6.6.0 ComponentVersions: Core: 6.5.0 HttpApi: 10.3.0 DreamMakerApi: 7.1.2 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.3.0 NugetClient: 15.3.0 WebControlPanel: 5.7.1 Changes: [] Unreleased: true - Version: 6.5.1 ComponentVersions: {} Changes: [] Unreleased: true - Version: 6.5.0 ComponentVersions: Core: 6.5.0 HttpApi: 10.3.0 DreamMakerApi: 7.1.2 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.3.0 NugetClient: 15.3.0 WebControlPanel: 5.7.1 Changes: - Descriptions: - Added the repository's current reference name as the 4th argument to `PreCompile` scripts. Author: Cyberboss PullRequest: 1811 - Descriptions: - Added some skeleton manpages. Author: Cyberboss PullRequest: 1812 - Version: 6.4.1 ComponentVersions: HttpApi: 10.2.0 DreamMakerApi: 7.1.1 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.2.0 NugetClient: 15.2.0 WebControlPanel: 5.6.0 Changes: - Descriptions: - Fixed an incorrect warning related to `oom_score_adj` on server startup on Linux. Author: Cyberboss PullRequest: 1798 - Descriptions: - Fixed chat help commands not working. Author: Cyberboss PullRequest: 1808 - Version: 6.4.0 ComponentVersions: Core: 6.4.0 HttpApi: 10.2.0 DreamMakerApi: 7.1.1 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.2.0 NugetClient: 15.2.0 WebControlPanel: 5.6.0 Changes: - Descriptions: - 'On Linux, TGS will now set the `oom_score_adj` of child processes appropriately so as to ensure they are terminated when memory becomes scarce before its own processes. This means game processes with runaway memory no longer risk killing TGS. **Note: Docker users should add `--cap-add=sys_resource` to their command lines to allow this.**' - When test merge metadata fails to be retrieved using a GitHub or GitLab remote, TGS will attempt to deduce the URL using known paths. Author: Cyberboss PullRequest: 1794 - Version: 6.3.2 ComponentVersions: HttpApi: 10.2.0 DreamMakerApi: 7.1.1 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.2.0 NugetClient: 15.2.0 WebControlPanel: 5.6.0 Changes: - Descriptions: - Fixed an issue where stopping or rebooting the server could cause the previously used deployment directory to not properly get cleaned up. Author: Cyberboss PullRequest: 1793 - Version: 6.3.1 ComponentVersions: HttpApi: 10.2.0 DreamMakerApi: 7.1.1 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.2.0 NugetClient: 15.2.0 WebControlPanel: 5.6.0 Changes: - Descriptions: - Fixed a rare race condition when suspending Windows processes. Author: Cyberboss PullRequest: 1789 - Descriptions: - Fixed a potential 500 error when disabling a user. Author: Cyberboss PullRequest: 1791 - Version: 6.3.0 ComponentVersions: Core: 6.3.0 HttpApi: 10.2.0 DreamMakerApi: 7.1.0 Configuration: 5.1.0 InteropApi: 5.9.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.2.0 NugetClient: 15.2.0 WebControlPanel: 5.6.0 Changes: - Descriptions: - Fixed parsing GitHub pull requests triggering an Int32 overflow. - Fixed event scripts always running with low priority if the configuration option for `Session:LowPriorityDeploymentProcesses` was set instead of only in the deployment pipeline. - Added support for DMAPI triggered custom event scripts. These cannot have the same name as TGS built-in events. - Fixed `.deb` package sometimes not creating a `tgstation-server` home directory. - The nonsense file `$HOME/byond/cfg/trusted.txt` will now no longer be created on Linux. - Fixed the BYOND cache not properly being cleaned on Linux. Author: Cyberboss PullRequest: 1788 - Version: 6.2.0 ComponentVersions: Core: 6.2.0 HttpApi: 10.1.0 DreamMakerApi: 7.0.2 Configuration: 5.1.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.1.0 NugetClient: 15.1.0 WebControlPanel: 5.5.0 Changes: - Descriptions: - You can now add `server.env` and `compiler.env` files to your engine installation directories (i.e. `/Byond/515.1530/server.env`) to specify environment variables to set when executing the game server and compiler respectively. These are [.env](https://hexdocs.pm/dotenvy/dotenv-file-format.html) files. Author: Cyberboss PullRequest: 1783 - Descriptions: - Dumps for the OpenDream game server will now use .NET diagnostics technology instead of Windows APIs/gcore. These dumps will have the `.net.dmp` extension. - Fixed some engine installation processes not respecting `Session:LowPriorityDeploymentProcesses`. - Fixed creating two watchdog dumps in the same second creating a file with a weird extension. Author: Cyberboss PullRequest: 1784 - Descriptions: - Newly created instances will have their `minidumps` watchdog setting set to `true`. Previously, this behavior was `true` on Linux, and `false` on Windows. This will persist into this update. Author: Cyberboss PullRequest: 1786 - Version: 6.1.5 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.1 Configuration: 5.0.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Fixed the chat message sent when sessions exit unexpectedly with code 0 saying it was due to a crash. Author: Cyberboss PullRequest: 1778 - Version: 6.1.4 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.1 Configuration: 5.0.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Removed to redirect from `/app` to `/app` for the webpanel. - The API documentation UI at `/documentation` will now use `ControlPanel:PublicPath` to locate the `tgs_api.json` if it is set. Note, that means this site MUST be accessed using the public path to function correctly. Author: Cyberboss PullRequest: 1776 - Version: 6.1.3 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.1 Configuration: 5.0.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Fixed the decision to use hardlinks vs symlinks on Linux depending on the minimum security level used to create a deployment instead of the watchdog settings. Author: Cyberboss PullRequest: 1774 - Version: 6.1.2 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.1 Configuration: 5.0.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Fixed a race condition when allocating ports for new instances. - Fixed issues with running `.dme`s with spaces in the name. Author: Cyberboss PullRequest: 1763 - Version: 6.1.1 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.1 Configuration: 5.0.0 InteropApi: 5.8.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Fixed a `NonFastForwardException` that could occur when working with the repository. Author: Cyberboss PullRequest: 1760 - Descriptions: - Fixed the BYOND cache folder not being deleted on Windows when running as a service. - Recursive directory deletion no longer stops on the first error. Author: Cyberboss PullRequest: 1762 - Version: 6.1.0 ComponentVersions: Core: 6.1.0 HttpApi: 10.0.0 DreamMakerApi: 7.0.0 Configuration: 5.0.0 InteropApi: 5.7.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.4.2 Changes: - Descriptions: - Fixed health checks failing on OpenDream servers after a TGS restart. - When game servers exit with code 0, chat bots will no longer call it a crash. - Fixed homepage links to the app again. - Removed size limit on `/Transfer` uploads. - Reduced number of job updates per second sent over SignalR from 4 to 1. Author: Cyberboss PullRequest: 1757 - Descriptions: - Added the `EngineInstallComplete` event. Parameter is the engine version that was installed (This is also the name of the directory in the `Byond` instance folder). Author: Cyberboss PullRequest: 1758 - Version: 6.0.1 ComponentVersions: HttpApi: 10.0.0 DreamMakerApi: 7.0.0 Configuration: 5.0.0 InteropApi: 5.7.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.1 NugetClient: 15.0.1 WebControlPanel: 5.3.0 Changes: - Descriptions: - Fix some rooted routing on the new home page. - Fix authentication 500 issues when a user's password changed and some other circumstances. Author: Cyberboss PullRequest: 1749 - Descriptions: - Fixed submodule updates not being recursive. - Changed `DreamDaemon` in chat `DEFCON` messages to `Game server`. Author: Cyberboss PullRequest: 1751 - Version: 6.0.0 ComponentVersions: Core: 6.0.0 HttpApi: 10.0.0 DreamMakerApi: 7.0.0 Configuration: 5.0.0 InteropApi: 5.7.0 HostWatchdog: 1.4.1 NugetCommon: 7.0.0 NugetApi: 13.0.0 NugetClient: 15.0.0 WebControlPanel: 5.3.0 Changes: - Descriptions: - TGS now requires the ASP.NET 8 runtime. - The setup wizard will now ask if you want to use encryption when connection to a Microsoft SQL Server. - The Windows installer `.exe` and `ServerService` packages now ship with portable `.pdb` files instead of Windows specific ones. Author: Cyberboss PullRequest: 1614 - Descriptions: - '"Based on what?" meme for Discord chat provider removed.' Author: Cyberboss PullRequest: 1628 - Descriptions: - TGS now supports running DreamMaker coded games with OpenDream, the open source reimplementation of BYOND. Note that TGS requires the dotnet SDK version supported by the OpenDream version you'd like to use alongside it's normal ASP.NET Core runtime to build it. - The repository cloning job now reports checkout progress. - Fixed rare DreamDaemon startup failure that may occur due to a lingering socket. - Event scripts containing "Byond" in their names have been updated to use "Engine" instead. Old names will continue function. - Socket bind tests will now retry for up to 5s before failing with an AddressInUse exception. - Added a workaround for a potential hang while recording process output. Author: Cyberboss PullRequest: 1666 - Descriptions: - The `.deb` package now runs tgstation-server as the user `tgstation-server`. This user has minimal permissions. More may be granted manually by system administrators. **IF YOU OPT TO UPDATE VIA APT, YOU MAY HAVE THIS USER AUTOMATICALLY SET AS THE SERVICE RUNNER, EVEN IF IT DOES NOT EXIST!** To fix this, edit `/etc/lib/systemd/system/tgstation-server.service` and remove the `User=tgstation-server` line. Author: Cyberboss PullRequest: 1692 - Descriptions: - API documentation page moved to `/documentation`. Author: Cyberboss PullRequest: 1704 - Descriptions: - 'Fixed changing launch-only watchdog settings with POST `/DreamDaemon` not immediately returning `"softRestart": true`.' - Fixed an error that could happen if two requests to dump the game server process happened in the same second. - Fixed setup wizard generating invalid connection strings for existing Sqlite databases. Author: Cyberboss PullRequest: 1728 - Descriptions: - Fixed an issue where the initial watchdog launch on server startup could fail due to a 503'd bridge request. - Large internal code cleanup and standardization. - Fixed a rare issue that could cause BYOND topic requests to fail. - Fixed a potential error when installing engine versions. Author: Cyberboss PullRequest: 1742 - Version: 5.18.2 ComponentVersions: HttpApi: 9.14.0 DreamMakerApi: 6.7.0 Configuration: 4.7.1 InteropApi: 5.7.0 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.2.0 NugetClient: 14.2.0 WebControlPanel: 5.1.0 Changes: - Descriptions: - Cleaned up handling of topic requests while the server is starting/rebooting. - Reduced Discord API spam when connecting to a guild with many mapped channels. - Fixed race condition that could result in TGS having multiple mappings of the same chat channel. - Fixed downloading instance `Configuration` files requiring exclusive access. - The previous patch erroneously caused full watchdog restarts whenever any setting was changed. This has been rectified. Author: Cyberboss PullRequest: 1724 - Version: 5.18.1 ComponentVersions: HttpApi: 9.14.0 DreamMakerApi: 6.7.0 Configuration: 4.7.1 InteropApi: 5.7.0 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.2.0 NugetClient: 14.2.0 WebControlPanel: 5.1.0 Changes: - Descriptions: - 'Added the `X-Accel-Buffering: no` response header to requests to prevent NGINX from interfering with SignalR SSE hubs.' - Fixed changing server settings with the advanced watchdog not automatically queuing a graceful reboot. Author: Cyberboss PullRequest: 1721 - Version: 5.18.0 ComponentVersions: Core: 5.18.0 HttpApi: 9.14.0 DreamMakerApi: 6.7.0 Configuration: 4.7.1 InteropApi: 5.7.0 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.2.0 NugetClient: 14.2.0 WebControlPanel: 5.1.0 Changes: [] - Version: 5.17.3 ComponentVersions: HttpApi: 9.13.0 DreamMakerApi: 6.6.2 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.0.1 NugetClient: 14.1.0 WebControlPanel: 4.26.2 Changes: - Descriptions: - Fixed `startedBy.Name` not being set in jobs hub updates. Author: Cyberboss PullRequest: 1712 - Descriptions: - Fixed logic error incorrectly mismatching users with the instances they should receive SignalR job updates for. Author: Cyberboss PullRequest: 1714 - Descriptions: - Older Windows installers would fail to install MariaDB if the mirror was taken down. The MariaDB .msi is now hosted on this GitHub to prevent this. - MariaDB redistributable updated to 10.11.6. Author: Cyberboss PullRequest: 1715 - Version: 5.17.2 ComponentVersions: HttpApi: 9.13.0 DreamMakerApi: 6.6.2 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.0.1 NugetClient: 14.1.0 WebControlPanel: 4.26.2 Changes: - Descriptions: - Fixed upgrading on Debian/Ubuntu via `apt` always running first install steps. Author: Cyberboss PullRequest: 1705 - Descriptions: - Fixed repository not fetching new tags for commits that already existed locally. Author: Cyberboss PullRequest: 1707 - Version: 5.17.1 ComponentVersions: HttpApi: 9.13.0 DreamMakerApi: 6.6.2 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.0.1 NugetClient: 14.1.0 WebControlPanel: 4.26.2 Changes: - Descriptions: - Fixed an issue where SignalR connections may not be mapped into their appropriate groups for receiving jobs. Author: Cyberboss PullRequest: 1698 - Version: 5.17.0 ComponentVersions: Core: 5.17.0 HttpApi: 9.13.0 DreamMakerApi: 6.6.2 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 7.0.0 NugetApi: 12.0.0 NugetClient: 14.0.0 WebControlPanel: 4.26.0 Changes: - Descriptions: - Improved asynchronous task handling for minor performance gains. - Fixed a race condition when restarting TGS. Author: Cyberboss PullRequest: 1555 - Descriptions: - The Discord deployment embed footer and message text now more accurately represent the current state of the deployment. Author: Cyberboss PullRequest: 1662 - Descriptions: - Fixed 301 redirect that occurred when accessing the webpanel via `/app` instead of `/app/`. - Fixed `NotImplementedException` errors that would occur when attempting to deploy a repository not from GitHub or GitLab. - Added `DeploymentActivation` event which will be called right before the game server uses a deployment. May be run multiple times for the same deployment. Parameter is the full path to the activating deployment. - The error description for deployment DMAPI validation failures now contains a link to an FAQ with solutions. Author: Cyberboss PullRequest: 1685 - Descriptions: - Reduces time out for deployment DMAPI validation to 30s after receiving the initial bridge request. This should never be hit, as the DMAPI is meant to stop the world immediately after this. Author: Cyberboss PullRequest: 1690 - Version: 5.16.4 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.4 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.25.2 Changes: - Descriptions: - Fixed regression in 5.16.3 preventing static files from working on Linux. Author: Cyberboss PullRequest: 1683 - Version: 5.16.3 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.4 Configuration: 4.7.1 InteropApi: 5.6.2 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.25.2 Changes: - Descriptions: - Fixed issues with DreamDaemon referencing the original true path of instances when using the advanced watchdog on Linux. Hard linked copies of deployment directory structure are now used instead of symlinks. - If a deployment completes on Linux right before a world with a valid DMAPI reboots it may not have enough time to be applied and delayed until the next reboot. Author: Cyberboss PullRequest: 1677 - Version: 5.16.2 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.3 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.25.2 Changes: - Descriptions: - Logging regarding GitHub rate limits is now more correct. - The repository auto-update job now will no longer fail in the middle of the operation due to GitHub API issues. - The code deployment auto-update job will no longer proceed if the repository auto-update job failed. Author: Cyberboss PullRequest: 1668 - Version: 5.16.1 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.3 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.25.2 Changes: - Descriptions: - Added white background to Windows project logo. Author: Cyberboss PullRequest: 1653 - Descriptions: - Added some additional logging to the `/app` route. Author: Cyberboss PullRequest: 1657 - Version: 5.16.0 ComponentVersions: Core: 5.16.0 HttpApi: 9.12.0 DreamMakerApi: 6.5.3 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.25.2 Changes: - Descriptions: - Added a new project logo. Author: Thunder12345 PullRequest: 1648 - Version: 5.15.1 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.3 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.24.0 Changes: - Descriptions: - This is a non-functional release due to 5.15.0's CD pipeline not being able to deploy to winget. Author: Cyberboss PullRequest: 1642 - Version: 5.15.0 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.3 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.2 NugetClient: 12.1.2 WebControlPanel: 4.24.0 Changes: - Descriptions: - Fixed a log message when the configuration version is majorly out of date not showing the current version. Author: Cyberboss PullRequest: 1612 - Descriptions: - Fixed setup wizard hanging after writing configuration file. - Fixed using SQL Server in the setup wizard not giving the option to set the parameter for encrypting the connection. Author: Cyberboss PullRequest: 1639 - Version: 5.14.0 ComponentVersions: HttpApi: 9.12.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.4.0 NugetCommon: 6.0.1 NugetApi: 11.1.1 NugetClient: 12.1.1 WebControlPanel: 4.23.1 Changes: - Descriptions: - The Windows installer now provides the option to install MariaDB out of the box. - The TGS setup wizard can now streamline some options if it knows MariaDB was just installed on Windows. Author: Cyberboss PullRequest: 1604 - Descriptions: - 'The Windows installer now can fully configure TGS using default settings for ease of installation (Port 5000, root MariaDB user, database name: `tgs`).' - Fixed an issue with the Windows installer overwriting an existing `appsettings.Production.yml`. Author: Cyberboss PullRequest: 1610 - Descriptions: - Fixed GitHub environments staging not occurring if an instance was started with no pre-existing compile job. - Discord deployment embeds with now be coloured blue when pending, green when active, and grey when inactive. Restarting TGS will cause it to not update existing embeds. Author: Cyberboss PullRequest: 1622 - Descriptions: - Removed many runtimes required to enable execution on non-x86 based systems (x64 is unaffected). Author: Cyberboss PullRequest: 1624 - Descriptions: - Slightly increased performance of login requests. Author: Cyberboss PullRequest: 1626 - Descriptions: - Changelog generation has been drastically improved in all areas. Author: Cyberboss PullRequest: 1632 - Descriptions: - Shipped `.pdb`s are now portable. Author: Cyberboss PullRequest: 1636 - Version: 5.13.7 ComponentVersions: HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Fixed a 500 error when listing `/Configuration` directories. Author: Cyberboss PullRequest: 1625 - Version: 5.13.6 ComponentVersions: Core: 5.13.6 HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: [] - Version: 5.13.5 ComponentVersions: Core: 5.13.5 HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Fixed a watchdog crash that could occur if `dumpOnHealthCheckRestart` was enabled and the DreamDaemon process aborts. Author: Cyberboss PullRequest: 1609 - Version: 5.13.4 ComponentVersions: HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Slightly improved the performance of applying CodeModifications to deployments. Author: Cyberboss PullRequest: 1608 - Version: 5.13.3 ComponentVersions: HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Fixed the Windows Service having an unexpected dependency on `Microsoft.WindowsDesktop.App`. Author: Cyberboss PullRequest: 1601 - Version: 5.13.2 ComponentVersions: HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.1 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Fixed default option for `Elasticsearch:Host` in the setup wizard not working. - Fixed the behavior of system channels being inverted. Author: Cyberboss PullRequest: 1600 - Version: 5.13.1 ComponentVersions: Core: 5.13.1 HttpApi: 9.11.0 DreamMakerApi: 6.5.2 Configuration: 4.7.0 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Fixed `tgs-configure` script selecting `/opt/tgstation-server` as the config directory instead of `/etc/tgstation-server`. - Fixed SystemD constantly killing TGS due to it not properly communicating. Author: Cyberboss PullRequest: 1597 - Version: 5.13.0 ComponentVersions: Core: 5.13.0 HttpApi: 9.11.0 DreamMakerApi: 6.5.1 Configuration: 4.7.0 InteropApi: 5.6.1 HostWatchdog: 1.3.0 NugetCommon: 6.0.0 NugetApi: 11.0.0 NugetClient: 12.0.0 WebControlPanel: 4.22.0 Changes: - Descriptions: - Windows firewall rule names for DreamDaemon now include the BYOND version number. - Fix priority topic sends not being able to be interrupted. Author: Cyberboss PullRequest: 1464 - Descriptions: - The `prs` chat command now supports a `--staged` argument that will give you the test merges in the revision staged for deployment if any. - '`--repo` parameter for `prs` and `revision` commands no longer block until the repository is available.' Author: Cyberboss PullRequest: 1513 - Descriptions: - Server update packages can now be provided through the API. **Note that if an update package that doesn't match the tgstation-server update protocol is uploaded or if the actual uploaded version doesn't match the version specified in the POST API request, undefined behavior will occur.** - Fixed an error that occurred if a static file upload ticket was abandoned. - Fixed potential memory leak in the non-GitHub OAuth login procedures. - Minor performance improvement in the non-GitHub OAuth login procedures. - Fixed double read occurring when downloading log files through the API. - Swarm distributed update downloads are now only performed on the initiating server. Other servers then download the update package from the initiator. - Fixed several edge cases in swarm distributed update process. Author: Cyberboss PullRequest: 1535 - Descriptions: - A stub `HeadInclude.dm` and `TailInclude.dm` will be generated in the `Configuration/CodeModifications` directory on instance startup if said directory didn't previously exist. - Fixed `HeadInclude.dm` and `TailInclude.dm` if the deployement's target `.dme` wasn't in the root of the game directory. Author: Cyberboss PullRequest: 1547 - Descriptions: - Fixed a memory leak that sometimes occurred if DreamDaemon crashed during a `TgsReboot()` bridge request. Author: Cyberboss PullRequest: 1559 - Descriptions: - Sending SIGUSR2 to the main TGS process now act as if TGS received a restart request (i.e. the watchdog will detach and the TGS main process will exit) except it won't come back without system operator intervention. Author: Cyberboss PullRequest: 1561 - Descriptions: - Fixed incorrect wording in the error message embed TGS sends when receiving bad input from DM code. - Fixed a deadlock that could happen if a directory copy operation was cancelled. Author: Cyberboss PullRequest: 1565 - Descriptions: - On Windows, TGS will request administrator privileges when needed. Author: Peliex PullRequest: 1566 - Descriptions: - Configuration changes no longer auto-reload via a TGS restart. The restart must be performed manually. - Event scripts executed by the main deployment pipeline now respect the `Session:LowPriorityDeploymentProcesses` config. Author: Cyberboss PullRequest: 1570 - Descriptions: - TGS now ships with a Debian (Ubuntu compatible) package and provides apt repository to download it from. This is available at the /tg/station apt repository https://github.com/tgstation/tgstation-ppa. See `README.md` for details. - Added SystemD `notify-reload` support. See `build/tgstation-server.service` for a unit example. Note, when running under SystemD, the majority of standard output messages will be suppressed unless `FileLogging:Disable` is set to `true` in order not to duplicate log output. Author: Cyberboss PullRequest: 1571 - Descriptions: - tgstation-server no longer holds a .NET Framework 4.7.2 dependency for running the Windows service. - tgstation-server now ships an `.exe` installer for Windows. It automatically downloads and installs the required .NET dependency if needed. You can either download it from GitHub Releases or install it via `winget install Tgstation.Server`. Once initially installed, it can be used to perform seamless updates same as using the HTTP API would. - Fixed the internal configuration setting `General:DesignTime` being exposed in `appsettings.Prodution.yml`s the setup wizard generates. - The setup wizard now has default recommendations for the majority of its options that can be quickly navigated through. - The configuration directory (where the `appsettings.yml` files are loaded from) can now be specified with the command line argument `--appsettings-base-path=XXX`. Remember that this is meant to be passed through either the console or service host watchdog. - When specifying a relative path to an SQLite database, the base directory will now be the configuration directory. - The TGS console window title will now reflect the version being run or if you're running the setup wizard. - Fixed Windows service creating a `BYOND` directory in the installation folder. Author: Cyberboss PullRequest: 1572 - Descriptions: - Fixed deployments failing if creating GitHub deployments was enabled and GitHub returned bad data. - Fixed deployments failing if the GitHub repository ID could not be retrieved under certain circumstances. - Fixed deployments failing if posting test merge comments was enabled and the GitLab request failed. Author: Cyberboss PullRequest: 1579 - Descriptions: - Fixed a warning that could occur with GitHub deployments enabled. Author: Cyberboss PullRequest: 1584 - Descriptions: - Fixed a swarm node collection desync that could occur if a controller health check triggered while a node was in the process of registering. Author: Cyberboss PullRequest: 1585 - Descriptions: - Docker image is now based off of debian bookworm(12). Author: alexkar598 PullRequest: 1591 - Version: 5.12.7 ComponentVersions: HttpApi: 9.10.2 DreamMakerApi: 6.4.5 Configuration: 4.6.0 InteropApi: 5.6.1 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.3 WebControlPanel: 4.20.0 Changes: - Descriptions: - Fixed deployments failing if creating GitHub deployments was enabled and GitHub returned bad data. - Fixed deployments failing if the GitHub repository ID could not be retrieved under certain circumstances. - Fixed deployments failing if posting test merge comments was enabled and the GitLab request failed. Author: Cyberboss PullRequest: 1579 - Version: 5.12.6 ComponentVersions: HttpApi: 9.10.2 DreamMakerApi: 6.4.5 Configuration: 4.6.0 InteropApi: 5.6.1 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.3 WebControlPanel: 4.20.0 Changes: - Descriptions: - Fixed a potential cause of server instabilities originating from Topic calls. - Fixed a potential 500 error when listing an instance's configuration directory if an IO error occurred. Author: Cyberboss PullRequest: 1534 - Descriptions: - Fixed being unable to cancel a deployment during DMAPI validation until it either succeeded or timed-out, Author: Cyberboss PullRequest: 1549 - Descriptions: - If a deployment has the DMAPI available, the code tree change-out will be delayed until `world.TgsReboot()` is called. This prevents the working directory from changing unexpectedly around an active server. - Deployment cleanups will now be slightly delayed to avoid tripping on files still in use. - Fixed error handling when sending SIGSTOP or SIGCONT to DreamDaemon failed on Linux. - The `Live` game directory symlinking process on Linux is now less error prone. Author: Cyberboss PullRequest: 1551 - Descriptions: - Fixed server errors occurring when renaming or setting instance auto-update intervals. Author: Cyberboss PullRequest: 1552 - Version: 5.12.5 ComponentVersions: HttpApi: 9.10.2 DreamMakerApi: 6.4.5 Configuration: 4.6.0 InteropApi: 5.6.1 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.3 WebControlPanel: 4.20.0 Changes: - Descriptions: - Fixed a deadlock in Discord chat bot shutdown. Author: Cyberboss PullRequest: 1509 - Descriptions: - Fixed the swarm system rarely attempting to abort a distributed update after committing to it. Author: Cyberboss PullRequest: 1510 - Descriptions: - Fixed repository push operations reporting faulty progress values. Author: Cyberboss PullRequest: 1515 - Descriptions: - Prevented errors related to job creation from occurring during server shutdown. Author: Cyberboss PullRequest: 1518 - Descriptions: - Fixed an internal error that could occur if an incorrect password was entered for a registered Windows user. Author: Cyberboss PullRequest: 1526 - Version: 5.12.4 ComponentVersions: Core: 5.12.4 HttpApi: 9.10.2 DreamMakerApi: 6.4.5 Configuration: 4.6.0 InteropApi: 5.6.1 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.3 WebControlPanel: 4.20.0 Changes: - Descriptions: - Fixed DreamDaemon logging not working on Linux. Author: Cyberboss PullRequest: 1506 - Descriptions: - Fix server applying the deployment low priority config to live servers and the live server priority config to deployments. Author: MrStonedOne PullRequest: 1507 - Version: 5.12.3 ComponentVersions: HttpApi: 9.10.2 DreamMakerApi: 6.4.5 Configuration: 4.6.0 InteropApi: 5.6.1 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.3 WebControlPanel: 4.20.0 Changes: - Descriptions: - Certain priority interop topics will now be resent to DD up to 5 times if they failed previously before logging an error. - Fixed unnecessary chat channel remappings occurring when a Discord Chat Bot with channel ID 0 mapped receives a DM from a user that had not done so it since it last connected. - Cancelling a Discord chat bot connection job should now properly indicate it was cancelled instead of errored. - Deleting a chat bot or offlining an instance while a chat bot connection job was running no longer errors. - Fixed a rare chat bot disconnect error if a command is sent immediately before the disconnect occurs. - Fixed a rare instance shutdown error when the .dyn.rsc.lk is detected before it is deleted. - Fixed a rare instance shutdown error when a compile job directory fails to delete for any reason or fails to be marked as inactive in GitHub. - Fixed `byond` chat command failing if there was no active compile job. - Fixed occasional errors if a chat command is sent while watchdog isn't fully online. Author: Cyberboss PullRequest: 1499 - Descriptions: - Fixed uploading more than one custom BYOND version per BYOND build creating jobs that would hang indefinitely. - Fixed a rare race condition in server shutdown related to the job manager. Author: Cyberboss PullRequest: 1502 - Version: 5.12.2 ComponentVersions: HttpApi: 9.10.2 DreamMakerApi: 6.4.4 Configuration: 4.6.0 InteropApi: 5.6.0 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.2 WebControlPanel: 4.20.0 Changes: - Descriptions: - Fixed initial chat channel update not getting sent to the DMAPI after a TGS restart. - Removed the possibility for chat bot connections to slow down watchdog processing upon starting or restarting TGS. - Fixed chat bot disconnection errors being able to generate 500 responses. - Fixed a non-fatal error registering as a 500 error when updating or restarting. - Fixed race conditions related to updating deployment chat messages. - Fixed a memory leak when chat bots are deleted or disabled via the API. - Fixed a race condition relating to sending the initial watchdog chat message on instance auto-start or reattach. Author: Cyberboss PullRequest: 1493 - Version: 5.12.1 ComponentVersions: Core: 5.12.1 HttpApi: 9.10.2 DreamMakerApi: 6.4.3 Configuration: 4.6.0 InteropApi: 5.6.0 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.1 NugetClient: 11.4.2 WebControlPanel: 4.20.0 Changes: - Descriptions: - Accounted for GitHub server time drift when generating the Retry-After header in HTTP 429 responses. Author: Cyberboss PullRequest: 1475 - Descriptions: - Fixed an exception that can occur when performing repository jobs while using a Postgres database. Author: Cyberboss PullRequest: 1482 - Descriptions: - Upgraded git backend and removed libssl dependency on Linux. Please report any git related issues. - Fixed an erroneous debug log when upgrading TGS. - The server configured `GitHubAccessToken` will now be used to authenticate downloads of the server update package if it is present. Author: Cyberboss PullRequest: 1485 - Version: 5.12.0 ComponentVersions: HttpApi: 9.10.0 DreamMakerApi: 6.4.2 Configuration: 4.6.0 InteropApi: 5.6.0 HostWatchdog: 1.2.2 NugetCommon: NugetApi: 10.4.0 NugetClient: 11.4.0 WebControlPanel: 4.19.0 Changes: - Descriptions: - Reduced surface area for potential failure in distributed swarm server updates. - Fixed potential deadlock if a swarm controller abandons a node that is waiting to commit an update. Author: Cyberboss PullRequest: 1461 - Descriptions: - Fixed the web server not starting until the instance manager was initialized. - Fixed a race condition that caused BYOND installation jobs to be executed in the context of the HTTP request that started them, resulting in long response times. - Fixed modifying the system user's BYOND configuration having a race condition across instances. Author: Cyberboss PullRequest: 1463 - Version: 5.11.0 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.4.0 Configuration: 4.5.0 InteropApi: 5.6.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.19.0 Changes: - Descriptions: - Fixed a rare issue where the process exit handler for DreamDaemon would not be invoked, causing a temporary hang. - DreamDaemonLogs are now categorized into directories by launch day. - Added handling for chat messages that exceed the size limits of their providers. - GET requests are now logged at `Trace` level. - GET requests to `/Job` are no longer logged. Author: Cyberboss PullRequest: 1455 - Version: 5.10.0 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.3.1 Configuration: 4.5.0 InteropApi: 5.5.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.18.0 Changes: - Descriptions: - Significantly improved the logging for DiscordProvider messages. - Fixed all sorts of problems with using Discord channel ID zero. - Fixed infinite retries when mapping an inaccessible or invalid Discord channel ID. - Added support for Discord threads as mappable channels. - Chat processing error replies now properly reply to the invoker on Discord. - Instances will no longer select initial values for the DreamDaemon port < 1024. Author: Cyberboss PullRequest: 1454 - Version: 5.9.0 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.3.1 Configuration: 4.5.0 InteropApi: 5.5.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.18.0 Changes: - Descriptions: - Chat command replying no longer pings the user. Author: Cyberboss PullRequest: 1450 - Descriptions: - Fixed event types 15 through 21 (watchdog related events) getting sent to the DMAPI unintentionally. - Moving an instance now deletes its `Game` directory to destroy broken symlinks. - Fixed a massive delay when manually offlining an instance. Author: Cyberboss PullRequest: 1451 - Version: 5.8.0 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.3.0 Configuration: 4.5.0 InteropApi: 5.5.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.18.0 Changes: - Descriptions: - Fixed logging exception when a Discord guild failed to be retrieved. Author: Cyberboss PullRequest: 1448 - Version: 5.7.3 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.3.0 Configuration: 4.4.0 InteropApi: 5.5.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.17.0 Changes: - Descriptions: - Fixed issue where restarting TGS on Windows while not using the Basic Watchdog with a server that has changed to a newer .dmb would result in TGS killing the server when it restarted. **To avoid this issue when updating to this version, first issue a graceful restart to the watchdog and allow it to complete** (Not necessary if running on Linux or with Basic Watchdog). - Fixed error generated when receiving a chat message with no text. - Fixed Deployment crash that could rarely occur based on estimated duration. - Fixed swarm subsystem shutdown not occurring if instance shutdown did not complete without errors. - Fixed rare case where watchdog would trigger a graceful restart when applying a deployment of the same BYOND version. - Fixed new .dmb's not properly applying if they were staged before a TGS restart. - More I/O performance improvements. Author: Cyberboss PullRequest: 1447 - Version: 5.7.2 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.2.0 Configuration: 4.4.0 InteropApi: 5.4.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.17.0 Changes: - Descriptions: - Fix directory deletion not working as intended. Author: Cyberboss PullRequest: 1446 - Version: 5.7.1 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.2.0 Configuration: 4.4.0 InteropApi: 5.4.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.17.0 Changes: - Descriptions: - Improved logging when encountering a channel retrieval error during the Discord connection process. Author: Cyberboss PullRequest: 1444 - Version: 5.7.0 ComponentVersions: HttpApi: 9.9.0 DreamMakerApi: 6.2.0 Configuration: 4.4.0 InteropApi: 5.4.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.3.0 NugetClient: 11.3.0 WebControlPanel: 4.17.0 Changes: - Descriptions: - Add support for streaming DreamDaemon output to a file. Restarting TGS while this is happening will result in a truncated log. - Fixed potential errors in deployment process. Author: Cyberboss PullRequest: 1442 - Descriptions: - Test merge conflicts will now present the list of conflicting files in the job error message. Author: Cyberboss PullRequest: 1443 - Version: 5.6.0 ComponentVersions: HttpApi: 9.8.1 DreamMakerApi: 6.1.0 Configuration: 4.4.0 InteropApi: 5.4.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.1 WebControlPanel: 4.15.0 Changes: - Descriptions: - Fixed an issue where extra white space in chat commands could cause them to fail. - Added support for `dd.exe` on Windows BYOND versions >= 515.1598. This will be the default .exe used going forward. Author: Cyberboss PullRequest: 1441 - Version: 5.5.0 ComponentVersions: HttpApi: 9.8.1 DreamMakerApi: 6.1.0 Configuration: 4.4.0 InteropApi: 5.4.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.1 WebControlPanel: 4.15.0 Changes: - Descriptions: - Improved repository copying performance slightly. - Reverted Discord library change that was causing issues. Author: Cyberboss PullRequest: 1437 - Version: 5.4.0 ComponentVersions: HttpApi: 9.8.1 DreamMakerApi: 6.0.6 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.1 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.1 WebControlPanel: 4.2.2 Changes: - Descriptions: - Fixed detaching an instance that did not exist on disk erroring. - Fixed a formatting error in GitHub test merge comments. - Removed delay between stage update notifications in deployment jobs. Author: Cyberboss PullRequest: 1433 - Descriptions: - Discord commands are now replied to on response. - Fixed issue with service event logs not including the service name. - Fixed issue with being unable to validate a SQLite database in the setup wizard. Author: Cyberboss PullRequest: 1435 - Version: 5.3.2 ComponentVersions: HttpApi: 9.8.1 DreamMakerApi: 6.0.6 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - Fixed being unable to launch Docker version with only environment variables. Author: Cyberboss PullRequest: 1430 - Version: 5.3.1 ComponentVersions: Core: 5.3.1 HttpApi: 9.8.1 DreamMakerApi: 6.0.6 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.0 WebControlPanel: 4.2.2 Changes: [] - Version: 5.3.0 ComponentVersions: Core: 5.3.0 HttpApi: 9.8.0 DreamMakerApi: 6.0.6 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.2.0 NugetClient: 11.2.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - The GitHub comment when you test merge is now collapsed by default. Author: TiviPlus PullRequest: 1416 - Descriptions: - Added `DeploymentClenaup` EventScript for when a deployment directory on disk is about to be removed. Author: AffectedArc07 PullRequest: 1423 - Descriptions: - Fixed an issue with not being able to successfully test an Sqlite connection on Windows. Author: Cyberboss PullRequest: 1425 - Version: 5.2.4 ComponentVersions: HttpApi: 9.7.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.1.0 NugetClient: 11.1.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - Fixed the webpanel redirect from `/` not working without a `ControlPanel:PublicPath` set. Author: Cyberboss PullRequest: 1421 - Version: 5.2.3 ComponentVersions: HttpApi: 9.7.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.1.0 NugetClient: 11.1.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - Fixed having GitHub deployments enabled potentially causing the watchdog to fail to start if the token was rate limited. Author: Cyberboss PullRequest: 1415 - Version: 5.2.2 ComponentVersions: HttpApi: 9.7.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.1.0 NugetClient: 11.1.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - Fixed guild announcement channels not being valid for Discord chat provider. - Fixed failing to map channels causing message dispatch issues. Author: Cyberboss PullRequest: 1410 - Version: 5.2.1 ComponentVersions: HttpApi: 9.7.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.1.0 NugetClient: 11.1.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - Files with the +x bit set in the repository will now also have them copied to the game directory. - Performance improvement for copying directories. Author: Cyberboss PullRequest: 1409 - Version: 5.2.0 ComponentVersions: Core: 5.2.0 HttpApi: 9.7.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.1.0 NugetClient: 11.1.0 WebControlPanel: 4.2.2 Changes: - Descriptions: - The setup wizard no longer states that the webpanel is incomplete. Author: Cyberboss PullRequest: 1405 - Descriptions: - Auto-update will no longer steal the test merge readout of the previous deployment for the new one. Author: Cyberboss PullRequest: 1406 - Version: 5.1.4 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.0.0 NugetClient: 11.0.0 WebControlPanel: 4.0.0 Changes: - Descriptions: - Fixed repository update jobs being cancelled sporadically. Author: Cyberboss PullRequest: 1404 - Version: 5.1.3 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.0.0 NugetClient: 11.0.0 WebControlPanel: 4.0.0 Changes: - Descriptions: - Fixed a host of issues with the IRC connection provider. Author: Cyberboss PullRequest: 1401 - Version: 5.1.2 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.0.0 NugetClient: 11.0.0 WebControlPanel: 4.0.0 Changes: - Descriptions: - Fixed being unable to create a GitHub Deployment failing deployment jobs. - Implemented more refined job stages. - Fixed being unable to write or delete existing 0 length configuration files. Author: Cyberboss PullRequest: 1397 - Version: 5.1.1 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.0.0 NugetClient: 11.0.0 WebControlPanel: 4.0.0 Changes: - Descriptions: - Fixed Discord deployment embeds not linking the local commit if it existed on remote. - Fixed the `mergedAt` field of all TestMerges being invalid. - Fixed system users being able to lock themselves out by setting a password. Author: Cyberboss PullRequest: 1396 - Version: 5.1.0 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.4.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 10.0.0 NugetClient: 11.0.0 WebControlPanel: 4.0.0 Changes: - Descriptions: - Performance improvement upon receiving Discord messages from channels bots can read. - The web control panel can no longer be accessed if it is disabled. - 'Fixed the `WD: Reattaching...` message being sent before the bot connection could be completed and thus never displaying.' Author: alexkar598 PullRequest: 1394 - Version: 5.0.4 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.3.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 9.6.1 NugetClient: 10.7.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - The setup wizard no longer refers to version 4 of the server. Author: Cyberboss PullRequest: 1391 - Descriptions: - Fixed mapping Discord channel ID 0 not allowing bot commands to work on all channels. - Fixed `!tgs` common mention not working on Discord. - Potentially improved how GitHub deployments read for test merges. Author: Cyberboss PullRequest: 1393 - Version: 5.0.3 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.2.0 NugetCommon: NugetApi: 9.6.1 NugetClient: 10.7.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - Dropped `4` from various service runner names. Author: Cyberboss PullRequest: 1389 - Version: 5.0.2 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.2 NugetCommon: NugetApi: 9.6.1 NugetClient: 10.7.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - '`Cache-Control` has been set to `no-cache` for all API responses.' Author: Cyberboss PullRequest: 1388 - Version: 5.0.1 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.2 NugetCommon: NugetApi: 9.6.1 NugetClient: 10.7.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - Fixed a startup crash if no command line arguments were provided to Tgstation.Server.Host. - Fixed an ObjectDisposedException issue with watchdog shutdown. Author: Cyberboss PullRequest: 1385 - Version: 5.0.0 ComponentVersions: Core: 5.0.0 HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.2 NugetCommon: NugetApi: 9.6.1 NugetClient: 10.7.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - '**The .NET version used to run TGS has been upgraded from 3.1 to 6.0.** You **MUST** install the [ASP.NET 6.0 runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) into whatever system you are running TGS on _prior_ to using the built in updater. Simply pulling the latest docker image will suffice for docker users.' - Docker image debian distro updated from buster to bullseye-slim. - The console runner will not be updated to use .NET 6 without a full reinstall of the TGS binaries. - Improved memory usage when downloading BYOND binaries. Author: Cyberboss PullRequest: 1383 - Version: 4.19.1 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.6.0 NugetClient: 10.7.0 WebControlPanel: 3.1.0 Changes: - Descriptions: - Fixed the DD response model not containing whether the profiler would autostart Author: AffectedArc07 PullRequest: 1382 - Version: 4.19.0 ComponentVersions: HttpApi: 9.6.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.6.0 NugetClient: 10.7.0 WebControlPanel: 3.1.0 Changes: - Descriptions: - Adds -verbose argument to Dream Daemon by default. Author: out-of-phaze PullRequest: 1379 - Descriptions: - Added the ability to launch DreamDaemon with the `-profile` option. Author: Cyberboss PullRequest: 1380 - Descriptions: - Fixed bad progress values for jobs crashing the process. Author: Cyberboss PullRequest: 1381 - Version: 4.18.0 ComponentVersions: Core: 4.18.0 HttpApi: 9.5.0 DreamMakerApi: 6.0.5 Configuration: 4.2.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.5.0 NugetClient: 10.6.0 WebControlPanel: 3.1.0 Changes: - Descriptions: - Adds Invision Community as an OAuth Provider. Author: AffectedArc07 PullRequest: 1370 - Descriptions: - Added the option to take a process dump before the watchdog kills a non-responsive server. Author: Cyberboss PullRequest: 1373 - Version: 4.17.2 ComponentVersions: HttpApi: 9.4.0 DreamMakerApi: 6.0.5 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.4.0 NugetClient: 10.5.0 WebControlPanel: 3.1.0 Changes: - Descriptions: - The `revision` chat command now shows the compile job's origin commit SHA as opposed to the local one. Author: Cyberboss PullRequest: 1363 - Descriptions: - Fixed GitHub deployments not authenticating correctly with a repository access token. Author: Cyberboss PullRequest: 1371 - Version: 4.17.1 ComponentVersions: Core: 4.17.1 HttpApi: 9.4.0 DreamMakerApi: 6.0.5 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.4.0 NugetClient: 10.5.0 WebControlPanel: 3.1.0 Changes: - Descriptions: - Jobs now publish inner exceptions. This will be useful for diagnosing TM fails. Author: AffectedArc07 PullRequest: 1368 - Version: 4.17.0 ComponentVersions: Core: 4.17.0 HttpApi: 9.4.0 DreamMakerApi: 6.0.5 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.4.0 NugetClient: 10.5.0 WebControlPanel: 3.1.0 Changes: [] - Version: 4.16.2 ComponentVersions: Core: 4.16.2 HttpApi: 9.3.1 DreamMakerApi: 6.0.4 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.2 NugetClient: 10.4.1 WebControlPanel: 3.1.0 Changes: [] - Version: 4.16.1 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 3.1.0 Changes: - Descriptions: - Fixed being able to bypass the checkout repository permissions with other repository permissions. - Fixed checking out a remote branch not setting tracking details correctly. Author: Cyberboss PullRequest: 1358 - Version: 4.16.0 ComponentVersions: Core: 4.15.7 HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.1.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 3.0.0 Changes: - Descriptions: - Updated /tg/forums OAuth to it's new, standard implementation. External user IDs set in TGS remain the `phpbb_username` for backwards compatibility. Author: Cyberboss PullRequest: 1346 - Version: 4.15.7 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 2.3.0 Changes: - Descriptions: - Rolled back libgit2 version to mitigate an issue that prevents repositories from being cloned on some systems. Author: Cyberboss PullRequest: 1347 - Version: 4.15.6 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 2.3.0 Changes: - Descriptions: - Updated libgit2 version in hopes of remedying a bug where bad git objects can appear. Author: Cyberboss PullRequest: 1344 - Version: 4.15.5 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 2.3.0 Changes: - Descriptions: - Fixed chat channels not mapping when onlining an instance Author: Cyberboss PullRequest: 1342 - Version: 4.15.4 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.1 NugetClient: 10.4.1 WebControlPanel: 2.3.0 Changes: - Descriptions: - Failed OAuth handshakes for Discord and Keycloak now log the bodies of responses they receive from the server. - Fixed Discord channels failing to map creating an error once the instance goes offline. - Fixed issues with checkout job progress initialization. Author: Cyberboss PullRequest: 1340 - Version: 4.15.3 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.0 NugetClient: 10.3.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Fixed repository jobs lacking progress. - Fixed a very spammy log message. - Fixed a NullReferenceException if a chat message was received while an instance was shutting down. Author: Cyberboss PullRequest: 1339 - Version: 4.15.2 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.0 NugetClient: 10.3.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Job progress out-of-range issues no longer fail jobs. Author: Cyberboss PullRequest: 1338 - Version: 4.15.1 ComponentVersions: HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.0 NugetClient: 10.3.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Fixed jobs crashing due to reporting invalid progress values. Author: Cyberboss PullRequest: 1335 - Version: 4.15.0 ComponentVersions: Core: 4.15.0 HttpApi: 9.3.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.3.0 NugetClient: 10.3.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - You can now update to sever versions >= 4.X.X. Author: Cyberboss PullRequest: 1325 - Descriptions: - Fixed repository settings set during clone not being saved. Author: Cyberboss PullRequest: 1330 - Descriptions: - Converted a possible NullReferenceException while test merging to a proper job error. Author: Cyberboss PullRequest: 1333 - Version: 4.14.3 ComponentVersions: HttpApi: 9.2.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.2.0 NugetClient: 10.2.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Invalid Discord tokens will now fail the chat bot re-connection job. - Event scripts and DMAPI events now trigger in parallel. - Fixed certain scripts exiting with a non-zero exit code crashing the watchdog monitor. Author: Cyberboss PullRequest: 1324 - Version: 4.14.2 ComponentVersions: HttpApi: 9.2.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.2.0 NugetClient: 10.2.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Fixed the auto-updater failing on the repository pull due to database conflicts. - Fixed users that previously interacted with chat bots during their connection via direct message getting a direct message about server updates/restarts. Author: Cyberboss PullRequest: 1320 - Version: 4.14.1 ComponentVersions: HttpApi: 9.2.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.2.0 NugetClient: 10.2.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - Fixed a stack overflow crash when failing to connect to an IRC server. - Fixed an issue where the repository auto-update job could fail. - Fixed a race condition where ghost chat providers could linger constantly attempting reconnection. Author: Cyberboss PullRequest: 1311 - Version: 4.14.0 ComponentVersions: Core: 4.14.0 HttpApi: 9.2.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.2.0 NugetClient: 10.2.0 WebControlPanel: 2.3.0 Changes: - Descriptions: - 'Added `PreDreamMaker` event script which runs before DreamMaker and after CodeModifications. Parameters: Output directory, repository origin url, BYOND version used.' - Added BYOND version used as a parameter to `PreCompile`, `CompileFailure`, and `PostCompile` scripts. Author: Cyberboss PullRequest: 1297 - Descriptions: - Fixed the issue with Discord bots not reconnecting. - Fixed multiple Discord bots in the same instance not working correctly. - Fixed a very very rare deadlock where a job could be cancelled before it was started. - Fixed a blocking IRC operation holding up the entire server. - 'Known issue: Enabling a Discord bot with an invalid token will not alert the user at continually retry the connection. Be careful as this can result in temporary Discord API IP bans.' Author: Cyberboss PullRequest: 1302 - Descriptions: - DreamDaemon is now launched with the `-logself` option. Author: Cyberboss PullRequest: 1305 - Descriptions: - Deployments now have a timeout. If a deployment exceeds this duration, it will be cancelled with an error. - Existing instances have a deployment timeout of 1 hour. - Multiple chat bots in the same instance now process messages all at once instead of serially. Author: Cyberboss PullRequest: 1306 - Descriptions: - Fixed submodule update errors due to bad credentials not being translated to the correct error code. - Improved submodule update edge case error reset handling. - Fixed bugs relating to updating the DB when a deployment is triggered on an unrecognized commit SHA. Author: Cyberboss PullRequest: 1307 - Version: 4.13.0 ComponentVersions: Core: 4.13.0 HttpApi: 9.1.0 DreamMakerApi: 6.0.4 Configuration: 4.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.1.0 NugetClient: 10.1.0 WebControlPanel: 2.2.0 Changes: - Descriptions: - Added the ability to auto ingest logs into an elasticsearch stack Author: AffectedArc07 PullRequest: 1277 - Descriptions: - Fixed a deadlock when trying to update a server swarm that only had a controller and no nodes. Author: Cyberboss PullRequest: 1283 - Descriptions: - On POSIX systems, sending `SIGUSR1` to the `Tgstation.Server.Host` process will now shut down TGS after gracefully awaiting DreamDaemon to shutdown (or timing out). Author: Cyberboss PullRequest: 1288 - Descriptions: - Removes annoying spam message when the bot ignores a command in a channel it doesn't respond in. Author: MrStonedOne PullRequest: 1289 - Descriptions: - Sessions are now persisted at launch rather than reattach events. This allows TGS to reattach in the case of TGS itself crashing. Previously, existing DreamDaemon instances would need to be manually terminated before being able to be launched by TGS again. Author: Cyberboss PullRequest: 1291 - Descriptions: - Added the `RepoSubmoduleUpdate` event. Fires _after_ a _single_ submodule is updated. Does not fire on root repository cloning. Parameter is the submodule name. Author: Cyberboss PullRequest: 1292 - Version: 4.12.1 ComponentVersions: HttpApi: 9.0.1 DreamMakerApi: 6.0.4 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.2.0 Changes: - Descriptions: - Fixes a potential crash with new deployments in the Windows watchdog. Author: Cyberboss PullRequest: 1282 - Version: 4.12.0 ComponentVersions: HttpApi: 9.0.1 DreamMakerApi: 6.0.4 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.2.0 Changes: - Descriptions: - Fixed recent releases not bundling the default `appsettings.yml` file correctly. - Fixed control panel startup issues when not having a channel set. Author: Cyberboss PullRequest: 1274 - Version: 4.11.1 ComponentVersions: Core: 4.11.0 HttpApi: 9.0.1 DreamMakerApi: 6.0.4 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: - Descriptions: - Fixed being unable to create IRC chat bots without a password. Author: Cyberboss PullRequest: 1258 - Descriptions: - Fixed an issue where Discord chat bot re-connection jobs would endlessly queue up and never complete. Author: Cyberboss PullRequest: 1261 - Version: 4.11.0 ComponentVersions: Core: 4.11.0 HttpApi: 9.0.1 DreamMakerApi: 6.0.4 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: - Descriptions: - Added an event for successful production DD launches (DreamDaemonLaunch). Has the DD PID as an argument Author: AffectedArc07 PullRequest: 1251 - Version: 4.10.6 ComponentVersions: HttpApi: 9.0.1 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: - Descriptions: - Fixed event scripts for the `DeploymentComplete` and `CompileFailed` events failing to execute. Author: Cyberboss PullRequest: 1247 - Version: 4.10.5 ComponentVersions: Core: 4.10.5 HttpApi: 9.0.1 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: [] - Version: 4.10.4 ComponentVersions: HttpApi: 9.0.1 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: - Descriptions: - Fixed an occasional 500 error while generating the response for cancelled jobs. Author: Cyberboss PullRequest: 1239 - Version: 4.10.3 ComponentVersions: Core: 4.10.3 HttpApi: 9.0.1 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: [] - Version: 4.10.2 ComponentVersions: Core: 4.10.2 HttpApi: 9.0.0 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.5 Changes: [] - Version: 4.10.1 ComponentVersions: HttpApi: 9.0.0 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.4 Changes: - Descriptions: - Fixed unauthorized GET `/` requests always redirecting to the web control panel if it was enabled. - Removed reference to the "master" branch from the job name when cloning a repository with the default branch. Author: Cyberboss PullRequest: 1233 - Version: 4.10.0 ComponentVersions: Core: 4.10.0 HttpApi: 9.0.0 DreamMakerApi: 6.0.3 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: 9.0.0 NugetClient: 10.0.0 WebControlPanel: 2.1.4 Changes: - Descriptions: - Instances may now only have names set to a max length of 100 characters. **Previously existing instances that do not meet this requirement will have theirs truncated.** Author: Cyberboss PullRequest: 1225 - Version: 4.9.3 ComponentVersions: HttpApi: 8.3.0 DreamMakerApi: 6.0.2 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.1.4 Changes: - Descriptions: - Fixed an error when stopping the watchdog with event scripts for `WatchdogDetach` or `WatchdogShutdown` present. Author: Cyberboss PullRequest: 1228 - Version: 4.9.2 ComponentVersions: HttpApi: 8.3.0 DreamMakerApi: 6.0.2 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.1.4 Changes: - Descriptions: - Fixed swarm settings saved by the setup wizard being invalid. - Bad credentials should now throw cleaner errors for git remote operations. Author: Cyberboss PullRequest: 1224 - Version: 4.9.1 ComponentVersions: HttpApi: 8.3.0 DreamMakerApi: 6.0.2 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.1.4 Changes: - Descriptions: - Fixed the server attempting to use unset values of the `General:GitHubAccessToken` config. - Fixed the setup wizard overriding the default value of `ControlPanel:Channel`. - Fixed a force-run of the setup wizard overwriting `appsettings.Production.json` with YAML. Author: Cyberboss PullRequest: 1218 - Descriptions: - Fixed the repository model's `pushTestMergeCommits` setting not being respected and always on. Author: Cyberboss PullRequest: 1222 - Descriptions: - Slightly improved file copying performance. Author: Cyberboss PullRequest: 1223 - Version: 4.9.0 ComponentVersions: Core: 4.9.0 HttpApi: 8.3.0 DreamMakerApi: 6.0.2 Configuration: 3.0.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.1.4 Changes: [] - Version: 4.8.2 ComponentVersions: HttpApi: 8.3.0 DreamMakerApi: 6.0.1 Configuration: 2.3.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.0.1 Changes: - Descriptions: - Fixed the `General:GitHubAccessToken` never actually being utilized. - Fixed being unable to properly commit updates if they were initiated from the swarm controller. Author: Cyberboss PullRequest: 1209 - Version: 4.8.1 ComponentVersions: HttpApi: 8.3.0 DreamMakerApi: 6.0.1 Configuration: 2.3.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.0.1 Changes: - Descriptions: - Fixed servers <= 4.7.X updating with `General:SetupWizardMode` set to `Autodetect` having their setup wizards run again. - Fixed swarmed servers colliding ports across nodes. Author: Cyberboss PullRequest: 1208 - Version: 4.8.0 ComponentVersions: Core: 4.8.0 HttpApi: 8.3.0 DreamMakerApi: 6.0.0 Configuration: 2.3.0 InteropApi: 5.3.0 HostWatchdog: 1.1.1 NugetCommon: NugetApi: NugetClient: 9.2.0 WebControlPanel: 2.0.1 Changes: - Descriptions: - Releases going forward will now note pull request authors for credit. - 'Kudos to contributors who have helped with v4 in the past: @MrStonedOne, @AffectedArc07, @alexkar598, @jamie-34254, @ZeWaka, @vuonojenmustaturska, @bobbahbrown, @Fikou, @Pyko1' Author: Cyberboss PullRequest: 1196 - Descriptions: - Added the `WatchdogCrash` event. Triggers when the DreamDaemon process exits for reasons other than a call to `TgsEndProcess()`. - Added the `WorldReboot` event. Triggers on calls to `TgsReboot()`. - Added the `WorldPrime` event. Triggers on calls to `TgsInitializationComplete()`. - Eliminated scenarios where watchdog events would go unhandled due to a previous event still being processed. Author: Cyberboss PullRequest: 1200 - Descriptions: - The new configuration version is 2.3.0. - Configuration files are now stored in YAML format. Existing JSON config files will still be loaded with legacy support. Author: AffectedArc07 PullRequest: 1202 - Descriptions: - The service first time experience now logs if you're missing the required dotnet runtime. Author: Cyberboss PullRequest: 1203 - Descriptions: - Fixed `-public` always being set in DreamDaemon command lines. Sometimes twice, other times overriding the intended `-invisible` setting during deployments. Author: Cyberboss PullRequest: 1204 - Version: 4.7.3 ComponentVersions: Core: 4.7.3 HttpApi: 8.2.0 DreamMakerApi: 5.2.10 Configuration: 2.2.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 9.1.1 WebControlPanel: 2.0.1 Changes: [] - Version: 4.7.2 ComponentVersions: Core: 4.7.2 HttpApi: 8.1.2 DreamMakerApi: 5.2.10 Configuration: 2.2.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 9.1.1 WebControlPanel: 2.0.1 Changes: [] - Version: 4.7.1 ComponentVersions: HttpApi: 8.1.2 DreamMakerApi: 5.2.10 Configuration: 2.2.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 9.1.1 WebControlPanel: 2.0.1 Changes: - Descriptions: - Fixed a startup exception that could happen if the `Security:OAuth` configuration section was set to `null`. Author: Cyberboss PullRequest: 1187 - Version: 4.7.0 ComponentVersions: Core: 4.7.0 HttpApi: 8.1.2 DreamMakerApi: 5.2.10 Configuration: 2.2.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 9.1.1 WebControlPanel: 2.0.1 Changes: - Descriptions: - Added the `GitHub` OAuth provider. Create OAuth apps at https://github.com/settings/developers - Added the `Discord` OAuth provider. Create OAuth apps at https://discord.com/developers/applications - Added the `TGForums` OAuth provider. Does NOT use `ClientId` config. See documentation at https://tgstation13.org/phpBB/viewtopic.php?f=45&t=9922&p=582075 - 'Added the `Keycloak` OAuth provider. Uses `ServerUrl` config. A somewhat simple guide to setting this up can be found here: https://plugins.miniorange.com/keycloak-single-sign-on-wordpress-sso-oauth-openid-connect (Note, the user grouping bits may be skipped).' - Added missing v4.5.X downgrade migration. - Added informative logging when users are created/updated. - ':cl:' - ':cl: HTTP API' - Header names are now case-sensitive. - Fixed being unable to clear repository access strings. - Fixed GitHub API errors not being returned if a server update failed. - GET `/` no longer requires authentication. - The `ServerInformation` model now contains the `oAuthProviderInfos` field. This is a map of OAuth provider names to their `clientId`s and `redirectUri`s (OAuthProviderInfo model). - Added a new field to the `User` model, `oAuthConnections`. This is a list of `OAuthConnection` models that indicate `externalUserId`s the user may use to authentication along with the `provider` ID of the OAuth provider. A user may have many `OAuthConnection`s with the same `provider` but the same `provider`/`externalUserId` pair can not be added to multiple users. - Added Administration right 64 which allows users to edit their own `oAuthConnections`. This is a subset of right 1. - 'Added OAuth authentication. POST `/` with headers `Authorization: OAuth ` and `OAuthProvider: ` to receive a bearer token with extended duration.' - Added error code 95 for when one attempts to create `OAuthConnection`s on the `Admin` account as this is not allowed. - Added error code 96 for when a login attempt is made with a disabled OAuth provider. - Users may now be created with no passwords and system identifiers if they have an OAuthConnection set. A user cannot have it's password removed after having one set later. Author: Cyberboss PullRequest: 1152 - Descriptions: - Added `GitLab` test merging and merge request commenting support. Author: Cyberboss PullRequest: 1163 - Descriptions: - When resetting the admin user's password, it will now be removed from its UserGroup if it belonged to one. - Fixed bridge requests sometimes failing due to chat provider timeouts. Author: Cyberboss PullRequest: 1164 - Descriptions: - Added the swarm system. This allows a group of TGS servers to use the same database while maintaining separated instances. As a result, credentials that work on one server will work on any in the swarm. The swarm system only works if all servers are running the same TGS version. If an update is requested for one server in the swarm, all servers will be updated. - '**If a server has existing instances it should not join or leave a server swarm or it will lose access to these instances**. Please see the migration guide in the documentation.' Author: Cyberboss PullRequest: 1175 - Descriptions: - Fixed the user limit not actually applying. Author: Cyberboss PullRequest: 1178 - Version: 4.6.3 ComponentVersions: HttpApi: 7.4.0 DreamMakerApi: 5.2.9 Configuration: 2.1.1 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.4.0 WebControlPanel: 1.0.1 Changes: - Descriptions: - Fixed an internal server error when attempting to gracefully restart an non-Online watchdog. Author: Cyberboss PullRequest: 1174 - Version: 4.6.2 ComponentVersions: HttpApi: 7.4.0 DreamMakerApi: 5.2.9 Configuration: 2.1.1 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.4.0 WebControlPanel: 1.0.1 Changes: - Descriptions: - Fixed schema downgrades for various versions. Author: Cyberboss PullRequest: 1162 - Version: 4.6.1 ComponentVersions: HttpApi: 7.4.0 DreamMakerApi: 5.2.9 Configuration: 2.1.1 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.4.0 WebControlPanel: 1.0.1 Changes: - Descriptions: - Fixed having a large amount of DreamMaker warnings/errors breaking Discord deployment embeds and failing the job. Author: Cyberboss PullRequest: 1148 - Descriptions: - Fixed a rare race condition allowing for the internal watchdog startup to run twice and crash the monitor. Author: Cyberboss PullRequest: 1154 - Descriptions: - Fixed a NullReferenceException while test merging multiple PRs. Author: Cyberboss PullRequest: 1159 - Version: 4.6.0 ComponentVersions: Core: 4.6.0 HttpApi: 7.4.0 DreamMakerApi: 5.2.8 Configuration: 2.1.1 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.4.0 WebControlPanel: 1.0.1 Changes: - Descriptions: - Having the configuration option `General:HostApiDocumentation` enabled will no longer cause HTTP requests to the server to 500. - Fixed a deadlock in the job manager. - Fixed having `General:SetupWizardMode` set to `Only` not being respected. Author: Cyberboss PullRequest: 1139 - Descriptions: - The setup wizard now waits until the confugration reloads before exiting. This caused issues where the first run of the server could possibly default to using incorrect database configurations. Author: Cyberboss PullRequest: 1142 - Version: 4.5.4 ComponentVersions: HttpApi: 7.3.2 DreamMakerApi: 5.2.6 Configuration: 2.1.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.3.2 WebControlPanel: 0.4.0 Changes: - Descriptions: - The `WatchdogLaunch` event script will now complete before DreamDaemon starts. Author: Cyberboss PullRequest: 1125 - Version: 4.5.3 ComponentVersions: HttpApi: 7.3.2 DreamMakerApi: 5.2.6 Configuration: 2.1.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.3.2 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed HeadInclude.dm and TailInclude.dm always being put at the start of the .dme if non-Windows line endings were used. Author: Cyberboss PullRequest: 1122 - Version: 4.5.2 ComponentVersions: HttpApi: 7.3.2 DreamMakerApi: 5.2.6 Configuration: 2.1.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.3.2 WebControlPanel: 0.4.0 Changes: - Descriptions: - Event script arguments that contain spaces should now be properly quoted before being invoked. Author: Cyberboss PullRequest: 1120 - Version: 4.5.1 ComponentVersions: HttpApi: 7.3.1 DreamMakerApi: 5.2.5 Configuration: 2.1.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.3.1 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed repository's `createGitHubDeployments` property not being returned in responses. Author: Cyberboss PullRequest: 1111 - Version: 4.5.0 ComponentVersions: HttpApi: 7.3.0 DreamMakerApi: 5.2.4 Configuration: 2.1.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.3.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Added a Discord meme. Author: Cyberboss PullRequest: 1102 - Descriptions: - Fixed a NullReferenceException if the PosixWatchdog failed to launch. Author: Cyberboss PullRequest: 1106 - Version: 4.4.5 ComponentVersions: HttpApi: 7.2.3 DreamMakerApi: 5.2.3 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed an issue with the Discord chat provider where certain mentions were not being parsed correctly. Author: Cyberboss PullRequest: 1101 - Version: 4.4.4 ComponentVersions: HttpApi: 7.2.0 DreamMakerApi: 5.2.3 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - On Windows, DreamDaemon will be allowed through the firewall automatically. This will only happen for BYOND versions installed after this patch. - Fixed a 500 response that should have returned ErrorCode 2 in DELETE /Configuration. Author: Cyberboss PullRequest: 1099 - Version: 4.4.3 ComponentVersions: HttpApi: 7.1.0 DreamMakerApi: 5.2.3 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.1.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed requests failing if instance online state did not match with the database. - Fixed sending invalid revision information over the initial bridge. - Fixed a rare watchdog issue that came from incorrectly measuring the time it took for DreamDaemon to become responsive. - If all test merges have been merged on remote at the time of an auto-update, a hard reset will be performed. Previously, a custom merge commit would be created. - Improved tracking of most recent origin commit when performing local merges. - Fixed EventNotification type 0 not being serialized over topic requests. Author: Cyberboss PullRequest: 1096 - Version: 4.4.2 ComponentVersions: Core: 4.4.2 HttpApi: 7.1.0 DreamMakerApi: 5.2.3 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.1.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed a mountain of potential race conditions involving instance online state and API requests. - Fixed an rare issue where a reattach startup would terminate DreamDaemon if the server could not bind to the API port. - Fixed a rare NullReferenceException when reattaching. - Fixed an potential issue regarding DreamDaemon log reading on Windows. - Instance move jobs now only rename the directory. - Fixed an issue where repository deletion could be cancelled if the request to start the job was aborted right as the response came in. - 'Creating instances no longer uppercases the path on disk on Windows (Known issue #1074).' - Jobs will no longer start until instance manager startup is complete. - Fixed disabled chat bots connecting when their instance onlined. - Fixed an issue that manifested as the instance's chat bot being online and non-responsive. - Fixed the configuration option `General:RestartTimeout` not being respected in some cases. - Fixed a rare issue with the chat message handler crashing if messages were processed to quickly. - Fixed an issue where process suspension failures would leak thread handles on Windows. - Fixed merged pull requests continuing to appear in server metadata after an automatic update. - Fixed being able to download any file on the system with the log downloading endpoint. - Fixed a potential InvalidOperationException when in process dump jobs that should have been translated as ErrorCode 89. Author: Cyberboss PullRequest: 1075 - Version: 4.4.1 ComponentVersions: HttpApi: 7.0.1 DreamMakerApi: 5.2.2 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed BYOND topic timeouts potentially being constantly set to 0 from bad configs. - Fixed an issue where exceptions that crash the server would fail to be re-thrown at the top level. - Fixed a potential NullReferenceException when on-lining instances. - Instance on-lining errors at server startup will no longer prevent the server from starting. - Fixed a rare issue where reattaching would fail instance startup due to an ArgumentNullException. Author: Cyberboss PullRequest: 1072 - Version: 4.4.0 ComponentVersions: Core: 4.4.0 HttpApi: 7.0.1 DreamMakerApi: 5.2.2 Configuration: 2.0.0 InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 8.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Improved overall performance by pooling usage of the internal ORM object. Author: Cyberboss PullRequest: 1049 - Descriptions: - Added the ability to create process mini/core dumps. These are stored in an instances `Diagnostics/ProcessDumpFiles` directory. - '**The gdb package (specifically the gcore executable) is now a POSIX dependency to support creating process dump files.**' Author: Cyberboss PullRequest: 1051 - Descriptions: - 'Added an event script for when the watchdog launches: `WatchdogLaunch`.' - Fixed watchdog shutdown and reattach event scripts not being invoked. Author: Cyberboss PullRequest: 1053 - Descriptions: - Topic request timeouts are now stored in the database as a per-instance setting. Initial value will be based off the config which will remain as a default value for new instances. - Fixed manually restarting the watchdog sending two redundant chat messages. Author: Cyberboss PullRequest: 1055 - Descriptions: - Fixed some inconsistencies with watchdog reattaching. Author: Cyberboss PullRequest: 1057 - Descriptions: - The setup wizard will now automatically fill in the current `General:ConfigVersion`. Author: Cyberboss PullRequest: 1062 - Descriptions: - The experimental watchdog has been removed. - Deployment will no longer duplicate the compiled game as it is no longer necessary. Author: Cyberboss PullRequest: 1066 - Descriptions: - Aborted HTTP requests that result in database query abortion no longer finish as 409. - GitHub API requests no longer make some requests/jobs take longer to abort than they should. Author: Cyberboss PullRequest: 1069 - Descriptions: - Added the PosixWatchdog which brings the Windows style seamless updates to Linux. - Fixed deploying .dmbs with a different name as the current .dmb causing errors on Windows. - Monitor crashes, though rare, will no longer unnecessarily reboot DreamDaemon. - Fixed automatic .dme discovery for files not in the repository root. - Cancelled deployments now have a nicer error message in their Discord embeds. Author: Cyberboss PullRequest: 1070 - Version: 4.3.6 ComponentVersions: HttpApi: 6.6.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed reading active jobs generating server errors. Author: Cyberboss PullRequest: 1056 - Version: 4.3.5 ComponentVersions: HttpApi: 6.6.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed discord deployment message text not being updated. Author: Cyberboss PullRequest: 1054 - Version: 4.3.4 ComponentVersions: HttpApi: 6.6.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Added a text message to Discord deployment embeds. - Deployment embeds will no longer show "ETA" in the footer if it cannot be calculated yet. Author: Cyberboss PullRequest: 1048 - Version: 4.3.3 ComponentVersions: HttpApi: 6.6.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - You can no longer read chat bots from an instance other than the one in your request headers. - Fixed a hang that could occur if a chat bot attempted to reconnect at the same time an instance was being offlined. Author: Cyberboss PullRequest: 1047 - Version: 4.3.2 ComponentVersions: Core: 4.3.2 HttpApi: 6.6.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Postgres support has been enabled. - Fixed a database constraint issue when dropping instances. - Fixed a typo in the standard message for API ErrorCode 52. - '**Configuration field `Database:MySqlServerVersion` renamed to `Database:ServerVersion`. Now also supports Postgres.**' - Fixed configuration option `General:RestartTimeout` not being respected. Author: Cyberboss PullRequest: 1030 - Descriptions: - Added scripts for all events. Author: Cyberboss PullRequest: 1034 - Descriptions: - Attempting to restart a stopped watchdog will now result in API error code 80 from the job. - Fixed a basic/Windows watchdog startup failure when reattaching to a set of servers launched with the experimental watchdog. Author: Cyberboss PullRequest: 1036 - Descriptions: - Fixed a `NullReferenceException` when deploying with no repository present. Author: Cyberboss PullRequest: 1040 - Descriptions: - Added Windows DreamDaemon output logging to Windows. Author: Cyberboss PullRequest: 1042 - Descriptions: - Fixed log files containing the string `{Date}`. - Fixed detection of services running on requested DreamDaemon port. - Fixed the DMAPI not being notified of instance renaming. - Fixed being unable to repeatedly change the auto update interval. - Heavily enriched log message context. Author: Cyberboss PullRequest: 1045 - Version: 4.3.1 ComponentVersions: HttpApi: 6.5.1 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.1.1 WebControlPanel: 0.4.0 Changes: - Descriptions: - You can now change the watchdog heartbeat interval and startup timeout without triggering a soft restart. - Fixed a watchdog crash loop that could potentially occur during the commit phase of deployment. - Changing the auto-update interval will no longer cancel pull/deploy jobs that are in progress. - Fixed an auto update failure that could occur if auto updates began with the latest origin commit and test merges active. - Fixed a crash that could occur as a result of a race condition when the watchdog reattaches. - Fixed a watchdog crash lop that could potentially occur when updating DreamDaemon settings. - Fixed a Windows watchdog crash that would occur after the first deployment after a reattach. - Fixed the watchdog detach event not being sent to the DMAPI. Author: Cyberboss PullRequest: 1031 - Version: 4.3.0 ComponentVersions: HttpApi: 6.5.0 DreamMakerApi: 5.2.2 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.1.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Deployment messages with Discord bots are now delivered via an updating rich embed. Author: Cyberboss PullRequest: 1019 - Descriptions: - The default config value for `General:RestartTimeout` has been changed from 5s to 60s. **It is recommended server operators make this change as well since if it is hit, running DreamDaemon processes may become orphaned during reboot/update operations and must be killed manually before being launched again with TGS**. - Added failed query retrying to the MSSQL database backend. Author: Cyberboss PullRequest: 1021 - Descriptions: - HTTP/2 has been enabled in addition to HTTP/1 for the web server. - The API port has a new configuration location. **Please migrate from the legacy `Kestrel` configuration section to the new `General:ApiPort` option**. Author: Cyberboss PullRequest: 1022 - Descriptions: - This release includes the framework for supporting PostgresSql as a DB backend. It is currently disabled due to an upstream bug that will be fixed in a few days (https://github.com/npgsql/efcore.pg/issues/1392). Author: Cyberboss PullRequest: 1029 - Version: 4.2.8 ComponentVersions: HttpApi: 6.4.1 DreamMakerApi: 5.2.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.0.1 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed a bug that prevented the repository locking system from working correctly. Author: Cyberboss PullRequest: 1024 - Version: 4.2.7 ComponentVersions: HttpApi: 6.4.1 DreamMakerApi: 5.2.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.0.1 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed some issues with file logging (i.e. limit preventing rollover). Author: Cyberboss PullRequest: 1020 - Version: 4.2.6 ComponentVersions: HttpApi: 6.4.1 DreamMakerApi: 5.2.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed a hang in deployment code. Author: Cyberboss PullRequest: 1018 - Version: 4.2.5 ComponentVersions: HttpApi: 6.4.1 DreamMakerApi: 5.2.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 7.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed a deployment crash that could occur when posting GitHub comments. - Log files will now roll over at 50MB instead of 1GB. Author: Cyberboss PullRequest: 1013 - Descriptions: - Fixed an issue where the database would not save more than one test merge added if they were added in bulk. - Fixed the setup wizard incorrectly disabling the Windows watchdog. If you have a Windows installation, please set `UseBasicWatchdogOnWindows` to `false` in your configuration. - The experimental watchdog has been disabled until it is functional. Author: Cyberboss PullRequest: 1017 - Version: 4.2.4 ComponentVersions: HttpApi: 6.4.0 DreamMakerApi: 5.2.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.3.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Improved setup wizard wording so as to not imply CREATE DATABASE is needed Author: Cyberboss PullRequest: 1005 - Descriptions: - The patch includes a refactor to the job system that may fix the issue with deployments stalling for long periods of time. - The watchdog should no longer enter crash loops when shutting down the server. Author: Cyberboss PullRequest: 1010 - Version: 4.2.3 ComponentVersions: HttpApi: 6.4.0 DreamMakerApi: 5.2.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.3.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - The "Deployment Complete" chat message will no longer be shown before the new .dmb is available to the watchdog. Author: Cyberboss PullRequest: 998 - Descriptions: - Fixed the DreamDaemon model possibly not having `activeCompileJob => job => stoppedAt` set. - Implemented a workaround for a watchdog crash that occurs when restarting TGS. Author: Cyberboss PullRequest: 1000 - Version: 4.2.2 ComponentVersions: HttpApi: 6.3.0 DreamMakerApi: 5.1.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.2.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed DiscordProvider crashing if the bot was kicked from a guild. - Fixed DMAPI topic responses not being de-serialized correctly. - Changed default DreamDaemon startup timeout for new instances to 60s. - Added a check for if the DreamDaemon port can be bound to before launching. - Windows headless DreamDaemon issue detection will no longer trigger for pagers running on other user accounts. Author: Cyberboss PullRequest: 991 - Version: 4.2.1 ComponentVersions: HttpApi: 6.2.0 DreamMakerApi: 5.1.1 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.1.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed an issue where the `Live` game folder may get cleaned during instance startup on Windows. - Fixed instance cleanup having the potential to run past the servers lifetime. - Added a DreamDaemon launch error if the BYOND pager is detected to be running on Windows. This causes a stall when starting .dmbs. - Fixed a rare NullReferenceException when offlining instance chat bots. - Script output will now be included in job error details when they are the cause of failed actions. - Fixed an issue where topic call responses could not be received. Author: Cyberboss PullRequest: 987 - Version: 4.2.0 ComponentVersions: HttpApi: 6.1.0 DreamMakerApi: 5.0.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Added DreamDaemon heartbeats and automatic restarts (Along with associated right). The watchdog will automatically restart if 4 heartbeats are missed. - Minor DMAPI update to properly support heartbeats though it is not mandatory. - Fixed being unable to suspend and resume processes on POSIX systems. - Fixed a crash that could occur if the server was shutdown with watchdogs running waiting on topic requests to complete. - Minor C# client patch for moving some API properties across their inheritance tree. - Fixed consistency issues surrounding graceful watchdog actions. - Attempting to download invalid BYOND versions will no longer create empty directories for them. - Fixed being able to make API requests before initial instance startup had completed. Author: Cyberboss PullRequest: 975 - Descriptions: - Fixed a rare NullReferenceException when launching DreamDaemon. - Enabled connection resiliency for MySQL connections. This was causing heavy instability across the server. - Fixed a potential issue where chat bots could report the watchdog was starting instead of restarting. - Fixed deployment messages showing an extra `.0` after the BYOND version. Author: Cyberboss PullRequest: 977 - Version: 4.1.4 ComponentVersions: HttpApi: 6.1.0 DreamMakerApi: 5.0.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed double clicking the service executable (or running with `-i -c`) would not install the service. - Fixed getting an incorrect response when attempting to create system identity users on POSIX. Author: Cyberboss PullRequest: 974 - Version: 4.1.1 ComponentVersions: HttpApi: 6.1.0 DreamMakerApi: 5.0.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Fixed being unable to change chat bot channel limits once created. - Fixed the SetChatBotLimit permission not being able to be used on its own. - Fixed being unable to create system users. - Fixed an internal server error when listing instances with low permissions. Author: Cyberboss PullRequest: 969 - Version: 4.1.0 ComponentVersions: Core: 4.1.0 HttpApi: 6.1.0 DreamMakerApi: 5.0.0 Configuration: InteropApi: HostWatchdog: 1.1.0 NugetCommon: NugetApi: NugetClient: 6.0.0 WebControlPanel: 0.4.0 Changes: - Descriptions: - Most failed requests now come with an error code defined in the API spec. - We now independently version several internal components such as the REST and DM APIs. - A hard limit of 1000 UTF-8 characters have been added to most strings in models. - Improved server-side validation of many models. - It's no longer possible to set rights enums to invalidly high values. - It's no longer possible to create multiple users with the same system identifier. - Fixed chat bot names conflicting with those in separate instances. - Added configurable limits for the maximum number of users and instances in the server. Author: Cyberboss PullRequest: 920 - Descriptions: - The dotnet framework used has been upgraded to .NET Core 3.1. - SQLite support has been added, though a full relational database is still the recommended option. Author: Cyberboss PullRequest: 927 - Descriptions: - Added a startup error if the server detects it cannot create symbolic links - Added a startup error if the server detects it cannot create or load git repositories Author: Cyberboss PullRequest: 929 - Descriptions: - Added configurable limits for the number of chat bots in an instance and the number of channels in a chat bot. There are new permissions for these API fields. Author: Cyberboss PullRequest: 930 - Descriptions: - TGS now uses DMAPI v5.0.0. It has been rewritten to communicate via exclusively via HTTP, `/world/Topic()`, and `world.params`. Because of this, the ultrasafe security level is now supported. - Reattaching now remembers the launch security level. - Fixed the workarounds for trusted mode .dmbs that regressed. - CompileJob models now have the received DMAPI version in their dataset. - Fixed an issue where custom commands could become "de-synced". - If an instance is renamed, this updated will be reflected in the DMAPI. Author: Cyberboss PullRequest: 935 - Descriptions: - Added some logging to the script used when starting docker containers. Author: Cyberboss PullRequest: 936 - Descriptions: - The ServerInformation schema object now includes the minimum password length, instance, and user limits. - All version strings returned from the API are now in [semantic versioning](https://semver.org/) format. Returned versions in the BYOND model will have their patch number set to zero. - You can no longer downgrade to server versions below v4.1.0. Author: Cyberboss PullRequest: 940 - Descriptions: - Failed job may now include error codes. Author: Cyberboss PullRequest: 942 - Descriptions: - Fixed not being able to checkout remote branches other than the initially cloned branch. - Fixed an issue where checking out a specific SHA in the repository would be a no-op. Author: Cyberboss PullRequest: 943 - Descriptions: - You can now limit where instances may be installed in the configuration. Author: Cyberboss PullRequest: 945 - Descriptions: - Detaching an instance will no longer fail due to database integrity issues. Author: Cyberboss PullRequest: 946 - Descriptions: - Added support for joining IRC channels with keys. Author: Cyberboss PullRequest: 950 - Descriptions: - Automatic .dme detection is now recursive within a repository. - Fixed changing the reboot mode with the basic watchdog preventing staged compile jobs from being applied. - On POSIX, BYOND cache cleanup will now target the correct directory. - Retrieving compile job details after its job completes will now no longer possibly return out of date data. - Fixed issues with receiving BYOND topic responses. - Console logging is now asynchronous. This is good for performance. - Reduced memory requirements while sending BYOND topics. Author: Cyberboss PullRequest: 956 HostWatchdog: - Version: 1.4.0 Changes: - Descriptions: - The service runner now waits for TGS to fully initialize when starting. Author: Cyberboss PullRequest: 1610 - Version: 1.3.0 Changes: - Descriptions: - Sending SIGUSR1 or SIGUSR2 to the host watchdog now forwards the signal to the main server process. Author: Cyberboss PullRequest: 1554 - Descriptions: - Windows service command `128` is equivalent to stopping the service. - Windows service command `129` issues a graceful shutdown. The service will stop once all instances shutdown and instances will shutdown if their game servers are offline or once they call `/world/proc/TgsReboot()`. - Windows service command `130` will stop the service and leave DreamDaemon instances running. It can be started later to reattach them. - Added descriptions to `Tgstation.Server.Host.Service.exe` command line options. - Added `-p=XXX` option to `Tgstation.Server.Host.Service.exe` which can be used to pass arguments to the main server. - Improved `dotnet` executable searching. - 'Windows executables are now signed against the root certification authority maintained by @Cyberboss. Please consider [adding this CA](https://file.house/zpFb.cer) to your `Trusted Root Certificates` (OCSP Server: http://ocsp.dextraspace.net). Validate the thumbprint: `4b2e06b195a1c2535e9571797565c4cee84a2cd3`.' Author: Cyberboss PullRequest: 1572 - Descriptions: - Fixed manual Windows service setup always pointing the configuration directory to `C:/ProgramData/tgstation-server`. Author: Cyberboss PullRequest: 1608 - Descriptions: - Fix capitalization issue in systemd unit file that was keeping systemd from restarting tgs in certain cases. Author: MrStonedOne PullRequest: 1618 - Descriptions: - Fixed the console runner not working on Windows. Author: Cyberboss PullRequest: 1621 - Version: 1.2.1 Changes: - Descriptions: - Windows service is now installed as `Automatic` instead of `Automatic (Delayed Start)` to ensure faster startups. While not mandatory, you will have to change this manually for existing service installations in the Windows Service Control Panel. Author: Cyberboss PullRequest: 1434 - Version: 1.2.0 Changes: - Descriptions: - The service installer will now offer to uninstall an existing/old service if one exists. Author: AffectedArc07 PullRequest: 1408 WebControlPanel: - Version: 5.7.1 Changes: - Descriptions: - Added deployment page option to set additional compiler arguments. Author: Cyberboss PullRequest: 1813 - Version: 5.6.0 Changes: - Descriptions: - Fixed requiring a branch be specified for quick setup operations. Author: Cyberboss PullRequest: 1788 - Version: 5.5.0 Changes: - Descriptions: - Added permission toggle for changing core dump type. - Added watchdog setting for selecting what kind of core dumps are taken. Author: Cyberboss PullRequest: 1787 - Version: 5.4.2 Changes: - Descriptions: - Added support for quick setup from a branch. - Updated implementation of `.tgs.yml` protocol to support different source paths for static files. - Fixed updating major TGS versions. - Fixed an issue with TGS changelog parsing. - Fixed failed logins never reporting as such. - Fix Discord OAuth requiring a `RedirectUrl` be specified in the TGS configuration. - Fixed titling of Deployment card entries. - Removed chat bot toggle for removed "Based on what meme?" functionality Author: Cyberboss PullRequest: 1759 - Version: 5.3.0 Changes: - Descriptions: - Added visualization of progress for config file downloads. - Updated to TGS API 10, including things like the new OpenDream support. Author: Cyberboss PullRequest: 1748 - Version: 5.1.0 Changes: - Descriptions: - Added a warning when attempting to perform an upgrade across TGS major versions. Author: Cyberboss PullRequest: 1709 - Descriptions: - Added support for sending broadcast messages to servers. Author: Cyberboss PullRequest: 1720 - Version: 4.26.2 Changes: - Descriptions: - Fixed issues relating to token expiry and instance identification with real-time jobs. Author: Cyberboss PullRequest: 1698 - Version: 4.26.0 Changes: - Descriptions: - Added support for real-time job updates. - Censored input for Discord bot token. - Updated browser compatibility lists. - Fixed another issue related to token expiration not being handled gracefully. Author: Cyberboss PullRequest: 1697 - Version: 4.24.0 Changes: - Descriptions: - Updated bundled version to 4.24.0. - The web control panel now shows the exact changelog diff between your current and selected TGS versions when updating. Author: Cyberboss PullRequest: 1639 - Version: 4.22.0 Changes: - Descriptions: - Updated to v4.22.0. Author: Cyberboss PullRequest: 1596 - Version: 4.17.0 Changes: - Descriptions: - Updated to version 4.17.0 Author: Cyberboss PullRequest: 1443 - Version: 4.15.0 Changes: - Descriptions: - Updated bundled version to 4.15.0. Author: Cyberboss PullRequest: 1437 - Version: 4.2.2 Changes: - Descriptions: - All TGS features are now usable with relevant permissions. Author: Cyberboss PullRequest: 1405 - Version: 4.0.0 Changes: - Descriptions: - Added support for the publicPath config option & channel.json relocation @alexkar598 - Added deployment page @alexkar598 - Added support for InvisionCommunity OAuth login @AffectedArc07 - Added support for Process dumb on heartbeat fail @AffectedArc07 - Added support for the autostart profiler option @AffectedArc07 - Tweaked navbar presentation @AffectedArc07 - Tweaked repository update option, it will now always reset the repo @alexkar598 - Fixed not being able to update past TGS version 4 @alexkar598 - Removed hidden repository reset switch @alexkar598 Author: alexkar598 PullRequest: 1394 - Version: 3.0.0 Changes: - Descriptions: - '### Removed official support for devices of under 992 pixels. Further additions to the codebase will not be tested on mobile devices. Page metadata has been edited to signal that devices should not attempt to display the page with a width of under 992 pixels, it will instead be zoomed out.' - '**Added a server tab to the instance editing page which has feature parity with the desktop control panel DreamDaemon page minus for deployment information.**' - '**Added a job history tab to the instance editing page to display previously completed jobs.**' - Added support for displaying job stages in job cards. - Added a warning for devices with a width of under 992 pixels. - Added a configuration option to force the instance editing page navigational menu closed or open. - Added a read-only indication to improve the user experience on disabled fields. - Tweaked the location of the navigational bar in the instance editing page to be to the left instead of to the top. - Tweaked the navigational bar and the header in the instance editing page to be sticky and always remain in view. - Tweaked the page indicator to be sticky and always remain in view. - Tweaked the purge client cache button to also reload the current page. - Tweaked the byond version page to make user experience when lacking permissions better. - Fixed oauth2 tokens leaking in error messages due to incorrect automated credential redaction. - Fixed job cards displaying the start time instead of the end time in the end time field. - Fixed the group list not displaying in the user edit page. - Fixed browser history controls (backwards & forwards) not switching the tab in the instance editing page. Author: alexkar598 PullRequest: 1345 - Descriptions: - Added a configuration option to display a raw JSON view of TGS objects in pages. - Tweaked the appearance login page (@LetterN) - Switched out a component of the webpanel for a more robust one (@LetterN) Author: alexkar598 PullRequest: 1350 - Version: 2.3.0 Changes: - Descriptions: - Fixes a bug where pages with no content would never finish loading - Adds support for API version 9.1.0 Author: alexkar598 PullRequest: 1294 - Version: 2.2.0 Changes: - Descriptions: - Adds a page to select and install new byond versions. - Adds pagination to all lists, instead of only displaying 100 entries. - Adds a faint border to home screen icons. - Adds an automatic retry for user and server info. - Splits the functionality of the X button on jobs into two buttons, the X button dismisses completed jobs and a new button to the right of the progress bar lets you cancel the job. - Reworks all instance editing pages into a single page with tabs. - Removes the concept of "selecting instances". Jobs are now displayed for all instances. - Fixes a bug where the jobs widget would sometimes exit the viewport. - Fixes memory leaks. - Fixes bug where webpanel would not connect to TGS. Author: alexkar598 PullRequest: 1272 - Version: 2.1.5 Changes: - Descriptions: - The internal and fallback control panel no longer error out due to api version mismatch. Author: alexkar598 PullRequest: 1235 - Version: 2.1.4 Changes: - Descriptions: - New info page which shows information about the client and the server - Bumped to version 2.1.4 Author: alexkar598 PullRequest: 1215 - Version: 2.0.1 Changes: - Descriptions: - Removed saving passwords due to security concerns. - Added support for user groups. - Auto logins if the admin has the default password set. - Changed values in the user permission editor are now be in bold. - Fixed a bug where the logs wouldn't show depending on the timezone the server is in. - Fixed a bug where updates to the webpanel wouldn't show because of legacy code. - Fixed several small bugs/performance issues. Author: alexkar598 PullRequest: 1182 - Descriptions: - JS files now properly cache indefinitely. Author: Cyberboss PullRequest: 1197 - Version: 1.0.1 Changes: - Descriptions: - Web panel v1.0.1 is now included in the project. It is accessible from `/app` or by accessing `/` from a browser. - The web panel can edit users, update the server, restart the server and access logs. Instance management will be included in a future update. Author: alexkar598 PullRequest: 1133 HttpApi: - Version: 10.3.0 Changes: - Descriptions: - Added `compilerAdditionalArguments` and associated DreamMaker right 512. These are added to the engine compiler command lines, right before the .dme. Author: Cyberboss PullRequest: 1811 - Version: 10.1.0 Changes: - Descriptions: - Added the `minidumps` flag to watchdog settings. This allows selecting between minidumps when `true` and full dumps when `false`. - Added watchdog permission `2097152` for setting the `minidumps` flag. Author: Cyberboss PullRequest: 1786 - Version: 10.0.0 Changes: - Descriptions: - The chat bot connection string flag previously for the Discord "Based on what?" meme is now unused but still required. Author: Cyberboss PullRequest: 1628 - Descriptions: - '**There has been a major version bump to API version 10.**' - The entire `/Byond` route has been removed. - Added new `/Engine` route and associated models. This has similar functions to the old `/Byond` route while being engine agnostic so as to support OpenDream. - '`InstancePermissionSet.byondRights` has been renamed to `InstancePermissionSet.engineRights`.' - '`CompileJobResponse.byondVersion` changed to new `CompileJobResponse.engineVersion` model.' - Added `DreamDaemonResponse.sessionId` which is a unique ID for the current server execution. Author: Cyberboss PullRequest: 1666 - Descriptions: - HTTP 426 will now no longer be sent. HTTP 400 will be used in its place. The error code returned in the body remains unchanged. Author: Cyberboss PullRequest: 1699 - Descriptions: - All API endpoints have been moved to the `/api` subpath. - API documentation json is now hosted at `/api/doc/tgs_api.json`. Author: Cyberboss PullRequest: 1704 - Descriptions: - All deprecated fields have been removed. Author: Cyberboss PullRequest: 1722 - Version: 9.14.0 Changes: - Descriptions: - Add `DreamDaemonRequest.broadcastMessage` for sending messages to the running game server's DMAPI. - Added DreamDaemon right 1048576 for broadcast messages. Author: Cyberboss PullRequest: 1719 - Version: 9.13.0 Changes: - Descriptions: - Added a Server Sent Events SignalR hub to `/hubs/jobs`. It has one client callback, `ReceiveJobUpdate`, that takes a `JobsResponse` model. Clients connected to this hub will receive updates for all jobs they normally have permissions to view. It takes the same access token used for most TGS requests for authentication. - Deprecated `expiresAt` field of `TokenResponse`. The same information is now properly encoded in the `bearer` JWT. - Job response models now contain their associated `instanceId`. - Job response models now contain a `jobCode` indicating the type of job it is. - Fixed GET `/` with an invalid `Authorization` header set not returning an HTTP 401 response. Author: Cyberboss PullRequest: 1685 - Version: 9.12.0 Changes: - Descriptions: - The flag in Discord chat bot connection strings for the based meme is now deprecated and defaults to `0`. Author: Cyberboss PullRequest: 1629 - Version: 9.11.0 Changes: - Descriptions: - Added the `mapThreads` field to the DreamDaemon model. This can be set to 0 to use the default value or a higher number to be added to DreamDaemon command lines. Only applies to supported BYOND versions. - Added DreamDaemon right `524288` for changing the `mapThreads` field. Author: Cyberboss PullRequest: 1464 - Descriptions: - Fix directories being intermingled with files in `/Configuration/List` responses. They now come first. Author: Cyberboss PullRequest: 1621 - Version: 9.10.2 Changes: - Descriptions: - Fixed exploit allowing for the reading of chat bot connection strings. Author: MrStonedOne PullRequest: 1487 - Descriptions: - Added `isSystemChannel` field to ChatChannel model. Defaults to on for pre-existing ChatChannels. Defaults to off for new ones. These can be used to limit the channels TGS restart and update messages get sent to. Author: Cyberboss PullRequest: 1489 - Descriptions: - Renamed `heartbeart` enums to `health check`s in preparation for a future change. Author: Cyberboss PullRequest: 1516 - Descriptions: - Added Administration right `128` for uploading custom server update packages. - POST `/Administration` now accepts a boolean `uploadZip` field. If set, and the request succeeds, a `fileTicket` will be generated in the response. This ticket can be used to upload a `.zip` server update package using the `/Transfer` route. Author: Cyberboss PullRequest: 1535 - Descriptions: - Deprecated DreamDaemon model fields `dumpOnHeartbeartRestart` and `heartbeatSeconds` in favor of `dumpOnHealthCheckRestart` and `healthCheckSeconds` respectively. Author: Cyberboss PullRequest: 1546 - Descriptions: - When configuration file access conflicts occur, error code `46` will be returned. Author: Cyberboss PullRequest: 1553 - Version: 9.10.0 Changes: - Descriptions: - Added error code 28 for if an update can't start due to a server swarm not being fully populated (responds with HTTP 424) . Author: Cyberboss PullRequest: 1461 - Descriptions: - Added the ability to delete non-active BYOND installations with DELETE /Byond and the new `ByondVersionDeleteRequest` model. This endpoint returns an HTTP 202 job for the deletion process, HTTP 409 if the version is the active version, or HTTP 410 if the version is not installed. - Added ErrorCode 36 for if an attempt is made to delete the active BYOND version. Author: Cyberboss PullRequest: 1463 - Version: 9.9.0 Changes: - Descriptions: - Added `logOutput` boolean field to DreamDaemon model. Defaults to `false` for new and migrated instances. - Added DreamDaemon right 262144 for modifying this field. Author: Cyberboss PullRequest: 1442 - Version: 9.8.1 Changes: - Descriptions: - Fixed `/DreamDaemon` route accepting more parameters than it should have Author: Cyberboss PullRequest: 1428 - Version: 9.8.0 Changes: - Descriptions: - Added the `channelData` field to the `ChatChannel` model. This deprecates the `ircChannel` and `discordChannelId` fields, which are now combined in this one string. Author: Cyberboss PullRequest: 1426 - Version: 9.7.0 Changes: - Descriptions: - Added an additional flag to the end of Discord connection strings to allow disabling the tgstation-server branding in deployment embeds. Author: Cyberboss PullRequest: 1402 - Version: 9.6.0 Changes: - Descriptions: - Added `startProfiler` boolean option to DreamDaemon model. Defaults to `false` for new instances. - Added DreamDaemon right 131072 for adjusting the `startProfiler` flag. Author: Cyberboss PullRequest: 1380 - Descriptions: - Fixed not being able to access an instance's metadata if you had only repository rights for that instance. Author: Cyberboss PullRequest: 1390 - Version: 9.5.0 Changes: - Descriptions: - InvisionCommunity has been added to the OAuthProviders enum. Author: AffectedArc07 PullRequest: 1370 - Descriptions: - Added `dumpOnHeartbeatRestart` flag to DreamMakerSettings model. Off by default. Author: Cyberboss PullRequest: 1373 - Version: 9.4.0 Changes: - Descriptions: - Improved the description of the DMAPI deployment error to suggest other probable causes. - Cloning with credentials now requires the ability to change credentials. - Committer details set on clone now save as expected. Author: Cyberboss PullRequest: 1359 - Descriptions: - Paginated result sets now return the total number of items across all pages Author: spookydonut PullRequest: 1361 - Version: 9.3.0 Changes: - Descriptions: - JobResponses now come with a `stage` field. Like `progress`, this _may_ be set to a description of an individual step within a job if the job is running. Author: Cyberboss PullRequest: 1317 - Version: 9.2.0 Changes: - Descriptions: - The DreamDaemon models now contain the `visibility` enum. This allows you to use visibilities other than `public` when launching DreamDaemon. DMAPI validation still invariably uses `invisible`. Changing DreamDaemon visibility requires a watchdog restart to take effect. - Added DreamDaemonRight 65536 which allows controlling DreamDaemon visibility. - Fixed DreamDaemonRight.SetAdditionalParameters not giving POST access to /DreamDaemon by itself. Author: Cyberboss PullRequest: 1303 - Descriptions: - Added the `timeout` field to DreamMaker models for changing deployment timeouts. - Added `ErrorCode` 102 for when a deployment exceeds its timeout. Author: Cyberboss PullRequest: 1306 - Descriptions: - '`updateSubmodules` is now a persisted setting which is used for the instance auto-updater as well.' - Added repository right 8192 for adjusting `updateSubmodules` alongside setting it while cloning. - RepositoryCreateRequest `recurseSubmodules` option now deprecated in favor of `updateSubmodules`. Author: Cyberboss PullRequest: 1308 - Version: 9.1.0 Changes: - Descriptions: - The InstanceResponse now contains the `accessible` property. This will be `true` if the current user has a valid InstancePermissionSet for the instance, `false` otherwise. Author: Cyberboss PullRequest: 1290 - Version: 9.0.1 Changes: - Descriptions: - Fixed `targetCommitSha` in TestMergeParameters incorrectly not being set as nullable. Author: Cyberboss PullRequest: 1238 - Descriptions: - Fixed JobResponse's `cancelledBy` field never being set. - Fixed JobResponse's `startedBy` never being set in the response to DELETE `/Job`. Author: Cyberboss PullRequest: 1239 - Descriptions: - Fixed attempting to login with a blank username and password giving a 500 error. Author: Cyberboss PullRequest: 1241 - Descriptions: - Paginated job responses will now come with `progress` fields for active jobs. Author: Cyberboss PullRequest: 1253 - Descriptions: - Fixed some responses for certain paginated requests reporting an extra blank page. Author: Cyberboss PullRequest: 1259 - Descriptions: - Added `updateSubmodules` to RepositoryUpdateRequest. When `true`, a shallow submodule init and update will be performed with Checkout, Reset to Origin, and Add Test Merge operations. Author: Cyberboss PullRequest: 1292 - Version: 9.0.0 Changes: - Descriptions: - Completely revamped request/response model names and layouts to be more restrictive as to exactly what can be in each request. No functional changes have been made to fields. - POST /User now returns 204 if the sender lack the read users permission. - ErrorCodes 28, 36, and 46 are now folded into code 2. These numbers will be recycled for future error codes. Author: Cyberboss PullRequest: 1225 - Descriptions: - GET `/` no longer redirects to the web control panel based on `User-Agent` header. Now does so based on lack of `Api` header. Author: Cyberboss PullRequest: 1229 - Version: 8.3.0 Changes: - Descriptions: - Added a missing 410 response to PATCH `/Instance` when the instance did not exist. - GET `/` no longer redirects to the webpanel if API headers are present. - GET `/` now returns a `Vary` header when the webpanel is enabled. - Fixed `remoteRepositoryName` field not trimming the `.git` extension. Author: Cyberboss PullRequest: 1189 - Descriptions: - Added `timestamp` to `RevisionInformation` models which is an ISO8601 string of the revision's creation time. Pre-4.8 revisions will have this set to the 0 value. Author: Cyberboss PullRequest: 1199 - Descriptions: - The `dmApiVersion` field in the ServerInformation and CompileJob models refers to the server's interop version. Author: Cyberboss PullRequest: 1204 - Descriptions: - Fixed having a missing/malformed `Authentication` header generating a 401 response instead of a 400. Author: Cyberboss PullRequest: 1216 - Version: 8.1.2 Changes: - Descriptions: - Fixed a 500 error when retrieving pre-4.7 compile jobs. Author: Cyberboss PullRequest: 1186 - Descriptions: - Fixed some paginated results being returned in random orders. Author: Cyberboss PullRequest: 1188 - Version: 8.1.0 Changes: - Descriptions: - Added `userGroupLimit` to ServerInformation model. - Added error code 100 for when the user limit is hit. - Added error code 101 for when the user group limit is hit. Author: Cyberboss PullRequest: 1178 - Version: 8.0.0 Changes: - Descriptions: - File transfers have been revamped. The `RawData` model has been replaced with the `FileTicketResult` model. This contains one string field, `fileTicket`. Transfers are now done as standard `application/octet-stream` GET/PUT requests to the new `/Transfer` endpoint. Requests should be made to `/Transfer?ticket=` after receiving a `FileTicketResult`. Returns HTTP 200/204 on successful transfers, or standard 409/410 `ErrorMessage`s otherwise. Because of this change, the size limit for file transfers has been increased to 2GB. - Added ErrorCode 97 for when a job fails due to waiting on an expired upload request. - POST `/Configuration` no longer updates `lastReadHash` field of the returned `ConfigurationFile` model. Author: Cyberboss PullRequest: 1153 - Descriptions: - Renamed the TestMergeParameters model field `pullRequestRevision` to `targetCommitSha`. - Renamed Repository model field `gitHubOwner` to `remoteRepositoryOwner`. - Renamed Repository model field `gitHubName` to `remoteRepositoryName`. - Added field `repositoryOrigin` to CompileJob model, set to the repository's origin URL at the time of deployment. Will be `null` for jobs run on older TGS versions. - Added Repository model field `remoteGitProvider` which is a numeric enum of supported remote git providers such as `GitHub`, `GitLab`, or `Unknown`. Author: Cyberboss PullRequest: 1163 - Descriptions: - Added the PermissionSet model. The User model's `instanceManagerRights` and `administrationRights` fields have been migrated here. They have their own `id`s. - Added the UserGroup model. They have an `id`, `name`, list of `users` (shallow), and `permissionSet`. - The User model can either have a dedicated `permissionSet` or belong to a `group`. - UserGroups are managed via the `/UserGroup` endpoint. PUT creates a group. POST can be used to change a groups `name` and `permissionSet`. GET `/{id}` gets a specific group. GET `/List` lists all groups (using the new pagination system). DELETE `/{id}` deletes an empty group. - UserGroup membership is handled on a user-by-user basis with POST `/User`. - Everything relating to InstanceUsers has been renamed to InstancePermissionSets. They are now associated with PermissionSets as opposed to Users via their `permissionSetId`. Rights enums have also been renamed, but maintain their functionality. - Added ErrorCode 98 when trying to give a user both a UserGroup and PermissionSet. - Added ErrorCode 99 when trying to delete a non-empty UserGroup. - Previously deprecated ErrorCode 46 is now used when trying to change UserGroup membership with the `/UserGroup` route. - Previously deprecated ErrorCode 54 is now used when trying to remove all OAuthConnections from a password-less user. Author: Cyberboss PullRequest: 1164 - Descriptions: - Endpoints that previously returned top-level array responses are now paginated. Each endpoint now takes optional `page` number (defaulting to 1) and `pageSize` (currently defaulting to 10, but subject to change in the future) query parameters. The returned model is wrapped in a generic Paginated model. Along with the `content` array, it contains the request `pageSize` and `totalPages` for the request. - Previously deprecated ErrorCode 40 is now used when requesting too large a `pageSize`. - Previously deprecated ErrorCode 41 is now used when requesting `page` or `pageSize`s <= 0. - '`windowsHost` moved from Administration to ServerInformation model.' - GET `/Administration` now requires the `ChangeVersion` Administration right. Author: Cyberboss PullRequest: 1172 - Descriptions: - Added `swarmServers` to the ServerInformation model. This is a list of connected `SwarmServer`s which contains each server's `identifier`, `address`, and whether or not it is the swarm `controller`. - Added `updateInProgress` to the ServerInformation model. Represents whether or not the current server is updating. Author: Cyberboss PullRequest: 1175 - Version: 7.4.0 Changes: - Descriptions: - Instances will now allocate and pre-check the DreamDaemon and DMAPI validation ports can be used before they are created. Added error code 93 for when none are available. - You can no longer modify DreamDaemon or DMAPI validation ports so that they would conflict with other ports in use by TGS or the system. Added error code 94 for when a conflict occurs. Author: Cyberboss PullRequest: 1136 - Descriptions: - Added `DreamDaemon.additionalParameters` field for adding additional command line `-params` options. Author: Cyberboss PullRequest: 1145 - Descriptions: - '`Access-Control-Max-Age` is now set to 24 hours.' Author: Cyberboss PullRequest: 1151 - Version: 7.3.2 Changes: - Descriptions: - Fixed documentation issue saying the `/Job` endpoint did not require the `Instance` header. Author: Cyberboss PullRequest: 1120 - Descriptions: - 'Added header `X-Powered-By: tgstation-server` to all responses.' Author: Cyberboss PullRequest: 1134 - Version: 7.3.1 Changes: - Descriptions: - Updated documentation of various permissions. - Fixed wording about what PATCH /DreamDaemon does. Author: Cyberboss PullRequest: 1111 - Descriptions: - Fix off by one bug when processing discord connection strings with exactly 2 arguments given leading to 500 responses. Author: MrStonedOne PullRequest: 1116 - Version: 7.3.0 Changes: - Descriptions: - Added `createGitHubDeployments` to the Repository model. Enabling this with a valid GitHub token will enable creating [GitHub deployments](https://developer.github.com/v3/repos/deployments/) based on TGS deployments. They will be named after the running TGS instance. Requires `pushTestMergeCommits` to be enabled to function correctly. Author: Cyberboss PullRequest: 1104 - Descriptions: - 'Discord connections now have a third option that toggles the "Based on what" meme. The new format is `;<0: Always show DM output, 1: Show DM output on error, 2: Never show DM output;<0: Disabled based meme, 1: Enable based meme>`' Author: AffectedArc07 PullRequest: 1109 - Version: 7.2.0 Changes: - Descriptions: - Added ErrorCode 92 for when DreamDaemon cannot be let through the Windows firewall Author: Cyberboss PullRequest: 1099 - Version: 7.1.0 Changes: - Descriptions: - Added a new builtin user "TGS". This user cannot be accessed via the API and is used by the server to create startup/reattach and auto update jobs as well as create the Admin user. - Fixed an issue where ErrorCode 78 could occur for non-socket address in use related errors. - Attempting to access an offline instance now results in a 409 response with the new ErrorCode 90 as opposed to 403. 403 Will still be returned if the user isn't authorized to access that instance. - Added ErrorCode 91 for when chat bots fail to connect. - Fixed issues where an instance could be reported as offline when it was actually online and vice-versa. - Chat provider (re)connection is now done as a job, there is no way to retrieve this job upon creation through the API currently. Though it provides a roundabout way to see why it is failing. - Fixed a rare 500 error on GET /DreamDaemon as the server was crashing. Author: Cyberboss PullRequest: 1075 - Descriptions: - Entries returned from GET /Administration/Logs are now returned from newest to oldest. Author: Cyberboss PullRequest: 1096 - Version: 7.0.1 Changes: - Descriptions: - POST /Chat will now return 204 as opposed to 200 if no data can be returned due to insufficient rights. - Added more response documentation to the OpenAPI spec to be more accurate. Author: Cyberboss PullRequest: 1046 - Descriptions: - Repository recursive submodule cloning may now be disabled by explicitly setting `recurseSubmodules` to `false` in the PUT request to start the job. Author: Cyberboss PullRequest: 1050 - Descriptions: - PATCH /DreamDaemon/Diagnostics will start a job to create a process dump. Added DreamDaemon permission 8192 to support this. Author: Cyberboss PullRequest: 1051 - Descriptions: - POST /Instance will no longer create/grant instance user permissions on that instance for the current user. - PATCH /Instance/{id} will now give full instance user permissions on the target instance. This uses the new instance manager right 1024. - Added error code 87 for attempting to test merge with an unsupported remote. Currently the only supported remote is GitHub.com. Author: Cyberboss PullRequest: 1052 - Descriptions: - Added DreamDaemon right 16384 for changing the new `topicRequestTimeout` value in the model. Author: Cyberboss PullRequest: 1055 - Descriptions: - DreamDaemon `running` field replaced with more verbose `status` enum. Author: Cyberboss PullRequest: 1057 - Descriptions: - Added a new model, `LogFile`, for accessing server logs. - GET /Administration/Logs now returns a list of `LogFile` models without their contents. GET /Administration/Logs/ can be used to retrieve the contents. - Added new Administration right 32 for retrieving `LogFile`s. Author: Cyberboss PullRequest: 1058 - Descriptions: - Custom BYOND versions may now be installed and used. Upload a zip as a base64 encoded string in the new `content` field of the Byond model when initially installing. The custom version will have a patch value >= 1 applied to it to indicate that it is not official. Use this version to switch back to it without reuploading. Author: Cyberboss PullRequest: 1061 - Descriptions: - Deprecated ErrorCode 40. - DreamDaemon field `secondaryPort` removed and `primaryPort` has been renamed to `port`. - Renamed the DreamDaemon right `SetPorts` to `SetPort`. Author: Cyberboss PullRequest: 1066 - Descriptions: - Having an incorrect `Accept` header should now properly return 406 as opposed to 403. - Improved `Accept` header parsing, any header that is a subtype of `application/json` will now be accepted. This includes the likes of `*/*` and `application/*`. - Removed legacy `Username`/`Password` header authentication scheme. - All header errors will now be included in the 4XX `ErrorMessage.additionalData`. Author: Cyberboss PullRequest: 1069 - Descriptions: - Added the DreamMaker field `requireDMApiValidation`, defaulting to `true`. If `false` deployments that time out on DMAPI validation will still be available for use. This comes with the restriction that all DMAPI functionality, heartbeats, and graceful restarts (including those required by BYOND version switches) will be unavailable for the deployment. Deploying new code with the same BYOND version will still work seamlessly. - Added DreamMaker permission 128 for enabling/disabling the DMAPI requirement for deployments. - Fixed DreamMaker permission 64 not granting access to POST /DreamMaker. - Fixed failed Jobs always returning `null` for their `errorCode`. - Error code 54 deprecated in favor of error code 52. Author: Cyberboss PullRequest: 1070 - Descriptions: - Instance queries will now always reflect online state as it is in the service. Author: Cyberboss PullRequest: 1072 - Version: 6.5.1 Changes: - Descriptions: - Patch version bump to facilitate implementation changes. Author: Cyberboss PullRequest: 1031 - Version: 6.5.0 Changes: - Descriptions: - Removed recursion from some API model definitions. Author: Cyberboss PullRequest: 1026 - Version: 6.4.1 Changes: - Descriptions: - No-op patch to facilitate implementation changes. Author: Cyberboss PullRequest: 1017 - Version: 6.4.0 Changes: - Descriptions: - The DMAPI version is now returned in the ServerInformation model. Author: Cyberboss PullRequest: 999 - Descriptions: - When non-essential post deployment tasks fail (Such as posting GitHub comments, or sending chat messages) API error code 79 will be returned. Author: Cyberboss PullRequest: 1013 - Version: 6.3.0 Changes: - Descriptions: - Added an error codes for the Windows BYOND pager headless DreamDaemon issue and port bind failures Author: Cyberboss PullRequest: 991 DreamMakerApi: - Version: 7.1.2 Changes: - Descriptions: - Fixed potential must_call_parent linter errors with SpacemanDMM. Author: Cyberboss PullRequest: 1805 - Version: 7.1.1 Changes: - Descriptions: - Worked around an extremely rare BYOND bug where calling `TgsNew()` hung forever. - Fixed waiting on custom events never returning if TGS restarted while the event was processing. Author: Cyberboss PullRequest: 1789 - Version: 7.1.0 Changes: - Descriptions: - Changed all instances of `sleep(1)` to `sleep(world.tick_lag)`. - Added support for triggering custom TGS events. - Added support for codebases that override `file2text`. Author: Cyberboss PullRequest: 1788 - Version: 7.0.2 Changes: - Descriptions: - Fixed chat messages being sent in a random order rather than FIFO while TGS was rebooting. Note, they may still appear out of order due to a potential bug as of TGS 6.1.2 but this fix is necessary to guarantee order in the first place. Author: Cyberboss PullRequest: 1771 - Version: 7.0.1 Changes: - Descriptions: - Fixed Bridge requests using the wrong URL on TGS versions <6. Author: Cyberboss PullRequest: 1762 - Version: 7.0.0 Changes: - Descriptions: - Various event names changed to be engine agnostic. - Corrected documentation that stated a `/datum/tgs_version` engine version would be returned to properly say they will be stringified. - Added enums and function for retrieving the current engine version. Author: Cyberboss PullRequest: 1666 - Version: 6.7.0 Changes: - Descriptions: - Added support for broadcast messages with Interop API 5. - Added missing `#undef`s for some internal constants. Author: Cyberboss PullRequest: 1719 - Version: 6.6.2 Changes: - Descriptions: - Adjusted workaround for `del(world)` not doing anything until the end of the tick to account for `world.sleep_offline`. Author: Cyberboss PullRequest: 1685 - Version: 6.6.1 Changes: - Descriptions: - Added workaround for `del(world)` not doing anything until the end of the tick. See https://www.byond.com/forum/post/2894866. Author: Cyberboss PullRequest: 1690 - Version: 6.6.0 Changes: - Descriptions: - Added `/world/proc/TgsVisibility()` which provides the DreamDaemon visibility level for the running server. Author: Cyberboss PullRequest: 1682 - Version: 6.5.3 Changes: - Descriptions: - Improved documentation on where to call `/world/proc/TgsReboot()`. Author: Cyberboss PullRequest: 1612 - Version: 6.5.2 Changes: - Descriptions: - Removed a bad version check that would error builds. Author: Cyberboss PullRequest: 1597 - Version: 6.5.1 Changes: - Descriptions: - Added compile compatibility for back to BYOND version 510. Author: Cyberboss PullRequest: 1596 - Version: 6.5.0 Changes: - Descriptions: - Added the ability for the event_handler to process health check events Author: Cyberboss PullRequest: 1516 - Version: 6.4.5 Changes: - Descriptions: - Release only includes an update to the V5 interop version, which was patched server-side. Author: Cyberboss PullRequest: 1502 - Version: 6.4.3 Changes: - Descriptions: - Added some missing events. - Downgraded V3 TgsRevision() error to a warning. Author: Cyberboss PullRequest: 1485 - Version: 6.4.0 Changes: - Descriptions: - Added communication chunking to ensure long interop messages send successfully despite BYOND's limitations. - Fixed certain topic requests returning lists instead of JSON. - Fixed runtime errors during Topic calls not being reported to TGS. Author: Cyberboss PullRequest: 1455 - Version: 6.3.0 Changes: - Descriptions: - Fixed a runtime that occurred when sending embed's with a footer. - Removed unnecessary data sent over the wire on Topic requests. - Improved performance of sending chat messages during `/datum/tgs_chat_command` execution. Author: Cyberboss PullRequest: 1447 - Version: 6.2.0 Changes: - Descriptions: - Added `/datum/tgs_chat_command/var/ignore_type` to allow for abstract base /datums without triggering a DMAPI error log. Author: Cyberboss PullRequest: 1442 - Version: 6.1.0 Changes: - Descriptions: - Added support for creating Discord embeds in command responses and chat messages. Author: Cyberboss PullRequest: 1437 - Version: 6.0.2 Changes: - Descriptions: - Fixed a compile error in the V3 API. Author: Cyberboss PullRequest: 1217 - Version: 6.0.1 Changes: - Descriptions: - Fixed incorrect documentation. - Prefer the interop 5.3 method of retrieving test merge `timestamp`s instead of the legacy `timeMerged`. Author: Cyberboss PullRequest: 1208 - Version: 6.0.0 Changes: - Descriptions: - Added `/datum/revision_information/var/timestamp` which is an ISO8601 string of the revision's creation time. Pre-4.8 revisions will have this set to the 0 value. Author: Cyberboss PullRequest: 1199 - Descriptions: - The DMAPI is now versioned separately from the TGS interop APIs it provides. - Removed `/datum/tgs_revision_information/test_merge/var/time_merged`. - Renamed `/datum/tgs_revision_information/test_merge/var/pull_request_commit` to `head_commit`. Author: Cyberboss PullRequest: 1204 - Version: 5.2.10 Changes: - Descriptions: - Fixed TGS topics sent too soon in DreamDaemon startup being forwarded to `/world/Topic()`. They are now swallowed with a warning log. Author: Cyberboss PullRequest: 1163 - Version: 5.2.9 Changes: - Descriptions: - Servicing change to bring DM documentation standards inline with https://github.com/tgstation/tgstation. Author: Cyberboss PullRequest: 1155 - Version: 5.2.8 Changes: - Descriptions: - Non-functional release including some minor documentation additions Author: Cyberboss PullRequest: 1144 - Version: 5.2.6 Changes: - Descriptions: - Fixed IRC names that were only numbers being mentioned as `<@[name]>`. Author: Cyberboss PullRequest: 1120 - Version: 5.2.5 Changes: - Descriptions: - Fixed a V3 issue when populating /datum/tgs_chat_user/var/mention Author: Cyberboss PullRequest: 1111 - Version: 5.2.4 Changes: - Descriptions: - Fixed topics sent before the initial bridge request causing null.Cut() runtimes. Author: Cyberboss PullRequest: 1106 - Version: 5.2.3 Changes: - Descriptions: - Fixed an issue where immutable lists could be changed by consumer code. Author: Cyberboss PullRequest: 1075 - Descriptions: - Fix `OnInitializationComplete` breaking sleep_offline. Author: MrStonedOne PullRequest: 1087 - Version: 5.2.0 Changes: - Descriptions: - Custom commands will no longer be lost when TGS reboots. Author: Cyberboss PullRequest: 999 - Version: 5.1.1 Changes: - Descriptions: - Fixed an issue where DMAPI topic calls would cause runtime errors. - Fixed a mixup of topic command types. Author: Cyberboss PullRequest: 987 InteropApi: - Version: 5.9.0 Changes: - Descriptions: - Added bridge command 7 for triggering custom events. Requires the `eventInvocation` parameter. Consists of `eventName` (string), `parameters` (string array), `notifyCompletion` (bool/int). Response contains the `eventId` string if `notifyCompletion` is set. - Added topic command 12 for notifying about completed custom events. Will only be sent if `notifyCompletion` was set in the triggering bridge request. Contains the `eventId` of the completed event. Author: Cyberboss PullRequest: 1788 - Version: 5.7.0 Changes: - Descriptions: - Switch to using new `/api/Bridge` endpoint when available. Author: Cyberboss PullRequest: 1704 - Version: 5.6.2 Changes: - Descriptions: - Fixed TGS not sending the current security level or world visibility to DreamDaemon after a reattach. Author: Cyberboss PullRequest: 1675 NugetCommon: - Version: 7.0.0 Changes: - Descriptions: - Added `ValueTask` `WhenAll` helpers. - Changed return type of `CachedResponseStream.Create` from `Task` to `ValueTask` Author: Cyberboss PullRequest: 1679 - Version: 6.0.1 Changes: - Descriptions: - Added SourceLink support. Author: Cyberboss PullRequest: 1636 NugetApi: - Version: 13.1.0 Changes: - Descriptions: - Added `DreamDaemonLaunchParameters.Minidumps` boolean. - Added `DreamDaemonRights.SetMinidumps` flag. Author: Cyberboss PullRequest: 1786 - Version: 13.0.0 Changes: - Descriptions: - Performed all API 10 model changes. Author: Cyberboss PullRequest: 1666 - Descriptions: - Renamed `Routes.Root` to `Routes.ApiRoot` and now reflects the new API path. Author: Cyberboss PullRequest: 1704 - Descriptions: - Added `JobCode` extension method `IsServerStartupJob`. Author: Cyberboss PullRequest: 1728 - Version: 12.2.0 Changes: - Descriptions: - Added `DreamDaemonRequest.BroadcastMessage`. - Added `DreamDaemonRights.BroadcastMessage` Author: Cyberboss PullRequest: 1719 - Version: 12.0.1 Changes: - Descriptions: - Updated JWT parsing library. Author: Cyberboss PullRequest: 1698 - Version: 12.0.0 Changes: - Descriptions: - Updated to TGS API version 9.13.0. - Renamed `HeaderTypes` to `HeaderErrorTypes`. Renamed `Authorization` to `AuthorizationInvalid` added `AuthorizationMissing`. - '`HeadersException.MissingOrMalformedHeaders` renamed to `ParseErrors`.' - Adjusted `Exception.Message` formatting of `HeadersException` when multiple errors occurred. - '`ApiHeaders` now contains a `TokenResponse` `Token` and `string` `OAuthCode` properties depending on context.' - Removed `ApiHeaders.Bearer`. - ApiHeaders can now optionally accept `text/event-stream` MIMEs when parsing request headers. - Added `Hubs` namespace which contains strong types for interacting with TGS SignalR hubs. - Added `JobCode` enum for new field in `Job` model. - Updated documentation for `Job.Description`. - Added dependency on latest `Microsoft.IdentityModel.JsonWebTokens`. - '`TokenRespose` now provides a member function for parsing out the contained JWT.' - Added `RightsHelper.TypeToRight()` which is the inverse of `RightToType()`. - Added new hub routes to `Routes` class. - Changed description of `ErrorCode.DreamMakerNeverValidated`. Author: Cyberboss PullRequest: 1685 - Version: 11.1.2 Changes: - Descriptions: - Corrected conversion handling of `Instance` header value. Author: Cyberboss PullRequest: 1612 - Version: 11.1.1 Changes: - Descriptions: - Made `DiscordConnectionStringBuilder.BasedMeme` obsolete. Author: Cyberboss PullRequest: 1629 - Descriptions: - Added SourceLink support. Author: Cyberboss PullRequest: 1636 - Version: 11.1.0 Changes: - Descriptions: - Made `DiscordConnectionStringBuilder.BasedMeme` obsolete. Author: Cyberboss PullRequest: 1629 NugetClient: []