# SmartFoxServer 2X v2.18.7 cumulative patch

PLEASE NOTE: this cumulative patch works exclusively with SFS2X 2.18.x. If you're not currently running version 2.18 install it first, then apply this patch. SFS2X Download page

## How to use

- Unzip the patch and copy the decompressed folder inside your SmartFoxServer_2X/ installation folder.
- Open the patch folder.
- Run one of the three launch scripts based on the operating system in use:
  - Windows: double click the install-win.bat file
  - Linux: from a terminal run the install-linux.sh script
  - macOS: from a terminal run the install-osx.sh script

NOTE:
Under Windows 10/11 the default Zip utility will create an additional folder with the same name of the .zip file, if you extract the file from the contextual menu. We recommend double clicking the patch file instead and dragging the main folder to the SmartFoxServer_2X/ directory in your drive.

### Version 2.18.7

- Server Side
  - FIX: fixed a critical issue with a malformed compressed request that could cause the pinning at 100% of one or multiple threads

### Version 2.18.6

- Server Side
  - NEW: updated license management, with hot-reloading for ip-based licenses and other improvements

### Version 2.18.5

- Server Side
  - NEW: improved License Server communication with faster response times; also the License Server is now reachable from China since the infrastructure was moved from Google App Engine to Amazon Web Services
  - NEW: added support for Emergency License
  - NEW: grace period increased to 96 hours (4 days) in case an error occurs during periodic license validation
  - FIX: problem preventing SFS to enter grace period under extremely rare circumstances if an error occurs during periodic license validation

### Version 2.18.4

- General
  - FIX: fixed a rare issue where a packet of size < 65536 bytes (16 bit size) before encryption could exceed the 16 bit size after encryption, resuliting in a truncated packet.

### Version 2.18.3

- General
  - NEW: (AdminTool) under Server Configurator > Remote Admin it is now possible to use an IP range (using CIDR notation) in the "Allowed client IP addresses" setting
  - FIX: (AdminTool) when editing a configuration parameter featuring a modal edit panel, hitting the enter key would cause the AdminTool to be reloaded
  - FIX: (Analytics) fixed error in log processing module for long Room life-cycles (life-cycle >= 24 days)
  - FIX: (Analytics) when launching log analysis process from inside Analytics, locale forced to English instead of system's default

### Version 2.18.2

- Server
  - NEW: QuickJoinOrCreateRoom request allows to join a Room by matching its variables to a specific Match Expression. If no match is found a new Room can be created and joined immediately. The request is available in both the client and server-side API.
  - NEW: suppressUserList option for Rooms, suppresses the room list upon joining a Room as well as removing the USER_ENTER, USER_EXIT events. It can be used in special cases where Rooms are not used for User interaction, to save bandwidth.
- NEW: SFSApi.emptyRoom(...) allows to remove all users from a specified Room.
- NEW: client side LagMonitor can be configured to work as a keep-alive mechanism. By default it is turne d off. It can be activated via AdminTool > Zone Configurator > General > Enable Keepalive.
- FIX: issue when sending error codes from server side, causing a cast exception on the client side with a subgroup of client side errors.

NOTE: with this release we recommend updating the client-side API, to access the new features. Older clients will still work fine in any case.

### Version 2.18.1

- Server
  - FIX: in the SignUpComponent's Password Recovery feature the new password would not be updated in the database.
  - FIX: incorrect logging settings for the Analytics component.
  - FIX: a config setting in the Tomcat manager servlet that would not render the manager accessible from external addresses.