Version 2.1.31 (20040620) ========================= If no bugs are found in this release, the next release (which will be identical or nearly identical to the current release) will be numbered 2.2.0, so a new stable branch of the `ejudge' system will be started. The 2.1 branch will be terminated. All the support work will go to 2.2 branch, and all the new development will go to the future development branch 2.3. Support for different charset encodings is significantly improved. All the explicit references to the "KOI8-R" charset encoding are removed from the source code and replaced with the encoding, specified in the --enable-charset option of the configure script. If this option was not specified, the "UTF-8" charset encoding is used. The encoding specified in the --enable-charset option of the configure script is used as the "internal" encoding, i. e. the encoding which is used to store varous character strings in memory. Thus the internal encoding must be compatible with the string functions of the C Standard Library, i.e. the internal encoding must not allow NUL ('\0') bytes in the middle of character strings. For example, UTF-16 is not such an encoding, whereas UTF-8 is. During parsing of the XML configuration files and internal files the external charset of the XML document (specified in the document header) is converted into the internal charset. The `iconv' function of the C Standard Library is used, so almost all reasonable charset encodings are supported. All the generated XML documents are also written in the internal charset. When a HTML file is generated by the ejudge programs, its encoding is specified as defined in the corresponding configuration files (by default it is the internal encoding). However the current version of the ejudge system does not support converting strings in the internal charset into the charset of the HTML document, if they are different. The strings are inserted into the HTML without conversion, which may result in incorrent HTML documents. Thus, in the current version of the ejudge system for correctness and safety the internal charset and the output HTML document charset must be the same. So it is not recommended to explicitly specify the charset encoding for the generated HTML documents in the ejudge configuration files. serve ----- The `standings_charset' global configuration variable is no longer supported. The implementation of its support was incorrect and insecure in the previous versions. Is it possible, that when charset conversion from the internal enconding to the HTML document encoding will be supported, this configuration variable will be restored. ejudge-setup ------------ Several bugs in the generation of the ejudge setup script are fixed.