Change log
Union Server 1.0 Alpha 1
04/25/2009
- Feature #121: change uconfig.xml file name to union.xml
Union Server 1.0 Alpha 2
06/08/2009
- Bug #96: Rooms should not be created if a module fails to initialize
- Bug #141: A u40 (ROOM_REMOVED) sent before u44 (LEAVE_ROOM_RESULTS) when watching room's qualifier
- Bug #148: Remove whitespace from some config elements
- Bug #160: ModuleContext attributes overwritten when more than 1 room module attached to a room
- Feature #137: Use mina for NIO gateways
- Feature #138: Add getNumObservers to Room API
- Feature #140: Add JOIN_ROOM_REQUESTED RoomEvent
- Feature #142: Add OBSERVE_ROOM_REQUESTED RoomEvent
- Feature #145: Load jars in modules directory recursively
- Feature #146: Allow a room to be restarted.
- Feature #147: Add config option to set charset
- Feature #161: Add server attributes
- Todo #55: Greater Than ("gt") and Less Than ("lt") in Attribute Filters
- Todo #111: Change the way admin is configured in union.xml
- Todo #112: Server modules can be written as scripts and deployed as scripts at startup
- Todo #113: Finish event handling for modules written in scripts
- Todo #114: Allow server modules to be worked with programatically after startup
- Todo #116: Allow room module scripts to be deployed at startup
- Todo #159: union.xml to use all lowercase
- Todo #162: Attribute format change for rooms and modules deployed at startup.
Union Server 1.0 Alpha 3
08/01/2009
- Bug #156: Update u26 to match u21 ("*" will mean "watch the unnamed qualifier")
- Bug #176: Catch uncaught exceptions thrown by modules when initializing and shutting down.
- Bug #177: Send message to rooms (u1) not working when using a qualifier.
- Bug #178: Send message to server (u57) sending wrong arguments back to client.
- Bug #196: AttributeDef was not in javadoc nor exposed to server side developers.
- Feature #172: Add SEND_SERVERMODULE_MESSAGE UPC.
- Feature #179: Add ConcurrentConnection connection filter.
- Feature #183: Add getLifetimeNumConnections() to Gateway API.
- Feature #186: Client should send any remaining messages by default when shutdown.
- Feature #190: Add getNumClientsUnique() and getNumClientsTotal() to the Server API.
- Feature #193: Add remove() to Attribute API.
- Feature #194: Make Util class available for server side developers.
- Feature #198: Add getAttributeValue to all attribute holders.
- Todo #174: Add connection filter framework for filtering client connections to the server.
- Todo #175: Add new element <server> to union.xml to aggregate the server configuration options.
- Todo #182: Change getTotalConnections() to getLifetimeNumClients() in Server API.
- Todo #192: Allow attribute flags to be overwritten.
Union Server 1.0 Alpha 4
09/06/2009
- Bug #215: Joining and observing room, then leaving room, stops a client from receving room updates.
- Bug #218: The getAttributeValue method with no scope returns the Attribute not the value.
- Feature #216: Add automatic policy file refresh when the file is updated.
- Todo #124: Allow policy.xml to be refreshed .
- Todo #189: Add an ehcache.xml to the deployment for use by ecache.
- Todo #209: Logging to the console should be turned off by default.
Union Server 1.0 Alpha 5
11/01/2009
- Bug #243: Cannot reduce room update levels (u64) once set.
- Bug #245: Observers not cleaned up when a room they are observing has been shutdown.
- Bug #247: Fix ghost client when the socket was not detecting a broken socket.
- Feature #236: Add new ServerEvent ROOM_REMOVED.
- Feature #237: Implement client timeout for inactivity in seconds.
- Feature #238: Implement ge (greater than equal to), le (less than equal to), ne (not equal to) messaging filters.
- Feature #244: Add getRooms() to the Server API.
- Feature #249: Accept Communications over HTTP
Union Server 1.0 Alpha 6
12/24/2009
- Feature #58: Room Specific Client Timeout
- Feature #133: Persistence Phase I
- Feature #267: Add Persistence events.
Union Server 1.0 Alpha 7
04/11/2010
- Bug #254: CallbackTask should throw an Exception when not set up properly.
- Bug #263: Attribute _IP for NIO connections is being set with the remote socket address.
- Bug #290: In response to watch for rooms (u26) the server will now always send a room list update (u38) even if list is empty.
- Bug #308: redundant account attribute updates on room join
- Bug #309: u8 received for unknown account
- Bug #310: Joining room more than once still sends SUCCESS.
- Bug #315: missing u36 when a client joins a room it's already observing
- Bug #317: u88 should honour update levels for all rooms the client is in at login time
- Feature #277: Add appender to log client information when a message received by a client causes an error.
- Feature #293: Added getAttributesByScope to AttributeHolder API.
- Todo #255: Callback tasks now take a Method rather than the method name as a String.
- Todo #256: Change use of reflection to invoke diagnostics to method calls for known Union classes.
- Todo #291: Add CLIENT_SHUTDOWN status as possible return to Client.joinRoom and Client.observeRoom.
- Todo #300: When a client logs in his room scoped attributes should be loaded and shared for rooms he currently occupies.
Union Server 1.0 Beta 1
10/15/2010
- Bug #327: Room-scoped account attributes not available at login time
- Bug #329: Incorrectly sending LOGGED_IN (u88) instead of LOGGED_OFF (u89) when an observer/occupant logged off.
- Bug #344: Memory leak when clients log in.
- Bug #371: NullPointerException in WATCH_FOR_ACCOUNTS when no persistence is deployed.
- Bug #377: NullPointerException when persisting an account attribute for an account that is not logged in.
- Bug #379: Validate room ID when creating a room.
- Bug #381: Client getting two u72 (join room) notifications when joining room.
- Feature #272: Allow Client, Room, Server to dispatch custom events written by server side authors.
- Feature #332: Add ATTRIBUTE_CHANGED and ATTRIBUTE_REMOVED client events.
- Feature #350: Implement first version of permission based security.
- Feature #361: Have Union output startup error messages or startup success to console.
- Feature #374: Add shutdownServer() to Server API.
- Feature #376: Allow server developers to dispatch custom events from EventProducers.
- Feature #382: Add ability to ban clients.
- Todo #264: Sessions should be identified both by their UUID and the address of the client.
- Todo #274: Log Java version/vendor at startup.
- Todo #345: When cancelling a task the server should interrupt the waiting thread to free it up faster.
- Todo #365: Add new security role: SELF.
- Todo #366: Add security rule: LOGOFF (u86).
- Todo #367: Remove security action MODIFY_CLIENT_ATTRIBUTE_ON_OTHER.
- Todo #378: Refine datasource attribute mapping expressions in configuration.
Union Server 1.0 Beta 2
01/30/2011
- Bug #313: When shutting down the server Derby reports active transaction while trying to close a connection.
- Bug #357: Connecting using different connection types with the same session may cause a ClassCastException.
- Bug #395: What should omitting the <security> tag entirely mean.
- Bug #414: Updating room settings causes error.
- Bug #421: Trailing record separator (pipe) in u104 attribute list
- Bug #422: _ROLES attribute not sent in u104
- Bug #424: missing clientID in u89
- Bug #429: HTTP: No u85 after client kicked
- Bug #433: HTTP: no u66 when server does not match client protocol
- Bug #435: Changing password was creating a new account in the default database.
- Bug #444: Server.getClientByUserID returns the concrete LocalClient when it should return Client.
- Feature #149: Rooms can enforce a maximum update level.
- Feature #353: Allow admins to perform restricted actions without a password
- Feature #402: Add MODIFY_ROOM_SETTING rule.
- Feature #430: HTTP: Should u89 be followed by a u84?
- Feature #431: HTTP: Implement "Send Remaining Messages on Shutdown"
- Feature #432: HTTP: Should "kick client" trigger a u84?
- Todo #233: If a default ip is not provided for a gateway that uses an ip then set the property to the empty string.
- Todo #266: Audit the use of the assigned character set throughout the codebase.
- Todo #324: If diagnostic on a UnionDatasource in DatasourceProxy when running diagnostic then make cast rather than reflection.
- Todo #325: Create specific tasks for checkRefresh and checkClientTimeout.
- Todo #351: Add example .jar files to Union distribution
- Todo #359: Rename CLIENT to XMLSOCKETCLIENT in io connection types list
- Todo #360: Rename gateway types
- Todo #363: Cache OrbiterComm.html.
- Todo #370: Implement max_clients server setting.
- Todo #391: API doc polish
- Todo #392: API doc archive
- Todo #393: Review security defaults in union.xml
- Todo #394: Review the security policy for all UPCs
- Todo #407: Remove loginAccount from Datasource interface.
- Todo #428: Add CLIENT_LOGIN and CLIENT_LOGOFF events to the server.
- Todo #438: Remove all references to "flash:io" gateway type from server documentation
- Todo #439: Remove IOGateway example from union.xml
- Todo #440: Rename "flash:nio" gateway type to "TCP"
- Todo #441: Rename _ADMIN_GATEWAY_ and NIOGateway
- Todo #446: Add additional actions to security.
- Todo #448: Consolidate ROOM, CLIENT security actions.
- Todo #452: Finalize default policy.xml
- Todo #457: Remove /scripts/ directory. Make /modules/ directory visible in default build.
Union Server 1.0 Release
04/26/2011
Union Server 1.0 Release
- Bug #462: Unable to watch/unwatch banned addresses.
- Bug #464: CLIENT_LOGIN, CLIENT_LOGOFF events dispatched as Event not ServerEvent.
- Bug #465: Room.sendMessage only sending if the client is an occupant. Should also send if observer.
- Bug #467: Memory leak in long running persistent TCP connections.
- Todo #459: Consolidate banned list access.
- Todo #466: Logoff during client shutdown should happen after client is removed from rooms.
- Todo #468: Explicitly set length of attribute VALUE columns to 768 in hibernate configs.
Union Server 1.0.1 Release
05/08/2011
Union Server 1.0.1 Release
- Bug #472: HTTP connect inconsistency.
Union Server 1.0.2 Release
06/26/2011
Union Server 1.0.2 Release
- Bug #474: Bad delimiter in u104 (CLIENT_SNAPSHOT) when client logged in.
- Bug #479: Exception when checking security on server created room and permission is admin only.
- Bug #484: ServerEvent.CLIENT_LOGIN, ServerEvent.CLIENT_LOGOFF not dispatching.
- Bug #488: Server will attempt to honor multiple u65 (CLIENT_HELLO).
- Bug #490: Ensure scoped account attributes are loaded even if client has not joined the applicable room.
- Feature #485: Add ACCOUNT_CREATE_REQUESTED Server Event.
- Feature #487: Allow custom Access-Control-Allow-Origin header for TCP gateways.
- API Change #489: Datasource.loadAccountRoomAttributes(Account account, Room room) has been changed.
Union Server 1.0.3 Release
08/08/2011
Union Server 1.0.3 Release
- Bug #509: Persistence loading all shared attributes incorrectly as a scoped room attribute.
Union Server 1.1.0 Release
10/16/2011
Union Server 1.1.0 Release
- Bug #508: DatasourceException thrown by Union Datasource is reported as an "uncaught exception".
- Bug #523: Rooms that are set to die on empty but are never joined not being removed.
- Bug #537: Banning an address not working on TCP connection.
- Bug #541: NIO writes blocking for a long time.
- Bug #551: u36/u54 contains incorrect persistent/shared attribute information.
- Bug #552: Server attributes being stored incorrectly.
- Feature #519: Add Draft 76 websocket support.
- Feature #520: Add max rooms module.
- Feature #521: Add annotations for server side module development.
- Feature #527: Automatically set module instance fields from attributes for modules written in Java.
- Feature #536: Add WebSocket HyBi 07 support.
- Feature #538: Add new SecurityEvent BANNED_ADDRESS_CONNECTION.
- Feature #544: Enhance message processing to better handle messages that have a long process time.
- Feature #545: Add UPC support for getting UPC statistics.
- Feature #547: Add UPC support for watching UPCs.
- Feature #548: Add interface UPCMessageProcessor for listening to UPC processing related events and accessing processing statistics.
- Feature #550: Add MessageEvent.UPC_PROCESSED and MessageEvent.UPC_QUEUED.
- Todo #533: When a logged in client is disconnected because a newer client has logged in the old client should not be sent remaining messages on shutdown.
- Todo #535: Javadoc correction: ServerEvent.ROOM_CREATE_REQUESTED
- Todo #539: Security events now contain the BannedDetails as a property.
- Todo #543: Add UPC_ACCESS security action.
- Performance #556: Only 1 instance of NIOEncoder, NIODecoder required since they are thread-safe.
Union Server 1.1.1 Release
11/06/2011
Union Server 1.1.1 Release
- Bug #560: UPCEvent.UPC_QUEUE_REQUESTED dispatched as Event not UPCEvent.
- Bug #569: Server.sendMessage() incorrectly sending u7 with "TO_ROOMS" (i.e 1).
- Bug #572: A client banned "forever" becoming unbanned.
- Bug #575: ConcurrentModificationException can occur when a client is removed from the server.
- Bug #579: UnionDatasource not setting moderator status correctly.
- Todo #570: Upgrade to derby db 10.8.2.2.
- Todo #576: Downgrade IOException when communicating with clients to INFO from ERROR.
Future
Future
Pending Review
Features that have not yet been assigned to a version.