Releases: pterodactyl/wings
Releases · pterodactyl/wings
v1.1.2
Fixed
- Fixes binaries built as part of the release process not being usable in MUSL based environments (such as our Docker images).
- Fixes server states being incorrectly set back to offline when a server is started after a system restart.
Changed
- Improved logic for cleaning
allowed_mount
paths for consistency. - Certain context cancelation deadline errors are no longer wrong reported at an error level (since they're expected).
- Very minor micro-optimizations for some string handling with server console output.
Added
- Added a hidden option to disable all disk checking for servers by setting the
disk_check_interval
to0
in the config file.
SHA256 Checksum
8b9f24583349b8567fb5861b41319929f4862a4ce0759a3d4613a699bb5dc203 wings_linux_amd64
1c0d332eddd9896eed478ccbb87c47c1f402fc46d88800292548499324d13987 wings_linux_arm64
4d4b35e8d22c2453dc36bd776ddc099da338353973d3fd0870445ab4a40557e1 wings_linux_arm
v1.1.1 Byedon 🇺🇸
Fixed
- Fixes certain files returning invalid data in the request due to a bad header set after sending data down the line.
SHA256 Checksum
bce8618871d79fb497edb12500f46c4f24d96a4867a1353aa0399b65c76eaff9 wings_linux_amd64
7804a3c43b5524c8360da76d2b00c3f8dc1a03bcfdafe34c8a4ebe952a28457a wings_linux_arm64
55e04f8d528e5d471883101ea66442f5df51da3f38b60b9e3d7ef5d020fdbe01 wings_linux_arm
v1.1.0 Byedon 🇺🇸
This release requires Panel@1.1.0
or later to run due to API changes.
Added
- Adds support for denying client JWT access to specific token keys generated before Wings starts, or before an arbitrary date from an API call.
- Adds support for a configurable number of log messages to be returned when connecting to a server socket and requesting the logs.
- Adds support for both CPU and Memory profiling of Wings via a CLI argument.
Fixed
- Errors encountered while uploading files to Wings are now properly reported back to the client rather than causing a generic 500 error.
- Servers exceeding their disk limit are now properly stopped when they exceed limits while running.
- Fixes server environment starting as an empty value rather than an "offline" value.
Changed
- Cleaned up code internals for handling API requests to make it easier on new developers and use a more sane system.
- Server configuration retrieval from the Panel is now done in a paginated loop rather than a single large call to allow systems with thousands of instances to boot properly.
- Switches to multipart S3 uploads to handle backups larger than 5GB in size.
- Switches the error handling package from
pkg/errors
toemperror
to avoid overwriting existing stack traces associated with an error and provide additional functionality.
SHA256 Checksum
f4e906c43d8708bf7c7d0a3b0aeb49c1021c9ff064eb0c4ca6e234e57d7916ea wings_linux_amd64
1abd7b264803747bd727fd88b08042cd6a11c42f57d1afe10096b9aa44ee611e wings_linux_arm64
f73a28c20039b1c281920ac535700ed1133e77062418ca43ddbf902adf5183ad wings_linux_arm
v1.0.1
Added
- Adds support for ARM to build outputs for wings.
Fixed
- Fixed a few docker clients not having version negotiation enabled.
- Fixes local images prefixed with
~
getting pulled from remote sources rather than just using the local copy. - Fixes console output breaking with certain games when excessive line length was output.
- Fixes an error when console lines were too long that would cause the console to stop updating until the server was restarted,
Changed
- Simplified timezone logic for containers by properly grabbing the system timezone and then passing that through to containers with the
TZ=
environment variable.
SHA256 Checksum
c84cffffc207b38bce91b8622d30cd22d85a5d4667df1dc17ca5ba0190cc1297 wings_linux_amd64
a22c289e7d1cf470e2dc1e90f7d70dc5182d1816b906bd9caab2ee8785c73122 wings_linux_arm64
aa29a6616e67af8918de5d78ab3ee6dd345515d4acb2475eb8999c1aa33713b4 wings_linux_arm
🎉 v1.0.0
This is the first official stable release of Wings! Please be aware that while this specific version changelog is very short,
it technically includes all of the previous beta and alpha releases within it. For the sake of version history and following
along though, I've only included the differences between this version and the previous RC build.
Fixed
- Fixes file parser not properly appending newline character to modified lines.
- Fixes server disk usage not being properly reported back to the API and websocket.
Changed
- Changes diagnostics endpoint URL to be
ptero.co
rather thanhastebin.com
. - Diagnostics report now includes system time for easier debugging of logs and container issues.
SHA256 Checksum
0991c40e2b9b9d3dbb7dfb37f258b2a83b21fbfea565ff297b5856eb2a6db42b wings_linux_amd64
v1.0.0 Release Candidate 7
Fixed
- [Security] Prevents the
allowed_mounts
configuration value from being set by a remote API call. - Fixes an unexpected error when attempting to make a copy of an archive file.
- Fixes certain expected filesystems errors being returned to the API as a 500 error rather than a 4XX series error.
- Fixes a panic crash when there is no text on a line and the parser is attempting to determine if the line is a comment.
- Fixes multiple filesystem operations to correctly check, increment, and decrement disk usage for a server.
- Fixes a negative disk space usage issue when deleting a file due to a bad int swap.
- Errors from a websocket connection being closed will no longer spam the console.
- Fixes an extraneous
.
in the install script for servers causing errors in some scenarios. - Fixes unexpected error spam due to a change in how
os.ErrNotExist
is returned from some functions.
Changed
- Stacktrace is no longer emitted when warning that an image exists locally.
- Configuration parser now attempts to create the directory structure leading to a configuration file if it is missing.
- If a file name is too long for the system a nice error is returned to the caller.
- Enables client version negotiation for Docker to support more versions.
- Disk space errors are no longer logged into the wings logs.
- Servers can no longer be reinstalled while another power action is currently running. This avoids data collisions and wings running into issues with the container state.
- Wings now uses
1024
rather than1000
bytes when calculating the disk space usage for a server to match how the Panel reports usage. - JWT errors in the websocket are now sent back to the connection as a specific event type allowing them to be handled even if the timer fails to execute or executes but is not being listened for.
- A server struct is no longer embedded in the virtual filesystem allowing for easier testing and modularization of the codebase.
- Server websockets are now closed when a server is deleted, disconnecting any currently connected clients.
Removed
- [Security] Removes the
SafeJoin
function which could wrongly assume the state of a file and allow a user to escape the root if the developer implementing the call callsStat
rather thanLstat
.
SHA256 Checksum
800b0e33fa409be01d208d389da04858051fde4acac0d4667614b19daf82e5e6 wings_linux_amd64
v1.0.0 Release Candidate 6
Fixed
- Fixes race condition when checking if the running state of a server has changed.
- Fixes files mistakenly unpacking themselves to the root directory rather than the directory they are told to unpack to.
- Fixes console output not being sent to the websocket in the same order that it was received.
- Fixes a file busy error causing a 500 error response when unpacking an archive rather than a 400 error with a message indicating what is wrong to the user.
- Fixes docker image not properly updating when a server is started.
Changed
- Replaces fragile event bus logic with a more robust and easier to understand system. This fixes all remaining console and stats output issues that have been reported.
- Cleans up API response error messaging to avoid empty errors being logged which cannot be acted upon.
- Adds support for retrying a file write a few times with a back-off if the file is busy when the write occurs.
Added
- Docker image pull data is shown in the console when an admin is connected to the websocket.
- Adds console throttling to stop a server if too much data is being piped out of the console. This logic mimics the logic present in the old Nodejs daemon, but with a 2x line count limit (1000 -> 2000) per period.
SHA256 Checksum
2b94b88fe794193efd37ea347f8c001498518b1eeb628955d09f405e463a1a41 wings_linux_amd64
v1.0.0-rc.5
Fixed
- Fixes long standing bug with console output not properly sending back to the client with server stats in certain edge case scenarios. This was "fixed" in
rc.4
but ended up breaking many servers in significantly more painful manners, but did allow us to better track down the issue. - Fixes build flags during release process to correctly strip unnessary code allowing the final binary size to be reduced back down to
~5MB
- Fixes Wings returning the last
16384
lines of the log file when connecting to the websocket. - Fixes pre-boot actions always running for a server start event even if the server is already running.
Added
- Adds support for configuring the amount of time that can elapse between server disk size checking before the value is considered stale.
SHA256 Checksum
4f615c01841875a82b908fb2705f46ce58b3460e060ccf6efd9408cf5dcc13e6 wings_linux_amd64
v1.0.0 Release Candidate 4
Fixed
- Fixes server files being inaccessible if the root data path is a symlink to another location on the machine.
- Fixes some console output being written to the logs accidentally truncating other lines due to special ANSI sequences being output.
- Fixes
server.properties
files getting mangled by the automatic configuration editor when booting a server. - Fixes a missed stream close when stopping resource polling that would lead to memory leaks.
- Fixes port bindings being incorrectly re-assigned when using
127.0.0.1
with Docker. These are now properly re-mapped to thepterodactyl0
interface so that networking operates as expected for the server. - Fixes handling of values within arrays in
yaml
andjson
configuration files. - Fixes a 304 error being returned rather than a 400 error when a file upload is invalid.
- Fixes deadlocks and response delays when processing server console and stat events. This was causing server consoles to become completely unresponsive after random periods of time and was only resolvable via a Wings restart.
Changed
- Allows a stale value to be present when starting a server if the server is allowed an unlimited amount of disk space.
- Removed all remaining traces of the
zap
logging library from the codebase. - Servers no longer auto-restart as if they crashed when a stop command is manually sent via the server console to the instance.
- Changes the CORS checks to allow
*
as a remote origin.
Added
- Added an auto-generated logrotate file which is written to the normal logrotate directory when wings is first started.
- Added additional debug logging within the internals of the resource polling for servers to better trace unexpected behavior.
- Adds additional logic check to avoid even trying to stop a suspended server if it is already stopped.
SHA256 Checksum
cbf4f3d9aa08f9d9ed4d3aa4db3168ef714d7f2054f73f2e5601212d321eca4b wings_linux_amd64
v1.0.0-rc.3
Fixed
- Errors during the backup process are now correctly reported to the Panel and logged into the output correctly.
- Empty directories are no longer pushed into the backup file list (which was causing errors to occur previously).
- Covered an edge case to prevent errors if a file gets deleted while a backup is in progress.
- Fixed a bug causing Wings to panic and crash if an invalid environment variable value was passed through. These invalid values are now logged to the output to better detect and an empty string is returned in their place.
- Fixed startup variables and other server information not properly being updated when a server is restarted.
- Suspension state of a server is now properly returned by the API.
- Fixes an error being thrown if a backup does not exist on the local machine. A 404 is now properly returned and handled by the Panel when this occurs.
- Fixes an error when attempting to move or rename a folder due to the target being created accidentally before the rename occurred.
- Fixes install scripts running even when the checkbox to not run them on installation was selected in the Panel.
Changed
- Disk space checking modified to not block in as many parts of the codebase and allow returning a stale cache value where that is appropriate. Thanks @cyberkitsune!
- SFTP package code is now merged into the codebase to make keeping up with all of the code simpler, and reduce the complexity of the SFTP server.
Added
- Added the ability for a node to be configured to skip file permissions checking when starting a server.
- Added console output message to indicate that server disk space checking is occurring rather than silently sitting there.
SHA256 Checksum
1863a1b157e547de54c0db254fa2720973d962f0b26dacd386ec6da2d4ea78ea wings_linux_amd64