2002-09-27 (v0.8.2):
- split list of "current games" into current (ie: active) games and ended games
- added ability to withdraw a pending invitation to play a game
- added "Your Move" or "Opponent's Move" to title and status window
- added ability to edit personal preferences; whether the nick can be changed depends on a server setting since the nick is really how players identify themselves with each other (internally, WebChess uses the player ID)
- IMPORTANT: changed preferences table to allow NULL values and values as big as 50 characters (for emails, requires updating the database)
- IMPORTANT: changed games table to add checkMate status (requires updating the database)
- added code to check for missing preferences and saves default preferences for them (makes adding new preferences easier)
- added optional email notification: if a user supplies an email address, they will be notified of opponent's moves
- moved the code to generate the actual PGN/Verbose history string for a given move into chessutils functions (to share with email notification); decided to use the exact same interface for both functions; (could be useful later on: object-oriented WebChess? :)
- when creating new player, added code to verify whether a Nick is already in use
- added second password field to confirm password
- added basic form validation when creating new user
- added logout button to main game screen
- added random color selection when inviting users to a game
- added fix for PHP version < 4.1.0 (http vars used to be HTTP_POST_VARS for example, while WebChess uses _POST)
NOTE: developers working on WebChess should now make _POST, _GET and _SESSION global in any function they are used, but only for old PHP versions (see chessdb.php for an example)
- BUG FIX: after player A moved his pawn to the last row, but before he did the promotion, player B used to be able to move (credit: Michael Evraire)
- BUG FIX: if a player attempts an illegal move then resigns, the illegal move used to be written to the database (credit: Jay B Chapman)
- BUG FIX: added 'var' keyword to every local javascript variables to actually make them local
- BUG FIX: allow only one request from a given user A to a given user B (solves problem of mutliplying requests when hiting reload in browser)
- BUF FIX: modified isSafe() to take into account moving the king into check (ToDo: moving into check in general)
2002-09-04 (v0.8.1):
- removed stray "echo" statement from inviteplayer.php which was left in from a debugging session (credit: Sam Ramsay)
- fixed problem with session management: session_start() wasn't always done before the first html output (credit: Sam Ramsay)
- eliminated the extra button on the new user page
2002-08-21 (v0.8.0):
- tagged WebChess as it stands now as version 0.8: first public release!
2002-08-13:
- added the ability to play a game of WebChess using one computer (instead of two computers over the web)
2002-08-12:
- minor bug-fixes here and there
- fixed auto-reload to not prevent a session from timing out
- disabled Undo, Draw and Resign buttons when answering a request or promoting
- fixed request so simultaneous requests can be answered seperately
- switched auto-reload to a user preference; made server config the minimum allowed
- switched global variables to use $_POST array where applicable
- removed reference to newgame.php in chess.php (since it's now used by mainmenu.php instead)
- added "Request Draw" and "Resign" functionality
- changed Undo to work as a request which requires authorization from opponent
- added the status window
- fixed a bug in the validation script for castling (would check for any king's move as opposed to current king's move)
2002-08-06:
- enabled auto-reload; when it's your opponent's turn, the game will automatically reload based on config
NOTE: auto-reload will currently prevent a session from timing out... should be fixed
2002-07-24:
- completed the integration of user accounts into WebChess, specifically:
. creation of user accounts
. login/logout
. edit preferences
. invite/accept/reject new games
. integration with WebChess, so WebChess respects prefs, multiple concurrent games can be played and players can only move when it's their turn
- player's playing black pieces now see black's perspective
NOTE: there may be a thing or two left to nudge in
2002-07-06:
- added user accounts
NOTE: user accounts still aren't incorporated into WebChess (they are seperate from the game)
2002-07-04:
- fixed WebChess to work even if the php config option register_globals is off
- fixed the highlighting so if you select the exact same piece twice in a row, it unhighlights it
- changed WebChess to use production tablenames as opposed to "temp" table names
2002-07-03:
- BUG FIXED: reversed the square colors so bottom right square is right
2002-07-02:
- reversed row order to correspond with standard practices in chess
2002-06-30:
- added server-side check that ensures current player is moving an appropriate piece
- BUG FIXED: error message and dissapearing pawn when hiting reload button in browser (as opposed to in game)
- BUG FIXED: if two browser windows are open on the same game, player could make two consecutive moves by making one in one browser and another in the second one
- icons fixed to remove some of the ugly edges (Dave Ansell)
2002-06-26:
- added pseudo-themes
- changed default icons to reboot.com theme
- BUG FIXED: king was incorrectly being reported as in check when diagonally behind an ennemy pawn
2002-06-25:
- added PGN history format and made it the default
- BUG FIXED: game would allow king to castle if he moved and then returned to initial square
- if you click on one of your own pieces, then clicked another one of yours, moved the highlighted piece (instead of displaying an error message)