Change log

Union Server 1.0 Alpha 1

04/25/2009

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

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

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.