Union 1.0 Alpha 7 Release Notes
USER1 Subsystems Corporation is proud to announce the release of Union 1.0 Alpha 7. Alpha 7 expands Union's user-account and data-storage feature set, provides access to room observers, introduces an "information "snapshot" API, adds many UnionAdmin improvements, and includes extensive Reactor API polish.
Users of tryunion.com please note: Previous versions of Reactor (Alpha 6 and older) are not compatible with Union Server Alpha 7. To ensure that your users can connect to tryunion.com, please recompile your applications with Reactor 1.0 Alpha 7.
Union 1.0 Alpha 7 includes the following new features and fixes.
Reactor (Flash Client SDK)
- Added watchForClients() to ClientManager, used to maintain a list of every client on the server.
- Added watchForAccounts() to AccountManager, used to maintain a list of every user account on the server.
- Added observe() to Client class, used to synchronize the state of a single, arbitrary client.
- Added kick() to the Client class, used to force a client to disconnect. Requires administrator privileges.
- Room class now provides two separate client lists: one for occupants (via getOccupants()) and one for observers (via getObservers()). The
getClients() method has been removed. - RoomEvent.ADD_CLIENT and RoomEvent.REMOVE_CLIENT have been replaced with more granular equivalents: RoomEvent.ADD_OCCUPANT, RoomEvent.REMOVE_OCCUPANT, RoomEvent. ADD_OBSERVER, and RoomEvent. REMOVE_OBSERVER.
- RoomEvent.CLIENT_COUNT has been replaced with more granular equivalents: RoomEvent.OCCUPANT_COUNT and RoomEvent. OBSERVER_COUNT.
- Room attribute events and Client attribute events moved from RoomEvent and Client event to a central attribute event class, AttributeEvent.
- Added UserAccount class, which represents a server-side user account. UserAccount objects can be accessed via AccountManager's getAccount() method and Client's getAccount() method.
- Added observeAccount() to AccountManager, used to synchronize the state of a single, arbitrary account
- Moved persistent client attribute assignment from Client's setAttribute() to UserAccount's setAttribute(). Client attributes are now always non-persistent, while user account attributes are always persistent.
- Client now dispatches JOINED_ROOM, LEFT_ROOM, OBSERVED_ROOM, and STOP_OBSERVING_ROOM events.
- Added a "snapshot API" for retrieving one-time snapshots of information from the server, such as a list of currently connected clients. For an overview, see the net.user1.net.reactor.snapshot.Snapshot class documentation.
- Special characters such as < and & are now allowed in all contexts. However, CDATA XML tags are still never allowed.
- Removed all "NONEXISTENT" events, such as RoomManager.JOIN_NONEXISTENT_ROOM. All result information for a single request is now centralized in single event, such as RoomManager.JOIN_RESULT.
- Added more granular room update levels, used to select the amount of information pushed to the client by Union Server. See the UpdateLevels class.
- Documentation for classes that dispatch events, such as Room and Client, now includes a list of supported events.
- Moved self() method from ClientManager to Reactor for easier access.
- Internal: overhauled Client object and Room object memory management system.
- Internal: overhauled attribute management system for rooms and clients.
For a complete list of changes in Reactor, see the Reactor Alpha 7 Roadmap.
Union Server
- Added Accounts interface to represent persistent clients accounts.
- Add appender to log client information when a message received by a client causes an error.
- Added getAttributesByScope() to AttributeHolder API.
- Changed room update levels to a bit mask for greater precision in setting the information required by a room occupant.
For a complete list of changes in Union Server, see the Union Server Alpha 7 Roadmap.
Union Admin
- Added the Clients screen, which lists information for all clients connected to Union Server.
- Added UserAccounts screen, which lists information for all user accounts on Union Server.
- Added room observers to the room screen.
Reactor GUI
- Added new components:ClientCount, LoggedInCount, UserAccountCount, ClientGrid, and AccountGrid
- Minor fixes and refactoring required by Reactor's latest API