Release notes
SmartFoxServer 2X
Version 2.0.1
Server
[NEW] Improved out-of-the-box performance and scalability.
[NEW] Added JSP support out of the box for the embedded Jetty http-server.
[NEW] Built-in support for Scala 2.9.1.
[NEW] Added new settings for friendly exceptions in logs (toggle extra details and debug data for system exceptions).
[NEW] Added AdminTool module for inspecting, filtering, searching and backupping log files.
[NEW] Added AdminTool Extension monitoring.
[NEW] Added visual JVM settings editor in AdminTool.
[NEW] AdminTool table column added to show the Room Variable owner in the Runtime Room Variables tab under Zone Monitor.
[NEW] Added AdminTool message field in ZoneMonitor to send Admin messages to Zone/Room/Users.
[NEW] BlueBox logging parameters added to core.xml.
[NEW] Nagle-algorithm toggle in core.xml (default = off).
[NEW] PingPong command handles round-robin lag measurement (see LagMonitor in client API).
[FIX] Issue with invitation API in private games as reported in support forum.
[FIX] Improved socket write-error handling for problematic connections.
ActionScript 3 API
[NEW] Added new LagMonitor object to check average round-trip (client-server-client) lag times.
[NEW] Added Room optional parameter in the ExtensionResponse class, sourceRoom.
[NEW] Implemented socket timeout to 5 seconds, finally working in Flash Player 10.3 and higher (thanks Adobe!).
[FIX] HashSet in GenericMessageRequest class substituted with ListSet.
[FIX] RoomManager bug returning non-dense roomlist array corrected.
[FIX] Updated Polygonal DS to latest version (r711).
[FIX] Problem with Room Vars not setting the PERSISTENT flag corrected.
C#/Unity API
[NEW] Lag monitor support as per AS3 client.
[FIX] Logout NRE. Added null check for BB polling response.
[FIX] Reconnection timer.
[FIX] UDP manager.
[FIX] Logging system rewritten to not use singletone.
[FIX] Implemented ICollection interface for SFSArray for simpler access to data. Allows to throw warnings when trying to access unknown key/index in SFSObject/SFSArray.
[FIX] Fixed duplicating connection lost message.
[FIX] Infinite recursion on BB connection failure.
[FIX] Source room id for Extension responses.
Objective-C/iOS API
[NEW] Added UDP support for ExtensionRequest. Please see docs for usage.
[NEW] The API is provided as a Framework with significant compilation speed improvements.
[NEW] Updated TouchXML library.
[NEW] Added OSX compatability.
[FIX] Got rid of all compilation warnings in XCode 4.x using iOS 4.2, 4.3 and 5.
[FIX] Fixed compatability issues between XCode 3 and XCode 4.
[FIX] Changed main client header import statement: #import "SmartFoxiPhoneClient.h" should now be written: #import <SFS2XAPI/SmartFox2XClient.h>.
[FIX] Resolved various warnings in XCode 4 for iOS4 and iOS5.
[FIX] Fixed numerous potential memory issues.
[FIX] Altered SFSObject getInstance - now requires manual memory management:
SFSObject *obj = [SFSObject newInstance];
should now be written:
SFSObject *obj = [[SFSObject newInstance] autorelease];
[FIX] InviteUserRequest bug as reported in support forum.
[FIX] Other minor bugs and issues.
Java/Android API
[NEW] Added "nice" error handling of format exceptions in converting error codes to string text.
[NEW] LagMonitor object allows to measure average ping times.
[NEW] Updated sfs2x core lib.
[FIX] Added safety check for blue box.
[FIX] Added safety code for UDP socket layer.
[FIX] Changed netty initialization to start with connection.
[FIX] Releasing resources on disconnection for socket channels factory in TCP layer.
[FIX] Compression error fixed.
[FIX] Duplicating connection lost event.
[FIX] BlueBox infinite loop problem.
[FIX] Source room id for Extension responses.
[FIX] Not processing BB_NULL events - ignoring them. Cause NPE further down the API handler chain.
[FIX] Substituted Sun's internal base64 class not supported by Android runtime.
-------- Previous versions --------
Version 2.0.0 RC3
Server
[NEW] Final licensing system based on a centralized License Server, allowing SFS2X instances to be moved without any intervention from the SmartFoxServer Team (namely IP change procedure).
[NEW] Server-side "force login" system implemented: it allows a user to login from another client while a previous session is already active, closing the latter.
[NEW] Support for client-server lag measurement added.
[NEW] Server halt and soft restart functionalities added to Admin Tool.
[NEW] License Manager module added to Admin Tool.
[NEW] Dropdown selectors added to AdminTool's Zone Configurator module to simplify Extension assignement to Zones/Rooms.
[NEW] JVM settings tab added to AdminTool's Server Configurator module.
[NEW] Flag to activate/deactivate the "force login" system added to AdminTool's Zone Configurator module.
[NEW] Flag to activate/deactivate the mailer added to AdminTool's Server Configurator module.
[NEW] Zone filtering added to AdminTool's BlueBox Monitor module.
[NEW] Sessions counter added to AdminTool's BlueBox Monitor module.
[FIX] Room identity issue: Rooms are replaced in the Room List with a new version upon Join. This can lead to possible subtle equality problems.
[FIX] Issue in UDP initialization, not released when a logout is performed.
[FIX] DBManager.executeQuery(String sql, Object[] params) method doesn't process the parameters.
[FIX] Room.isFull property doesn't report true even if all player slots are taken.
[FIX] Packets compression using BEST_SPEED setting is not 100% compatible with ActionScript3.
[FIX] Wrong time format in AdminTool's Ban Manager module.
[FIX] Incorrect ban message (reason of banning) sent to client.
[FIX] Minor bugs and glitches.
ActionScript 3 API
[NEW] Client-server lag measurement functionality added.
[NEW] Error codes added to params object of all error events.
[FIX] A memory leak is caused by the Data Structures library; update to latest version.
[FIX] Bug in SFSRoomManager and SFSUserManager: incorrect removal of Room and User objects from hashmaps.
[FIX] Bug with unsigned word in header.
[FIX] Error in binary math for Long conversion including negative Longs.
[FIX] ASDoc errors.
Unity API
[NEW] Client-server lag measurement functionality added.
[NEW] Hostnames now can be used for UDP connection.
[NEW] Configuration loader now checks for required nodes in config file.
[NEW] Error codes added to params object of all error events (see this document).
[NEW] BlueBox and UDP improvements.
[FIX] CONNECTION_LOST event not triggered by bans and other disconnection reasons.
[FIX] API doc errors.
[FIX] Minor bugs and glitches.
Java client API
[NEW] JavaDoc added.
[NEW] Client-server lag measurement functionality added.
[NEW] Configuration loader now checks for required nodes in config file.
[NEW] Error codes added to params object of all error events (see this document).
[NEW] BlueBox support.
[NEW] UDP support.
[FIX] String.isEmpty does not support earlier Android versions.
[FIX] CONNECTION_LOST event not triggered by bans and other disconnection reasons.
[FIX] Minor bugs and glitches.
-----------------------------------
Version 2.0.0 RC1b
Server
[FIX] Changed the order in which the SFSZoneManager builds Rooms. Now the DBManager is created before the Rooms are created to avoid that Room Extension fails to locate the DBManager at init().
[FIX] Minor warning with overrideMaxUserIdleTime < sessionMaxIdleTime in ZoneManager.
[NEW] Added isStarted() flag to SmartFoxServer class, to check if the server is already started.
[NEW] Added new feature in IDBManager and SFSDBManager. It provides a way to specify the SQL code with placeholders and a separate Object[] with parameters to populate the SQL in a "secure way" as using a PreparedStatement.
[NEW] Added new getCurrentFolder() method to BaseSFSExtension.
[NEW] Added feature that allows to change from server side the name of the user in the USER_LOGIN event.
[NEW] AdminTool warns users if they are using the default password.
ActionScript 3 API
[FIX] Problem with the result of a FindUser not returning the client's User with the isItMe flag set correctly.
[NEW] Regenerated AS3 doc using Adobe's asdoc tool.
[NEW] Added new methods to SFSObject and SFSArray: SFSObject.toObject(), SFSObject.newFromObject(), SFSArray.toArray(), SFSArray.newFromArray().
[NEW] Now an ExtensionRequest can be built with no parameters.
Unity API
[FIX] Bug unsubscribing all events removing internally used handshake, preventing logging-in again if doing an unsubscribe.
[FIX] Bug writing UTF strings.
[FIX] UDP now shuts down properly.
[NEW] Removed log spam on disconnection writing TCP and UDP exceptions to the log.
[NEW] No error trying to disconnect a non-connected API.
iOS API
[FIX] A few buddy list events where erroneously fired when removing buddies from the list.
(c) 2012 GOTOANDPLAY snc -- All rights reserved --
