This is a high-level list of Gamut changes. For a detailed view, see the SVN repository. * release 0.3.5 Added a "Playing This Game" menu item, which goes to a game-specified page (via the Finder). Added a "Gamut Help" menu item (under the Help menu, which is new for non-Windows users). This goes to: . Upgraded to R6-pre1 of Flying Saucer (the XHTML widget). There is a small code change involved with this, so you must download that version of FS in order to build Volity. The ReadMe_Build file has been updated to reflect this. Added support for URLs using the "volity:" scheme in the Finder, and also in game UI SVG. These can cause your client to create a new table, join an existing table, or join a lobby (MUC). Suppressed the Batik defaults of panning the SVG pane when the user types arrow keys (and zooming on ctrl-I/ctrl-O, etc.) Implemented the info.ruleset field, which returns the game's ruleset URI. (This will be helpful for UIs that support several rulesets.) In Testbench, info.ruleset will find the first volity:ruleset line in the UI's metadata. Changed the way (private) chat messages are sent. Gamut now tries to remember the last resource that sent you a message, and sends replies back to that resource. Added a "Forgot your password?" button to the Connect dialog. Fixed a bug in resizing the Finder window on Windows. * release 0.3.4 This release actually has no code changes; it addresses an issue specific to the Mac OS X version, where textflow paragraphs would flow *up* instead of down when Gamut is run with Apple's latest Java release. A change we've made to the Mac bundle's Info.plist file runs Gamut with an older Java instead. We're currently investigating a cleaner fix to this problem. * release 0.3.3 The Finder window now polls the web page periodically (every 30 seconds) to see if it has changed. Andrew Plotkin's new "blue-and-green V" icon debuts with this release. It is based on the Volity Games "playing card" logo designed by Rob Oliver, now evident at . * release 0.3.2 Starting with this release, this application is now called Volity Gamut. (It remains "Javolin" in earlier release notes.) Several improvements to the MUC window. You no longer get redundant "player has joined" messages if someone's client sends multiple presence packets. Names in the user list no longer wrap if the panel is too narrow; also, you can drag them (as per the usual JID drag-drop mechanisms.) URLs in chat windows are now recognized, colored blue, underlined, and if you click on one it's sent to your web brower. (Should this be a preference?) If you register a new volity.net account, Gamut now updates your name and email address in the Volity database, by sending a VCard. Also reworded the connect dialog help text. * release 0.3.1 All dialog boxes now have alerts like "You must enter a user name" if you leave an important field blank. Finder window has "Top" and "Reload" buttons. Added a "Stats" button in the roster window titlebar. The roster context menu is now consistent with the other popup menus. (The code has been moved out to a RosterContextMenu class.) You can drag any user into a table's seating panel; this pops up an invitation dialog. (Unless he's already sitting at the table, in which case it counts as a reseating request instead. This is surprising in some strange cases, but I don't plan to worry about it.) The invitation system has been seriously reworked. Invitations can now be sent out in Jabber message packets, which means that (1) the message can go to any client, and (2) the invitation will show up as plain text if you're not using a Volity-aware client. This means that the whole "add user to your roster before you invite him" aberration is gone. You can invite anybody. (Although if someone is on your roster, inviting him will work *better* in some ways.) User context menus now have an "Invite to Game" submenu, listing the games you're currently in. (The roster window menu doesn't have this yet, but I'll get to it.) User context menus now have an "Add to Roster..." item. (Dimmed if the person is on your roster already.) * release 0.3.0 Games that take an arbitrary number of players (Fluxx, etc) now display a nameless empty seat panel. (If there are indeed any empty hidden seats.) This panel is just a drag target; if you sit in it, you get a real seat. For games that use resources (currently Aquarius), "Select New Resource" has been added to the Game menu. "Select New Interface" is now a menu option under the Game menu. It lets you choose a new interface for the game you're playing, either from the bookkeeper list, from a disk file, or by typing in a URL. Also added "Restart Interface" under the Debug menu, and made "Reload Interface" reload the UI from the original source. ("Restart" does what "Reload" used to do. Got it?) The UI-selection interface is completely rewritten. It will mostly work like it used to, but you have preference options if you want to see an explicit "choose a UI" dialog box more often. Your seat mark now also appears in the window title bar. (After the game name.) This makes it easier to see when it's your turn in Windows, if you have the window iconified. (Would like to do something similar in the OSX Dock, but I don't know how.) Completely rewrote the Bookkeeper class to have async APIs. (This required me to write a batch equivalent of DiscoBackground, if that means anything to you.) The make-table sequence is one step closer to being completely async. The UI-selection function is all that remains; and that only blocks on user input, not on network requests. There is now a "File Bug Report" menu item in the "Debug" menu. It just sends your browser to the beta bug report page. Big menu rearrangement. Debugging items have been moved to a "Debug" menu. Keyboard shortcuts have been rethought from scratch -- many changes. There is a "Close Window" item. All contextual menus on people now have a "Game Stats" item. This sends your browser to the Volity.net page with the selected user's game standings. Name colors (finally!) change to match the seat color. Chat windows now let you pop up a contextual menu on (most) user messages. The menu currently contains only a "Chat With User..." item, but we can add more items as we think of them. Seat panels are now tinted according to the color of the seat. (The coloring is controlled by the UI file's metadata -- the "volity:seat-color" entry.) UIFileCache now accepts Zip files which don't explicitly name the directories to be created. If you click on a Finder command link when you're disconnected (or if you have your OS set to launch Javolin from stub files), you will now get a connection dialog. The command will fire when you finish connecting. The help icon (in the bottom corner of the table window) is now a button. Added the metadata() function to the ECMAScript API. * release 0.2.8 The Game Info window now has a tab for every resource file loaded by the current UI. The supported version of Smack has been upgraded. This fixes a bad interaction with iChat. Please get the latest version of Smack from Volity's SVN repository or from http://volity.org/projects/javolin/buildlib/. Javolin now reads metadata. (So does Testbench.) The Game Info dialog displays whatever metadata is present and recognized. * release 0.2.7 This is strictly a bugfix release. Actually, it is a jmac-screwed-up-the- build-last-time release. He apologizes. This release includes a game finder that works on Windows, and includes the MP3 libraries that were supposed to be included several builds ago. * release 0.2.6 The supported version of Batik has been upgraded to revision 379046. This fixes a problem with in an SVG 1.2 document. The UI cache is now much better at weird cases where someone deletes files or directories by hand. There is now a "clear interface cache" menu item. The cache now tries to send headers which will punch through overly-smart web proxies. Also, it does a HEAD request when comparing file modification times. The table window now shows dynamic help in the bottom right corner. You can hide this panel from the "Game" tab of the Preferences. The Game Finder's User-Agent will now be set to a Javolin version number followed by a Java version number. E.g.: "Javolin/0.2.5 Java/1.4.2_09" If the game finder manages to generate bad XHTML, the Finder window will show a tidy error instead of crashing and closing. This error page contains a link to the bug-report form. Bots and referees now get distinct icons in the seating chart. I also made the "ready" checkmark a distinct icon; it's no longer superimposed on the player icon. Contextual menus for players in the seating chart. You can chat with them, sit them down, stand them up. * release 0.2.5 More nasty memory leaks found, and subsequently plugged. * release 0.2.4 The ugly running-out-of-memory bug that afflicted Javolin is now -- I hope -- fixed. You can now set a system property "org.volity.bookkeeper" to choose a bookkeeper to talk to. That is to say: java -Dorg.volity.bookkeeper=foo@volity.net -ea -jar Javolin.jar The Invitation window (when you get one, not when you send one) is now a free-floating window. It appears in the Window menu, too. Lots of different alert noises. And preferences to silence them. Javolin now starts up with the Finder window open, *unless* you closed the Finder before shutting down last time. Yes, the Finder is slow. Sorry. All referee RPCs are now async. This should improve the responsiveness of the client -- it won't freeze up when you push the "ready" or "seat" buttons. MUC and table window chat logs will now show " has joined/left the chat" messages. Possibly fixed bugs with chat messages failing to appear, or appearing twice. Regularized the Join MUC process, and made it produce much nicer error messages. All dialog boxes that ask you for a JID now accept a simple name ("zarf") instead of a JID ("zarf@volity.net"). You could also type "devchat" into the Join MUC dialog instead of "devchat@conference.volity.net". Added a "Suspend Table" menu item. * release 0.2.3 The Finder window will launch any URLs that don't start with "http://{www.}volity.net/gamefinder" to the user's external browser. Launching URLs may now work on Windows, too, although I haven't tested it. (URLs can be launched from the About window, the Finder, or any UI SVG code that has a hyperlink.) The seatmark() UI function works. A UI can place a mark on any (or all) seats, to indicate whose turn it is (or whatever). Your name is marked in the seating display (by a black dot). Your current seat is also marked (by having the seat name in the same highlight color as your name). The UI can read info.version to determine what UI functions and fields are available. (Current version is 3.) * release 0.2.2 Changelog begins.