Release 1.2
-----------
- Server no longer crashes when  observer disconnects at wrong time 
- Icestorm now cast instead of firestorm when ice storm gestures are made


Release 1.1
-----------
- Cleanup qt client
- Better client data checking to make server more reliable
- Fixes invisiblity/blindness bugs. Now conforms to rules
- Fixes bug where invalid gestures could crash server
- Adds missing state to string state name match which could cause
  clients to crash 
- Extends creature state protocol to return counters
  for how many turns longer protection from evil, disease,
  poison, blindness and invisiblity will last. Note that for those
  who don't use the client library, the data is at the end of the packet,
  so ignoring the information should be fine.

Release 1.0
-----------
- Adds packaging files
- Can cast raise dead on dead players/monsters. No effect on elementals
- Negation of poison/cure disease works correctly
- Cure heavy wounds spell removes disease
- Ice elementals destroyed by fireballs
- Adds pool of monster names
- Add support for decoding creature states
- Magic mirror works correctly and reports results
- Monster names correctly decoded on client side
- If player is paralysed, and again affected by paralysis, then next
  turn same hand is paralysed, rather than asking caster

Release 0.99
-----------
- Server should be more reliable - esp wrt to SIGPIPEs
- Adds support for observers
- Adds notification of charmed hand
- Adds notification of paralysed hand
- Fixes bug where usernames could not be reused once disconnecting
  from server

Release 0.9
-----------
- Fixes gesture sending wrt to anti spell. Real gestures sent, and flag
  also passed with gestures to indicate whether or not player was hit
  by antispell. Sorry, protocol and API change here.
- Fixes paralysis spell so certain gestures such as clap, snap and wave
  are transformed to finger, point and palm when hand is paralysed
- Server now rejects duplicate usernames. Returns MSG_USERNAME_IN_USE_ALREADY
  and closes its end of the connection
- Minor compilation fix for FC3
- Game considered to be drawn after MaxRoundsPerGame (configurable) to
  avoid deadlocks of AIs. Value is sent along with timeout and own id
  at start of game (protocol change)
- Always asked for spell selection, even if only one availble for each hand
- Protection from evil actually shields
- Sending targetID of 0 for spell targets cancels spell
- Fixes for enchantment cancellation
- Adds that it is always valid to send SPL_NONE for spell selection
  if you do not want to cast a spell
- Raise dead cancels finger of death
- Enforces that short version of lightning bolt can only be cast once
- If player selects to cast a spell which requires two hands as well
  as a second spell, the second spell is not cast. NB Players
  can tell using Spells::spellRequiresTwoHands if they are casting
  such a spell (See Spellcast manpage)

Release 0.8
-----------
- Fixes for handling client disconnects
- Fixes client side logic for working out who won game
- Dispel Magic works properly now
- Note: Protocol for MSG_SEND_EVENT_INFO has changed
- Implements counter spell
- Monsters die when their owner dies

Release 0.7
-----------
- Adds dodgy qt based gui client
- Implements summoning of ice elementals
- Implements Charm Person
- Implements Paralysis
- Implements Charm Monster
- Server never exits - waits for start game timeout time before restarting
  NB. For clients, state information from previous game is invalidated once
  a MSG_SEND_START_GAME is received.
- Only live players cast spells
- Adds Protocol version on game start
- Adds StartGame message - sends own id and turn timeout
- Handle player disconnects gracefully. Disconnecting during the game
  results in losing
- If no gestures are sent from a player within the timeout, GST_NOTHING
  is used for both hands
- Fixes bug in winnerID code sent
- Remove SPL_STAB1 as redundant
- Filtering of gestures for Fear and dual stab were not working
  because network byte conversion was not done on gestures first
- Fixed bug introduced in 0.6 where many enchantments were not removed
  or processed at end of round
- Fixes calculation of visibility of gestures
- Implements Fear (was really done in 0.6). Note that SC_EVT_PLAYER_FEAR
  is received by a player if they will be restricted as to what
  gestures they can do. If they send a gesture that cannot be used
  it is converted to a GST_NOTHING

Release 0.6
-----------
- Add check so can't stab with both hands
- Fix bug where if player was blinded then their gestures weren't
  visible. Reversed now so blinded player sees no gestures
- Invisible player's gestures are not seen
- Implements confusion effect on monsters and wizards
- Fix bug where state of monsters was not updated (eg counters) at
  end of round
- Send messages about events, eg "Amnesia", elementals merging etc. 
  (protocol addition)
- Implement Amnesia effect
- Fix amnesia not timing out
- Support games which end in draws (required protocol change)
- Removes use of getline, replaced with fgets for portability
- Fixes gestures for SPL_REMOVE_ENCHANTMENT and SPL_CAUSE_HEAVY_WOUNDS
- Adds Ice Storms and Fire Storms
- Adds Ice and Fire elementals
- Fixes gestures for SPL_DISEASE

Release 0.4
-----------
- Adds check that targets for spells and monsters are valid
- Fixes surrender code
- Fixes target code for spells which do not need targetting
- Adds end game code for client side
- Adds logging to file capability
- Adds auto-start after 30 seconds (or StartTimeout config)
- Adds configuration
- Fixes bugs in read/write ring buffer code 
   (Sean Burford <unix.gurus@gmail.com>)
- Fixes compilation bugs for OS X (Neil Conway <neilc@samurai.com>)

Release 0.3
-----------
- Implements Dispel Magic
- Implements Magic Mirror
- Implements enchantment nullification
- Adds some messages for spells
- Adds decoding of spell result messages
- Implements summoning and control of monsters except elementals
- Now should convert all data to network byte order when transferring 
  across wire
