This is a fairly major release, with change across just about every part of AMP. It doesn't yet have the finished permissions system which is coming in the next update, but it's much closer.
Leave your feedback in the comments below.
- New Dependency on Linux systems: libsqlite3 - to be used for data storage.
- The current web session can now be accessed via AMPSession.Current instead of requiring a parameter on API calls.
- Friendly file sizes are now available up to 1PB
- 'Remember me' Login tokens once again persist between AMP restarts.
- Updated the API Browser documentation (panel.url:8080/APIBrowser.html)
- Webserver no longer spews out garbage errors when a bad API call is made (typically after an AMP update)
- Support for detecting Aarch64 environments has been added (precursor to full aarch64 support)
- Logic to asyncronously wait for applications to exit has been simplified and works in more situations than before.
- Requring a user to change their password on login now works, you can now change your password pre-login when required.
- Client-side 'prompt' UI method now supports an 'existing value' (used by FM rename)
- Added support for custom styling. Upon first start AMP will create an empty "Custom.css" in the WebRoot\CSS directory if it doesn't exist that won't be overwritten by updates.
- Authentication failure logging has been implemented for use with tools like Fail2Ban
- API rate limiting is now adjustable via AMPConfig.conf
- Main logger now has a fallback mode to handle cases where it can't write to it's preferred log file, it will request a temporary file path and write there instead with a fixed filename of "AMPLOGFAIL.txt", usually in your standard TEMP/tmp directory.
- You can now specify a certificate to use for TLS by supplying its serial number rather than a location on disk, requires that the certificate is added to your machine datastore.
- Logger now correctly shows the user responsible for any given action that occurs in the logs, and this propogates down through any tasks the user creates that finish later on.
- Logger source names are slightly less verbose, making the log easier to read.
- Unhandled exceptions from which AMP cannot recover are now automatically reported to cubecoders. This can be disabled via AutoReportFatalExceptions in AMPConfig.conf - they are also logged to LastAMPException.txt
- Fixed the documentation browser not showing it's API tree.
- Authentication successes/failures are now logged in a more useful way.
- API Change - Login method requires a username when logging in with a token instead of a password.
- There is now an overlay for the drop area to acknowledge that the manager is ready to accept your upload.
- Added a 'breadcrumb trail' to the top of the browser to make it easier to navigate.
- File editor UI is now more seamlessly integrated into the main browser.
- Added the ability to rename files
- Clarified some error messages surrounding network usage.
- Fixed module provisioning settings not showing up when creating a new instance (Release build).
CLI Instance Manager
- Added additional logging to diagnose licence issues.
- You can now specify
AMP_NO_CACHE=1as an environment variable to skip using the local cache when performing an update.
- The original 'Attach' command to view an instances console is now called 'View'
- Added new commands to remove an instance from the datastore without deleting its files, and another for taking an AMP directory that's not part of the datastore and adding it. Used to move instances around.
Instance Management (Shared)
- AMP binaries and version data are now downloaded over HTTPS instead of HTTP.
- Capable of launching AMP on non-x86_64 platforms (where support allows for this), precursor to Aarch64 support.
- Fixed a stall while modifying permissions during the deployment process.
Local file backup plugin
- No longer uses a recursive method to build the file list. New method is much more reliable.
- Added hooks for before/after backup start/finish so that modules that need to take actions (safe-off/save-on for Minecraft for example) can do so automatically if they don't support quiencing.
- Can now automatically quiesce supported modules before starting a backup and resumes them afterwards.
- Fixed a bug in the sleep server that can cause the instance to crash if the server tries to resume while in the middle of handling a client request.
- Fixed a concurrency issue handling log output at high speeds.
- Added a "Advanced console input" task the scheduler can perform to send escaped characters (\t, \r, \n, etc - anything supported by a Regex)
- Fixed the error message being displayed incorrectly when Java is not installed and the user attempts to start the server.
- Added the option to build a specific version of Spigot based on the Minecraft version, adding a new drop down menu to pick the version.
- Renamed from previous "RCON Client Plugin" as it now contains an integrated RCON server (not yet exposed for main use)
- New module added at request of hosting providers. Pulled from CWMyAdmin.