What's new in EzyPlatform 1.5.2?
This release focuses on Java version compatibility checks for both the platform and projects, extending Socket configuration with plugin-defined Protocols and load priority, and improving the Admin experience.
-
Added Java version compatibility checks when installing projectsWhen a project is packed, the SDK now detects the highest Java version required by its libraries and stores it as
java.versionin the project'sinfo.propertiesfile. When installing a project from the Market or uploading a project file, Admin compares this value with the current Java version and rejects the installation if the server's Java version is lower, showing a clear message with the required and current versions. The current Java version is also sent to the Market when downloading a project, so the Market can return a compatible build. -
Added Java version compatibility checks when updating EzyPlatformEach EzyPlatform release now declares its required Java version via
java.versioninplatform.properties. Admin checks this requirement before downloading, preparing, and installing a new platform version. If the current Java version is not compatible, the update is stopped, the downloaded version is deleted, and Admin asks you to upgrade Java before trying again, preventing a server from being updated to a version it cannot run. -
Displayed the required Java version of projects in AdminThe add-module, module list, and module details pages now show the Java version required by the latest version of each project. When a project requires a newer Java version than the one the server is running, a tooltip explains the incompatibility, so you can spot the issue before installing or updating.
-
Added the set-java-version SDK commandAdded the
set-java-version <properties file> <lib folders...>command toezy.sh. It scans all JAR files in the given folders, detects the highest Java version required by their classes, and writes it asjava.versioninto the properties file, also printing which JAR files decided the result. -
Added Protocol configuration for Socket pluginsSocket plugins can now declare their own Protocols through the
protocol.setting_fileproperty inmodule.properties. When Socket starts, Protocols from each plugin are registered automatically, withzoneNameandpluginNameproperties filled in if not provided. Protocols whose names already exist are skipped, and thepackandexportcommands now include the Protocol setting file automatically. -
Added Protocol overrides in Socket settingsSocket settings now support a
protocolssection, allowing you to configurewriterThreadPoolSizeand add or override each Protocol bynamewithactive,address,port,sslActive,maxRequestSize,serverCreator,configFile, and customproperties. This makes it possible to adjust Protocols per environment without modifying plugin files. -
Added load priority for Socket pluginsSocket plugins are now registered in order of the
priorityvalue inmodule.properties, then by plugin name. This gives a stable, predictable load order, which is important when plugins share a Zone or depend on settings registered by other plugins. -
Added Enable/Disable controls for the Web server in AdminThe Web dashboard now provides Enable and Disable buttons, matching the existing controls for Socket. When the Web server is disabled, Admin no longer pings it from the home page or the Web dashboard, avoiding unnecessary requests and misleading connection errors.
-
Improved the Admin interfaceThe Source Sans Pro font is now bundled with Admin instead of being loaded from Google Fonts, so the Admin, login, setup, and reset-password pages display correctly in offline or internal network environments. The date range picker now lets the start and end calendars be navigated independently, making it easier to select long date ranges.
-
Extended SDK customization
EnvironmentManagernow providesgetJavaVersion()to retrieve the Java version of the running server.WebViewLanguageDecoratornow exposeswebLanguageServiceto subclasses, making it easier to customize how languages are decorated in Web views.