Copyright (C)  2019 Heiko Stamer <HeikoStamer@gmx.net>

Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.3 or any later
version published by the Free Software Foundation; with no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
in the sources of this package and additionally can be obtained from Internet
<https://www.gnu.org/licenses>.

SecureSkat 2.15:
    - bugfix: check the returned errno EINTR/EAGAIN (Interrupted system call)
    - bugfix: added some missing error handlers for read() calls
    - added program SecureSkat_ai (simple computer player based on heuristic)
    - added SecureSkat_rule with some common functions for rules of the game 
    - SecureSkat_random: improved error handling and massive code cleanup
    - SecureSkat: fixes exception handler of the export/import command
    - bugfix: don't allow to put the same card type twice into the Skat
    - SecureSkat_misc: fixes invalid argument (long->int) of setsockopt()
    - bugfix: added a missing sanity check for FD_SET resp. MFD_SET
    - improved README and updated documentation license (GNU FDL 1.3)
SecureSkat 2.14:
    - reflect API changes from LibTMCG
    - bugfix: include libintl in the library path when building executables
SecureSkat 2.13:
    - bugfix: reduce length of unique game IDs due to restrictive IRC limits
SecureSkat 2.12:
    - configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.8.
    - bugfix: removed wrong CloseHandle() in the ballot capability
    - introducing environment variable ALTHOST to set an alternative hostname
    - increased bit length for generated TMCG/Rabin keys to 2048 bit
    - SecureSkat_random: randomize playing of allowed cards during game
    - replaced random() by LibTMCG's function mpz_wrandom_ui()
    - added configure switch --with-gdbm=<path> for non-standard search path
SecureSkat 2.11:
    - minor bugfixes and a check for new LibTMCG 1.3.2 have been added
SecureSkat 2.10:
    - permit changing a vote by using /<room> vote <value> multiple times
    - call version_LibTMCG() to display the version of LibTMCG upon startup
    - check for LibTMCG 1.3.1: using the improved security parameters
    - bugfix: bad IRC username was constructed, if keyid contains 'Z'
    - use SetupGenerators_*() in VSSHE to protect agains malicious provers
SecureSkat 2.9:
    - massive code cleanup
    - removed obsolete GnuTLS dependency
    - bugfix ranking statistics (command /rank); bug was introduced in 2.8
SecureSkat 2.8:
    - added a message delay to avoid kick off (e.g. irc.freenode.net)
    - removed obsolete stuff (ABHEBEN, COMMON_DDH_GROUP, old PBKDF)
    - increased iteration count of PBKDF1 to 7000 (key file encryption)
    - key identifier has now only 5 characters (RFC: nick length 9 chars)
    - using non-NIZK keys (need LibTMCG 1.1.0) for faster key generation
    - removed obsolete command line argument SECURITY_LEVEL (default=80)
SecureSkat 2.7:
    - we're now using Groth's protocol for the verifiable secret shuffle
      (this improves performance and communication complexity significantly)
    - Null-games are now aborted immediately, if lost by the playing party
    - added an alternative table announcement (PRIVMSG to channel), because
      some IRC servers (e.g. freenode.net) are blocking PRIVMSG to users
    - the command /players now additionally shows the key fingerprints
SecureSkat 2.6:
    - bugfixes and some German translations (internationalization support)
    - secret key protection: use the PBKDF1 from RFC 2898 (salt and it.-count)
    - user commands for manually public key export and import (file)
    - directory ~/.SecureSkat is now used for the key and ranking databases
    - changed the COMMON_DDH_GROUP to the well-known MODP group 2 of RFC 2412
    - command /players now additionally shows the package name and version
SecureSkat 2.5:
    - a bug in the generation of the ranking data was fixed
    - important bugfixes for the secret voting functions
    - protecting the secret key: encryption with user-supplied pass phrase
    - a bug in the control program "SecureSkat_random" was fixed
      (it occured only, if the player has used a nickname with spaces)
    - rudimentary internationalization support (GNU gettext) added
SecureSkat 2.4:
    - LibTMCG is now separated from the SecureSkat package
      (see http://savannah.nongnu.org/projects/libtmcg/)
    - URGENT security fix: our implementation of a proof of knowledge
      (equality of discrete logarithms) was not sound, i.e. the missing
      instantiation of mpz_shash on the verifier side permits cheating.
      These problems are issues of the library LibTMCG. We announce them
      here to reach all affected users of LibTMCG resp. SecureSkat.
SecureSkat 2.3:
    - initial nonGNU/Savannah release (former name openSkat, included LibTMCG)
