20200405:
- The new library xz.s7i has been added. This library supports XZ
  compressed files.
- The new library lzma.s7i has been added. This library supports LZMA
  compressed files.
- The library rpm.s7i has been improved to support an XZ compressed
  payload.
- The library tar_cmds.s7i and the program tar7.s7i have been improved
  to support XZ and LZMA compressed tar archives.
- The library zip.s7i has been improved to support Unicode file names.
- As suggested by Zachary Menzies a detection of modifier keys has been
  added. E.g. buttonPressed(KEYBOARD, KEY_SHIFT). Additionally several
  new key combinations such as KEY_SFT_MOUSE1 and KEY_CTL_PAD_CENTER
  have been added to keybd.s7i.
- The program gkbd.sd7 has been improved to show the new capabilies of
  the keybord interface.
- Interpreter and compiler have been improved, to write a compile time
  error, if a numerical escape sequence in a string or char literal
  is too big.
- The compiler has been improved to omit overflow checks for the
  dividend of the mod operator, if the divisor is a power of two. This
  reduces the runtime of the xz (lzma2) decompression by 2.3% (measured
  with gcc and valgrind, when decompressing a binary Seed7 package).
- The compiler file comp/intrange.s7i has been added. This file defines
  the function getIntRange(), which computes the range of possible
  results for several operators (e.g.: div, rem, mdiv, mod, >>) and
  functions (e.g.: sqrt, length, pos, rand, log).
- The compiler has been improved to use the function getIntRange() to
  omit overflow checks for addition, subtraction, multiplication and
  left shift of integer values. This reduces the runtime of the xz
  (lzma2) decompression by 0.4% (measured with gcc and valgrind, when
  decompressing a binary Seed7 package).
- In the compiler the code generation for the operators div, rem, mdiv,
  mod, * and << has been improved to work without catching the
  exception OVERFLOW_ERROR.
- The compiler has been improved to do a range check for the action
  FLT_BITS2SINGLE (convert integer to single precision float value).
- The compiler has been improved to generate code that writes the error
  message of a DATABASE_ERROR, if the exception is uncatched.
- The compiler has been improved to suppress the usage of the C
  compiler option CC_OPT_TRAP_OVERFLOW (-ftrapv), if the Seed7 compiler
  option -so (suppress overflow checks) is used.
- The makefiles mk_clang.mak, mk_clangw.mak and mk_osxcl.mak have been
  improved to define CC_OPT_TRAP_OVERFLOW with the value -ftrapv.
- The functions check_mod_by_power_of_two_optimization() and
  check_mod_by_computed_power_of_two_optimization() have been added
  to chkint.sd7. This functions check the mod operator regarding
  the new compiler optimization for the mod dividend.
- The functions check_reduced_overflow_checking_for_sums(),
  check_reduced_overflow_checking_for_mult() and
  check_reduced_overflow_checking_for_lshift() have been added to
  chkint.sd7 and chkovf.sd7. This functions test the compiler
  optimization to reduce overflow checking with getIntRange().
- The libraries aes.s7i, bitdata.s7i, color.s7i, deflate.s7i, draw.s7i,
  ico.s7i, msgdigest.s7i, pkcs1.s7i, showtls.s7i and utf16.s7i have
  been improved to use the division operators 'mdiv' and 'mod' instead
  of 'div' and 'rem'.
- The configuration value CC_OPT_TRAP_OVERFLOW has been introduced in
  cc_conf.s7i, confval.sd7, s7c.sd7, chkccomp.c, cmd_rtl.c and
  read_me.txt.
- The function write_exception_info() has been added to runerr.c. This
  function is called in executl.c.
- The keyboard drivers gkb_win.c and gkb_x11.c have been improved to
  support modifier keys and more key combinations.
- Definitions for 31 new key compinations and 9 modifier keys have
  been added to keybd.s7i and keydescr.s7i.
- Documentation comments have been improved in ar.s7i, cc_conf.s7i
  and csv.s7i.

20200308:
- The new library cpio.s7i has been added. This library supports cpio
  archive files.
- The new library rpm.s7i has been added. This library supports rpm
  archive files.
- The new library ar.s7i has been added. This library supports ar
  archive files.
- The new library subfile.s7i has been added. This library allows to
  open a part of an existing file as read only file.
- The new library filebits.s7i has been added. This library defines
  file mode bits used by archive file systems.
- The libraries bin32.s7i and bin64.s7i have been improved to support
  case statements for the types bin32 and bin64.
- The tarHeader element 'size' has been renamed to 'fileSize' in
  tar.s7i and tar_cmds.s7i.
- Tests for the operator 'conv' and for the functions compare(), str(),
  float(), trunc() and round() have been added to chkflt.sd7.
- The program chkccomp.c has been improved to determine the values
  MINIMUM_TRUNC_ARGUMENT and MAXIMUM_TRUNC_ARGUMENT.
- Definitions of MINIMUM_TRUNC_ARGUMENT and MAXIMUM_TRUNC_ARGUMENT have
  been added to cc_conf.s7i.
- The compiler (s7c) has been improved (in comp/flt_act.s7i) such that
  the actions FLT_TRUNC and FLT_ROUND do the correct check for the
  exception RANGE_ERROR.
- The database driver sql_oci.c has been improved to support the types
  BINARY_FLOAT and BINARY_DOUBLE.
- Tests for FLOAT and DOUBLE fields have been added to chkdb.sd7.
- A definition of the constant GZIP_MAGIC has been added to gzip.s7i.
- In file.s7i and iobuffer.s7i the functions hasNext() and length()
  have been changed to use an inout parameter for the file. This fixes
  a problem in compiled programs with some file systems where also an
  inout parameter is used for the file.
- The file db_oci.h has been improved to define SQLT_BFLOAT,
  SQLT_IBFLOAT, SQLT_BDOUBLE and SQLT_IBDOUBLE.
- In fltlib.c the functions flt_trunc() and flt_round() have been
  improved to do the correct check for the exception RANGE_ERROR.

20200209:
- The new database driver sql_tds.c has been added. This driver uses
  the Tabular Data Stream (TDS) protocol to transfer data between
  database server and client. TDS is used by SQL Server and Sybase.
  This driver allows the connection to a SQL Server database from
  Linux.
- The new library db_prop.s7i has been added. This library provides a
  collection of database properties. 
- The example program chkdb.sd7 has been improved:
  - Tests with comments in sql statements have been added.
  - Tests that fetch boolean values from numeric fields have been
    added.
  - Tests for date, time, datetime and timestamp fields have been
    added.
- In the library time.s7i the function time() has been improved, to
  accept more variants of the ISO 8601 time and date format including
  variants with a time zone.
- The interpreter (s7) has been improved to write the error message of
  a DATABASE_ERROR, if the exception is not catched.
- In tim_rtl.c the function timUtcFromTimestamp() has been improved to
  work without calling gmtime() or gmtime_r() or gmtime_s(). Now the
  function always works with a 64-bit signed timestamp. Gmtime() uses
  time_t, which can be 32-bit or 64-bit and it can be signed or
  unsigned.
- In tim_rtl.c the function timToTimestamp() has been improved to work
  without calling mkutc(). This way the function always works with a
  64-bit signed timestamp. Mkutc() is also defined in tim_rtl.c and it
  uses the system dependend type time_t.
- In tim_rtl.c the functions timToOsTimestamp(), assignTime() and
  dateFromDaysSince1900() have been added and the functions
  timFromBigTimestamp() and timToBigTimestamp() have been removed.
- In exec.c the functions par_restore() and loc_restore() have been
  improved to free unneeded memory, in case an exception has been
  raised.
- In executl.c the function destroy_local_object() has been improved to
  optionally ignore exceptions.
- The functions leaveExceptionHandling(), saveFailState() and
  restoreFailState() have been added to runerr.c. This function is used
  in executl.c and prclib.c.
- In numutl.c the functions getDecimalBigRational() and
  getDecimalFloat() have been improved to accept both, a decimal point
  and a decimal comma.
- In several database drivers the function processStatementStri() has
  been improved to replace a comment with a space.
- Interpreter and compiler have been improved to support the actions
  SQL_ROLLBACK, SQL_GET_AUTO_COMMIT and SQL_SET_AUTO_COMMIT.
- The functions sqlRollback(), sqlGetAutoCommit() and
  sqlSetAutoCommit() have been added to sql_cli.c, sql_lite.c,
  sql_my.c, sql_oci.c, sql_post.c and sql_rtl.c.
- In the database driver sql_lite.c the functions sqlBindTime() and
  sqlColumnTime() have been improved to support more time and date
  formats. The function sqlColumnTime() calls assignTime() to reach
  this goal.
- In the database driver sql_my.c the function sqlColumnTime() has
  been improved to correct values, if they are outside of the allowed
  range.
- The database driver sql_db2.c has been improved to allow that for
  the functions SQLExecute() and SQLFetch() SUCCESS_WITH_INFO is
  treated as SQL_SUCCESS.
- The database driver sql_post.c has been improved:
  - Inserting and selecting time fields is now supported under
    different operating systems and compilers.
  - The type preparedStmtRecord and the functions freePreparedStmt()
    and sqlPrepare() have been improved such that a prepared statement
    maintains a dbType reference instead of a connection (PGconn).
  - The functions doExecSql() and implicitCommit() have been added.
    These functions are used for autocommit and for transaction
    handling.
- The database driver sql_oci.c has been improved:
  - The function sqlBindTime() has been improved to set the timeZone
    and to use a nanosecond as unit for the fraction of a second.
    There is also a check for situations in which the function
    OCIDateTimeConstruct() fails.
  - The function sqlColumnTime() has been improved to use the function
    OCIDateTimeGetTimeZoneOffset() to retrieve a timeZone and to use a
    nanosecond as unit for the fraction of a second.
- The database driver sql_cli.c has been improved:
  - In case of a DATABASE_ERROR exception the native SQL error is
    assigned to the errorCode.
  - The function freePreparedStmt() has been changed to ignore
    possible errors of SQLFreeStmt().
  - Binding SQL_BLOB and SQL_CLOB parameters is supported now.
  - Retrieving SQL_SS_TIME2 and SQL_XML columns is supported now.
  - Retrieving datetime2 columns in sqlColumnTime() has been improved
    to use the function assignTime().
- The database include files db_lite.h, db_my.h, db_oci.h and db_odbc.h
  have been improved.
- In sql_srv.c the functions connectToServer() and
  connectToLocalServer() have been improved to return a boolean value
  instead of a SQLRETURN value.
- In cmd_rtl.c the functions cmdSetATime() and cmdSetMTime() have been
  improved to use the new function timToOsTimestamp().
- The function determineTdsDefines() has been added to chkccomp.c.
- In exec.c the function suspendInterpreter() has been renamed to
  doSuspendInterpreter().

20191229:
- Spelling corrections have been done in several files. Many thanks go
  to Jens Schleusener, for sending a source code misspelling report
  from Fossies.
- The memory management has been improved:
  - In exec.c the functions res_restore() and exec_action() have been
    improved to free unneeded memory, in case an exception has been
    raised.
  - In prclib.c the functions prc_block(), prc_block_catch_all() and
    prc_block_otherwise() have been improved to free the
    fail_expression, in case an exception has been caught.
  - In numutl.c the function getDecimalBigRational() has been improved
    to free the temporary string.
  - In sql_rtl.c the function sqlColumnBigRat() has been improved to
    free the old values of numerator and denominator.
- In sql_base.s7i the function openDatabase() with DB_ODBC and dbPath
  has been improved to use a DSN (data source name), if colon and slash
  are missing. E.g.: openDatabase(DB_ODBC, "anyDsn", "test", "test")
- The compiler has been improved to support the action PRC_HEAPSTAT.
- In flistutl.c the functions heapStatistic() and check_heap() have
  been improved to consider processes, sql functions, databases,
  prepared statements and fetched data. The function heap_statistic()
  has been renamed to heapStatistic().
- In sql_cli.c the functions sqlColumnBigInt(), sqlColumnBigRat(),
  sqlColumnBStri(), sqlColumnFloat() and sqlColumnStri() have been
  improved to check, if the length returned by the database is greater
  than the buffer_length. In this case a DATABASE_ERROR is raised.
- In sql_cli.c the function setDecimalBigRat() has been improved to
  convert integers to a string without decimal point.
- The function SQLGetFunctions() has been removed from db_odbc.h,
  sql_cli.c and the makefiles (variable OBJCOPY_PARAMS).
- In sql_cli.c the element SQLDescribeParam_supported has been removed.
  Instead the function pointer of SQLDescribeParam is checked and the
  result of SQLDescribeParam() is compared with SQL_SUCCESS.
- In sql_odbc.c the function driverConnect() has been improved to
  search only for a driver, if the driver name is not empty.
- In sql_odbc.c the function sqlOpenOdbc() has been improved to use
  the dbName as DSN (data source name) only, if no driver and no server
  are given.
- In sql_post.c the function setupDll() has been improved to call
  dllOpen() instead of a recursive call of setupDll().
- The new macro ALLOC_RECORD2() has been added to heaputl.h. The macro
  is used in drw_win.c, drw_x11.c, sql_cli.c, sql_fire.c, sql_lite.c,
  sql_my.c, sql_oci.c and sql_post.c.
- The new macros COUNT_GROW_STRI() and COUNT_SHRINK_STRI() have been
  added to heaputl.h. This macros are currently empty. They are planned
  for a heap statistic concerning unused chars in strings with
  capacity.
- In chkccomp.c several improvements have been done. In
  determineFireDefines() a search for the Firebird home directory has
  been added. In determineDb2Defines() the environment variable
  DB2_HOME is used now, to determine the Db2 home directory. In
  determineConsoleDefines() and determineSqlServerDefines() the list
  of DLLs has been improved.
- The heap statistic for strings has been improved to use the string
  capacity instead of the string size.
- The file config.h has been changed to define the macros
  USE_ALTERNATE_NEXT_CHARACTER, USE_INFILE_BUFFER, USE_CHUNK_ALLOCS,
  USE_ALTERNATE_CHUNK_ALLOCS and USE_MAXIMUM_MALLOC_CHECK always. Now
  these macros can have a value of 0 or 1.

20191215:
- The database libraries sql_srv.c and sql_cli.c have been improved to
  allow the connection to a SQL Server database from Linux. The library
  libtdsodbc.so is used to do the actual communication with the
  database.
- The build system of Seed7 has been improved. Logic regarding X11,
  ncurses and the databases has been moved from the makefiles to
  chkccomp.c.
- The build for Linux has been improved to work even if essential
  header files (for X11 or ncurses) are missing. This should only be
  used, if it is impossible to install the development packages of X11
  or ncurses.
- The example program chkdb.sd7 has been improved to do tests for SQL
  Server.
- In the FAQ the explanation of "What is necessary to compile Seed7
  with database connections", has been improved.
- In chkccomp.c the functions findIncludeFile(), findStaticLib(),
  findLinkerOption(), listDynamicLibs() and determineConsoleDefines()
  have been added.
- In chkccomp.c the functions determineEnvironDefines(),
  determineStatFunctions(), determineX11Includes(),
  determineMySqlDefines(), determineSqliteDefines(),
  determinePostgresDefines(), determineOdbcDefines(),
  determineOciDefines(), determineFireDefines(), determineDb2Defines(),
  determineSqlServerDefines(), determineIncludesAndLibs() and main()
  have been improved.
- The files fwd_term.c and fwd_term.h have been added. The functions in
  fwd_term.c forward calls to a shared terminfo library.
- The files con_inf.c, kbd_inf.c, kbd_poll.c, trm_cap.c and trm_inf.c
  have been improved to work with fwd_term.c and fwd_term.h.
- The file fwd_x11.c has been added. The functions in fwd_x11.c forward
  X11 calls to a shared X11 library. Fwd_x11.c is used, if it is not
  possible to link to a static X11 library.
- The file x11_x.h has been added. This file is used, if no X11 include
  file can be found.
- The files drw_x11.c and gkb_x11.c have been improved to work with
  x11_x.h and x11_x.h.
- The makefiles have been adjusted to work with the new build system.
- The program warn.c has been added. This program writes a warning, if
  header files of X11 or ncurses are missing.
- Documentation has been added to read_me.txt.
- In dll_win.c the function dllOpen() has been improved to assure, that
  a path to a DLL uses a backslash as path delimiter. This is required
  by the function LoadLibrary().
- The files bin/call_cl.bat and bin/call_lib.bat have been removed.

20191117:
- Support for mice with forward and back button has been added to the
  Seed7 run-time library. Many thanks go to Zachary Menzies, for
  driving my focus towards mice with additional buttons.
- Support for the C compiler from Visual Studio 2019 has been added.
  Many thanks go to Alexander Yu. Vlasov for pointing out compilation
  problems with Visual Studio 2019 and for investigating the problems.
- Interpreter and compiler have been improved to support DB2 and SQL
  Server databases.
- In the manual the chapter about the database abstraction API has been
  improved.
- The compiler has been improved to optimize the function replace()
  (action STR_REPL). Special functions (strChRepl() and strChChRepl())
  are used, if the searched or the replaced string consist of one
  character. This works even, if a character is converted to a string
  with the function str().
- Testcases for replace() have been added to chkstr.sd7.
- The program bigfiles.sd7 has been improved to search for the biggest
  directories additionally to the biggest files.
- The libraries keybd.s7i and keydescr.s7i have been improved to
  support KEY_MOUSE_FWD and KEY_MOUSE_BACK.
- The library sql_base.s7i and the programs db7.sd7 and sql7.sd7 have
  been improved to support DB_DB2 and DB_SQL_SERVER.
- In striutl.c the function stri_to_standard_path() has been improved,
  to do a smarter mapping from a DOS/Windows path to the Seed7 standard
  path representation.
- In osfiles.s7i the functions makeParentDirs() and convDosPath() have
  been improved. Now convDosPath() and stri_to_standard_path() use the
  same algorithm to map from a DOS/Windows path to the Seed7 standard
  path representation.
- The function strChChRepl() has been added to str_rtl.c.
- The program chkccomp.c has been improved to define the macros
  REMOVE_REATTEMPTS, SETENV_ALLOWS_KEY_WITH_EQUALS_SIGN and
  GETENV_ALLOWS_KEY_WITH_EQUALS_SIGN.
- The functions determineDb2Defines() and determineSqlServerDefines()
  have been added to chkccomp.c.
- The names of database DLLs (shared libraries) has been moved from
  the makefiles to chkccomp.c.
- The database driver sql_odbc.c has been refactored to be based on
  sql_cli.c. Most of the contents of sql_odbc.c has been moved to
  sql_cli.c and sql_odbc.c now includes sql_cli.c.
- The new database drivers sql_db2.c (for DB2) and sql_srv.c (for SQL
  Server) have been added. Like sql_odbc.c this drivers also include
  sql_cli.c.
- In cmd_rtl.c the function cmdChdir() has been improved to use an
  extended length path only, if it is absolutely necessary. In Windows
  an extended length path starts with \\?\ and can have a length
  greater equal 260. Many subprocesses cannot handle a current working
  directory with an extended length path.
- The makefiles mk_msvc.mak and mk_clangw.mak have been improved to
  write INI files with all environment variables. The INI files are
  seed7/bin/cl_env.ini and seed7/bin/clangenv.ini. This INI files
  contain the environment variables necessary to use the C compiler.
- The program setpaths.c has been improved to optionally write a
  definition of the macro CC_ENVIRONMENT_INI to version.h. The macro
  CC_ENVIRONMENT_INI defines the path of seed7/bin/cl_env.ini or
  seed7/bin/clangenv.ini.
- Support for the configuration values CC_ENVIRONMENT_INI and
  DATABASE_LIB has been added to cc_conf.s7i and cmd_rtl.c (in
  cmdConfigValue()).
- The function unsetenv7() has been added to cmd_unx.c.
- In gkb_x11.c and gkb_x11.c the functions gkbGetc() and
  gkbKeyPressed() have been improved to support KEY_MOUSE_FWD and
  KEY_MOUSE_BACK. Additionally the macro TRACE_EVENTS, to optionally
  trace events has been introduced.
- The makefiles have been improved to create the new library s7_db.a
  (s7_db.lib), which contains all database drivers.
- The files sql_cli.c (former sql_odbc.c) and sql_fire.c have been
  improved to reduce the number of C compiler warnings.
- In sql_cli.c (former sql_odbc.c) the function setDbErrorMsg() has
  been improved to work for database error messages with Unicode
  characters. The function wstri_to_cstri8() has been added to do the
  conversion.
- The file db_odbc.h has been improved to define wide character
  functions instead of ASCII functions. This was needed by sql_srv.c
  because it links dynamically to sqlsrv32.dll, which only defines
  wide character functions.

20191020:
- The support for Emscripten has been improved to allow the compilation
  of Seed7 programs.
- Improvements have been done in sql_odbc.c to support the connection
  with a DB2 database.
- Testcases for pos() and rpos() have been added to chkstr.sd7.
- The compiler has been improved to optimize the functions pos() and
  rpos() (actions STR_POS, STR_RPOS, STR_CHPOS, STR_RCHPOS).
- The program setwpath.c has been improved to work correct in more
  situations (E.g.: If no PATH variable exists, if the path to be added
  is a substring of an existing path, if the first path in the PATH
  variable is to be removed, if there is only on path in the PATH
  variable and this path is to be removed).
- In fil.unx.c the function setupFiles() has been improved to mount the
  file systems for Emscripten and node.js with a better strategy.
- In sql_odbc.c the function sqlStmtColumnName() has been improved to
  work with one call of SQLColAttributeW(), if the length of the column
  name is below a limit. Additionally a parameter of NULL as
  destination for the name has be replaced by a valid address. The
  usage of NULL triggered an error with DB2.
- The configuration value LINKED_PROGRAM_EXTENSION has been added to
  cc_conf.s7i. The linker produces a file with the extension defined by
  LINKED_PROGRAM_EXTENSION. Usually LINKED_PROGRAM_EXTENSION is
  identical to EXECUTABLE_FILE_EXTENSION. Except for Emscripten where,
  the value is ".js".
- The makefiles mk_emccl.mak and mk_emccw.mak have been improved to
  define LINKED_PROGRAM_EXTENSION.
- The compiler (s7c.s7i), the function getProgramName() in arr_rtl.c,
  the function cmdConfigValue() in cmd_rtl.c and the program chkccomp.c
  have been improved to use LINKED_PROGRAM_EXTENSION.
- In chkccomp.c the function determineEnvironDefines() has been
  improved to determine, if getenv() works case sensitive. A definition
  of GETENV_IS_CASE_SENSITIVE, with a value of 0 or 1, is written to
  version.h.
- The function getSearchPathDelimiter() has been added to cmd_rtl.c.
  This function is used if SEARCH_PATH_DELIMITER is 0. In this case
  the search path delimiter must be determined at run-time.
- The function systemForNodeJs() has been added to cmd_rtl.c. This
  function is used for Emscripten and node.js as replacement for the
  C run-time library function system().
- The files sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
  and sql_post.c have been improved to work correct, if no database
  include file could be found. Normally this should not happen,
  because Seed7 can provide its own database include files.
- The functions getenv7() and setenv7() have been added to cmd_unx.c.
  This functions are used for Emscripten, because of a limitation in
  the Emscripten implementations of getenv() and setenv().
- Documentation comments have been improved in external_file.s7i,
  file.s7i, leb128.s7i, scanfile.s7i, scanstri.s7i and string.s7i.
- Comments explaining the usage of undefined behavior have been added
  to arrlib.c, bstlib.c, set_rtl.c and strlib.c.

20190919:
- A chapter about the database abstraction API has been added to the
  manual.
- In the manual the chapters about primitive actions and about the
  foreign function interface have been improved.
- An explanation of the Seed7 installer and about the download of Seed7
  have been added to the FAQ.
- The new library ico.s7i has been added. This library supports the ICO
  image file format.
- The library browser.s7i has been improved to be more robust regarding
  network events.
- The database drivers have been improved to raise a DATABASE_ERROR,
  if the database library could not be found. The error message of the
  DATABASE_ERROR contains the name of the missing DLL respectively
  shared object library.
- Documentation comments have been improved in 85 library/include files
  (*.s7i). Wrong usages of the word "when" have been replaced by "if".
- Documentation comments have been improved in 96 C source files.
  Wrong usages of the word "when" have been replaced by "if".
- Texts in 9 Seed7 programs (*.sd7) and in a lot of documentation files
  have been improved. Wrong usages of the word "when" have been
  replaced by "if".

20190819:
- A definition of SQL_DRIVER_NOPROMPT has been added to db_odbc.h.
  Many thanks go to Brett Senior for pointing out a fatal compilation
  error in sql_odbc.c, when compiling Seed7 version 2019-08-18 under
  Debian Linux.
- The example program chkdb.sd7 has been improved to write better
  error messages.
- In reflib.c the function ref_select() has been improved to work
  correct, if a derived struct overrides an element of the parent
  struct.

20190818:
- Interpreter and compiler have been improved to work correct, if a
  derived struct overrides an element of the parent struct. Many thanks
  go to Zachary Menzies, for reporting this error and for providing a
  test program.
- In the FAQ the explanation, why Seed7 uses UTF-32, has been improved.
  An explanation of the database abstraction layer, which provides an
  database independent API, has also been added to the FAQ.
- In the manual the chapter about the deprecated function
  removeAnyFile() has been replaced by a chapter about the function
  removeTree().
- The program db7.sd7 (Database Inspector) has been improved to quote a
  table name from the catalog when doing a select.
- The program sql7.sd7 has been improved to allow the execution of SQL
  statements from a file. The function getSqlStatement has been added,
  which reads a semicolon terminated SQL statement from a file.
- The library tar.s7i has been improved to accept extended headers with
  meta data (PAX format) also when a tar file is opened as file system
  with openTar(). The function readMinimumOfHead has been improved to
  do this.
- A code page for JIS X 0201 encoding has been added to charsets.s7i.
- The program err.sd7 has been improved to contain test cases, where
  UTF-16 surrogate characters and non Unicode characters are written as
  Seed7 string escape sequences.
- In sql_oci.c the function sqlOpenOci() has been improved to allow
  opening a database with host name, port and database name. This way a
  database can be opened without an entry in tnsnames.ora. The type
  connectDataRecord and the function setupConnectData() have been added
  to sql_oci.c.
- The functions sqlOpenMy (in sql_my.c) and sqlOpenPost (in sql_post.c)
  have been improved to allow opening a database with host name, port
  and database name. Now host, port and dbName are parameters. Before
  the functions split the parameter dbName into host and database name.
  Specifying a port was not possible.
- In sql_odbc.c the function sqlOpenOdbc() has been improved to allow
  opening a database with ODBC driver name, server name and database
  name. This way a database can be opened without specifying a data
  source in the ODBC Data Source Administrator (in the Control Panel).
  The type connectDataRecord and the functions getRegularName(),
  wstriSearchCh(), wstriSearch(), connectToServer(), connectToDriver()
  and driverConnect() have been added to sql_odbc.c. A definition of
  SQL_NEED_DATA has been added to db_odbc.h.
- In sql_rtl.c the function sqlErrMessage() has been improved to allow
  database error messages encoded in UTF-8.
- The function sqlOpen() has been removed from sql_rtl.c.
- The function width() has been added to string.s7i and seed7_05.s7i.
  This function computes the sum of the character widths in a string.
  A character width can be 0 (for control characters), 1 (for normal
  printable characters) and 2 (for fullwidth characters, e.g. KANJI).
- The library console.s7i has been improved to use the function
  width(), to work correct with fullwidth characters (where the width
  of a character is 2).
- Documentation comments have been improved in sql_base.s7i,
  bytedata.s7i, unicode.s7i, integer.s7i and str_rtl.c.
- Interpreter and compiler have been improved to support the new
  actions SQL_OPEN_FIRE, SQL_OPEN_LITE, SQL_OPEN_MY, SQL_OPEN_OCI,
  SQL_OPEN_ODBC and SQL_OPEN_POST. The support for the action SQL_OPEN
  has been removed.
- The program chkccomp.c and the makefiles mk_mingw.mak, mk_mingc.mak,
  mk_msys.mak and mk_nmake.mak have been changed to avoid the warning
  "unknown conversion type character 'l' in format", when compiling
  with the MinGW C compiler. The macro FORMAT_LL_TRIGGERS_WARNINGS is
  used to avoid the usage of the format length modifier ll.
- In error.c the function print_stri has been improved to write UTF-16
  surrogate characters or non Unicode characters as Seed7 string escape
  sequences.
- The unused functions con_beep() and con_setfont() have been removed
  from con_con.c and con_win.c.
- The new macro ESC_SEQUENCE_MAX_LEN has been defined in striutl.h.
  This macro is used in error.c and str_rtl.c to define the local
  buffer escapeBuffer.
- Changes have been done in stat_win.c and stat_win.c to reduce the
  number of MinGW C compiler warnings.
- Log functions have been added or improved in sctlib.c, sql_fire.c,
  sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c.

20190714:
- The library tls.s7i has been improved to support elliptic curve
  diffie hellman key exchange.
- The new library elliptic.s7i has been added. This library supports
  elliptic curve cryptography (ECC). The library defines:
  - Several named curves,
  - Functions to add, double and multiply curve points.
  - Functions for fast multiplication with jacobian coordinates.
  - Functions to encode and decode curve points.
  - Functions to sign and verify messages with the ECDSA.
- The functions emsaPkcs1V15Encoding, emsaPkcs1V15Decoding,
  rsassaPkcs1V15Encrypt and rsassaPkcs1V15Decrypt have been added to
  the library pkcs1.s7i.
- In x509cert.s7i the function getAlgorithmIdentifier has been improved
  to accept algorithm identifiers without algorithm parameters.
- A version of the function createX509Cert, that creates a certificate
  with keys for elliptic curve cryptography, has been added.
- The new library showtls.s7i had been added. This library defines
  functions to show TLS messages. It can be used to debug tls.s7i.
- The library tar.s7i has been improved to accept extended headers with
  meta data (PAX format). Now path and linkpath meta data is accepted.
- A new version of the function bytes() has been added to bytedata.s7i.
  This function converts a bigInteger to a string of bytes with a given
  length.
- Checks for the multiplication operators * and *:= with factors of
  1 and -1 have been added to chkint.sd7.
- Checks for the operator 'lpad0' have been added to chkint.sd7.
- Checks for NaN have been added to chkflt.sd7.
- In the compiler (in comp/const.s7i) the action FLT_MOD has been added
  to the list of pure function actions.
- The compiler has been improved to optimize the actions FLT_REM (in
  comp/flt_act.s7i) and INT_LPAD0 (in comp/int_act.s7i).
- A corner case of the multiplication operator *:= has been fixed in
  the compiler (process_const_int_mult_assign() in comp/int_act.s7i).
  The bug occurred in the overflow checking code, when an array element
  was multiplied with *:= -1. Multiplications of normal variables and
  parameters with *:= and multiplications with other factors except -1
  were not affected by this bug.
- Documentation comments have been improved in cc_conf.s7i and
  pkcs1.s7i.
- In con_win.c the functions kbdKeyPressed() and kbdGetc() have been
  improved to ignore mouse movement and button press events.
- The program chkccomp.c has been improved to have a more detailed
  check for POW_OF_NAN_OKAY.
- In fltlib.c checks for 0.0 have been improved in flt_div() and
  flt_div_assign().
- In flt_rtl.c preprocessor if statements have been improved to check
  for !FLOAT_NAN_COMPARISON_OKAY in fltLog(), fltLog10() fltLog2() and
  fltPow().

20190610:
- The library float.s7i has been improved to support the float
  operators 'rem' (floating-point remainder) and 'mod' (floating-point
  modulo).
- The program chkflt.sd7 has been improved to check floating-point
  literals and the new operators 'rem' and 'mod'. The tests for the
  operator ** have been improved also.
- Compiler and interpreter have been improved to work correct, even
  when the C functions fmod(), exp(), ldexp(), frexp() and sqrt() do
  not work 100% correct.
- The program chkccomp.c has been improved to detect weaknesses of
  numeric functions. These weaknesses happen when handling with NaN,
  Infinity or when other special cases occur.
- A new version of the function timAwait() has been added to tim_unx.c.
  This function is used when AWAIT_WITH_NANOSLEEP is defined.
- The makefiles mk_emccl.mak and mk_emccw.mak have been improved to
  define AWAIT_WITH_NANOSLEEP instead of AWAIT_WITH_SELECT.
- Interpreter and compiler have been improved to support the actions
  FLT_MOD and FLT_REM.
- In the compiler (in comp/flt_act.s7i) a corner case of the action
  FLT_IPOW (when CHECK_FLOAT_DIV_BY_ZERO is TRUE and the exponent is
  negative and the base is zero (0.0 or -0.0)) has been fixed.
- The configuration values FLOAT_COMPARISON_OKAY, FMOD_FUNCTION_OKAY,
  EXP_FUNCTION_OKAY, LDEXP_FUNCTION_OKAY and FREXP_FUNCTION_OKAY have
  been added to cc_conf.s7i. The configuration values
  NAN_COMPARISON_OKAY and FREXP_INFINITY_NAN_OKAY have been removed.
- The functions fltDecompose(), fltExp(), fltLdexp(), fltMod() and
  fltRem() have been added to flt_rtl.c. These functions are used, when
  the corresponding C functions frexp(), exp(), ldexp() and fmod() do
  not work 100% correct.
- In flt_rtl.c the functions fltEq(), fltGe(), fltGt(), fltLe() and
  fltLt() have been improved. These improvements help, when the
  comparison of float or double values does not work 100% correct.
- In flt_rtl.c the functions fltPow(), getMantissaAndExponent(),
  setMantissaAndExponent() and fltSqrt() have been improved. These
  improvements help, when the underlying C functions pow(), frexp(),
  ldexp() and sqrt() do not work 100% correct.
- The program chkccomp.c has been improved to define the macros
  FLOAT_NAN_COMPARISON_OKAY, FLOAT_ZERO_COMPARISON_OKAY,
  SQRT_OF_NAN_OKAY, SQRT_OF_NEGATIVE_OKAY, EXP_OF_NAN_OKAY,
  LDEXP_OF_NAN_OKAY, FREXP_SUBNORMAL_OKAY, FMOD_DIVIDEND_NAN_OKAY,
  FMOD_DIVISOR_NAN_OKAY, FMOD_DIVIDEND_INFINITY_OKAY,
  FMOD_DIVISOR_INFINITY_OKAY and FMOD_DIVISOR_ZERO_OKAY.
- In cmd_rtl.c the function cmdConfigValue has been improved to support
  the config values FLOAT_COMPARISON_OKAY, EXP_FUNCTION_OKAY,
  FMOD_FUNCTION_OKAY, LDEXP_FUNCTION_OKAY and FREXP_FUNCTION_OKAY.
- Definitions of the macros FLOAT_COMPARISON_OKAY, SQRT_FUNCTION_OKAY,
  EXP_FUNCTION_OKAY, LDEXP_FUNCTION_OKAY, FREXP_FUNCTION_OKAY and
  FMOD_FUNCTION_OKAY have been added to common.h
- Documentation comments have been improved in intlib.c, int_rtl.c,
  match.c, str_rtl.c, keybd.s7i and vectorfont.s7i.
- In comp/int_act.s7i the variable quotient_name has been renamed to
  remainder_name.

20190523:
- In match.c the function substitute_params() has been fixed to copy
  parameters with expressions instead of calling do_create(). For
  expressions do_create() just creates a reference to the expression
  and this leads later to a double free of the expression. Many thanks
  go to Anton Lobach, for reporting this error and for providing a test
  program.
- The library blowfish.s7i, with Blowfish cipher support, has been
  added.
- The functions column() and line() have been added to the library
  console.s7i.
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for the keyword ENDIF has been added.
- The compiler (s7c.sd7) has been improved (in set_act.s7i) to optimize
  the expression card(bitset(number)).
- The functions toBase and fromBaseToBigInt have been added to
  encoding.s7i. This functions encode and decode bigInteger numbers
  with a positional numeric system.
- Conversion functions have been added to bitsetof.s7i and bitset.s7i.
- Checks for the function card() have been added to chkset.sd7.
- Interpreter and compiler have been improved to support the actions
  CON_COLUMN, CON_LINE, SET_CONV1, SET_CONV3, SET_SCONV1 and
  SET_SCONV3. The support for the actions SET_CONV and SET_SCONV has
  been removed.
- The libraries bitsetof.s7i and bitset.s7i have been adjusted, to use
  the new actions.
- In con_inf.c the function conWrite() has been improved to change the
  cursor position, when the characters '\n', '\r' and '\b' are written.
- In con_win.c the function conCursor() has been improved, to hide the
  cursor, when it is called with FALSE. The function conOpen() has been
  changed, to set the cursor position to (1, 1) and to hide the cursor.
- The functions conColumn() and conLine() have been added to con_rtl.c,
  con_inf.c, con_win.c, con_wat.c and con_emc.c.
- In set_rtl.c the functions setIConv() and setSConv() have been
  improved. Now setIConv() raises RANGE_ERROR for negative numbers and
  setSConv() raises RANGE_ERROR, when a negative integer would be
  returned.
- Documentation has been improved in console.s7i, string.s7i,
  con_inf.c, con_win.c
- The debug trace mechanism in analyze.c and dcllib.c has been
  improved.
- A call of dlerror() has been added in dll_unx.c.
- In traceutl.c the function prot_list_limited() has been introduced.

20190506:
- The utility program bigfiles.sd7 has been added. Bigfiles is an
  utility program to search for big files. This is useful, when the
  disk is almost full and files must be removed to get more space.
- The utility program sydir7.sd7 has been improved. Now it supports the
  option -n, which assures that no changes are done.
- The program db7.sd7 (Database Inspector) has been improved to write
  an error message, when reading the catalog of database tables fails.
- The program chkbitdata.sd7 has been added. This program checks
  functions from the bitdata.s7i library.
- In the FAQ the explanation, how Seed7 is compiled, has been improved.
- The description of several conversion functions in the manual has
  been improved.
- The function ripemd160 has been added to msgdigest.s7i. This function
  computes a message digest with the RIPEMD-160 algorithm.
- The functions toBase58, fromBase58, toBase and fromBase have been
  added to encoding.s7i. This functions support Base58 encoding and
  similar other encodings with a positional numeric system.
- The functions putBitLsb, putBitsLsb, getBitMsb, getBitsMsb, putBitMsb
  and putBitsMsb have been added to bitdata.s7i. This functions read
  and write bits from and to a file.
- The new library leb128.s7i has been added. This library supports the
  conversion of integers to and from LEB128 encoding. LEB128 is a
  variable-length encoding for integers. It is used e.g. by the DWARF
  debug file format and by WebAssembly.
- Tests for the functions leb128ToInt(), uLeb128ToInt(), leb128() and
  uLeb128() have been added to chkint.sd7.
- The library make.s7i has been improved to avoid a makefile rule
  recursion.
- The function hex2Bytes has been added to bytedata.s7i. This function
  converts a string with hexadecimal digits to a string of bytes.
- The function reverse has been added to string.s7i and seed7_05.s7i.
- The function tableNamesCommand has been added to sql_base.s7i.
- Conversion functions have been added to char.s7i.
- In big_rtl.c the function uBigMult has been changed to be faster,
  when the size of factor2 is 1.
- In con_inf.c code to copy the environment for Emscripten and node.js
  has been added. This code is deactivated, because of a limitation
  in the Emscripten implementations of getenv() and setenv().
- The makefiles have been improved to copy the file version.h to a
  name that corresponds to the makefile. E.g.: The makefile
  mk_linux.mak copies version.h to vers_linux.h. This helps comparing
  different version.h files.
- Documentation has been added to chkccomp.c and read_me.txt.
- The prototype of the function refCatParse has been changed in
  ref_data.c, ref_data.h and ref_act.s7i. The compiler (s7c.sd7) has
  been changed to add a cast in the function init_set_constants().
  In sql_odbc.c casts have been added. This changes avoid C++
  compilation errors.
- Calls of logFunction and logError have been added in con_inf.c,
  dll_unx.c and dll_win.c.

20190407:
- The program db7.sd7 (Database Inspector) has been improved to use a
  scrollable list of tables instead of radio buttons for the selection
  of a table.
- The example program findchar.sd7 has been added. Findchar is an
  utility program to search for specific characters in files.
- The new library iobuffer.s7i has been added. This library supports
  buffering of files.
- The new library mixarith.s7i has been added. This library supports
  mixing of arithmetic operations between numeric types.
- The file type fileInTar has been added to the library tar.s7i. This
  file type allows that a specific file from a tar archive can be
  opened. The functions open, getc, gets, eof, hasNext, length, seek,
  tell, and openFileInTar have been added to support the file type
  fileInTar.
- The functions skipClassicComment and getSimpleStringLiteral have been
  added to the libraries scanfile.s7i and scanstri.s7i.
- The makefile mk_emccl.mak has been added. This makefile supports
  compiling with the emcc C compiler from Emscripten under Linux. The
  support of Emscripten is experimental (see also src/read_me.txt).
- The deprecated functions float2Bits and bits2Float have been removed
  from bin32.s7i and bin64.s7i. The functions bin32(), bin64() and
  float() can be used instead, to convert between float and bits in
  IEEE 754 representation.
- In the programs chkbig.sd7, chkovf.sd7, chkset.sd7 and chkstr.sd7
  large functions have been split into smaller functions. This avoids
  Stack errors with Emscripten.
- Tests for allowed field names and CLOB fields have been added to
  chkdb.sd7. The functions create, testFieldNames and testClobField
  have been added to chkdb.sd7.
- The primitive actions BIG_PARSE, BST_PARSE, FLT_PARSE and INT_PARSE
  have been renamed to BIG_PARSE1, BST_PARSE1, FLT_PARSE1 and
  INT_PARSE1 respectively. This actions parse the first argument
  instead of the third argument. The libraries bigint.s7i, bstring.s7i,
  float.s7i and integer.s7i have been improved to use the new actions.
- In several libraries the 'parse' operator has been changed to call
  a function with the name of the type.
- In fil.unx.c the function setupFiles has been improved to correctly
  mount the file system root for emscripten and node.js.
- In sql_fire.c, sql_my.c the support for BLOB and CLOB fields has been
  improved.
- In sql_oci.c, sql_odbc.c and sql_post.c the function
  processStatementStri() has been improved to accept strings enclosed
  in single quotes (') and double quotes (").
- The files db_fire.h and sql_fire.c have been changed to define the
  database client functions with the calling convention __stdcall.
- The files db_post.h, db_lite.h, sql_post and sql_lite.c have been
  changed to define the database client functions with the calling
  convention __cdecl.
- The database driver sql_fire.c has been improved:
  - The function getClob() has been added. This function is used by
    sqlColumnStri() to get a CLOB.
  - The function sqlBindStri() has been improved to work for CLOBs
    and to raise RANGE_ERROR for BLOBs.
  - The function sqlColumnStri() has been improved to work for BLOBs
    and CLOBs.
  - The function sqlColumnBStri() has been improved to work for BLOBs
    and to raise RANGE_ERROR for CLOBs.
  - The function sqlStmtColumnName() has been improved to assume that
    the name of a column is encoded with UTF-8.
- The database driver sql_my.c has been improved:
  - The function processStatementStri() has been improved. In strings
    delimited with single quotes (') backslashes (\) are optionally
    replaced with double backslashes (\\). Strings delimited with
    double quotes (") are converted into strings, that are delimited
    with a backtick (`).
  - The function setupResultColumn() has been improved to distinguish a
    BLOB from a CLOB.
  - The function sqlColumnStri() has been improved to work for BLOBs
    and CLOBs.
  - The function sqlColumnBStri() has been improved to work for BLOBs
    and to raise RANGE_ERROR for CLOBs.
  - The function determineIfBackslashEscapes has been introduced. This
    function determines, if a backslash is used as escape character in
    string literals. In this case processStatementStri() will double
    escaping backslashes in string literals.
- The database driver sql_odbc.c has been improved:
  - The management of buffer memory in bind functions has been improved
    for the data types SQL_DECIMAL, SQL_NUMERIC, SQL_CHAR, SQL_VARCHAR,
    SQL_LONGVARCHAR, SQL_WCHAR, SQL_WVARCHAR, SQL_WLONGVARCHAR,
    SQL_BINARY, SQL_VARBINARY and SQL_LONGVARBINARY.
- The database driver sql_post.c has been improved:
  - The function setupDll has been improved to open the dll
    libeay32.dll, when necessary.
  - In the function sqlBindStri() the binding of a field with the type
    BYTEAOID (used for BLOB data) has been improved, to work correct,  
    when the string contains a zero byte ('\0;').
  - The function sqlColumnBigRat() has been improved to process fields
    with the type FLOAT8OID as double instead of float.
- The program chkccomp.c has been improved. Now the C compiler used to
  compile chkccomp.c can be different from the C compiler checked by
  chkccomp.c. E.g.: For Emscripten chkccomp.c is compiled with gcc,
  but the checked C compiler is emcc.
- In chkccomp.c the function determineFseekFunctions has been improved
  to check fseek() and ftell() without access to the local files.
- In chkccomp.c the functions to configure access to PostgreSql,
  Oracle and Firebird databases has been improved.
- In chkccomp.c code to determine NULL_DEVICE, HAS_CDECL, HAS_STDCALL,
  INTPTR_T_DEFINED, PRINTF_ROUNDING, LINE_DIRECTIVE_ACCEPTS_UTF8,
  HAS_SETJMP and HAS_SIGSETJMP has been added or improved.
- The file sigutl.c has been improved to work correct, when neither
  signal() nor sigaction() are present.
- Log functions have been added or improved in con_emc.c, con_inf.c,
  sql_my.c, sql_post.c and timlib.c.
- Experimental code has been added to con_emc.c.

20190303:
- The makefile mk_tcc_l.mak has been added. This makefile supports
  compiling with the tcc C compiler under Linux.
- The makefile mk_tcc_w.mak has been added. This makefile is
  experimental and supports compiling with the tcc C compiler under
  Windows.
- The example program brainf7.sd7 has been added. Brainf7 is a
  Brainfuck interpreter.
- The example program hilbert.sd7 has been added. Hilbert displays a
  Hilbert curve.
- The example program queen.sd7 has been added. Queen solves the n
  queen problem.
- The example program spigotpi.sd7 has been added. Spigotpi writes
  digits of PI with a spigot algorithm.
- The new library csv.s7i has been added. This library supports
  converting to and from comma-separated values (CSV).
- Several improvements in the Seed7 compiler (s7c) have been done:
  - In flt_act.s7i the function to process FLT_ISNAN has been improved
    to make sure, that the argument of the isnan() macro never contains
    preprocessor directives (e.g. #line directives). Some C compilers
    do not allow preprocessor directives in the argument list of a
    macro. Many thanks go to Alexander Vlasov for reporting this
    problem and for his help to find a solution.
  - In comp/str_act.s7i the function optimize_str_cat has been improved
    to assign the constant parts of strConcatN() outside of the actual
    expression. This might open possibilities to optimize the
    expression.
  - The function process_forward_declaration in the compiler (s7c) has
    been improved to avoid, that a prototype of a forward declared
    function, is written twice.
  - The function process_dynamic_param_implements has been improved to
    generate a switch-statement instead of an if-then-else chain.
    Additionally double entries are avoided now.
  - The function process_const_func_call has been improved to assign
    c_params.temp_assigns to c_expr.temp_assigns instead of
    c_expr.temp_decls.
  - The function processFuncValue has been improved to define the type
    and the function of the actual name parameter only once (with
    defineActualFuncParam()). A redefinition could happen when
    functions, that call functions with name parameters, are inlined.
  - The handling of the option -te (trace exceptions) has been
    improved.
  - The function process_const_func_declaration() has been improved to
    request, that for functions using the result mechanism the result
    is returned, when possible, as c_expr.expr_result. This way
    process_return_value() does not need to copy this string values.
    E.g. When the result of intStrToBuffer(), chrCLitToBuffer(),
    chrStrMacro(), strHeadSlice(), chrStrMacro() or strTailSlice() is
    used as the result value of a user defined function.
  - The function defineFunctype has been added and the function
    getAnyParamToTempAssigns has been improved to provide addresses
    of plain INTOBJECT, FLOATOBJECT, CHAROBJECT, STRIOBJECT and
    BSTRIOBJECT values. In this case the address is taken from a
    temporary variable.
  - In write_file_head() and init_type_constants() the creation of type
    constants has been improved.
- The functions skip() and copyFile() have been added to file.s7i.
- The function makeParentDirs() has been added to osfiles.s7i.
- In cli_cmds.s7i the function doMkdirCmd has been improved to call
  the new function makeParentDirs().
- In tar_cmds.s7i the functions tarXtract and tarCreate have been
  improved to avoid, that the whole file is read into a string. This
  avoids a MEMORY_ERROR, when the file does not fit into a string.
- The function tarXtract has been improved to extract empty regular
  files and to create non-existing parent directories (with
  makeParentDirs())
- In gzip.s7i the functions openGzipFile(), close() and write() have
  been improved, to write the compressed data in blocks with a maximum
  size. This avoids a MEMORY_ERROR, when huge files are compressed.
- In gzip.s7i the function openGunzipFile has been changed to have a
  file as parameter instead of a string. This way it is not necessary
  to read the whole compressed data into a string.
- A variant of the function readGzipHeader has been added to gzip.s7i.
- A variant of the function getAsciiz has been added to bytedata.s7i.
- A variant of the function crc32 has been added to crc32.s7i.
- The program ftp7.sd7 has been improved to support the commands
  !ls -l, !dir, !ls, !pwd, !mkdir and !rmdir.
- The function noCtrlChars has been removed from db7.sd7 and sql7.sd7
  and added to seed7_05.s7i.
- The program chkchr.sd7 has been has been improved to check the
  functions literal() and c_literal().
- Tests for the function str(), when str() assigned to a variable and
  when str() is called via a function, have been added to chkint.sd7.
- Tests for aString[.. pos], aString[pos ..], aString[pos1 .. pos2],
  aString[pos len length], when they are called via a function, have
  been added to chkstr.sd7.
- The example program chkdb.sd7 has been improved to test decimal and
  numeric fields with negative values.
- In x509cert.s7i the constant stdCertificate has been improved to
  have a new validity (until end of 2021).
- The program chkccomp.c has been improved to determine, if
  preprocessor directives are allowed in the argument list of a macro
  invocation (DIRECTIVES_IN_MACRO_ARGUMENTS_OK).
- In fil_rtl.c the functions filBigLng() and filLng() have been
  improved to determine the file length always with os_fseek and
  os_ftell. This guarantees that the correct length is returned, when
  data is written to a file and it has not been flushed.
- The function ftelli64Ext() has been added to fil_win.c. This
  function is used when fseeki64() is available and ftelli64() is
  missing. Either fgetpos() or _telli64() is used to implement
  ftelli64Ext().
- Calls of logFunction have been added in ref_data.c and typ_data.c.
- In sql_my.c the function sqlBindDuration() has been improved.
- In sql_odbc.c the function getNumericAsCStri() has been added.
- In sql_odbc.c the function getNumericFloat() has been improved to 
  convert a SQL_NUMERIC_STRUCT to a double via the decimal
  representation.
- In sql_post.c the functions getNumericAsCStri(), getNumericAsStri()
  and getNumericAsFloat have been improved.
- The program chkccomp.c has been improved to define the macros
  'os_isatty' and 'os_fileno', when the functions isatty() and
  fileno() are not available.
- A definition of 'isatty' and 'fileno' has been added to os_decls.h.
- The mechanism to check for stack overflow has been improved. By
  default the mechanism is deactivated.

20190126:
- The program db7.sd7 (Database Inspector 7) has been improved to
  provide a list of tables and a possibility to view table contents
  from this list.
- The program tar7.sd7 and the library tar.s7i have been improved to
  support Unicode file names.
- The function setupParameters() in sql_fire.c, sql_lite.c, sql_my.c,
  sql_oci.c, sql_odbc.c and sql_post.c has been improved to avoid
  calling malloc(0). Depending on the run-time library malloc(0) may
  return NULL, which would wrongly trigger a MEMORY_ERROR. The
  improvement recognizes this situation and avoids calling malloc(0).
  Other places in the database drivers, where malloc(0) could be called
  have been fixed also.
- The database driver sql_fire.c has been improved:
  - Now the cursor of a prepared statement is closed (with
    isc_dsql_free_statement), when a parameter is bound to it.
  - The opening of a database now appends the extensions .fdb and .gdb,
    when trying to open the database.
- The database driver sql_my.c has been improved:
  - The function processEscapesInStatement has been renamed to
    processStatementStri. Now it removes comments from the statement
    string.
  - The local variable 'param' has been introduced in the parameter
    binding functions. This improves readability by avoiding many
    accesses to the param_array.
  - The local variable 'columnData' has been introduced in the column
    accessing functions. This improves readability by avoiding many
    accesses to the result_array.
  - The function sqlColumnFloat has been improved to accept integer
    fields with all sizes.
- The database driver sql_oci.c has been improved:
  - Now there is a check if all parameters of a prepared statement are
    bound. This check takes place when a prepared statement is
    executed.
  - The function processBindVarsInStatement has been renamed to
    processStatementStri. Now it removes comments from the statement
    string and determines the number of bind parameters.
  - The functions setupParameters and allParametersBound have been
    added and the function resizeBindArray has been removed.
  - The function getFloat has been improved to convert a SQLT NUMBER
    to a double via the decimal representation.
  - The bind functions have been improved to check, that a parameter
    with the given index exists.
  - The bind functions have been improved to allow that the same
    parameter can be bound again with a different bind function (e.g.
    as integer instead of a bigInteger).
  - The function sqlBindStri has been improved to preserve trailing
    blanks in a string.
  - The local variable 'param' has been introduced in the parameter
    binding functions. This improves readability by avoiding many
    accesses to the param_array.
  - The local variable 'columnData' has been introduced in the column
    accessing functions. This improves readability by avoiding many
    accesses to the result_array.
- The database driver sql_odbc.c has been improved:
  - The maximum number of concurrent activities is determined. If the
    number of concurrent activities is limited the function
    sqlExecute() fetches all results and stores them in a prefetch
    buffer. This way several prepared statements can be used in
    parallel even when the ODBC driver does not support concurrent
    activities.
  - The structure resultDescrRecord has been introduced. It contains
    the result properties of a prepared statement column. The structure
    resultDataRecord has been reduced to just contain the actual
    data buffer and length of a result field.
  - The functions freeFetchData, freeFetch, freePrefetched and
    processStatementStri have been added. The function
    processStatementStri removes comments from the statement string.
    This avoids problems with some ODBC drivers.
  - The functions bindResultColumn, bindResult, copyNonBlobBuffers,
    moveBlobBuffers, copyFetchData, prefetchOne, prefetchAll and
    doFetch have been added.
  - Now the cursor of a prepared statement is closed (with
    SQLFreeStmt), when a parameter is bound to it.
  - The function sqlColumnFloat has been improved to accept integer
    fields with all sizes.
- The database driver sql_post.c has been improved:
  - The function processBindVarsInStatement has been renamed to
    processStatementStri. Now it removes comments from the statement
    string.
  - The local variable 'param' has been introduced in the parameter
    binding functions. This improves readability by avoiding many
    accesses to the param_array.
  - The function sqlColumnFloat has been improved to accept integer
    fields with all sizes.
- The example program chkdb.sd7 has been improved. Now it tests several
  corner cases with empty databases, empty statements, comments and
  literals. The tests with integer fields retrieve the fields now also
  as floats.
- Interpreter and compiler have been improved to support the new
  actions SQL_DRIVER, STR_FOR_KEY and STR_FOR_VAR_KEY.
- The library forloop.s7i has been improved to use the new actions
  STR_FOR_KEY and STR_FOR_VAR_KEY.
- Checks for string for loops have been added to chkstr.sd7.
- The library sql_base.s7i has been improved to support the new
  functions driver() and getTableNames(). The function getTableNames
  returns a list of user table names.
- The function sqlDriver has been added to sql_rtl.c.

20190107:
- A chapter about the handling of errors in interpreter and run-time
  library has been added to the manual.
- The new database driver sql_fire.c has been added. This driver
  provides database access functions for Firebird/InterBase.
- The database drivers sql_lite.c, sql_my.c, sql_odbc.c and sql_post.c
  have been improved to check that all parameters of a prepared
  statement are bound. This check takes place when a prepared statement
  is executed.
- The bind functions in sql_lite.c and sql_my.c have been improved to
  check, that a parameter with the given index exists.
- The bind functions of sql_my.c and sql_odbc.c have been improved to
  allow that the same parameter can be bound again with a different
  bind function (e.g. as integer instead of a bigInteger).
- The database driver sql_lite.c has been improved:
  - The function sqlBindBigRat has been improved to convert a
    bigRational to a double via the decimal representation.
  - The functions sqlColumnBigInt and sqlColumnInt have been improved
    to accept blob values with a decimal content that ends with ".0".
  - The function sqlColumnFloat has been improved to accept integer
    values.
  - The function sqlExecute has been improved to reset a prepared
    statement, when necessary.
- The database driver sql_my.c has been improved:
  - Medium and large blobs are supported now.
  - The function sqlColumnStri() has been improved to read BLOB data.
  - The function processEscapesInStatement() has been introduced. This
    function assures that string literals in prepared statements do not
    allow backslash escape sequences (e.g. \n or \t). This way a
    backslash in a SQL statement has no special meaning (like it is
    common practice in all other SQL databases).
  - The function sqlExecute() has been improved to call
    mysql_stmt_store_result(). This way the complete result set is
    buffered on the client. Doing so avoids the "Commands out of sync"
    error (e.g. which is triggered (without mysql_stmt_store_result()),
    when a new statement is prepared before all data of an old
    statement is fetched).
  - The function resizeBindArray() has been removed.
- The database driver sql_odbc.c has been improved:
  - The function SQLGetTypeInfo is used to determine if the driver
    supports the type SQL_WCHAR.
  - It is recognized when the function SQLDescribeParam() is missing
    and reasonable default values are used instead.
  - The function SQLFreeStmt() is used now without the precondition
    fetchOkay or fetchFinished.
  - The function setupParameterColumn has been introduced. This
    function allocates memory for parameter buffers.
  - One call of SQLDescribeCol() is used to determine the properties of
    result columns instead of many calls of SQLColAttribute().
  - Blob result data is now recognized by data type (SQL_LONGVARCHAR,
    SQL_WLONGVARCHAR or SQL_LONGVARBINARY) instead of data length.
  - The bind functions have been improved to use a switch depending
    on the data type.
  - Calls of SQLBindParameter() have been changed to use parameters
    determined with SQLDescribeParam().
  - At several places switch statements depending on the c_type are
    used.
  - The function sqlColumnDuration has been improved to accept a
    duration in a VARCHAR field.
  - Experimental code to search for an ODBC driver has been added (but
    it is deactivated for now).
- The database driver sql_post.c has been improved:
  - The function setupParameterColumn() has been introduced. This
    function allocates memory for parameter buffers. The buffers are
    part of the bindDataRecord.
  - The conversion of the internal NUMERIC representation to integer,
    float, bigInteger and bigRational values has been improved. Now
    sqlColumnInt() and sqlColumnFloat() can also read NUMERIC data.
  - The functions getNumericAsCStri(), getNumericAsStri(),
    getNumericAsInt(), getNumericAsBigInt(), getNumericAsBigRat()
    and getNumericAsFloat() have been added.
  - The function sqlColumnStri() has been improved to read BLOB data.
  - The memory management has been improved to recognize out of memory
    situations reliable.
  - The handling of exceptions has been improved.
- The function literal() has been added to bigint.s7i, bigrat.s7i,
  boolean.s7i, bstring.s7i, duration.s7i and time.s7i.
- The function integer (it converts a bigInteger to an integer) has
  been added to bigint.s7i.
- The function string (it converts a bstring to a string) has
  been added to bstring.s7i.
- The example program chkdb.sd7 has been improved to test the
  functionality of a database with much more detail. Chkdb.sd7 now
  supports parameters to specify the database to be checked.
- The programs sql7.sd7 and db7.sd7 has been improved to support
  Firebird/Interbase databases.
- The tests of shift operators have been improved in chkbig.sd7.
- The program chkccomp.c has been improved to determine the settings
  for directory access and for the database driver sql_fire.c.
- An #if instruction has been added to dir_win.c, soc_none.c and
  soc_rtl.c, such that the object file can always be linked.
- The function stri_to_cstri8_buf() has been changed to work without
  err_info parameter.
- Experimental code, to avoid the gmp error "overflow in mpz type" for
  shift operations, has been added to big_gmp.c.
- In big_rtl.c, big_gmp.c and big_drv.h the functions bigToInt16(),
  bigToInt32() and bigToInt64() have been changed to have the
  additional parameter err_info.
- The function setupBig() has been added to big_rtl.c and big_gmp.c.
  Additionally interpreter and compiler have been improved to call
  setupBig().
- Documentation comments have been improved in integer.s7i,
  sql_base.s7i, big_gmp.c, big_rtl.c, sql_rtl.c, intlib.c, int_rtl.c
  and striutl.c
- The file soc_dos.c has been renamed to soc_none.c.

20181125:
- In sql_odbc.c the handling of blobs has been improved. Selects with
  normal and blob fields work now independent from the order of fields.
  The functions resizeBindArray() and getClob() have been removed. The
  functions setupParameters(), getBlob(), getData() and fetchBlobs()
  have been added and the function getWCLob() has been improved.
- In sql_odbc.c the handling of time values has been improved to
  support the sql type datetime2 and times with fractions of a second.
  The functions sqlBindTime() and sqlColumnTime() have been improved.
- In sql_odbc.c the binding of bigRational and null values has been
  improved. The functions sqlBindBigRat() and sqlBindNull() have been
  improved.
- In the library duration.s7i the function str() and the operator
  'parse' have been improved to use P[nY][nM][nD][T[nH][nM][n[.n]S]] as
  format for the string representation of a duration.
- In dir_rtl.c the function dirRead() has been improved to use the
  functions conv_from_os_stri() and os_stri_strlen() instead of
  os_stri_to_stri(). This reduces the runtime of dirRead() by 2%
  (measured with gcc and valgrind, when reading 1532 directories).
- In the compiler (in comp/const.s7i) the actions BST_PARSE, FLT_PARSE
  and INT_PARSE have been added to the list of special actions.
- The function duration(), which converts a string to a duration value,
  has been added to duration.s7i.
- The function time(), which converts a string to a time value, has
  been added to time.s7i. Additionally parsing of time literals has
  been improved to support negative years.
- The function bstring(), which converts a string to a bstring value,
  has been added to bstring.s7i.
- The function rand(), which computes a pseudo-random time in a given
  range, has been added to time.s7i.
- Tests for the function float(), which converts a string to a float
  value, have been added to chkflt.sd7.
- The program chkccomp.c has been improved to determine INT64_SIZE
  (the size of __int64), HAS_LLABS, HAS_ABS64, STRINGIFY_WORKS,
  HAS_GMTIME_R and HAS_GMTIME_S.
- Documentation comments have been added or improved in sockbase.s7i,
  fil_rtl.c, fil_unx.c, fil_win.c, soclib.c and soc_rtl.c.
- In heaputl.c the function growStri() has been improved to have a
  smarter behavior in the case when malloc() returns NULL.
- The functions sqlBindDuration and sqlColumnDuration have been
  improved in sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c and
  sql_post.c.
- The parameter time_zone has been added to the function sqlBindTime()
  in sqllib.c, sql_rtl.h, sql_rtl.c, sql_drv.h, sql_lite.c, sql_my.c,
  sql_oci.c, sql_odbc.c, sql_post.c and comp/sql_act.s7i.
- A function to bind a duration value to a prepared statement has been
  added to the library sql_base.s7i.
- The example program chkdb.sd7 has been improved to check inserting
  and selecting time and duration values into and from a database.
- In sql_lite.c the function sqlColumnTime() has been improved.
- In sql_post.c the functions sqlBindTime() and sqlColumnTime() have
  been improved.
- The functions stringify() and conv_wstri_buf_to_cstri() have been
  added to striutl.c.
- In tim_rtl.c the functions mkutc() and unchecked_mkutc() have been
  improved to work with negative years.
- The function timUtcFromTimestamp() has been added to tim_rtl.c.

20181014:
- Simple function profiling has been added to the compiler. Profiling
  is enabled, when programs are compiled with the option -p. When
  programs with profiling are executed they write profiling information
  to the file profile_out, when they terminate.
- An explanation of the compiler option -p (simple profiling) has been
  added to the FAQ.
- The function str_dd_mm_yy has been added to the library time.s7i.
- In chkflt.sd7 the tests for the operator ** (with an exponent of NaN)
  have been improved.
- Documentation comments have been improved in integer.s7i, intlib.c,
  int_rtl.c, tim_unx.c and tim_win.c.
- In hsh_rtl.c the function hshIdxEnterDefault has been simplified to
  use fewer parameters. Usages of hshIdxEnterDefault in gkb_win.c,
  gkb_x11.c, pol_sel.c, pol_unx.c, ref_data.c and typ_data.c have been
  adjusted to the reduced number of parameters.
- In int_rtl.c the performance of the function intParse has been
  improved (when two's complement integers are used).
- In pcs_unx.c the function pcsStart has been improved to work correct
  when stdin, stdout or stderr are not redirected.
- In flt_rtl.c the function fltPow() has been improved to work correct,
  when the base is zero and the exponent is NaN.
- The program chkccomp.c has been improved to check the function pow()
  with more test cases.
- In striutl.c the function heapAllocOsStri() has been refactored to
  return the allocated string instead of using a pointer to a string
  variable. This opens the possibility to optimize usages of the macro
  os_stri_alloc().
- The definition of WITH_SQL has been removed from the makefiles and
  added to the file config.h instead.
- The file config.h has been changed to define the macros WITH_FLOAT,
  WITH_REFERENCE, WITH_DRAW, WITH_STATISTIC, WITH_COMPILATION_INFO and
  WITH_TYPE_CHECK always.
- The function timMicroSec in tim_unx.c and tim_win.c has been changed
  to be useable for the simple profiling.

20180821:
- In fil_dos.c in the function setupFiles the handling of ctrl-c has
  been improved such that ctrl-c is sent immediate (without the need to
  press return afterwards). Additionally redirected stdin, stdout and
  stderr files are switched to binary mode now.
- In the compiler (in comp/const.s7i) the actions BIN_XOR, ENU_ICONV2,
  ENU_ORD2, INT_ICONV1 and INT_ICONV3 have been added to the list of
  special actions.
- The batch files bin/call_gcc.bat and bin/call_ar.bat have been
  improved to set environment variables with the command 'set'. This
  is necessary to execute them successfully under Wine.
- The description of log, log10 and log2 in the manual has been
  improved.
- In flt_rtl.c the functions fltLog, fltLog10 and fltLog2 have been
  added. This functions are based on the original functions log(),
  log10() and log2() and work according to IEEE 754.
- The configuration values LOG_FUNCTION_OKAY, LOG10_FUNCTION_OKAY and
  LOG2_FUNCTION_OKAY have been added to cc_conf.s7i.
- The configuration value HAS_LOG2 has been removed from cc_conf.s7i.
- The compiler (s7c) has been improved to use the functions fltLog,
  fltLog10 and fltLog2.
- In comp/inline.s7i the functions push_inline_func_param,
  pop_inline_func_param, push_inline_proc_param and
  pop_inline_proc_param have been improved to support inline functions
  with 'attr' parameters.
- The example program diff7.sd7 has been improved.
- Documentation comments have been improved in math.s7i and tar.s7i.
- In chkflt.sd7 the tests for the operators 'parse' and 'sci' and for
  the function str() have been improved.
- The program chkccomp.c has been improved to define the macros
  POW_OF_NEGATIVE_OKAY, LOG_OF_NAN_OKAY, LOG_OF_ZERO_OKAY,
  LOG_OF_NEGATIVE_OKAY, LOG10_OF_NAN_OKAY, LOG10_OF_ZERO_OKAY,
  LOG10_OF_NEGATIVE_OKAY, LOG2_OF_NAN_OKAY, LOG2_OF_ZERO_OKAY,
  LOG2_OF_NEGATIVE_OKAY, MEMCMP_RETURNS_SIGNUM and
  WMEMCMP_RETURNS_SIGNUM.
- In chkccomp.c the function determineFseekFunctions has been improved
  to make tests that actually use fseek() and ftell().
- Calls of logFunction have been added in cmd_rtl.c, str_rtl.c,
  strlib.c and striutl.c.
- In bstlib.c the function bst_cmp() has been improved to be based on
  bstCmp().
- The functions strCompare(), str_cmp() and bstCmp() have been
  improved to use different code depending on MEMCMP_RETURNS_SIGNUM
  and WMEMCMP_RETURNS_SIGNUM.
- In s7c.sd7 the function canTakeAddress has been improved to return
  FALSE for a CONSTENUMOBJECT.

20180708:
- The operating system DOS is supported (with DJGPP) again. The tests
  have been done with Dosbox and Dosemu.
- In the compiler (in comp/const.s7i) the actions BIN_AND and BIN_OR
  have been added to the list of special actions. This way the
  functions rotLeft and rotRight (from bin32.s7i and bin64.s7i) are
  implemented as inline functions. This reduces the runtime of sha256
  (from msgdigest.s7i) by 44% (measured with gcc and valgrind, when
  reading data from 200 https connections). The cpu-time of the whole
  test program was reduced by 17%.
- In msgdigest.s7i the functions md4, md5, sha1, sha224 and sha256
  have been improved to use an index for words instead of an index
  for chunks. This simplifies the conversion to 32-bit words.
- In comp/action.s7i the function process_action has been improved to
  use a case-statement instead of multiple if-statements. This reduces
  the runtime of process_action by 39% (measured with gcc and valgrind,
  when the compiler compiles itself). The runtime of the compiler is
  reduced by 2.5%.
- The contents of the libraries enable_input.s7i and enable_output.s7i
  have been moved to the library enable_io.s7i.
- The library comp/expr_util.s7i has been renamed to comp/expr_utl.s7i.
- The program chkccomp.c has been improved to search 64-bit functions
  for fseek() and ftell(). The findings are stored in version.h with
  the macros _FILE_OFFSET_BITS, OS_OFF_T_SIZE, os_off_t, os_fseek and
  os_ftell.
- In chkflt.sd7 the tests for float shift and logarithm of 0.0 have
  been improved.
- The file src/read_me.txt has been updated.
- In chkccomp.c the functions isNullDevice, initializeNullDevice,
  determineStatFunctions, determineOsFunctions and numericProperties
  have been improved.
- The program chkccomp.c has been improved to work for PostgreSQL
  versions 9.6, 10 and 11.
- In cmd_rtl.c the function getOsCwd has been improved to assure that
  PATH_DELIMITER is used as path delimiter.
- In flt_rtl.c the functions fltDigits and fltSci have been improved,
  to work correct, when printf() with format %f and %e and a huge
  precision crashes. Additionally fltSci() has been improved to work
  correct, when the number of exponent digits written with format %f is
  not fixed.
- In con_wat.c the functions kbdShut and conWrite have been improved
  and the functions term_descr_equal, tcset_term_descr, kbd_init,
  doWriteConsole and doCPuts have been added.
- The functions handleIntSignal, readCharChkCtrlC and filPipe have been
  added to fil_dos.c.
- The function drwConvPointList has been added to drw_dos.c.
- The definitions of volumeListType, IS_VOLUME_LIST and
  openVolumeList() have been moved from dir_win.h to the new file
  vol_drv.h
- In traceutl.c the function prot_cstri has been improved to optionally
  write the string via conWrite.
- The functions striCharsAsUnquotedCStri, isShortFileName, findDot,
  toShortFileName, copyFileName and mapLongFileNamesToShort have been
  added to striutl.c. The function mapLongFileNamesToShort can be used
  to convert a path with long file names to a path with 8.3 file names.
- The program setwpath.c has been improved to set the search path of
  the current user, when setting the path for all users fails.
- The program sudo.c has been improved to execute the command without
  privileges, when executing the command as administrator fails.
- The functions gets (in tls.s7i), doGetsFromTerminal (in fil_rtl.c),
  ut8Gets (in ut8_rtl.c) and socGets (in soc_rtl.c) have been improved
  to return an empty string immediately, when the requested length is
  zero.
- Calls of logFunction have been added in fil_rtl.c, prclib.c and
  striutl.c.
- Calls of logError have been added in infile.c.
- The files dll_dos.c, pcs_dos.c and vol_drv.h have been added.
- Definitions of _FILE_OFFSET_BITS, os_off_t, os_fseek and os_ftell
  have been removed from the makefiles.
- The makefiles mk_djgpp.mak and mk_djgp2.mak have been improved, such
  that DOS (with DJGPP) is supported again.
- Documentation comments have been improved in sql_base.s7i, cipher.s7i
  and sql_rtl.c.

20180601:
- The library tls.s7i has been improved to support the server_name
  extension and to process handshake messages, that extend over several
  tls message records. Additionally TLS version 1.2 is used now.
- The library x509cert.s7i has been improved to accept a validity with
  times in GeneralizedTime data elements (additionally to times in
  UTCTime data elements).
- The library browser.s7i has been improved to support calling Safari
  under Mac OS X.
- Tests for the functions environment(), getenv() and setenv() have
  been added to chkcmd.sd7.
- A test that checks the sorting of an array of strings has been added
  to chkstr.sd7. This checks the compare() function for strings.
- The compiler s7c has been improved to create better code for the
  option -tf (trace functions). Now the trace functions are added after
  the declarations (such that older C compilers will accept this also).
- In chkflt.sd7 tests for NaN have been grouped together.
- In chkovf.sd7 tests for the binomial coefficient have been split into
  groups.
- The program chkccomp.c has been improved to define the macros
  LIMITED_CSTRI_LITERAL_LEN, LIMITED_ARRAY_LITERAL_LEN,
  DECLARE_OS_ENVIRON, USE_GET_ENVIRONMENT, INITIALIZE_OS_ENVIRON,
  DEFINE_WGETENV, DEFINE_WSETENV, os_environ, os_getenv, os_setenv,
  os_putenv, DELETE_PUTENV_STRING, DEFINE_WSTATI64_EXT,
  DEFINE_STRUCT_STATI64_EXT, DEFINE_FSTATI64_EXT, os_lstat, os_stat,
  os_fstat, os_stat_struct, os_fstat_struct, HAS_SELECT and HAS_MMAP.
- In int_rtl.c the macro DECIMAL_DIGITS has been improved to work with
  unsigned numbers.
- In str_rtl.c the function strCmpGeneric() has been changed back to
  the old behaviour. Now strCmpGeneric() and strCompare() have again
  the same behaviour. It has turned out that sorting an array of
  strings worked wrong, when the program was compiled.
- In pcs_win.c the function prepareCommandLine has been improved and
  the function copyQuotedPart has been added. Now the command line
  created for CreateProcessW() has fewer quoted parameters. Now
  parameters that contain a space or a quotation (") or a control
  character or a character beyond ASCII are quoted. All other parameters
  are not quoted.
- Definitions of USE_MMAP, os_environ, os_fstat, DEFINE_WSTATI64_EXT,
  os_lstat, os_stat, os_stat_orig, os_stat_struct, os_fstat_struct,
  DEFINE_WSETENV, os_setenv, os_putenv and USE_DIRENT have been removed
  from the makefiles.
- In several files usages of USE_MMAP have been replaced by usages of
  HAS_MMAP.
- The file read_me.txt has been updated.
- In chkccomp.c the functions checkForLimitedArrayLiteralLength() and
  determineStatFunctions() have been added and the functions
  determineEnvironDefines() and determineBigIntDefines() have been
  improved. Now the test for the GMP library enforces static linking.
- The macros DEFINE_MATHERR_FUNCTION and DEFINE__MATHERR_FUNCTION have
  been improved to define if matherr() or _matherr() should be defined.
- Log functions have been improved in big_gmp.c, big_rtl.c and
  int_rtl.c.

20180513:
- In the manual descriptions of the binomial coefficient and of several
  conversion functions have been improved.
- The bas7.sd7 (basic interpreter) example program has been improved to
  use case statements with strings.
- The operator &:= has been added to the libraries bitsetof.s7i and
  bitset.s7i.
- The function rand() has been added to the library hashsetof.s7i. This
  function returns a random element from a hash set.
- The compiler (s7c) has been improved to generate code that uses
  memcpy or memmove to copy and create arrays of simple value types
  (e.g. array integer). The destruction of arrays of simple value types
  has also been simplified.
- The compiler has been improved to optimize the action SET_RAND.
- The compiler optimizations for the actions SET_DIFF, SET_UNION and
  SET_UNION_ASSIGN has been improved.
- In the compiler (in comp/const.s7i) the actions BLN_ICONV1,
  BLN_ICONV3, CHR_ICONV3 and SET_RAND have been added to the list of
  special actions. The compiler implements functions, which just call
  one of the special actions as inline functions.
- Interpreter and compiler have been improved to support the actions
  HSH_RAND_KEY and SET_INTERSECT_ASSIGN.
- Tests for the functions card() and rand() for the type set of string
  have been added to chkset.sd7.
- Tests for intersection assignments ( &:= ) have been added to
  chkset.sd7.
- In s7c.sd7 the code to call C compiler and linker has been
  refactored.
- The compiler has been improved (in comp/prc_act.s7i) to use the
  function hshIdxDefault0() instead of hshIdxWithDefault() for case
  statements with hashsets.
- The code generation of the compiler has been improved to trigger the
  signal SIGFPE with a call of triggerSigfpe().
- The compiler has been improved to insert diagnostic line information
  (e.g.: #line 64 "logfile.s7i") into code for the actions ARR_CPY,
  BLN_AND, BLN_OR, ITF_CPY, PRC_IF, PRC_IF_ELSIF, PRC_IF_NOOP
- The compiler has been improved to insert diagnostic line information
  for inlined functions.
- The configuration values in cc_conf.s7i have been improved.
  SWITCH_WORKS_FOR_INT64TYPE, CC_OPT_OPTIMIZE_1, CC_OPT_OPTIMIZE_2 and
  CC_OPT_OPTIMIZE_3 have been added. SYSTEM_DB_LIBS has been renamed
  to ADDITIONAL_SYSTEM_LIBS. HAS_SIGACTION, SIGNAL_RESETS_HANDLER and
  DO_SIGFPE_WITH_DIV_BY_ZERO have been removed.
- The program chkccomp.c has been improved. Now it determines the name
  of the NULL device (/dev/null or NUL:), the system socket library
  (unix sockets or winsocket), the method to read directories, the
  bigInteger implementation used (big_rtl.c or big_gmp.c) and the
  support for switch statements with 64-bit values.
- Documentation comments have been added or improved in bigint.s7i,
  integer.s7i, bitsetof.s7i, bitset.s7i, hashsetof.s7i, cc_conf.s7i,
  fil_rtl.c, dir_drv.h, cmd_rtl.c, set_rtl.c, str_rtl.c and striutl.c.
- In set_rtl.c the function setIntersect() has been improved to create
  a smaller intersection result, if possible.
- In set_rtl.c the function setIntersectAssign has been added.
- In setlib.c the function set_intersect_assign has been added.
- In hsh_rtl.c the functions get_helem_elem, get_hash_elem, hshRand
  and hshIdxDefault0 have been added.
- In hshlib.c the functions get_helem_elem, get_hash_elem and
  hsh_rand_key have been added.
- In gkb_x11.c and gkb_win.c the function find_window() has been
  improved to use hshIdxDefault0() instead of hshIdxWithDefault().
- In big_gmp.c the function bigDivRem has been improved to initialize
  the remainder.
- In str_rtl.c and strlib.c the function strelem_memcmp has been
  renamed to memcmp_strelem.
- In str_rtl.c the function strCmpGeneric has been changed to avoid
  calls of memcmp_strelem(), when the string sizes differ. This
  differs from the behaviour of strCompare, but the difference is not
  important, because strCmpGeneric() is only used for string
  comparisons of hash keys (in compiled programs).
- In striutl.c the function conv_to_cstri has been rewritten to return
  the C string, when the function succeeds, and to work without the
  parameter err_info.
- In striutl.c the function stri_to_bstriw has been rewritten to use
  an err_info parameter.
- In striutl.c the functions with loop unrolling inspired by Duff's
  device have been rewritten.
- In striutl.c the loops in conv_to_cstri, stri_to_cstri and
  conv_to_os_stri have been optimized.
- The macro castIntTypeForSwitch has been introduced to support C
  compilers, that do not support switch statements with 64-bit values.
- Definitions of NULL_DEVICE, USE_GETADDRINFO, USE_WINSOCK and
  BIGINT_LIB_DEFINE have been removed from the makefiles.

20180401:
- The new library logfile.s7i has been added. It defines the interface
  logFile. A logFile works like a normal file unless the log file
  has the value STD_NULL. When a logFile has the value STD_NULL string
  expressions written to the logFile are not evaluated. This reduces
  the overhead, when logging is turned off.
- The bas7.sd7 (basic interpreter) example program has been improved.
  The logging is now done via the new logFile type. This improves the
  performance, when no logging is done. Several DATA statements in one
  line are processed correctly now. Support for IF GOSUB and DISPLAY
  statements and for the function COMMAND$ has been added.
- Tests of nested bigInteger for loops have been added to chkbig.sd7.
- A test with the assignment of a hash variable to itself have been
  added to chkhsh.sd7.
- Tests of the replace function have been added to chkstr.sd7.
- In striutl.c the functions conv_from_os_stri, cstri8_to_stri and
  cstri8_buf_to_stri have been improved. Now they call realloc()
  only, when the size has changed. This improves the performance of
  conv_from_os_stri by 32% (measured with gcc and valgrind, when
  reading a directory).
- In str_rtl.c the function strUtf8ToStri has been improved to call
  realloc() only, when the size has changed.
- In cmd_rtl.c the functions add_stri_to_array and
  complete_stri_array have been renamed to addStriToRtlArray and
  completeRtlStriArray respectively. The renamed functions have also
  been improved to work with a simpler parameter list. Together with
  the improvement of conv_from_os_stri this improves the performance
  of cmdLs by 14% (measured with gcc and valgrind, when reading a
  directory).
- In cmdlib.c the function cmd_ls has been rewritten to be based on
  cmdLs. The functions cmp_mem and read_dir have been removed.
- In cmdlib.c the main loop in the function toArrayType has been
  optimized for performance.
- In str_rtl.c the function add_stri_to_array has been renamed to
  addCopiedStriToRtlArray and the function completeRtlStriArray has
  been introduced. The code of addCopiedStriToRtlArray has also been
  improved to work with a simpler parameter list.
- In strlib.c the function add_stri_to_array has been renamed to
  addCopiedStriToArray and the functions freeStriArray and
  completeStriArray have been introduced. The code of
  addCopiedStriToArray has also been improved to work with a simpler
  parameter list.
- The compiler has been improved to optimize the action HSH_CONTAINS,
  when the hash table is constant and contains one element.
- In the compiler (in comp/const.s7i) the actions BLN_ORD, CHR_ICONV1,
  CHR_ORD and INT_ODD have been added to the list of special actions.
  The compiler implements functions, which just call one of the
  special actions as inline functions. This allows optimizations for
  the boolean and char random number generator.
- The compiler (s7c) has been improved (in comp/destr.s7i) to define
  interface destructors, which take all possible implementation
  types into account. Additionally a switch statement is used instead
  of an if-then-else chain. Double entries are also avoided now.
- The function strChRepl has been added to str_rtl.c.
- The compiler has been improved to use strChRepl instead of strRepl,
  to optimize split operations.
- Unnecessary function parameters have been removed in several
  include files of the compiler.
- In flt_rtl.c the function doubleToCharBuffer has been improved to
  determine the integer value of the exponent without calling
  strtol().
- The function freeRtlStriArray has been added to arr_rtl.c.
- Several #define flags in pol_sel.c have been improved.
- The macro CSTRI_LITERAL_TO_STRI has been defined in striutl.h and
  used in analyze.c, arr_rtl.c, cmd_rtl.c, cmd_unx.c, infile.c,
  pcs_unx.c and pcs_win.c.
- Calls of logError have been added to functions in cmd_rtl.c,
  con_inf.c, prclib.c, soc_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and
  tim_win.c.
- Documentation comments have been added or improved in cmdlib.c,
  int_rtl.c and tim_rtl.c.

20180304:
- In fil_rtl.c and ut8_rlt.c the functions filLineRead, filWordRead,
  ut8LineRead and ut8WordRead have been improved to use
  getc_unlocked() instead of getc(). This way the performance of the
  functions has been improved by a factor of 2 (filLineRead has been
  measured with gcc and valgrind).
- In listutl.c the performance of the function copy_list has been
  improved by 15% (measured with gcc and valgrind).
- In getf.s7i the performance of the function readf has been improved
  by a factor of 4 (measured with gcc and valgrind).
- The functions free_helem and free_hash in hshlib.c have been
  improved to stop searching for helems as soon as the last helem
  has been freed. This improves the performance of free_hash by 36%
  (measured with gcc and valgrind).
- Code to avoid an error with the assignment of a hash variable to
  itself (e.g.: aHash := aHash;) has been added to hshlib.c and
  hsh_rtl.c.
- In fil_rtl.c the function read_and_alloc_stri and filGets have been
  improved to have less usages of err_info and num_of_chars_read.
- In soc_rtl.c the function receive_and_alloc_stri has been improved
  to have less usages of err_info and better logError messages.
- In hsh_rtl.c and hshlib.c the function create_hash has been
  improved to use memset to initialize empty hash tables.
- The functions bstCmp, genericCmp, ptrCmp, rflCmp and typCmp have
  been improved to use a result variable named signumValue.
- Interpreter and compiler have been improved to support the actions
  ACT_ICONV1, ACT_ICONV3, INT_ICONV1, INT_ICONV3 and REF_HSHLENGTH.
- The libraries integer.s7i, bin32.s7i, bin64.s7i, category.s7i and
  graph.s7i have been improved to use the new primitive actions.
- The function boolean(), which converts a string to a boolean value,
  has been added to boolean.s7i.
- The function char(), which converts a string to a char value, has
  been added to char.s7i.
- The function float(), which converts a string to a float value, has
  been added to float.s7i.
- The compiler has been improved to support the actions ACT_GEN and
  TYP_VARFUNC.
- The compiler now uses the function process_call_by_name_expr to
  create code for loop conditions, loop bodies and other call by name
  parameters.
- The functions process_match and process_inline_param have been
  added to the compiler.
- The compiler has been improved to implement functions, which just
  call one of the special actions HSH_CONTAINS, HSH_EXCL, HSH_INCL,
  HSH_KEYS, SET_BASELIT, SET_CONV, SET_ELEM, SET_EXCL, SET_INCL,
  SET_NOT_ELEM, as inline functions. This allows optimizations for
  the types set of char and set of string.
- The compiler has been improved to optimize the action HSH_CONTAINS,
  when the hash table is constant.
- The compiler optimizations for the actions SET_ELEM and
  SET_NOT_ELEM have been improved.
- A test, that checks for-loops over hash tables, has been added to
  chkhsh.sd7.
- Set membership tests for char and string have been added to
  chkset.sd7.
- Functions to handle inline parameters have been moved from s7c.sd7
  to the new file comp/inline.s7i.
- The program chkccomp.c has been improved to determine the presence
  of the functions flockfile(), funlockfile() and getc_unlocked().
- The function match_object3 has been added to match.c. This function
  assures that BLOCKOBJECT and ACTOBJECT objects are always preceded
  by a MATCHOBJECT.
- The action RFL_SETVALUE has been ranamed to RFL_SET_VALUE.
- Several C run-time library functions (in *lib.c files) have been
  renamed such that action name and function name correspond to each
  other.

20180107:
- Interpreter and compiler have been improved to allow support
  for case statements with hashsets in the when parts. This allows
  e.g. case statements with string, bigInteger, type and other
  expressions.
- Several discrepancies between s7 and s7c have been fixed. Many
  thanks go to "tipd bmp" who sent a example programs to show the
  discrepancies. Thanks also for finding a bug in the manual. 
- The following type conversion functions from integer have been
  introduced: bigInteger(), bigRational(), bitset(), boolean(),
  char(), float(), rational() and complex(). This fits to the
  existing conversion functions bin32() and bin64().
- The files bigrat.s7i, filesys.s7i, int_act.s7i, s7c.sd7, chkdb.sd7,
  dnafight.sd7, printpi1.sd7, printpi2.sd7 and savehd7.sd7 have been
  adjusted to use bigInteger() instead of the conv operator to
  convert an integer to a bigInteger.
- The function bigRational, which converts a string to a bigRational
  number, has been added to bigrat.s7i.
- The function rational, which converts a string to a rational
  number, has been added to rational.s7i.
- In rational.s7i the operator 'parse' has been improved to convert
  a string with a decimal number to a rational number.
- The functions float2Bits and bits2Float in bin32.s7i and bin64.s7i
  are deprecated and will be removed in a future version. The
  functions bin32(), bin64() and float() can be used instead to
  convert between float and bits in IEEE 754 representation.
- The programs bas7.sd7 and chkbin.sd7 have been changed to use the
  functions bin32(), bin64() and float() instead of float2Bits and
  bits2Float.
- Definitions of the operators |:= and &:= have been added to
  hashsetof.s7i.
- The library seed7_05.s7i has been improved to support case
  statements which consist just of an otherwise part.
- The program chkprc.sd7 has been improved to check integer and char
  case statements with otherwise part.
- The program chkprc.sd7 has been improved to check string,
  bigInteger and float case statements with and without otherwise
  part.
- The program chkbig.sd7 has been improved to check the bigInteger()
  conversion function.
- The program chkflt.sd7 has been improved to check the float()
  conversion function.
- Interpreter and compiler have been improved to support the actions
  BIG_ICONV1, BIG_ICONV3, BLN_ICONV1, BLN_ICONV3, CHR_ICONV1,
  CHR_ICONV3, FLT_ICONV1, FLT_ICONV3, SET_ICONV1, SET_ICONV3 and
  REF_ALLOC_VAR.
- The handling of CONSTENUMOBJECT and VARENUMOBJECT objects in
  s7c.sd7 has been improved.
- The functions initCaseLabelsOfWhen, initCaseLabelsOfCase and
  initCaseLabels have been added to s7c.sd7.
- In biglib.c the function big_div_rem has been improved to generate
  quotient and remainder as variable elements.
- The function getConstant has been added to comp/const.s7i.
- The functions getGenericValueOfVariableObject and
  getParameterAsVariable have been added to comp/expr_util.s7i.
- The logError error messages in fil_rtl.c have been improved.
- The function refAllocVar has been added to ref_data.c.
- Documentation comments have been added or improved in bin32.s7i,
  bin64.s7i, sql_base.s7i, propertyfile.s7i, bitset.s7i, browser.s7i,
  bitsetof.s7i, actlib.c, arr_rtl.c, big_gmp.c, big_rtl.c, binlib.c,
  cmdlib.c, drw_rtl.c, flt_rtl.c, set_rtl.c, sql_lite.c, sql_my.c,
  sql_oci.c, sql_odbc.c, sql_post.c, sql_rtl.c

20170915:
- The example program klondike.sd7 has been added. Klondike is a
  solitaire game.
- The example program sydir7.sd7 has been improved to use fewer calls
  of fileTypeSL.
- In flt_rtl.c the function fltCmp has been improved to work correct,
  when NAN_COMPARISON_OKAY is FALSE.
- Checks in chkbig.sd7 for div, rem, divRem, mdiv and mod have been
  structured into more areas.
- The reference counting of window objects in drwlib.c and drw_rtl.c
  has been improved. When the usage_count has been initialized with
  zero the window will not be freed by reference counting. This is
  used by the empty window.
- In drw_win.c and drw_x11.c the function drwEmpty has been changed
  to create an empty window that is not freed by reference counting.
- The compiler s7c.sd7 has been improved to use drwCreate, when a new
  window value is created.
- In read_me.txt the description of macros defined in version.h has
  been improved.
- In stat_win.c the function wstati64Ext has been improved, to use
  fewer calls of GetFileAttributesExW() and _wstati64().
- In cc_conf.s7i the description of the configuration value
  NAN_COMPARISON_OKAY has been improved.
- In duration.s7i several parameter names have been changed.
- The test for NAN_COMPARISON_OKAY in chkccomp.c has been improved.

20170807:
- Experimental support to compute quotient and remainder of a
  bigInteger with the operator divRem has been added to the library
  bigint.s7i.
- The function str in bigrat.s7i has been improved to use the new
  operator divRem.
- The program ide7.sd7 has been improved to ignore an attempt to kill
  a non-existing process.
- Support for a for-loop that loops over all values of an enumeration
  has been added to forloop.s7i.
- Support for a for-loop which loops a given number of times has been
  added to forloop.s7i.
- Syntax definitions for the divRem operator and the new for-loops
  have been added to syntax.s7i.
- Checks for the divRem operator have been added to chkbig.sd7.
- Interpreter and compiler have been improved to support the action
  BIG_DIV_REM.
- The function bigDivRem has been added to big_gmp.c.
- The function big_div_rem has been added to biglib.c.
- The performance of the function uint32LeastSignificantBit() has
  been improved by 15% (measured with gcc and valgrind when all
  unsigned 32-bit values are computed).
- The performance of the function uint64LeastSignificantBit() has
  been improved by 10% (measured with gcc and valgrind when
  4294967294 random unsigned 64-bit values are computed).
- In set_rtl.c the functions bitsetNonZero() and setIsEmpty() have
  been improved.
- The function memchr_strelem() has been added to striutl.c. This
  function uses loop unrolling inspired by Duff's device. This
  function is used when sizeof(wchar_t) != 4 holds. In case
  sizeof(wchar_t) == 4 holds (wchar_t has the same size as the
  Seed7 characters) the macro memchr_strelem is defined as wmemchr.
- In lib/comp/create.s7i the function process_sct_alloc has been
  improved. Now it can be used as expression.
- In big_rtl.c the functions basicRadix2To36 and binaryRadix2To36
  have been improved to use the parameter 'digits' instead of the
  parameter 'upperCase'.
- The functions bigCmp, chrCmp and fltCmp have been improved.
- The program chkccomp.c has been improved to check if system()
  returns the correct result of the process.
- The program chkccomp.c has been improved to determine if isatty()
  or _isatty() should be used.
- The functions type_value_call_obj and getValue have been added to
  executl.c. The function getValue determines the default value of
  a type.
- The program setpaths.c has been improved to use preprocessor macros
  only when they are defined.
- The program setwpath.c has been improved to include direct.h when
  USE_DIRWIN is defined.

20170702:
- The performance of the function bigStr() in big_rtl.c has been
  improved by a factor of 2.7 (measured with gcc and valgrind when
  str(123456789_**12345) is computed). Now A binary method is used to
  convert large bigInteger numbers to a string.
- The performance of the function bigRadix2To36() in big_rtl.c has
  been improved by a factor of 7.3 (measured with gcc and valgrind
  when 123456789_**12345 radix 7 is computed). Now A binary method is
  used to convert large bigInteger numbers to a string.
- The compiler (s7c.sd7) has been improved to create destructors for
  local DATABASEOBJECTs and SQLSTMTOBJECTs.
- The database driver sql_odbc.c has been improved to support the
  type SQL_BIT.
- The database driver sql_odbc.c has been improved to close the
  the database only after all prepared statements have been freed.
- Support to read BLOBs (Binary large objects) and wide character
  CLOBs (Character large objects) from an ODBC database has been
  added to sql_odbc.c. SQL_DATA_AT_EXEC is used to flag BLOBs and
  CLOBs for the buffer types SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR,
  SQL_WCHAR, SQL_WVARCHAR, SQL_WLONGVARCHAR, SQL_BINARY,
  SQL_VARBINARY and SQL_LONGVARBINARY.
- The function bigInteger(string), which converts a string to a
  bigInteger number, has been added to bigint.s7i.
- Checks that test the conversion of a bigInteger to a string (with
  the function str() and the operators RADIX and radix) have been
  added to chkbig.sd7.
- The example program db7.sd7 has been improved to list column
  headers even when no line was found.
- The functions getConversionDivisor, basicToStri, binaryToStri,
  basicRadix2To36, binaryRadix2To36, uBigDivRem1, bigDivRem1,
  bigDivRemSizeLess and bigDivRem have been added to big_rtl.c.
- The program chkccomp.c has been improved to have better checks for
  utime and fileno.
- Documentation about the macros used have been added to chkccomp.c.
- In src/read_me.txt descriptions of C_COMPILER, C_COMPILER_SCRIPT,
  CC_FLAGS and LINKER have been improved.

20170530:
- The example program db7.sd7 has been added. Db7 is a Database
  inspector with browser interface.
- In array.s7i the function insert has been improved to insert an
  array of elements.
- In browser.s7i the function close has been improved to ignore an
  error when the browser has already closed the socket.
- In browser.s7i the new function display (with the browser as first
  argument) has been introduced. The old function (with the browser
  as second argument) is deprecated and will be removed in a future
  version.
- In cgidialog.s7i the parameters of the function dialogTable have
  been improved. Now the column headers can be specified and a two
  dimensional array of strings can be used to specify the content.
- The compiler has been improved to use the function bigAbsTemp to
  optimize bigInteger expressions.
- Checks that test if the function abs works correct have been added
  to chkbig.sd7.
- The picture on_off_pic has been added to pic16.s7i and pic32.s7i.
- Tests for the function abs have been added to chk_all.sd7.
- The program ide7.sd7 has been improved to use the new version of
  the function display.
- The function bigAbsTemp has been added to big_rtl.c and big_gmp.c.
- In big_gmp.c errors in bigFromUInt64 and bigLowerBits64 have been
  fixed.
- The makefiles have been improved to avoid unnecessary includes
  and defines in chkccomp.h.

20170501:
- The example program diff7.sd7 has been added. This program compares
  two files line by line.
- The example program hd.sd7 has been added. This program writes a
  hexdump of a given file.
- The functions sha384 and sha512 have been added to msgdigest.s7i.
- The compiler has been improved to optimize expressions like
  bin64(aBigExpression mod aPowerOfTwo).
- The library vectorfont.s7i has been improved to allow scaling of
  vector fonts.
- The dialog element passwordField has been added to cgidialog.s7i.
  The passwordField dialog element allows entering a password without
  readable echo.
- The function readPassword has been added to editline.s7i.
- In array.s7i the for-until loops for arrays have been improved to
  work correct, when the until-condition uses the for variable.
- In cli_cmds.s7i the functions getCommandParameter,
  getUnixCommandParameter and getDosCommandParameter has been
  improved to recognize when a closing quote is missing.
- In cli_cmds.s7i in the function processCommand the handling of
  external commands with redirection of stdin has been improved.
- The functions xyArray and scale have been added to graph.s7i.
- In seed7_05.s7i the exception DATABASE_ERROR has been introduced.
- The programs sql7.sd7 and chkdb.sd7 have been improved to use the
  new exception DATABASE_ERROR.
- A parse operator for dbCategory has been added to sql_base.s7i.
- The pictures return_pic and right_arrow_pic have been added to
  pic32.s7i and pic16.s7i.
- The function checkBinBinaryWithBigMod has been added to chkbin.sd7.
  This function checks the optimizations done with expressions like
  bin64(aBigExpression mod aPowerOfTwo).
- In tls.s7i the type securityParameters has been renamed to
  tlsParameters. The functions showMsg and showMsgType have been
  renamed to showTlsMsg respectively showTlsMsgType.
- In tls.s7i the generation of CLIENT_HELLO, SERVER_HELLO,
  CERTIFICATE, SERVER_HELLO_DONE, CLIENT_KEY_EXCHANGE,
  CHANGE_CIPHER_SPEC, FINISHED, ALERT and APPLICATION_DATA messages
  has been improved.
- In int_act.s7i the types addSubElementType and
  addSubElementListType have been renamed to addSubIntElementType
  respectively addSubIntListType.
- In the compiler (in big_act.s7i, function process_const_big_mod)
  the handling of the bigInteger mod operator, when the divisor is a
  power of two, has been improved. Now a temporary result is freed.
- In the compiler (in big_act.s7i, function process_const_big_mult)
  the handling of the bigInteger multiplication with a negated power
  of two has been improved. Now a temporary result is freed.
- The functions generateAddSubParamList and evaluateConstants have
  been added to comp/big_act.s7i. 
- The function optimize_bin_binary_of_big_mod has been added to the
  compiler (in bin_act.s7i). This function optimizes the expression
  bin64(aBigNumber mod aPowerOfTwo) to
  bigLowerBits64(aBigNumber) & ord(pred(aPowerOfTwo)).
  This optimization converts to bin64 earlier. This allows the usage
  of cheap bin64 operations instead of bigInteger operations.
- The functions optimizeAddSubElement and optimizeAddSubList have
  been added to comp/bin_act.s7i.
- In big_rtl.c the performance of the functions bigFromUInt32 and
  bigFromUInt64 has been improved.
- The function bigLowerBits64 has been added to big_rtl.c and
  big_gmp.c. This function is used by the compiler to optimize
  expressions like bin64(aBigNumber mod aPowerOfTwo).
- The program chkccomp.c has been improved to check for the presence
  of snprintf() and vsnprintf().
- The functions sql_eq_db, sql_eq_stmt, sql_ne_db and sql_ne_stmt
  have been added to sqllib.c.
- Interpreter and compiler have been improved to support the actions
  DRW_CONVPOINTLIST, SQL_CMP_DB, SQL_CMP_STMT, SQL_EQ_DB,
  SQL_EQ_STMT, SQL_ERR_CODE, SQL_ERR_DB_FUNC, SQL_ERR_LIB_FUNC,
  SQL_ERR_MESSAGE, SQL_NE_DB and SQL_NE_STMT.
- Support for the action DRW_CONVPOINTLIST has been added to
  drwlib.c, drwlib.h, drw_win.c and drw_x11.c.
- A definition of snprintf has been added to fil_win.c.
- The function list_length has been added to listutl.c.
- The new files sql_base.c and sql_base.h have been added. This
  files contain definitions of dbLibError, dbInconsistentMsg and
  dbError. The makefiles have been adjusted to use sql_base.c.
- The database drivers sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
  and sql_post.c have been improved to write database errors to the
  struct dbError. The content of dbError can be obtained with the
  actions SQL_ERR_CODE, SQL_ERR_DB_FUNC, SQL_ERR_LIB_FUNC and
  SQL_ERR_MESSAGE.
- The functions sqlErrCode, sqlErrDbFunc, sqlErrLibFunc and
  sqlErrMessage have been added to sql_rtl.c
- The handing of local variables has been changed in blockutl.c
  (improved function get_local_var_list) and prclib.c (new functions
  process_local_decl and evaluate_local_decls). Instead of executing
  the local declarations as a whole they are now executed line by
  line. This change might be useful for future improvements.

20170328:
- A chapter about signals has been added to the manual.
- The handling of ctrl-c (respectively the signal SIGINT), when s7 or
  s7c are used with the option -ts, has been improved:
  - A dialog offers several possibilities: Continue, terminate,
    trigger SIGFPE or raising an exception.
  - If the program was waiting for an input at the console the input
    can be entered again.
  - Under windows signal handler and the program that waits for an
    input are synchronized now.
- The library aes.s7i with AES (Advanced Encryption Standard) cipher
  support has been improved to support key lengths of 192 and 256
  bits.
- The library tls.s7i has been improved to support the cipher suits
  TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256 and
  TLS_RSA_WITH_AES_256_CBC_SHA256.
- The performance of the function bigMultAssign in big_rtl.c has been
  improved by a factor of 22 (measured with gcc and valgrind when
  big1 := 123456789_**123456; big1 *:= 123456789_**123456; is
  computed). Now Karatsuba multiplication is used to compute *:= .
- The functions wildcardMatch and findMatchingFiles have been moved
  from cli_cmds.s7i to the new library wildcard.s7i.
- The function flush has been added to pixmap_file.s7i.
- The signal handling of interpreted and compiled programs has been
  unified. Now the signal handling is done in sigutl.c.
- Sigutl.c has been moved from the library s7_comp.a to the run-time
  library seed7_05.a.
- Code to generate signal handling functions has been removed from
  s7c.sd7.
- The functions kbdKeyPressed and kbdGetc in con_win.c have been
  rewritten to use Win32 functions (PeekConsoleInputW and
  ReadConsoleInputW) instead of functions from conio.h (kbhit and
  getch). The include directive for conio.h has been removed.
- Code to use conio.h has been moved from con_win.c to con_con.c.
- In fil_win.c the function stdinReady has been added and calls of
  kbhit have been replaced by calls of stdinReady. The include of
  conio.h has been removed.
- Checks that test if NaN is returned as error value for math
  functions have been added to chkflt.sd7.
- Checks that test if sqrt of a negative number raises NUMERIC_ERROR
  have been added to chkbig.sd7 and chkint.sd7.
- Checks for sqrt have been added to chkint.sd7.
- Checks for *:= have been added to chkbig.sd7.
- The configuration value SQRT_FUNCTION_OKAY has been added to
  cc_conf.s7i.
- The program esc2qte.c has been improved to avoid generating output
  with a newline character inside a quoted part.
- The function readChar has been renamed to readCharChkCtrlC and
  moved from fil_rtl.c to fil_unx.c and fil_win.c.
- The function readCharFromTerminal has been added to fil_rtl.c.
  This function allows to re-enter the input, when a program is
  resumed after a ctrl-c.
- The functions doLineRead and doWordRead have been removed from
  fil_rtl.c. The content of this functions has been moved to
  filLineRead respectively filWordRead.
- The function fltSqrt has been added to flt_rtl.c. This function
  checks for negative arguments. This avoids a bug of MinGW-w64 where
  sqrt(-2.0) returns -2.0 instead of NaN.
- The configuration value SQRT_FUNCTION_OKAY has been added to
  cc_conf.s7i.
- The compiler (s7c) has been improved to use fltSqrt when
  SQRT_FUNCTION_OKAY is FALSE.
- The functions sqlCpyDbGeneric, sqlCpyStmtGeneric,
  sqlCreateDbGeneric, sqlCreateStmtGeneric, sqlDestrDbGeneric and
  sqlDestrStmtGeneric have been added to sql_rtl.c.
- The function suspendInterpreter has been added to exec.c.
- The function uncaught_exception has been added to runerr.c.
- In executl.c the functions old_do_create, do_create, do_destroy,
  old_do_copy and do_copy have been improved. Now the functions write
  a message about an uncaught exception, when the function fails and
  exception tracing is switched on.
- The file stat_drv.h has been improved to optionally define the
  st_mode macros and the struct stati64Ext.
- In stat_win.c the function fstati64Ext has been improved to use
  os_fstat_orig or for work without os_fstat_orig.
- In chkccomp.c the code that searches for the MySql include file
  has been fixed.
- The program chkccomp.c has been improved to define the macros
  likely, unlikely, NORETURN, INTPTR_T_DEFINED, FLOAT_ZERO_DIV_ERROR,
  FREXP_INFINITY_NAN_OKAY and LIMITED_CSTRI_LITERAL_LEN always.
- The program chkccomp.c has been improved to define the macro
  DIGRAPH_SEQUENCES_ARE_REPLACED.
- The file config.h has been changed to define the macros
  WITH_STRI_CAPACITY, ALLOW_STRITYPE_SLICES, ALLOW_BSTRITYPE_SLICES,
  WITH_LIST_FREELIST, WITH_NODE_FREELIST, WITH_FILE_FREELIST,
  STACK_LIKE_ALLOC_FOR_OS_STRI, FLOATTYPE_DOUBLE,
  MAP_ABSOLUTE_PATH_TO_DRIVE_LETTERS, FORBID_DRIVE_LETTERS and
  EMULATE_ROOT_CWD always.
- At several places #ifdef has been replaced by #if to adopt to the
  macros that are always defined.
- Documentation comments have been added or improved in big_rtl.c,
  con_cap.c, con_con.c, con_cur.c, con_dos.c, con_rtl.c, con_tcp.c,
  intlib.c, asn1.s7i and wildcard.s7i.

20170305:
- The performance of the function bigIPow in big_rtl.c has been
  improved by a factor of 15 (measured with gcc and valgrind when
  bitLength(123456789_**123456) is computed). Now Karatsuba
  multiplication and Karatsuba squaring is used to compute the power.
- The performance of the function uBigMult in big_rtl.c has been
  improved by 22% (measured with gcc and valgrind).
- The compiler has been improved to optimize expressions like:
    stri := stri & ....
    stri := stri[pos ..];
    stri := lower(stri);
    stri := upper(stri);
  The optimization avoids an unnecessary copy of the string result of
  the right hand side expression.
- The code generated by the compiler for the action STR_FOR has been
  improved. Now correct code is generated, when the for-statement
  loops over a string expression.
- The library seed7_05.s7i has been improved to support if-statements
  with omitted statement after the keyword 'then'.
- The functions getFile and putFile have been added to osfiles.s7i.
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for the commands FILES and LOAD has been added.
- Test cases for the power operator (**) and the operators div, rem,
  mdiv and mod have been added to chkbig.sd7.
- Test cases for the new string optimizations done by the compiler
  have been added to chkstr.sd7.
- Interpreter and compiler have been improved to support the action
  PRC_IF_NOOP.
- The new library http_response.s7i has been added. It contains
  support for HTTP responses.
- The comanche webserver has been improved to work with the new
  library http_response.s7i.
- In big_rtl.c the functions bigIPow and bigIPowN have been improved
  to use uBigSquareK and uBigMultK instead of uBigSquare and
  uBigMultIntoHelp.
- In big_rtl.c an improved version of uBigDigitMult has been added and
  an older deactivated (but faster) version of uBigMult has been
  reactivated.
- In str_rtl.c the function strHeadTemp has been improved to avoid a
  heap corruption for the strange corner case that shrinking a memory
  area fails. Additionally this can only happen with the new compiler
  optimization that generates the expression:
    aString = strHeadTemp(aString, anIndex);
- The functions uBigMultIntoHelp and uBigSquare have been removed from
  big_rtl.c
- In flt_rtl.c the functions fltDgts and fltSci have been improved to
  work correct, when printf() does not have a fixed maximum for the
  float precision.
- The program chkccomp.c has been changed such that several test
  programs link with SYSTEM_LIBS, when wide variants of system file
  functions are tested.
- The test programs of chkccomp.c, which determine BOOLTYPE,
  FLOAT_ZERO_DIV_ERROR, PRINTF_FMT_E_MAXIMUM_FLOAT_PRECISION and
  PRINTF_FMT_F_MAXIMUM_FLOAT_PRECISION have been improved.
- The test programs of chkccomp.c, which determine database include
  files have been improved to use something from the include file.
  This way the correct include file is selected when a C compiler just
  warns about a missing include file instead of flagging an error.

20170129:
- The new library filesys.s7i has been added. It defines the interface
  fileSys. Files of TAR, ZIP and JAR archives and files from FTP and
  the operating system can be accessed via the fileSys interface. The
  file system changes are work in progress.
- The libraries tar.s7i, zip.s7i, ftp.s7i and osfiles.s7i have been
  adjusted to implement the new interface fileSys.
- Definitions of the types fileType, filePermission and fileMode have
  been moved from osfiles.s7i to the new library filesys.s7i.
- A definition of the file system osFiles has been added to
  osfiles.s7i.
- In ftp.s7i the interface ftpFileSys has been added. This interface
  extends fileSys with the functions listDir, getActiveMode,
  setActiveMode, getAsciiTransfer and setAsciiTransfer.
- The functions retrieve and store have been removed from ftp.s7i and
  the function open (to open a file) has been added.
- The new library ftpserv.s7i has been created. This library allows,
  that the back end of an FTP server is also a file system. Most of
  the contents of ftpserv.s7i has been moved from ftpserv.sd7.
- The functions setUpHead, tarTell, tarXtract and tarCreate have been
  moved from tar.s7i to the new library tar_cmds.s7i.
- The conversion functions bin32 and float have been added to
  bin32.s7i. This functions convert values between single precision
  float and bin32.
- The conversion functions bin64 and float have been added to
  bin64.s7i. This functions convert values between double precision
  float and bin64.
- The functions getBitLsb and getBitsLsb have been added to
  bitdata.s7i. This functions read bits from a file in the direction
  from LSB (least significant bit) to MSB (most significant bit).
- The operator |:= has been added to the libraries bitsetof.s7i and
  bitset.s7i.
- The type void has been improved to allow writing a void value.
  This allows that calc7.sd7 can execute procedures.
- The new library inflatefile.s7i has been added. It allows to
  uncompress data from a file with the Inflate algorithm. In contrast
  to inflatefile.s7i the functions from inflate.s7i assume that the
  compressed data is in a string.
- A test of the tar header checksum has been added to tar.s7i.
- A support for long link paths has been added to tar.s7i.
- The function readMinimumOfHead has been added to tar.s7i. With this
  function opening a tar archive can be done faster.
- The functions fileMode and getMTime in zip.s7i have been improved
  to recognize modes and times from different operating systems.
- In zip.s7i the function rposOfMagic has been improved to work with
  one call of seek() and one gets(). This way the function is faster,
  when the file is not a ZIP file.
- In zip.s7i the functions get_local_header, get_central_header and
  get_end_of_central_directory have been improved to read the fixed
  size part of the header with one statement and to convert the data
  afterwards. This improves the performance of get_central_header by
  about 10%.
- In zip.s7i a map of extra header fields has been introduced.
- In zip.s7i the function getContent has been renamed to getFile.
  Additionally the function has been improved to work when the local
  header does not contain the compressed size. In this case the new
  library inflatefile.s7i is used.
- The function timestamp1601ToTime has been added to time.s7i.
- A test for the operator |:= has been added to chkset.sd7.
- The function filGets in fil_rtl.c has been improved to recognize a
  request to read zero characters earlier. This improves this special
  case a little bit, without a negative effect on the normal case.
- The function uintCard has been added to int_rtl.c.
- The computation of the mode in the function fileAttr2UnixMode in
  stat_win.c has been improved.
- The program ftp7.sd7 has been improved to work with the new
  ftpFileSys interface.
- The program ftpserv.sd7 has been improved to work with the new
  library ftpserv.s7i.
- In seed7_05.s7i the function to convert an integer to a string with
  a given base has been improved.
- Interpreter and compiler have been improved to support the actions
  BIN_CARD, SET_UNION_ASSIGN and STR_FOR.
- In the compiler (s7c) the generation of inline code for the actions
  STR_RANGE and STR_SUBSTR has been improved. When some parameters are
  constant checks can be done at compile-time instead of run-time.
- In drw_x11.c the function redraw() has been improved and the new
  function setupBackup() has been added. This changes have been done
  to handle EXPOSE events correctly, when backing store has the value
  WhenMapped.
- In runerr.c the functions continue_question, run_error, empty_value
  and var_required have been changed to allow the replacement of the
  current exception with a new one.
- The function str_for has been added to strlib.c.

20161231:
- The function toArray has been added to the libraries bitset.s7i,
  bitsetof.s7i and hashsetof.s7i. This function creates an array
  with all values from a given set.
- Experimental functions to access TAR and ZIP archives as file system
  have been added to tar.s7i and zip.s7i. This is work in progress, so
  the API might change.
- The compiler has been improved to work correctly with a C++ compiler
  back end (Now it uses strRaiseError insead of intRaiseError) for the
  code generated for BIN_RADIX and INT_RADIX.
- The compiler has been improved to use sigaction(), when available
  (HAS_SIGACTION is TRUE).
- The compiler has been improved to reactivate the signal handler,
  when necessary (SIGNAL_RESETS_HANDLER is TRUE).
- Test cases for the parse function with whitespace and control
  characters have been added to chkbig.sd7.
- in big_gmp.c the functions bigParse and bigParseBased have been
  improved, to raise RANGE_ERROR when whitespace characters are in the
  string.
- The configuration values HAS_SIGACTION and SIGNAL_RESETS_HANDLER
  have been added to cc_conf.s7i.
- The program chkccomp.c has been improved to define
  SIGNAL_RESETS_HANDLER.
- The function checkMoveDirectory has been removed from chkccomp.c.
- In several files the literal 8 has been replaced by CHAR_BIT, when 8
  refers to the number of bits is a char.
- Several integer literals have been replaced by defined constants.
- Documentation comments have been added or improved in bitset.s7i,
  bitsetof.s7i, hashsetof.s7i, cc_conf.s7i, ftp.s7i, tar.s7i, zip.s7i,
  arrlib.c, arr_rtl.c, big_rtl.c, conlib.c, dll_unx.c, dll_win.c,
  fillib.c, fil_rtl.c, heaputl.c, hshlib.c, hsh_rtl.c, numlit.c,
  numutl.c, pcs_unx.c, pcs_win.c, pol_dos.c, pollib.c, pol_sel.c,
  pol_unx.c, sctlib.c, setlib.c, set_rtl.c, str_rtl.c and typlib.c.

20161204:
- A description, how compiler optimizations can reduce the potential
  of integer overflow, has been added to the manual.
- Documentation comments have been improved in cc_conf.s7i,
  integer.s7i, int_rtl.c, stat_win.c and tim_win.c.
- The compiler has been improved to optimize expressions, where
  several terms are added or subtracted in combination with the
  functions succ or pred. It is possible to combine adjacent constant
  terms at compile time. This simplifies overflow checks.
- The compiler has been improved to optionally generate programs,
  that trace function calls. This is activated with the option -tf.
- Checks have been added to chkint.sd7, where several terms are added
  in combination with the functions succ or pred.
- The functions wstati64Ext (in stat_win.c) and alternate_utime (in
  tim_win.c) have been improved to avoid the strange time adjustments
  of windows for Daylight Saving Time: For the same file different
  times are retrieved respectively set in summer and winter. Now the
  times do not depend on the time when they are retrieved or set.
- In stat_win.c a check for wildcards in a path has been removed from
  wstati64Ext.
- The performance of dirRead in dir_rtl.c has been improved by 10%
  (measured with gcc and valgrind). A smarter check for the
  directories . and .. reduces the CPU time used.
- In cmd_rtl.c the functions remove_dir and copy_dir have been
  improved with a smarter check for the directories . and .. to
  reduce the CPU time used.
- The function getSearchPath in cmd_rtl.c has been improved to work
  correctly, when there is no environment variable named PATH.
- Definitions of macros to check the st_mode field of struct stat
  (e.g. S_ISDIR, S_ISREG, etc.) have been moved from fil_rtl.h to
  stat_drv.h.
- The program chkccomp.c has been improved to work correct, when
  C compiler options are separated by linefeeds (\n). In this case the
  linefeeds are replaced by spaces. The linefeeds are used in
  cc_conf.s7i to allow the definition of SYSTEM_DB_LIBS as an array of
  database libraries.
- In sudo.c the call of ShellExecute() has been replaced by a call of
  ShellExecuteA().
- A definition of FMT_T, a printf format for time_t values, has been
  added to common.h.
- The makefile mk_clangw.mak has been improved to use the library
  extension ".lib".
- Calls of logFunction and logError have been added or improved in
  cmd_rtl.c, cmd_win.c, gkb_win.c, flt_rtl.c, int_rtl.c, pcslib.c,
  reflib.c, rfllib.c, stat_win.c and tim_win.c.
- In dir_rtl.c the function readVolumeName has been improved to
  consider only directories as volumes.
- In int_rtl.c the functions uint_mult, uint2_mult and uint2_add
  have been renamed to uintMult, uint2Mult and uint2Add respectively.
- In stat_win.c the functions filetime_to_unixtime and
  fileattr_to_unixmode have been renamed to fileTime2UnixTime and
  fileAttr2UnixMode respectively.
- In tim_win.c the function alternate_utime has been improved to
  avoid calling os_utime_orig, because the utime functions of Windows
  do different time adjustments for the same time in summer and
  winter.

20161031:
- The examples about multiple dispatch in the FAQ and in the manual
  have been changed.
- In dir_win.c the functions opendir and wopendir have been improved
  to work correctly, when a volume is empty. FindFirstFile returns
  INVALID_HANDLE_VALUE, when the path refers to an empty volume
  (a directory that does not contain the . and .. directories).
  After FindFirstFile fails GetFileAttributesEx is used to recognize
  empty volumes.
- In stat_win.c the function wstati64Ext has been improved to
  recognize empty volumes correctly. Now GetFileAttributesEx is used
  instead of FindFirstFile to get information about a file.
- The function openVolumeList has been moved from cmd_win.c and
  cmd_unx.c to dir_win.c.
- The definition of volumeListType has been moved from cmd_drv.h to
  dir_win.h.
- In str_rtl.c the function strAppendN has been improved to work
  correctly, when an appended string is identical to the destination
  or a slice of it. There was already code to handle this case, but
  this code could access freed memory in rare situations.
- The makefiles mk_nmake.mak and mk_msvc.mak have been changed to
  include the file 'macros' before the macro SYSTEM_DB_LIBS is used.
- Rand functions have been added to bin32.s7i and bin64.s7i.
- The compiler has been improved to optimize the float shift
  operators << and >> .
- Documentation comments have been improved in float.s7i,
  integer.s7i, osfiles.s7i, big_gmp.c, big_rtl.c, bstlib.c and
  bst_rtl.c.

20161002:
- Definitions of float shift operators << and >> have been added to
  float.s7i (A << B is equivalent to A * 2.0 ** B and A >> B is
  equivalent to A / 2.0 ** B).
- Checks for the operators << and >> have been added to chflt.sd7.
- Interpreter and compiler have been improved to support the primitiv
  actions FLT_LSHIFT and FLT_RSHIFT.
- The example program find7.sd7 has been added. This program is an
  utility to search for files and file contents.
- Documentation comments have been added to arrlib.c, biglib.c,
  blnlib.c, bstlib.c, fillib.c, pcslib.c, prclib.c, prglib.c and
  strlib.c.

20160831:
- The Seed7 runtime library has been improved to allow paths longer
  than PATH_MAX (260) characters under Windows.
- The program sydir7.sd7 has been improved. Now it is avoided to copy
  a file, when source and destination differ only by date. The
  option -c has been added. With -c the source is copied and files
  that are missing in the source are removed from the destination.
- The function readVolumeName in dir_rtl.c has been improved to allow
  extended length paths (This paths exist under Windows and have a
  prefix of \\?\ ).
- The functions opendir and wopendir in dir_win.c have been improved
  to allow paths longer than 260.
- In the library seed7_05.s7i the undocumented function xalloc has
  been removed.
- The function printArgv has been added to arr_rtl.c to improve the
  logging.
- The program chkccomp.c has been improved to write settings to
  always use the directory functions from dir_win.c under Windows.
- The function adjustCwdForShell has been added to cmd_rtl.c. This
  function sets the current working directory to something acceptable
  by cmd.exe.
- In stat_win.c the function wstati64 has been renamed to wstati64Ext
  and improved to call the original stat function, when possible.
- The new file stat_drv.h has been added. In this file a prototype
  of wstati64Ext is defined when necessary.
- The program wrdepend.c has been improved to work correctly, when
  the INCLUDE_OPTIONS macro contains newline characters.
- Calls of logFunction have been added to arr_rtl.c, cmd_rtl.c,
  dir_rtl.c, executl.c, fil_rtl.c, pcs_win.c, runerr.c, sctlib.c,
  sigutl.c, stat_win.c and striutl.c.
- Calls of logError have been added to arrlib.c, blnlib.c, cmd_rtl.c,
  conlib.c, dir_win.c, drwlib.c, enulib.c, fil_rtl.c, itflib.c,
  lstlib.c, prclib.c, reflib.c and striutl.c.

20160731:
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVD, CVDMBF, CVS, CVSMBF, HPLOT, MKD$, MKDMBF$, MKS$,
  MKSMBF$, PLOT, SCREEN, SHARED and VARPTR$ has been improved.
  Creating Cga, Ega and Vga images from arrays has been improved to
  work also for float and double arrays.
- The functions bin32, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin32.s7i. The
  functions fourBytesLeToBin32 and fourBytesBeToBin32 have been
  removed (The new function bin32 can be used instead).
- The functions bin64, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin64.s7i. The
  functions eightBytesLeToBin64 and eightBytesBeToBin64 have been
  removed (The new function bin64 can be used instead).
- The program chkbin.sd7 has been added. This program checks the
  correctness of the functions float2Bits, bits2Float, float2MbfBits,
  mbfBits2Float, str, radix and RADIX.
- Checks for the function decompose have been added to chkflt.sd7.
- The compiler has been improved to optimize expressions where several
  terms are added or subtracted. It is possible to combine adjacent
  constant terms at compile time. This simplifies overflow checks.
- The compiler has been improved to store NaN values as bin64
  literals.
- The calc7 example program has been improved to support bin32 and
  bin64 functions.
- The function decompose and the type floatElements have been added
  to the library float.s7i. The function decompose splits a float into
  a normalized fraction and an integral exponent for 2. The result
  of decompose uses the type floatElements.
- The function integer (it converts a string to an integer) has been
  added to integer.s7i.
- In the library seed7_05.s7i the undocumented function xalloc has
  been replaced by the function create.
- The functions uintCmp and uintCmpGeneric have been added to
  int_rtl.c.
- The configuration value FREXP_INFINITY_NAN_OKAY has been added to
  cc_conf.s7i.
- The primitive action FLT_A2TAN has been renamed to FLT_ATAN2 in
  interpreter, compiler and runtime library.
- Documentation comments have been improved in bitdata.s7i, arrlib.c,
  binlib.c, bstlib.c, bst_rtl.c, fillib.c, kbdlib.c, literal.c.
- Interpreter and compiler have been improved to support the primitiv
  actions BIN_CMP, FLT_BITS2DOUBLE, FLT_BITS2SINGLE, FLT_DECOMPOSE,
  FLT_DOUBLE2BITS and FLT_SINGLE2BITS.
- The program chkccomp.c has been improved to define
  FREXP_INFINITY_NAN_OKAY and to work for PostgreSQL version 9.5.

20160630:
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVSMBF, CVDMBF, FLASH, FRE, GR, HGR, HOME, HTAB,
  INVERSE, NORMAL, TEXT, PR# and VTAB has been added. Support for
  CLEAR, COLOR, GET, INPUT, LOG, SQR and RUN has been improved.
  Some keywords can now be used as label.
- Documentation comments have been added or improved in several files.
- Definitions of the operator @:= have been added to bitset.s7i,
  bitsetof.s7i and hashsetof.s7i.
- The compiler has been improved optimize expressions like
  factor*base**exponent when the base is a power of two.
- In x509cert.s7i the constant stdCertificate has been improved to
  have a new validity (until end of 2017).
- In drw_win.c the function privateConsole has been improved to
  determine a private console window (A cmd.exe console that was
  invoked implizit when the program started) more reliable. This
  avoids that an already existing console (from which the program was
  started) is accidentally hidden.
- The function redraw in drw_x11.c has been improved to ignore NULL
  windows (EXPOSE events can arrive after a window has been freed).
- The function drwFree in drw_x11.c has been improved to free also the
  backup pixmap.
- Compiler and interpreter have been improved to support the action
  REF_ALLOC_INT.
- Checks for factor*base**exponent when the base is a power of two
  have been added to chkflt.sd7.
- Checks with several summands in a chain and checks of the
  subtraction of integer.first have been added to chkint.s7i.
- First steps have been done for a compiler optimization of adding
  and subtracting several summands in a chain.
- Occurrences of nodeValue and MDULEOBJECT have been removed from
  interpreter and runtime library.
- The function prg_find has been removed from prglib.c.
- The function ref_find has been removed from reflib.c.
- The support for the actions PRG_FIND and REF_FIND has been removed
  from the interpreter.
- Function and variable definitions in setpaths.c and wrdepend.c have
  been changed to static definitions.

20160531:
- Documentation comments have been added or improved in many files.
- The compiler (s7c) has been improved to start C compiler and linker
  direct and not via a shell (except when the compiler must be started
  with a script).
- The program chkccomp.c has been improved to use consecutive numbers
  for test program files.
- The program chkccomp.c has been improved to show the progress of the
  tests done.
- The experimental function startProcess, with files to redirect, has
  been added to process.s7i.
- The functions childStdIn, childStdOut and childStdErr have been
  added to process.s7i.
- The function shellParameters has been added to shell.s7i.
- The function noEmptyStrings has been added to seed7_05.s7i.
- A conv operator to convert an interface object to a specific
  implementation type has been added to seed7_05.s7i.
- The compiler (s7c) has been improved to support the new conv
  operator defined in seed7_05.s7i.
- In cc_conf.s7i the configuration values CC_OPT_DEBUG_INFO,
  CC_FLAGS, LINKER_FLAGS, SYSTEM_LIBS, SYSTEM_CONSOLE_LIBS,
  SYSTEM_DRAW_LIBS and SYSTEM_DB_LIBS have been changed to be arrays
  of strings instead of strings.
- In cc_conf.s7i the configuration values CALL_C_COMPILER_FROM_SHELL,
  CC_ERROR_FILDES, REDIRECT_FILDES_1, REDIRECT_FILDES_2 and
  NULL_DEVICE have been added.
- In cc_conf.s7i the configuration value REDIRECT_C_ERRORS has been
  removed.
- Interpreter and compiler have been improved to support the actions
  PCS_CHILD_STDERR, PCS_CHILD_STDIN, PCS_CHILD_STDOUT, FIL_PIPE and
  FIL_OPEN_NULL_DEVICE.
- The function analyzeProg in analyze.c has been improved to have less
  usages of the global variable prog.
- The functions in chkccomp.c have been changed to static functions.
- The program chkccomp.c has been improved to define
  POPEN_SUPPORTS_CLOEXEC_MODE, FOPEN_SUPPORTS_CLOEXEC_MODE,
  HAS_FCNTL_SETFD_CLOEXEC and HAS_PIPE2.
- The function filPipe has been added to fil_unx.c and fil_win.c.
- In fil_rtl.c the functions filOpen and filPopen have been improved
  to open files with the CLOEXEC flag, when possible.
- The function filOpenNullDevice has been added to fil_rtl.c.
- The functions init_findid, init_entity and init_sysvar have been
  changed to use a progType parameter.
- The functions pcsStart in pcs_unx.c and pcs_win.c have been improved
  to have parameters for stdin, stdout and stderr.
- The functions pcsChildStdErr, pcsChildStdIn and pcsChildStdOut have
  been added to pcs_rtl.c.
. The functions pcs_childStdErr, pcs_childStdIn and pcs_childStdOut
  have been added to pcslib.c.
- In src/read_me.txt descriptions of SEARCH_PATH_DELIMITER.
  REDIRECT_FILDES_1, REDIRECT_FILDES_2, NULL_DEVICE, REDIRECT_C_ERRORS
  and CC_ERROR_FILDES have been improved.
- The functions find_sysvar and concat_path have been renamed to
  findSysvar and concatPath respectively.

20160430:
- The makefile mk_clangw.mak has been improved, such that compilation
  with newer versions of clang under Windows works better.
- Tests for integer parse have been added to chkexc.sd7.
- The function doRemove in chkccomp.c has been improved to write
  nothing to the console.
- The function showErrors has been added to chkccomp.c.
- In actutl.c the functions searchAction and findAction have been
  improved to use fewer parameters and the function getActIllegal
  has been added.
- In chkccomp.c the function writeReadBufferEmptyMacro has been
  improved to optionally use _get_stream_buffer_pointers() to define
  the macro read_buffer_empty.
- The operator 'char conv' has been improved to check if the integer
  fits in a character.
- Documentation comments have been improved in float.s7i, poll.s7i,
  actlib.c actutl.c, big_gmp.c, big_rtl.c, bln_rtl.c, bst_rtl.c,
  chr_rtl.c, cmd_rtl.c, dir_dos.c, dir_win.c, drw_rtl.c, fltlib.c,
  flt_rtl.c, int_rtl.c, pcs_rtl.c, pollib.c, pol_sel.c, pol_unx.c,
  prg_comp.c, rfl_data.c, setlib.c, set_rtl.c and str_rtl.c.
- Calls of logFunction have been added to cmdlib.c and flt_rtl.c.
- Calls of logError have been added to functions in actlib.c,
  biglib.c, bstlib.c, chrlib.c, cmdlib.c, drwlib.c, fillib.c,
  fltlib.c, hshlib.c, intlib.c, pcslib.c, pollib.c, prglib.c,
  rfl_data.c, rfllib.c, sctlib.c, setlib.c, strlib.c and typlib.c.

20160330:
- The makefile mk_clangw.mak has been added. This makefile supports
  compilation under Windows with the clang compiler.
- The experimental function parentDir has been added to osfiles.s7i.
- The experimental function getServerCertificate has been added to
  tls.s7i.
- The compiler (s7c) has been improved to use the function
  strAppendN, when two or more strings are appended to a string.
- Tests for string append (operator &:= ) have been added to
  chkstr.sd7.
- The function strAppendN has been added to str_rtl.c.
- The function strCopy in str_rtl.c has been simplified.
- The program chkccomp.c has been improved to write a definition of
  CHAR_BIT, when it is not defined in limits.h.
- Several files have been changed to use CHAR_BIT instead of the
  literal 8.
- in chkccomp.c several string literals have been changed to wide
  string literals (e.g. L"abc" instead of "abc").
- In several files integer literals have been replaced by constants
  or #define macros.
- The function __mulodi4 has been added to int_rtl.c. This function
  is used by clang under Windows, but unfortunately is not part of
  the runtime library. This situation is recognized by chkccomp.c and
  the function __mulodi4 in int_rtl.c is used instead.

20160229:
- The function fltCmp in flt_rtl.c has been improved to work correct
  in the case that isnan returns neither 0 nor 1 (Many thanks go to
  Arnel L. for reporting this problem).
- The function determineGetaddrlimit in chkccomp.c has been improved
  to include <sys/types.h> before <sys/resource.h>. FreeBSD needs
  that to work correctly (Many thanks go to Pietro Cerutti for
  providing a fix and explaining the background.
- The function getOsCwd has been added to cmd_rtl.c. With this
  function it is possible to read (e.g. under Linux) a current
  working directory that is longer than PATH_MAX.
- Documentation comments have been improved in encoding.s7i.
- The program chkccomp.c has been improved to write definitions of
  USE_DIRENT, USE_DIRWIN, OS_WIDE_DIR_INCLUDE_DIR_H, os_DIR,
  os_dirent_struct, os_opendir, os_readdir, os_closedir,
  INCLUDE_SYS_UTIME, os_utimbuf_struct, USE_ALTERNATE_UTIME,
  os_utime_orig, os_utime, os_chdir, OS_GETCWD_MAX_BUFFER_SIZE,
  os_getcwd, os_mkdir, os_rmdir, OS_CHMOD_INCLUDE_IO_H, os_chmod,
  os_remove, os_rename, os_system, os_fopen, os_popen, os_pclose,
  DEFINE_WGETENV, os_getenv
- The functions keys_helem and values_helem in hshlib.c and
  hsh_rtl.c have been improved to use a loop instead of a tail
  recursion. For compilers that don't recognize the tail recursion
  this results in a speed improvement (Gcc recognizes tail
  recursions so there is no speed improvement).
- The functions free_helem and free_hash in hsh_rtl.c have been
  improved to stop searching for helems as soon as the last helem
  has been freed.
- The functions helem_data_to_list and helem_key_to_list have been
  improved to use a loop instead of a tail recursion (see above).

20160130:
- A code page for pdf doc encoding has been added to charsets.s7i.
- An optimization for the length of concatenated strings has been
  added to the compiler (in file str_act.s7i).
- Checks for the string length function have been added to
  chkstr.sd7.
- The checks for the string operators := and &:= have been rewritten
  to use one line for each test case.
- The example program rever.sd7 has been improved to allow a level
  of 10.
- The compiler has been improved to create code that raises the
  exception ACTION_ERROR, when at runtime no implementation function
  is found for an interface function.
- The performance of the hash table functions keys (which returns
  all keys) and values (which returns all values) has been improved
  in interpreted and compiled programs. For an average test case
  hshKeys() (in hsh_rtl.c) now uses only 27% of the previous runtime
  (measured with gcc and valgrind).
- In hshlib.c the performance of the functions free_hash,
  keys_helem, keys_hash, values_helem, values_hash, for_helem,
  for_hash, for_key_helem, for_key_hash, for_data_key_helem and
  for_data_key_hash has been improved.
- In hsh_rtl.c the performance of the functions free_hash,
  keys_helem, keys_hash, values_helem and values_hash has been
  improved.
- In listutl.c the performance of the functions helem_data_to_list,
  hash_data_to_list, helem_key_to_list and hash_keys_to_list has
  been improved.
- Several functions in cmd_rtl.c have been improved to work
  correctly, when logError is activated (os_path is freed now after
  its last use in logError).

20151216:
- A compiler bug, triggered with a nested function and an array
  parameter, has been fixed. Many thanks go to "rfnbs" for providing
  an excellent bug report. The bug was fixed by changing the type of
  the global variable 'prog' and by saving and restoring the 'prog'
  variable in the functions get_create_call_obj and
  get_destroy_call_obj.
- The functions toAscii85 and fromAscii85 have been added to the
  library encoding.s7i.
- Definitions of for-each-loops, which have an until condition and
  loop over the characters of a string, have been added to the
  library forloop.s7i.
- The function gzcompress has been added to the library gzip.s7i.
- The type of the global variable 'prog' has been changed from
  progRecord to progType (pointer to progRecord).
- Changes have been done in analyze.c, atom.c, blockutl.c, dcllib.c,
  doany.c, entutl.c, error.c, exec.c, expr.c, findid.c, findid.h,
  match.c, name.c, parser.c, prclib.c, prg_comp.c, prglib.c,
  reflib.c, runerr.c, s7.c, sctlib.c, syntax.c, syvarutl.c,
  syvarutl.h, traceutl.c and type.c to reflect that the type of the
  variable 'prog' changed from struct to pointer to struct.
- The functions get_create_call_obj and get_destroy_call_obj in
  executl.c have been changed to save, set and restore the variable
  'prog'.
- In chkccomp.c all functions, which have a name starting with
  'detemine', have been renamed such that the name starts with
  'determine'.

20151129:
- The library bitdata.s7i, which provides functions to read and
  write bits to and from strings, has been added.
- The libraries deflate.s7i and inflate.s7i have been changed to use
  functions from bitdata.s7i.
- The undocumented function reverseBits has been moved from
  deflate.s7i to bitdata.s7i. The meaning of the two parameters has
  been changed.
- The constant array reverseBits has been added to bitdata.s7i.
  All calls of the function reverseBits have been removed.
- Calls of the function reverseBits in deflate.s7i have been
  replaced by usages of the array reverseBits.
- In inflate.s7i two loops have been replaced by usages of the array
  reverseBits.
- The library lzw.s7i, which provides support for Lempel-Ziv-Welch
  compression and decompression, has been added.
- The function gzuncompress has been added to gzip.s7i. This
  function decompresses a string that was compressed with zlib
  (RFC 1950).
- The function literal(in char: ch) in seed7_05.s7i has been changed
  to write character literals with the new numeric escape sequence.
- In the function detemineOdbcDefines (file chkccomp.c) the test
  program, that verifies the linker option for the static lib, has
  been improved to work correctly under Windows.
- Definitions for SQLGetData() have been added to db_odbc.h and
  sql_odbc.c.
- Support to read a CLOB (Character large object) from an ODBC
  database has been added to sql_odbc.c.

20151110:
- The program toutf8.sd7 has been improved to accept byte order
  marks for the encodings UTF-16BE and UTF-16LE.
- Documentation comments have been improved in bigint.s7i,
  integer.s7i, big_gmp.c, big_rtl.c, bst_rtl.c, flt_rtl.c,
  int_rtl.c, pcs_rtl.c, rfl_data.c, set_rtl.c, str_rtl.c and
  typ_data.c.
- In analyze.c and prg_comp.c function names and parameter names
  have been changed to use camel case.
- The global variable programPath and the function
  relativeToProgramPath have been removed. They were only used when
  the makefile setting PATHS_RELATIVE_TO_EXECUTABLE was active (this
  setting was not used by any makefile for years).
- All explanations related to PATHS_RELATIVE_TO_EXECUTABLE has been
  removed from the FAQ and from src/read_me.txt.
- The functions hsh_incl and hsh_update in hshlib.c have been
  changed to raise RANGE_ERROR when cmp_func is NULL.

20151029:
- The explanation in the FAQ, how Seed7 programs can be debugged
  with Eclipse, has been improved.
- The function commandPath in process.s7i has been improved to
  return always "", when the executable is not found.
- The functions processOptions and printOptions in s7.c have been
  improved to use a parameter instead of a global variable.
- Calls of logFunction have been added to hsh_rtl.c, listutl.c,
  match.c and rfl_data.c.
- In striAsUnquotedCStri and bstriAsUnquotedCStri (file striutl.c)
  the size of the static char buffer is computed at compile-time
  instead of estimated.
- Several numeric literals have been replaced by defined constants.
- The makefile mk_freebsd.mk has been changed to use numutl.c
  instead of sql_util.c.
- To improve the readability the maximum line length in several C
  source files has been reduced.

20151012:
- The program setpaths.c has been changed to work correctly when
  the binary release (for Windows) is used.
- Errors in the bigInteger operators +:= and -:= have been fixed.
  This errors were triggered with expressions like A +:= A; when the
  value of A has a value in a specific range. Thanks go to Fausto C.
  for reporting this problem.
- The example program ide7.sd7 has been improved to start programs
  as process and to allow their termination.
- The chapter about errors in the manual has been improved.
- The picture terminate_pic has been added to pic16.s7i and
  pic32.s7i.
- Checks for +:=, -:= and *:= have been added to chkbig.sd7.
- Documentation comments have been added to aes.s7i, arc4.s7i,
  bin32.s7i, bin64.s7i, complex.s7i, des.s7i and tdes.s7i.
- Errors in the functions bigAddAssign and bigSbtrAssign have been
  fixed. Now the check for a negative delta is done before the
  variable is changed. This fixes the errors with A +:= A; and
  A -:= A; .
- The makefile mk_mingc.mak has been improved such that it can be
  called without the parameters S7_LIB_DIR and SEED7_LIBRARY.
- The program chkccomp.c has been improved to check if pow() works
  correct when the exponent is the maximum odd value that fits in
  a float respectively double.
- A buffer in a test program used by chkccomp.c has been enlarged
  to avoid a possible buffer overflow.
- Calls of logFunction have been added to big_gmp.c, big_rtl.c and
  traceutl.c.
- The definition of CATCH_SIGNALS has been removed from the
  makefiles. Now signal handlers are used when one of the functions
  sigaction() and signal() is available.
- The function socAddressCStri() has been added to soc_rtl.c. Now
  this function is used instead of bstriAsUnquotedCStri(), to write
  addresses in log functions.
- The function printParameters() has been added to pcs_unx.c and
  pcs_win.c. In log functions this function is now used to print
  parameter lists.
- The unused functions bin_add and bin_add_assign have been removed
  from bin64.s7i, binlib.c, binlib.h and primitiv.c.

20150927:
- The library cgidialog.s7i, which provides dialogs that are shown
  with a web browser, has been added.
- The example program ide7.sd7 has been added. This program is a
  cgi dialog demo program.
- The library browser.s7i, which opens a web browser and provides a
  connection to it, has been added.
- The chapter about types in the manual has been improved.
- The compiler has been improved to create code for the action
  FLT_DIV_ASSIGN in a way that works with icc (icc has problems
  when */ precedes /= ).
- The program chkccomp.c has been improved to write definitions of
  OVERFLOW_SIGNAL and PRINTF_SUPPORTS_VARIABLE_FORMATS.

20150914:
- The FAQ has been improved to explain the support for Unicode names
  and how Unicode names are activated with a pragma.
- The heap management for strings has been improved to determine the
  maximum length of the free lists automatically at run-time. This
  improves the runtime, when the compiler (s7c) compiles itself, by
  2.7% (measured with gcc and valgrind). In many other situations
  this optimization has also a positive effect.
- The interpreter has been improved to allow experimental support
  for case statements with a string decision expression.
- The compiler has been improved to use the functions abs()
  respectively labs() for the absolute value of an integer (when
  overflow checking is switched off).
- Tests for abs have been added to chkint.sd7.
- The example program raytrace.sd7 has been improved to use result
  variables with descriptive names.
- The configuration values LONG_SIZE and BOOLTYPE have been added to
  cc_conf.s7i.
- Interpreter and compiler have been changed to use the type _Bool
  or bool for boolean values, when one of them is available. This
  allows some optimizations by the C compiler, since the possible
  values are restricted to 0 and 1.
- The deprecated functions open_utf8, open_utf16, open_echo,
  open_line, open_tee, open_more, open_upper, open_lower,
  open_reverse, open_window and open_field have been removed.
  The replacement functions are openUtf8, openUtf16, openEcho,
  openLine, openTee, openMore, openUpper, openLower, openReverse,
  openWindow and openField.
- The deprecated function removeAnyFile has been removed. The
  replacement function is removeTree.
- The macros 'likely' and 'unlikely' have been added to functions in
  analyze.c, arrlib.c, biglib.c, bstlib.c, chrlib.c, cmdlib.c,
  dcllib.c, drw_win.c, drw_x11.c, fillib.c, fil_unx.c, fil_win.c,
  numutl.c, pollib.c, prclib.c, sql_lite.c, sql_my.c, sql_oci.c,
  sql_odbc.c, sql_post.c and ut8_rtl.c.
- The definition of the macro logFunction in common.h has been
  improved to write the file name.
- Calls of logFunction have been added to arrlib.c, prclib.c,
  big_gmp.c, cmd_unx.c cmd_win.c dir_dos.c, dir_win.c, drw_win.c,
  set_rtl.c, sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c, sql_post.c
  and sql_rtl.c.
- Checks for err_info != OKAY_NO_ERROR have been replaced by checks
  for pointer variables being NULL in sql_lite.c, sql_my.c,
  sql_oci.c, sql_odbc.c and sql_post.c. Since the address of
  err_info is used this variable cannot be placed into a register.
- Several variables have been changed to constants.
- Several calls of strlen() have been replaced with calls of the
  macro STRLEN() (STRLEN() computes the string size of a literal at
  compile-time).
- The files drw_win.c and tim_win.c have been improved to reduce the
  number of C compiler warnings.
- The function setupFiles in fil_win.c has been improved to set only
  redirected files to _O_BINARY mode. Real console files are left in
  _O_TEXT mode. This way the ENTER key is translated to '\n'.
- The function freelistStatistic has been added to heaputl.c.
- Several definitions have been changed to use a static storage
  class.

20150823:
- The example program raytrace.sd7 has been added. This program is a
  raytracing demo.
- The library vector3d.s7i, which supports 3D vectors, has been
  added.
- The compiler s7c has been improved to create code to manage free
  lists for struct data. This avoids many calls of malloc() and
  free(). The maximum length of the free lists is determined
  automatically at run-time.
- In color.s7i the elements of the type color have been renamed to
  redLight, greenLight and blueLight. The files mahjong.sd7 and
  draw.s7i have been changed to use the new element names of the
  type color.
- The functions doubleToCharBuffer, fltDgts and fltSci in flt_rtl.c
  have been improved to work without calls of strlen().
- The function bigHexCStri in big_rtl.c has been improved to use
  fewer calls of memmove() and strlen().
- The function process_pragma() in analyze.c has been improved to
  use fewer calls of strlen().
- The function opendir in dir_dos.c and dir_win.c has been improved
  to work without calls of strcat().
- The functions striAsUnquotedCStri and bstriAsUnquotedCStri in
  striutl.c have been improved to use fewer calls of strlen().
- The function cp_to_command in striutl.c has been improved to use
  fewer calls of os_stri_strlen.
- The function getcaps in trm_cap.c has been improved to use fewer
  calls of strcat().
- The function fix_capability in trm_inf.c has been improved to use
  fewer calls of strcat().
- The function strLit in str_rtl.c has been improved to work without
  calls of strlen().
- The functions calculate_output_length and print_stri in error.c
  have been improved to use fewer calls of strlen().
- The function prot_os_stri has been removed from traceutl.c.
- The macros 'likely' and 'unlikely' have been added to functions in
  act_comp.c, analyze.c, arr_rtl.c, big_gmp.c, big_rtl.c, chr_rtl.c,
  cmd_rtl.c, cmd_unx.c, cmd_win.c, con_win.c, hshlib.c, hsh_rtl.c,
  soc_rtl.c, striutl.c and traceutl.c.
- Checks for err_info != OKAY_NO_ERROR have been replaced by checks
  for pointer variables being NULL in cmd_win.c, dir_rtl.c,
  fil_rtl.c, pcs_unx.c, pcs_win.c, striutl.c. Since the address of
  err_info is used this variable cannot be placed into a register.
  The pointer variables used now can be placed into a register.
- Variables in big_rtl.c, dir_rtl.c and striutl.c have been changed
  to constants.

20150802:
- An explanation, how Seed7 programs can be debugged with Eclipse,
  has been added to the FAQ.
- Checks for the operators << and >> have been added to chkbig.sd7.
- Checks for string comparisons  ( < <= > >= ) and the operator
  'mult' have been added to chkstr.sd7.
- The functions bigLShift, bigLShiftAssign, bigRShift and
  bigRShiftAssign in big_gmp.c and big_rtl.c have been improved to
  avoid a signed integer overflow, when the shift count is the most
  negative integer.
- The compiler has been improved to optimize code for bigInteger
  shifts and compares.
- The compiler has been improved to create inline code for some
  string comparisons ( < <= > >= ) and the operator 'mult'.
- In int_rtl.c the function intLpad0 has been improved to avoid a
  signed integer overflow when the number is the most negative
  integer.
- In numlit.c the functions decimalValue, basedValue, readBigBased,
  basedInteger, intExponent and lit_number have been changed to
  work with unsigned integers.
- Calls of logFunction have been added to atom.c, doany.c,
  entutl.c, exec.c, executl.c, expr.c, findid.c, libpath.c, name.c,
  object.c, parser.c, syntax.c, token.c and type.c.
- The type of digit_value elements has been changed to uintType.
- The function drwImage in drw_win.c has been improved to avoid
  a multiplication in the inner loop.

20150720:
- The chapter about errors in the manual has been improved.
- In seed7_05.s7i parameter declarations without parameter name
  (which use the keyword 'param') have been changed to parameter
  declarations with parameter name.
- The compare functions in rational.s7i and bigrat.s7i have been
  improved.
- The compiler has been improved to use inline code for the integer
  compare function.
- Checks for the compare function have been added to chkint.sd7.
- Checks for hash tables with bigInteger, rational and bigRational
  keys have been added to chkhsh.sd7.
- Calls of logError have been added to pcs_unx.c, pcs_win.c and
  ref_data.c.
- Calls of logFunction have been added to big_rtl.c, blockutl.c,
  drw_win.c, flistutl.c, gkb_win.c, gkb_x11.c, heaputl.c, hshlib.c,
  identutl.c, infile.c, listutl.c, pcs_unx.c, pcs_win.c, ref_data.c,
  tim_dos.c, tim_unx.c, tim_win.c, trm_inf.c, typ_data.c, typeutl.c
  and typlib.c.
- In cc_conf.s7i, flt_act.s7i, cmd_rtl.c and common.h the
  configuration value MAX_INTEGER_IN_FLOATTYPE has been renamed to
  INT_RANGE_IN_FLOATTYPE_MAX.
- Documentation comments have been added to string.s7i, strlib.c and
  str_rtl.c.

20150705:
- The chapters describing statements and object orientation in the
  manual have been improved.
- The library tls.s7i has been improved to use explicit
  initialization vectors (IVs) for block ciphers, when the TLS
  version is 1.1 or higher.
- The library tls.s7i has been improved to avoid raising exceptions,
  when the handshake fails.
- The list of supported ciphers in tls.s7i has been changed.
- The functions round and trunc in float.s7i have been improved to
  raise RANGE_ERROR, when the float value cannot be represented as
  integer.
- The function log2 has been added to the library math.s7i.
- Checks for the functions str, round, trunc and log2 and for the
  power operator (**) have been added to chkflt.sd7.
- The comanche webserver has been improved to continue without
  exception, when the client closes the socket.
- The comanche webserver now accepts parameters with drive letters.
- The program chkccomp.c has been improved to write definitions of
  HAS_LOG2, HAS_CBRT, HAS_EXP, HAS_EXP2, HAS_EXP10,
  POW_OF_NAN_OKAY, POW_OF_ZERO_OKAY, POW_OF_ONE_OKAY,
  POW_EXP_NAN_OKAY and POW_EXP_MINUS_INFINITY_OKAY.
- The configuration values HAS_LOG2 and HAS_CBRT have been added to
  cc_conf.s7i.
- In config.h the configuration macros DO_HEAPSIZE_COMPUTATION,
  DO_HEAP_STATISTIC, DO_HEAP_CHECK and CHECK_INT_OVERFLOW have been
  changed to have a value of 0 or 1.
- Documentation comments have been improved in cc_conf.s7i,
  float.s7i, fltlib.c, str_rtl.c and ut8_rtl.c.
- Calls of logFunction and logError have been added to actutl.c,
  fltlib.c, literal.c, sql_rtl.c, striutl.c and ut8_rtl.c.
- The macros 'likely' and 'unlikely' have been added to functions in
  arr_rtl.c, int_rtl.c, ref_data.c, rfl_data.c, set_rtl.c, sql_my.c,
  sql_rtl.c and strlib.c.
- The definition of ERROR_INFORMATION in soc_rtl.h has been changed
  to contain the name of the error variable. Usages of this macro in
  pol_sel.c, pol_unx.c and soc_rtl.c have been adjusted.
- The performance of filGets for large files has been improved by
  2% (measured with gcc and Valgrind).
- In various Seed7 libraries (*.s7i) parameter declarations without
  parameter name (which use the keyword 'param') have been changed
  to parameter declarations with parameter name.

20150614:
- The exponentiation operator for float values has been improved to
  work correct, when the base is negative zero, one or NaN (not a
  number).
- The chapter describing float exponentiation in the manual has been
  improved.
- The parse operator for integers has been improved to recognize,
  when there is no digit after the sign.
- The makefile mk_msvc.mak has been improved to work without calling
  vcvars32 before.
- The function isPositiveZero has been added to float.s7i.
- Checks for the exponentiation with integer and float exponent have
  been added to chkflt.sd7.
- Checks for the parse operator have been added to chkbig.sd7 and
  chkint.sd7.
- Checks for the operators div, rem, mdiv and mod have been added to
  chkint.sd7.
- Documentation comments have been added to float.s7i, cc_conf.s7i,
  fltlib.c and flt_rtl.c.
- The configuration values NAN_COMPARISON_OKAY, POW_FUNCTION_OKAY,
  HAS_EXP2, HAS_EXP10, INT_MIN, INT_MAX and MAX_INTEGER_IN_FLOATTYPE
  have been added to cc_conf.s7i
- The function intParse in int_rtl.c has been improved to recognize
  when there is no digit after the sign.
- Calls of logFunction and logError have been added to analyze.c,
  arr_rtl.c, cmd_rtl.c, flt_rtl.c infile.c, numlit.c, numutl.c
- The function defineTempVariable has been added to
  comp/expr_util.s7i.
- The functions process_const_flt_ipow and process_const_flt_pow
  have been added to comp/flt_act.s7i.
- The function process_const_int_mdiv in comp/int_act.s7i has been
  improved.
- The function bigIntToDouble in numutl.c has been improved to use
  a right shift instead of a division by two.
- In numutl.c and numutl.h the prototypes of the functions
  getDecimalInt, getDecimalBigInt, getDecimalBigRational and
  getDecimalFloat have been changed to use ustriType instead of
  void *.
- The function getDecimalInt in numutl.c has been improved to do the
  conversion without calling intParse.
- The macros logFunctionX and logErrorX have been added to common.h.
  This allows the activation of selected logging functions by adding
  X.
- In str_rtl.c macro definitions for strelem_memcmp and
  search_strelem have been added. The macros are defined, when the
  functions wmemcmp respectively wmemchr are available and when they
  work with 32-bit data elements.
- The macros 'likely' and 'unlikely' have been added to functions in
  striutl.c.
- The files sql_util.c and sql_util.h have been renamed to numutl.c
  respectively numutl.h
- The program chkccomp.c has been improved to write definitions of
  CAST_INT_TO_FLOAT_OKAY, HAS_EXP2, HAS_EXP10, NAN_COMPARISON_OKAY,
  FLOAT_ZERO_TIMES_INFINITE_OKAY, NAN_MULTIPLICATION_OKAY,
  NAN_DIVISION_OKAY, POWER_UNDERFLOW_WITH_SIGN, POWER_OF_ZERO_OKAY,
  POWER_OF_ONE_OKAY, POWER_OF_NAN_OKAY, PRINTS_NEGATIVE_ZERO,
  MAX_INTEGER_IN_FLOAT, MAX_INTEGER_IN_DOUBLE, HAS_WMEMCMP,
  HAS_WMEMCHR and HAS_WMEMSET.
- Definitions of C_COMPILER_SCRIPT and GET_CC_VERSION_INFO_OPTIONS
  have been added to mk_msvc.mak. This definitions are used by the
  program setpaths.c to write definitions of the macros C_COMPILER
  and GET_CC_VERSION_INFO to version.h

20150601:
- Interpreter and compiler have been improved to work correctly, when
  the function body (the part between 'begin' and 'end') consists of
  one symbol (e.g.: begin test end; ).
- The parse operator for float values has been improved to work like
  the corresponding function that reads literals in a Seed7 program.
- The parse operator for float values has been changed to forbid
  hex literals (that the underlying C function might allow).
- In cli_cmds.s7i the copy and move commands have been fixed to work
  correctly, when the target file is specified.
- Checks for division by zero (with div, mdiv, mod and rem) have been
  added to chkbig.sd7 and chkint.sd7.
- Checks for log2 and log10 with negative argument have been added to
  chkbig.sd7 and chkint.sd7.
- Checks if RANGE_ERROR is raised by the operators parse, digits, and
  sci have been added to chkflt.sd7
- Checks for the sci operator have been added to chkflt.sd7.
- Checks for factorial with negative numbers have been added to
  chkint.sd7.
- Checks if RANGE_ERROR is raised by the parse operator have been
  added to chkint.sd7
- In chkbig.sd7 the functions chkGrow, chkShrink and chkMultCopy have
  been renamed to chkAddAssign, chkSubtractAssign and chkMultAssign
  respectively.
- The function defineTempVariable has been added to
  lib/comp/expr_util.s7i and used in several compiler files.
- Changes to avoid signed unsigned mismatches in comparisons have
  been done in actIConv (act_comp.c), act_iconv (actlib.c) and
  bigParseBased2To36 (big_rtl.c)
- Explicit casts to void (document that a function result is ignored)
  have been added to chrCLitToBuffer (chr_rtl.c) and bigLog10
  (big_rtl.c).
- The functions getEnvironment and freeEnvironment have been added to
  cmd_win.c.
- The file con_emc.c has been added. This file contains a (dummy)
  driver for emcc (JavaScript) console access.
- The file stat_win.c has been added. This file defines the functions
  wstati64() and fstati64().
- The program chkccomp.c has been improved to write definitions of
  os_isnan, os_isinf, DOUBLE_MIN_EXP10, MIN_PRINTED_EXPONENT_DIGITS,
  MAX_PRINTED_EXPONENT_DIGITS, STRTOD_ACCEPTS_HEX_NUMBERS,
  ATOF_ACCEPTS_HEX_NUMBERS, STRTOD_ACCEPTS_DENORMAL_NUMBERS,
  ATOF_ACCEPTS_DENORMAL_NUMBERS, HAS_SYMBOLIC_LINKS and HAS_READLINK.
- The config value ISNAN_WITH_UNDERLINE has been removed. Instead the
  macro os_isnan has been defined.
- The macro HAS_SYMLINKS has been renamed to HAS_SYMBOLIC_LINKS.
- In match.c the function match_symbol() has been added and used in
  match_object().
- The function dllSym has been renamed to dllFunc. The function
  dllFunc returns a function pointer instead of a void pointer.
  This silences warnings issued by some C compilers.
  The sql_*.c drivers have been changed to use dllFunc.
- Calls of logError have been added or improved in act_comp.c,
  arr_rtl.c, big_gmp.c, big_rtl.c, bst_rtl.c, cmd_rtl.c, cmd_win.c,
  dir_rtl.c, fil_rtl.c, fil_unx.c, fil_win.c, flt_rtl.c, hsh_rtl.c,
  intlib.c, pcs_unx.c, set_rtl.c and stat_win.c.
- Calls of logFunction have been added or improved in arr_rtl.c,
  big_rtl.c, chr_rtl.c, cmd_rtl.c, dir_rtl.c, fil_rtl.c, fil_unx.c,
  fil_win.c, flt_rtl.c, gkb_win.c, int_rtl.c, s7.c, set_rtl.c,
  stat_win.c, tim_rtl.c

20150517:
- Error messages in cli_cmds.s7i have been improved.
- The function getHttp with a httpLocation parameter has been added
  to gethttp.s7i.
- The structure httpRequest in httpserv.s7i has been improved to
  contain a field for the header.
- Documentation comments have been added to the functions
  getAttrValue, getAttributes, getSubNodes and getContent in
  xmldom.s7i.
- The function readXml with a string parameter has been added to
  xmldom.s7i.
- The comanche webserver has been improved to respond with 405
  (Method Not Allowed), when the request method is unknown.
- The check for phaser energy in startrek.sd7 has been improved.
- The function fltSci in flt_rtl.c has been improved to check for
  PRINTF_FMT_E_MAXIMUM_FLOAT_PRECISION.
- Declarations of sqlite3_db_handle() and sqlite3_errmsg() have been
  added to db_lite.h and sql_lite.c.
- The functions assertCompAndLnk and assertCompAndLnkWithOptions
  have been added to chkccomp.c.
- The function numericProperties in chkccomp.c has been improved
  to determine more values from test programs.
- The makefiles have been changed to define the linker options for
  libraries before chkccomp is executed.
- The macro safe_fileno has been added to os_decls.h. This macro
  is used in logging functions to avoid a segmentation violation,
  when a FILE is NULL.
- Calls of logFunction and logError have been added to big_gmp.c,
  big_rtl.c, drw_rtl.c, drw_win.c, drw_x11.c, fil_rtl.c, flt_rtl.c,
  gkb_win.c, gkb_x11.c, int_rtl.c, prg_comp.c, str_rtl.c and
  ut8_rtl.c.

20150503:
- The example program cat.sd7 has been added. The program
  concatenates and prints files. Thanks go to Brian Callahan for
  providing it.
- The makefile mk_emccw.mak has been added. This makefile supports
  compiling with the emcc C compiler from Emscripten. The support of
  Emscripten is experimental (see also src/read_me.txt).
- Documentation comments have been improved in osfiles.s7i, utf8.s7i,
  cmd_rtl.c and ut8_rtl.c.
- Various changes have been done in chkccomp.c. Many configuration
  settings are now always defined and have a value of 0 or 1. The
  corresponding #ifdef directives in the C source files have been
  changed to #if directives.
- The library comp/int_act.s7i has been changed to use only
  ccConf.CHECK_INT_REM_BY_ZERO for the operators 'rem' and 'mod'.
- In cmd_rtl.c the function cmdFileType has been changed to return
  FILE_SYMLINK, when the chain of symbolic links is too long.
- In fil_rtl.c the functions seekFileLength(), offsetTell() and
  offsetSeek() have been improved to fail for terminal devices such
  as stdin. Under OpenBSD fseek() and ftell() succeeded in this case.
- In drw_x11.c the functions drwPut() and drwSetTransparentColor()
  have been changed to consider a pixmap with a window of 0 as empty.
- Calls of logFunction and logError have been added to fil_rtl.c,
  soc_rtl.c, str_rtl.c, tim_unx.c and ut8_rtl.c.

20150419:
- The library httpserv.s7i, which supports HTTP server and HTTP
  requests, has been added.
- The comanche webserver has been changed to use the library
  httpserv.s7i.
- The example program which.sd7 has been added. This program locates
  in which directory a command is found.
- In shell.s7i the modes used for popen and popen8 have been changed.
  Now a pipe can be opened with the binary modes "r" (read) and
  "w" (write), or with the text modes "rt" (read) and "wt" (write).
- Variants of the functions popen and popen8, which use an array of
  parameters, have been added to shell.s7i.
- In tls.s7i the function gets has been changed to return as soon as
  data is available. This behavior corresponds to the gets function
  in socket.s7i.
- Checks for the radix operator have been added to chkbig.sd7 and
  chkint.sd7.
- Interpreter and compiler have been improved such that the files
  STD_IN, STD_OUT and STD_ERR are in binary mode.
- The function doRemove in chkccomp.c has been improved to check for
  the presence of the file before it is removed.
- The function checkPopen has been been added to chkccomp.c.
- The function cmdShellEscape in cmd_rtl.c has been improved. Now all
  characters except '\0;', '\n' and '\r' can be escaped ('\r' can be
  escaped under Linux/Unix/BSD).
- Now there are two versions of cmdShellEscape and the define
  variable ESCAPE_SHELL_COMMANDS decides which one is used.
- The function filPopen has been changed, to open a pipe in binary or
  text mode.
- In fil_rtl.c the function read_and_alloc_stri has been changed to
  read the data into a list of buffers. Afterwards the string is
  allocated, the data is copied and the buffer list is freed. This
  improves the performance, when the file is a pipe.
- In fil_rtl.c the function doGetsFromTerminal has been changed to
  check for a negative length.
- In soc_rtl.c the function read_and_alloc_stri has been added. This
  function reads the data into a list of buffers. Afterwards the
  string is allocated, the data is copied and the buffer list is
  freed.
- In soc_rtl.c the function socGets has been improved to use
  read_and_alloc_stri, when the requested length is larger than 1 MB.
- In soc_rtl.c the function socWrite has been improved to call send()
  again, when not all data has been written.
- In prclib.c the functions prc_block_catch_all and
  prc_block_otherwise have been improved to free the fail_stack.
  This way the call stack that is written, when an exception
  terminates the program, is always correct.
- The function escape_command in striutl.c has been improved.
- Verbose exceptions have been added to big_rtl.c, fil_rtl.c,
  pol_sel.c, pol_unx.c and soc_rtl.c.
- The logging of C functions in big_rtl.c, cmd_rtl.c, fil_rtl.c,
  hsh_rtl.c, int_rtl.c, pcs_rtl.c, pcs_unx.c, pcs_win.c, prg_comp.c,
  soc_rtl.c, str_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and tim_win.c
  has been changed to use the macro logFunction.
- The definition of the macro logError has been removed from various
  C files. The new definition of logError is in common.h.
- Trace output has been added to fil_rtl.c.
- Documentation comments have been improved in process.s7i shell.s7i,
  socket.s7i, big_rtl.c, fillib.c

20150405:
- A cache for client sessions has been added to tls.s7i. This allows
  that a TLS connection can be resumed (without a new negotiation of
  the security parameters).
- The comanche webserver has been improved to keep connections open
  for 15 seconds.
- The functions compare and hashCode for the type socketAddress have
  been added to sockbase.s7i.
- A new variant of openServerTls, with a certAndKey parameter, has
  been added to tls.s7i.
- The functions validityType, createX509Cert, certAndKey and
  selfSignedX509Cert have been added to x509cert.s7i.
- The constant stdRsaKeyPair has been added to pkcs1.s7i.
- The functions localAddress, peerAddress and ord have been added to
  socket.s7i.
- In duration.s7i the functions YEARS, MONTHS, DAYS, HOURS, MINUTES,
  SECONDS and MICRO_SECONDS have been improved to normalize the
  duration value.
- The functions sendGet (gethttp.s7i) and sendHttpResponse
  (comanche.sd7) have been change to send the request/response with
  one write statement.
- The library tls.s7i has been improved to accept client-hello and
  server-hello messages with extensions.
- The functions openTlsSocket and openServerTls (in tls.s7i) have
  been improved to avoid exceptions, when an alert message is
  received or a socket is closed.
- In tls.s7i the function write has been changed to send long strings
  with several messages.
- Tests for the operators parse and radix and for the function
  bigInteger have been added to chkbig.sd7.
- The functions openHttpSession, closeHttpSession, processHttpRequest
  and cleanSessions have been added to comanche.sd7.
- Trace output and verbose exceptions have been added to various
  functions in big_rtl.c, soc_rtl.c, int_rtl.c and str_rtl.c.
- The functions striAsUnquotedCStri and bstriAsUnquotedCStri have
  been added to striutl.c.
- In traceutl.c the functions prot_stri_unquoted and prot_bstri have
  been changed to use striAsUnquotedCStri and bstriAsUnquotedCStri
  respectively.
- Interpreter and compiler have been improved to support the actions
  SOC_GET_LOCAL_ADDR, SOC_GET_PEER_ADDR and SOC_ORD (SOC_GET_ADDR has
  been renamed to SOC_GET_LOCAL_ADDR).

20150322:
- The program chkchr.sd7 has been added. This program checks the
  correctness of the functions isLetter and width. Thanks go to
  Arkady Kuleshov for providing chkchr.sd7.
- Interpreter and compiler have been improved to allow Unicode names.
  This functionality is inspired by patches from Arkady Kuleshov.
  Unicode names are switch off by default. They must be activated
  with the pragma: $ names unicode;
- The library smtp.s7i, with support for SMTP (simple mail transfer
  protocol), has been added.
- Interpreter and compiler have been changed to write an error
  message, when a deprecated string escape sequence (e.g.: "\7\")
  is used instead of a new escape sequence (e.g.: "\7;").
- The function getHttpLocation in gethttp.s7i has been improved to
  handle IPv6 addresses correctly.
- In cli_cmds.s7i error messages have been added to doCopyCmd and
  doMoveCmd.
- Documentation comments have been added or improved in console.s7i,
  ftp.s7i and cli_cmds.s7i.
- Checks for the function bigInteger have been added to chkbig.sd7.
- Checks for the integer for-loop have been added to chkprc.sd7.
- In big_rtl.c the functions bigParseBasedPow2 and bigParseBased2To36
  have been improved to raise RANGE_ERROR when a digit is too big.
- The program chkccomp.c has been changed to use test programs for
  various settings. This has been done to allow that chkccomp.c can
  be compiled with any compiler (not just the one that is to be
  tested).
- The function write_position_info has been added to runerr.c.
- In runerr.c the function write_call_stack has been improved to
  catch the signal SIGSEGV.
- The function scan_symbol_utf8 has been added to scanner.c.
- The functions prot_cstri8 and prot_string have been added to
  traceutl.c.
- The function escape_sequence in literal.c has been changed to write
  an error when a deprecated string escape sequence is used.
- The function utf8_char in literal.c has been changed to save the
  UTF-8 sequence.
- The function basedValue in numlit.c has been changed to write the
  error ILLEGALBASEDDIGIT with the correct digit.
- In prclib.c the functions prc_for_downto, prc_for_downto_step,
  prc_for_to and prc_for_to_step have been changed such that the
  loop variable has a defined value after the loop. After the
  for-loop the loop variable must be beyond the upper bound (or below
  the lower bound for for-downto-loops).
- In doany.c the functions do_flush, do_wrnl and do_wrstri have been
  changed to allow that outfile is from a different program.

20150308:
- The compile time error messages have been improved. Now Unicode
  characters in the error line are displayed correctly. Before they
  have been displayed as question marks (?). When the error line is
  written to a console the encoding of the operating system is used.
  When stdout has been redirected to a file the error line is encoded
  with UTF-8. Thanks go to Arkady Kuleshov for triggering this
  improvement. The patch proposed by Arkady is based on stdout and
  UTF-8. The actual implementation uses a different approach via the
  console driver con_drv.h. The console driver uses UTF-16 under
  Windows (unless stdout has been redirected) and UTF-8 under
  Linux/Unix/BSD.
- The function getBinary has been added to bin64.s7i. This function
  returns 64 bits from a bitset starting with a given bit number.
- The compiler has been changed to use the function getBinary to
  generate bitset literals.
- Interpreter and compiler have been improved to support the actions
  BIN_GET_BINARY_FROM_SET, PRC_FOR_DOWNTO_STEP and PRC_FOR_TO_STEP.
- The compiler function AppendWithDiagnostic has been renamed to
  appendWithDiagnostic.
- The function appendWithDiagnostic in comp/debug.s7i has been
  improved to add #line directives only when they are missing.
- The function defineTempConstant has been added to expr_util.s7i.
- The functions process_const_bin_radix and process_bin_radix in
  comp/bin_act.s7i have been improved to use uintRadix() and
  uintRadixPow2() for the actions BIN_radix and BIN_RADIX.
- The generation of for-loops in comp/prc_act.s7i has been improved.
- A definition of an integer for-loop with step has been added to
  forloop.s7i. Before integer for-loops with step were defined with
  the template FOR_STEP_DECLS.
- The functions prc_block, prc_block_catch_all, prc_block_otherwise,
  prc_repeat and prc_while in prclib.c have been improved to check
  for fail_flag with the macro unlikely().
- The functions check_for_int_to and check_for_int_downto in
  chkprc.sd7 have been improved.
- The program err.sd7 has been improved.
- The program chkccomp.c has been changed to write the version
  information to stdout when no file name has been provided as
  argument.
- A definition of the macro chrStrMacro has been added to chr_rtl.h.
- The function utf8_char in literal.c has been changed to call
  next_character() before reporting the errors CHAR_ILLEGAL,
  OVERLONG_UTF8_ENCODING, UTF16_SURROGATE_CHAR_FOUND and
  CHAR_NOT_UNICODE.
- The functions read_ustri8_line, ustri8_buffer_to_stri,
  calculate_output_length, print_stri and read_and_print_line have
  been added to error.c

20150216:
- The functions isLetter and width have been added to the library
  char.s7i. Compiler and interpreter have been changed to support
  this functions. Thanks go to Arkady Kuleshov for providing a patch.
- The library unionfnd.s7i and the program percolation.sd7 have been
  added. Thanks go to Arkady Kuleshov for providing them.
- The makefile mk_icc.mak has been added. This makefile supports
  compiling with the icc C compiler.
- The library bin64.s7i, a 64-bit binary value support library, has
  been added.
- The functions fourBytesLeToBin32, fourBytesBeToBin32,
  bin32AsFourBytesLe and bin32AsFourBytesBe have been added to
  bin32.s7i.
- The functions bigAsEightBytesLe and bigAsEightBytesBe have been
  added to bytedata.s7i
- Interpreter and compiler have been improved to support the actions
  BIN_STR, BIN_radix, BIN_RADIX, BIN_AND, BIN_OR, BIN_XOR,
  BIN_LSHIFT, BIN_RSHIFT, BIN_LSHIFT_ASSIGN, BIN_RSHIFT_ASSIGN,
  BIN_AND_ASSIGN, BIN_OR_ASSIGN, BIN_XOR_ASSIGN, CHR_IS_LETTER and
  CHR_WIDTH.
- The support for the actions INT_AND, INT_AND_ASSIGN, INT_OR,
  INT_OR_ASSIGN, INT_ULSHIFT, INT_ULSHIFT_ASSIGN, INT_URSHIFT,
  INT_URSHIFT_ASSIGN, INT_XOR and INT_XOR_ASSIGN has been removed
  from interpreter and compiler.
- The compiler library comp/bin_act.s7i has been added.
- The functions isConstantCall and isPureFunction in comp/const.s7i
  have been improved.
- The functions uintRadix, uintRadixPow2 and uintStr have been added
  to int_rtl.c.
- The function bld_binary_temp has been added to objutl.c.

20150201:
- The option -p of the interpreter (Specify a protocol file, for
  trace output) has been documented in FAQ, s7.1 and in the help
  function of the interpreter.
- The behavior of a Seed7 program, when it receives a signal, has
  changed. Now a program is terminated, when it receives a signal.
  The old behavior, that asks for RETURN or '*', is used when
  interpreter or compiler are called with the option -ts.
- The option -ts of interpreter and compiler (Trace signals) has
  been documented in FAQ, s7.1, s7c.1 and in the help functions of
  the programs.
- Documentation comments in integer.s7i, bigint.s7i and char.s7i have
  been improved.
- The runtime of the function bitsetElemAsHex (in comp/set_act.s7i)
  has been improved by a factor of 7 (measured with gcc and
  Valgrind).
- The operator sci has been improved in integer.s7i and bigint.s7i.
- The function check_sci, which checks the sci operator, has been
  added to chkint.sd7.
- The function check_str, which checks the str function, has been
  added to chkset.sd7.
- The function doRemoveCmd in cli_cmds.s7i has been improved to write
  a message when the operation is not permitted.
- The compiler has been improved to generate better code for the
  action STR_MULT.
- The function check_string_mult, which checks string
  multiplications, has been added to chkstr.sd7.
- The function bitsetNonZero has been added to set_rtl.c. This
  function uses loop unrolling inspired by Duff's device.
- The function setNext (in set_rtl.c) has been changed to call
  bitsetNonZero. This improves the speed of setNext by a factor of 2
  (measured with gcc and Valgrind).
- The function strMult in str_rtl.c has been improved to use a binary
  method for string multiplication. This improves the speed of
  strMult by a factor of 2 (measured with gcc and Valgrind).
- The function drwEmpty has been added to drw_x11.c drw_win.c and
  drw_dos.c.

20150118:
- The performance of the function bytes2Int in bytedata.s7i has been
  improved by 10% (measured with gcc and valgrind). An intermediate
  function has been removed and a boolean parameter has been omitted
  from the underlying C function .
- The function check_string_concat, which contains checks for string
  concatenation, has been added to chkstr.sd7.
- Improvements have been done in gethttp.s7i and tls.s7i to avoid
  blocking and exceptions, when a socket is closed or unexpected data
  is read.
- Several optimizations in the compiler (s7c) have been done:
  - The function optimize_str_cat has been added to comp/str_act.s7i.
    This function optimizes sequences of string concatenations.
  - The flag prefer_result_expr has been added to the struct
    expr_type in comp/expr.s7i. With this flag it can be requested
    that a parameter is preferred as result_expr (the value is
    allocated at the heap).
  - The function process_int_str has been added to int_act.s7i.
    This function is used for INT_STR and for the radix operator
    when the base is 10.
- The program chk_all.sd7 has been changed to ignore the exception
  FILE_ERROR, when it is raised by some calls of removeFile.
- In int_rtl.c the functions intBytesBe2Int and intBytesLe2Int have
  been changed to convert only signed values (in twos-complement
  representation). The parameter isSigned has been removed.
- The functions intBytesBe2UInt and intBytesLe2UInt have been added
  to int_rtl.c. This functions convert unsigned values.
- The function write_place in error.c has been fixed to write the
  correct file name and line. This error has been introduced in
  version 2014-09-07, when the function write_place has been added.
- A definition and calls of the macro logError have been added to
  fil_rtl.c and soc_rtl.c.
- A version of the function alloc has been added to progs.s7i. This
  version allocates a string object.
- The functions prot_params and prot_name in traceutl.c have been
  improved to write syntax with keywords at the beginning and at the
  end correctly.
- In ref_data.c the functions refAlloc, refArrMaxIdx, refArrMinIdx,
  refArrToList, refBody, refCategory, refFile, refHshDataToList,
  refHshKeysToList, refIsVar, refItfToSct, refLine, refLocalConsts,
  refLocalVars, refNum, refParams, refResini, refResult,
  refSctToList, refStr, refType, actValue, bigValue, blnValue,
  bstValue, chrValue, drwValue, filValue, fltValue, intValue,
  pcsValue, polValue, prgValue, refValue, rflValue, setValue,
  strValue and typValue have been changed to use const parameters.
- The actions INT_BYTES_BE and INT_BYTES_LE have been replaced by
  INT_BYTES_BE_SIGNED, INT_BYTES_BE_UNSIGNED, INT_BYTES_LE_SIGNED and
  INT_BYTES_LE_UNSIGNED.
- The actions INT_BYTES_BE_2_UINT, INT_BYTES_LE_2_UINT and
  REF_ALLOC_STRI have been added.

20150104:
- In sql_post.c the function swap64 has been renamed to swapUInt64.
  Thanks go to Brian Callahan for reporting that OpenBSD already has
  a function called swap64().
- The library aes.s7i with AES (Advanced Encryption Standard) cipher
  support has been added.
- The library tls.s7i has been improved to allow encoding with AES.
- The functions fileType and fileTypeSL have been added to ftp.s7i.
- The handling of the command ls -l in the program ftp7.sd7 has been
  improved to write the file type.
- The compilation of the action ARR_IDX in the compiler (file
  arr_act.s7i) has been improved.
- In des.s7i and tdes.s7i all occurrences of subkey have been renamed
  to subKey.
- In sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c the
  function setupFuncTable has been changed to use count.sql_func
  (defined in heaputl.h).

20141223:
- The chapter about primitive actions in the manual has been
  improved.
- The compiler optimization of bigInteger divisions and
  multiplications by -1 has been improved.
- Tests of bigInteger divisions and multiplications have been added
  to chkbig.sd7.
- The functions fltDgts and fltSci have been improved to allow a
  precision greater than 1000.
- Tests of the operators digits and sci with large precision values
  have been added to chkflt.sd7.
- In drw_x11.c the functions drwHeight and drwWidth have been
  improved to avoid a call of XGetGeometry, when the window is a
  pixmap. This significantly improves the writing with Seed7 fonts
  under Mac OS X.
- The compiler has been improved to limit the length of generated C
  float literals to 100 characters. The length of a float literal
  accepted by the cl C compiler from msvc is limited.
- The function doubleToCharBuffer in flt_rtl.c has been improved to
  work correctly for numbers with big and small exponents.
- Tests of float to string conversions have been added to chkflt.sd7.
  The tested float values have exponents from the allowed range.
- The function bigAddAssignSignedDigit (former bigGrowSignedDigit) in
  big_rtl.c has been changed to mask the delta value with
  BIGDIGIT_MASK.
- The functions numericSizes and deteminePostgresDefines in
  chkccomp.c have been improved. Now the macros INT32_SUFFIX,
  UINT32_SUFFIX, INT32TYPE_LITERAL_SUFFIX, INT32TYPE_FORMAT,
  INT64_SUFFIX, UINT64_SUFFIX, INT64TYPE_LITERAL_SUFFIX and
  INT64TYPE_FORMAT are written by chkccomp.c instead of being defined
  in common.h.
- The function findPgTypeInclude has been added to chkccomp.c.
- The check for the function __builtin_expect in chkccomp.c has been
  improved.
- The actions BIG_GROW, BIG_SHRINK, FLT_GROW, FLT_SHRINK, INT_GROW
  and INT_SHRINK have been renamed to BIG_ADD_ASSIGN,
  BIG_SBTR_ASSIGN, FLT_ADD_ASSIGN, FLT_SBTR_ASSIGN, INT_ADD_ASSIGN
  and INT_SBTR_ASSIGN respectively.
- In big_rtl.c and big_gmp.c the functions bigGrowSignedDigit,
  bigGrow and bigShrink have been renamed to bigAddAssignSignedDigit,
  bigAddAssign and bigSbtrAssign respectively.
- A check for DEFAULT_DECIMAL_PRECISION in sql_odbc.c has been
  corrected.

20141210:
- The database drivers sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
  and sql_post.c have been improved to select a shared library / DLL
  from a list of candidates.
- The program chkccomp.c has been improved to configure database
  drivers with a list of shared libraries / DLLs.
- The makefiles mk_bcc32.mak, mk_bccv5.mak, mk_msvc.mak, mk_msys.mak,
  mk_mingc.mak, mk_mingw.mak and mk_nmake.mak have been improved to
  write definitions of the C macros MYSQL_DLL, SQLITE_DLL and
  POSTGRESQL_DLL to the file chkccomp.h.
- The chapters about integer, rational and exceptions in the manual
  have been improved.
- In bigint.s7i the performance of the binomial coefficient operator
  (infix operator symbol: ! ) has been improved by 17% (measured with
  gcc and valgrind).
- The optimization of constant expressions in the compiler has been
  improved.
- The program esc2qte.c has been added. This program searches for
  backslash escaped spaces and quotes the string instead. It is used
  by mk_nmake.mak to process the file depend.
- Documentation comments in integer.s7i have been improved.
- The recognition of integer formats in chkccomp.c has been improved
  (the test programs now include <string.h>).
- The makefiles mk_msys.mak and mk_nmake.mak have been improved to
  use wrdepend.exe to determine the dependencies.
- The program wrdepend.c has been changed to include config.h (this
  way the macro MAP_ABSOLUTE_PATH_TO_DRIVE_LETTERS is available).
- A cast has been added to sudo.c.

20141207:
- The paragraph in src/read_me.txt, that describes the compilation
  under Mac OS X, has been improved.
- The function bigIPow1 in big_rtl.c has been changed to call
  bigLog2BaseIPow instead of bigLShiftOne when the base is a power of
  two. This avoids an integer overflow when the shift count is
  computed.
- The function fltIPow in flt_rtl.c has been changed to avoid a
  division by zero when CHECK_FLOAT_DIV_BY_ZERO has been defined.
- The function fltIPow in flt_rtl.c has been improved to return
  -Infinity for (-0.0) ** n when n is negative.
- The function uint_rand (in int_rtl.c) has been renamed to uintRand
  and changed to omit the initialization of the random seed.
- The function setupRand has been added to int_rtl.c. This function
  initializes the random seed of uintRand.
- The function uintRandLimited has been added to int_rtl.c.
- The runtime of the integer random number generator has been reduced
  to 45%.
- The compiler has been improved to generate optimized code for
  special cases of the action INT_RAND. For special cases the
  functions uintRand and uintRandLimited are used instead of intRand.
- The compiler has been improved to optimize the binomial coefficient
  operator (infix operator symbol: ! ).
- Tests for the binomial coefficient (infix operator symbol: ! ) have
  been added to chkint.sd7 and chkovf.st7
- Tests for the integer random number generator have been added to
  chkint.sd7.
- Tests for powers of negative zero have been added to chkflt.s7i.
- The database interface headers db_lite.h, db_my.h, db_oci.h,
  db_odbc.h and db_post.h have been added. This include files are
  used when the original database include files are not available.
- The functions decimalValue and basedValue in numlit.c have been
  improved to use an unsigned integer value and a simplified test for
  the maximum value of a literal. The change reduces the runtime of
  decimalValue by 6% (measured with gcc and valgrind).
- The function intBinom (in int_rtl.c) has been improved to work
  correctly as long as the result is representable in an integer of
  type intType. When the result is not representable in an integer
  the exception OVERFLOW_ERROR is raised.
- The function uintBinomNoChk has been added to int_rtl.c. This
  special case function is used by the compiler, when n_number is
  less than a limit.
- The function intSafeMult has been renamed to intMultOvfChk.
- The makefile mk_osxcl.mak has been added. This makefile supports
  compilation under Mac OS X with the clang compiler.
- The file sql_ite.c has been renamed to sql_lite.c.
- The makefiles have been improved to write additional macros to
  chkccomp.h. This macros are used by chkccomp.c to do the database
  investigation.
- The database drivers sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
  and sql_post.c have been improved.
- The configuration program chkccomp.c has been improved:
  - Now it writes definitions of INT8TYPE and INT16TYPE to version.h.
  - Now it adds /opt/X11/include to the include path, when
    /usr/include/X11 does not exist. This is required for Mac OS X.
  - The functions that write define macros for databases have been
    improved to take the new database interface headers (db_*.h) into
    account.

20141116:
- The type process has been added to the library process.s7i. The
  type process is used to manage child processes.
- The functions compare, hashCode, str, exitValue isAlive,
  startProcess, kill and waitFor have been added to process.s7i.
- Support for the actions CMD_PIPE2, CMD_PTY and CMD_START_PROCESS
  has been removed from interpreter and compiler.
- Support for the actions PCS_CMP, PCS_CPY, PCS_EQ, PCS_EXIT_VALUE,
  PCS_HASHCODE, PCS_IS_ALIVE, PCS_KILL, PCS_NE, PCS_PIPE, PCS_PTY,
  PCS_START, PCS_STR, PCS_VALUE and PCS_WAIT_FOR has been added to
  interpreter and compiler.
- The files pcs_rtl.c, pcs_rtl.h, pcs_unx.c, pcs_win.c, pcs_drv.h,
  pcslib.c, pcslib.h and pcs_act.s7i have been added.
- The functions freeArgVector, genArgVector have been moved from
  cmd_unx.c to pcs_unx.c.
- The function prepareCommandLine has been moved from cmd_win.c to
  pcs_win.c.
- The makefiles have been improved to consider the files necessary
  for process support.

20141102:
- The files to generate man pages for Seed7 interpreter and compiler
  (files doc/s7.1 and doc/s7c.1) have been improved.
- Functions have been moved from make.s7i and makedata.s7i to the new
  library cli_cmds.s7i (Emulate CLI commands from UNIX and DOS).
- Support for the commands mkdir and md has been added to
  cli_cmds.s7i.
- The library makedata.s7i has been improved to support the functions
  dir, notdir, suffix, basename, addprefix, addsuffix, filter,
  filter-out, foreach, call, sort and shell.
- The libraries makedata.s7i and make.s7i have been improved to
  support pattern rules with equal patterns.
- The configuration program chkccomp.c has been improved to set the
  POSTGRESQL_POSTGRES_H and POSTGRESQL_PG_TYPE_H in more situations.
- The function exec_call in exec.c has been improved to raise the
  exception ILLEGAL_ACTION, when it is called for a FORWARDOBJECT.
- The compiler has been improved to issue an error, when a forward
  defined function is called.
- The function prg_eval in prglib.c has been improved to call
  raise_with_arguments instead of raise_exception.
- The function nameOfBufferType in sql_post.c has been improved to
  use PGNODETREEOID, INT2ARRAYOID, OIDARRAYOID and FDW_HANDLEROID
  only when they have been defined.

20141019:
- The compiler s7c has been improved to process the semicolon
  operator with reduced stack usage. Thanks go to Pietro Cerutti for
  pointing out problems with the available stack size under FreeBSD.
- In drw_x11.c the function redraw has been improved to ignore expose
  events when backing store is active. Thanks go to Brian Callahan
  for reporting problems with activated backing store under OpenBSD.
- The library makedata.s7i has been improved. Now conditional
  makefile parts with ifdef and ifndef are allowed. Now it is
  possible to use the ?= operator to assign a value to a variable.
  Now the value of a variable is taken from the environment, when it
  has not been defined in the makefile.
- The function setupStack has been moved from cmd_rtl.c to heaputl.c.
- The self extracting Seed7 installer for Windows has been improved
  to allow downloading the latest Seed7 release.
- Tabs in various files have been replaced with spaces.

20141005:
- The example program sql7.sd7 has been improved to write help
  information, when it is called with the option -? .
- The configuration program chkccomp.c has been improved to accept
  the #define macros MYSQL_INCLUDE_OPTIONS, SQLITE_INCLUDE_OPTIONS,
  POSTGRESQL_INCLUDE_OPTIONS, ODBC_INCLUDE_OPTIONS,
  OCI_INCLUDE_OPTIONS, MYSQL_LIBRARY_PATH, SQLITE_LIBRARY_PATH,
  POSTGRESQL_LIBRARY_PATH, ODBC_LIBRARY_PATH and OCI_LIBRARY_PATH.
- The makefile mk_freebsd.mk has been improved to allow database
  connections under FreeBSD.
- The makefiles mk_mingw.mak, mk_msvc.mak, mk_bcc32.mak and
  mk_bccv5.mak have been improved to support the SQLite database.
- The database driver sql_ite.c has been improved such that it can
  also work with a DLL that is loaded at runtime.
- Tracing statements have been added to drw_x11.c.

20140921:
- Access to MySql/MariaDb, SQLLite, PostgreSQL, Oracle and ODBC
  databases has been added.
- The library sql_base.s7i has been added. This library provides
  functions to connect to a database, to prepare statements, to bind
  variables to prepared statements, to execute prepared statements,
  to fetch data from the database and to get individual columns from
  fetched data.
- A paragraph about the compilation of Seed7 with database
  connections has been added to the FAQ.
- The example program sql7.sd7 has been added. This program connects
  with a database, reads SQL commands and sends them to the database.
- The example program chkdb.sd7 has been added. This program checks
  SQL statements with several databases. The database login data in
  chkdb.sd7 must be adjusted to allow that opening the databases
  succeeds.
- The library ftp.s7i and the program ftp7.sd7 have been improved to
  accept connection strings of the form user:password@hostName .
- Interpreter and compiler have been improved to support databases.
- The compiler now adds parentheses around comma expressions when
  they are used as index. This changes have been done in the files
  arr_act.s7i, bst_act.s7i and str_act.s7i.
- Database drivers consisting of the files dll_drv.h, dll_unx.c,
  dll_win.c, sql_drv.h, sql_ite.c, sql_my.c, sql_oci.c, sql_odbc.c,
  sql_post.c, sql_rtl.c, sql_rtl.h, sql_util.c, sql_util.h, sqllib.c
  and sqllib.h have been added.
- The program wrdepend.c has been added. This program is used to
  write C header dependencies to the file depend. It calls the C
  compiler with -I options. The -I options come from the macro
  INCLUDE_OPTIONS, which is defined in the file version.h.
- Database driver files have been added to makefiles.

20140907:
- The function setSearchPath has been added to the library
  process.s7i.
- The compiler has been improved to write an error message, when the
  sets of a case-statement overlap. Until now this situation was only
  recognized by the C compiler.
- The interpreter has been improved to raise an exception, when the
  current value of a case-statement is element of two sets.
- There have been changes in the libraries makedata.s7i and make.s7i.
- The macro expansion in makedata.s7i has been changed. Now all macro
  expansions (except the expansions of internal macros) are done with
  the function applyMacros.
- In makedata.s7i the function applyMacros has been improved to
  process the makefile macro functions wildcard, error and warning.
- The functions evalFunction and getMacro, that where used to do
  macro expansion when the makefile is read, have been removed.
- The code to read the definition of recursively expanded variables
  has been changed to do no macro expansion. This macros are expanded
  when they are used.
- The library make.s7i has been improved to read the parameters
  for the commands rm, cp, and mv as Unix shell parameters (with the
  function getUnixCommandParameter).
- The library make.s7i has been improved to read the parameters
  for the commands del, copy, xcopy and move as Dos/Windows batch
  parameters (with the function getDosCommandParameter).
- Interpreter and compiler have been improved to support the action
  CMD_SET_SEARCH_PATH.
- The batch file bin/call_gcc.bat has been changed to work correctly,
  when it is called from any directory.
- Writing error messages in error.c has been changed to use prot_...
  functions instead of printf.

20140817:
- The chapter about files in the manual has been improved.
- Variants of the for-each-loop with an until condition have been
  added to array.s7i.
- The parse operator for characters has been improved to accept only
  strings with a length of 1.
- The function trimValue has been introduced. This function trims a
  string such that it can be converted to a specified type.
- The exception handlers for RANGE_ERROR have been removed from the
  functions read and readln in enable_input.s7i. The functions read
  and readln now raise range RANGE_ERROR when the conversion to the
  target type fails.
- Occurrences of io_ok, io_error, io_empty and io_filled have been
  removed from the libraries. This undocumented feature was not used
  for years. The function succeeds and the functions read and readln
  with default value are better suited for error checking, when data
  is read.
- The exception handlers in interpreter and compiler have been
  improved to allow an otherwise part.
- The function succeeds has been introduced. This function executes
  a statement and returns TRUE when no exception occurs.
- The example programs nicoma.sd7 and savehd7.sd7 have been improved
  to use the new function succeeds.
- The parse operator for float has been changed to raise RANGE_ERROR
  when leading whitespace is found.
- The library make.s7i has been improved to accept the commands
  erase, xcopy, mv, move and rem.
- The library makedata.s7i has been improved to accept the macro
  functions subst and patsubst.
- The reading of rules in makedata.s7i has been improved to read
  commands without macro substitution. The macros in commands are
  substituted just before the commands are executed.
- The make functions in make.s7i have been changed to raise
  FILE_ERROR when a command fails.
- The function applyMacros in makedata.s7i has been improved to
  accept macro functions and the shorthands of patsubst.
- The function replaceSuffixes in makedata.s7i has been improved to
  accept pattern substitution with the % character.
- In the library make.s7i the logging has been removed from the
  functions doRm, doCp, doPwd, doEcho, doCd, doMake, doOneCommand,
  doCommands and processCommand.
- The program chkflt.sd7 has been adjusted to work with the strict
  parse operator for float.
- Interpreter and compiler have been improved to support the actions
  PRC_BLOCK_CATCH_ALL and PRC_BLOCK_OTHERWISE.
- The program sudo.c has been improved to work without upper limit
  for the parameter length.
- The functions checkIfOutsideRange and negate have been added to
  int_act.s7i.

20140803:
- The handling of ctrl-c has been changed to work better under
  Windows.
- The runtime of the function intPowOvfChk in int_rtl.c has been
  reduced to 57% (measured with gcc and valgrind).
- The generation of code in the compiler for the action INT_POW has
  been improved. When the base is a negative power of two the
  exponentiation is done with a shift instead of a call of intPow
  (respectively intPowOvfChk).
- The overflow checking for INT_POW in the compiler has been
  improved. When base or exponent is known the overflow checking is
  done with inline code and intPow is called instead of intPowOvfChk.
- Documentation comments have been added to bitsetof.s7i
- Tests for ** have been added to chkint.sd7 and chkovf.st7
- The tests for * and *:= in chkovf.st7 have been reorganized.
- An interrupt_flag has been introduced in the interpreter. This flag
  is used for exception handling and for signal handling. Exceptions
  set interrupt_flag and fail_flag (with the macro set_fail_flag).
  Signals set only the interrupt_flag (file sigutl.c). The
  interrupt_flag is handled in exec_action (file exec.c).
- The functions signal_name, handle_signals, handle_segv_signal,
  handle_term_signal and activate_signal_handlers in sigutl.c have
  been improved.
- The functions continue_question, write_curr_position and
  show_signal in runerr.c have been improved.
- The functions handle_int_signal, readChar, doGetcFromTerminal,
  doGetsFromTerminal, doLineRead, doLineReadFromTerminal, doWordRead,
  doWordReadFromTerminal, filGetcChkCtrlC, filGetsChkCtrlC,
  filHasNextChkCtrlC, filLineReadChkCtrlC and filWordReadChkCtrlC
  have been added to fil_rtl.c. This functions support reading from
  a terminal with a check for ctrl-c. This functions are used by the
  interpreter (file intlib.c).
- Tracing has been added to functions in int_rtl.c.
- Configuration defines for CTRL_C_SENDS_EOF,
  SIGNAL_HANDLER_CAN_DO_IO and INT64TYPE_NO_SUFFIX_BUT_CAST have been
  added to makefiles.

20140720:
- The compiler has been improved to generate overflow checking code
  by default. The generation of overflow checking code can be
  switched off with the option -so.
- The exception OVERFLOW_ERROR has been introduced. It is raised by
  the interpreter and by compiled programs when an integer overflow
  occurs.
- A paragraph about integer overflow and the installation of Seed7
  has been added to the FAQ.
- The chapter about exceptions in the manual has been improved.
- The program chkovf.sd7, which checks the recogition of integer
  overflows, has been added.
- Checks for +, -, *, rem, mod, <<, +:=, -:=, *:=, succ, pred, incr
  and decr have been added to chkint.sd7.
- Checks for the lpad operator have been added to chkstr.sd7.
- The compiler option -r has been replaced by the option -sr.
- The program calc7.sd7 has been improved to report MEMORY_ERROR and
  OVERFLOW_ERROR.
- The library make.s7i has been improved such that make7.sd7 accepts
  echo (and echo.) statements without parameters.
- The function eof has been defined for the type tlsFile in tls.s7i.
- The function gets in tls.s7i has been improved.
- The function getHttp in gethttp.s7i has been improved to avoid an
  endless loop when eof has been reached.
- The function memcpy_from_strelem has been added to striutl.c. This
  function uses loop unrolling inspired by Duff's device and a trick
  with a binary or (|=) to check for allowed values.
- The functions filWrite, socWrite and bstParse have been changed
  to use memcpy_from_strelem. The reduction in runtime has been
  measured with gcc and valgrind. The runtime of filWrite, socWrite
  and bstParse has been reduced to 53%, 61% and 56% respectively.
- Documentation comments have been added to integer.s7i, bin32.s7i,
  intlib.c and striutl.c.
- The compiler has been improved to generate overflow checking code
  for *, <<, >>, *:=, <<:= and >>:= .
- The generation of overflow checking code for the operators rem and
  mod has been improved.
- Checks for overflow, division by zero, numeric error and index out
  of bounds in compiled programs now use the macros ovfChk, divChk,
  numChk and idxChk. This macros inform the C compiler about the
  unlikeliness of an exception.
- The function fltIPow has been improved to avoid a signed integer
  overflow, when the exponent is the most negative integer.
- The primitive actions INT_ULSHIFT and INT_ULSHIFT_ASSIGN have been
  added and supported in interpreter and compiler.
- A version of the function uint_rand, which uses 128-bit integers,
  has been added to int_rtl.c.
- The function raise_error3 in runerr.c has been renamed to
  interprRaiseError.
- The configuration values INT128TYPE, UINT128TYPE and MACRO_DEFS
  have been added to cc_conf.s7i. The configuration value
  SIGILL_ON_OVERFLOW has been replaced with OVERFLOW_SIGNAL.
- The functions constValueIsEqual, checkRangeFromZero,
  process_const_int_lshift, process_const_int_lshift_assign,
  process_const_int_rshift_assign, process_const_int_mult,
  process_const_int_mult_assign, process_const_int_ulshift_assign,
  process_const_int_ulshift and process_const_int_urshift_assign
  have been added to int_act.s7i.
- The function intExpr in chkbig.sd7, chkexc.sd7, chkint.sd7 and
  chkstr.sd7 has been changed to make sure that the C compiler
  cannot evaluate it at compile time.
- The runtime of the functions str_lpad, strLpad and strLpadTemp has
  been improved.

20140706:
- The interpreter has been improved to recognize integer overflow.
  Now the exception NUMERIC_ERROR is raised, when a program triggers
  an integer overflow. The checks for overflow are done in software,
  but the overhead is small. With overflow checks the interpreter
  needs 0.5% (zero point five percent) more run-time to execute the
  program chkint.sd7 (verified with gcc and valgrind).
- A chapter about the Seed7 Structured Syntax Description (S7SSD)
  has been added to the manual.
- The for-until-loops in bitset.s7i and bitsetof.s7i have been
  improved such that the for-variable has the correct value, when it
  is used in the until-condition.
- The function replaceN has been added to string.s7i. This function
  does replacements until no occurrence of the target string is left.
  This function is used by toStdPath to replace multiple occurrences
  of a character by one occurrence (replace("/a///b////c", "//", "/")
  returns "/a/b/c").
- The program calc.sd7 has been renamed to calc7.sd7.
- The program calc7.sd7 has been changed to accept the commands
  'quit' and 'exit'. This commands can be used to exit the program.
  The possibility to leave the program with an empty input line has
  been removed.
- The program calc7.sd7 has been improved to write the name of the
  exception, when it has been raised.
- The compiler has been improved to allow the generation of overflow
  checking code. Overflow checking code can be generated for the
  operators +, -, **, +:= and -:= and the functions abs, succ, pred,
  incr and decr. Until the rest of the functions is implemented and
  enough tests have been added to chkint.sd7 the functionality is
  switched off.
- The template FOR_UNTIL_DECLS has been added to forloop.s7i. This
  template defines for-loops with a condition.
- The function abs has been moved from the library math.s7i to the
  library float.s7i.
- Checks for addition, subtraction, multiplication, power and abs
  have been added to chkint.sd7.
- In the compiler the statements to write the C prototypes have been
  moved from s7c.sd7 to functions in the files comp/xxx_act.s7i
  (xxx is the abbreviation for the corresponding primitive type).
- The functions getReference and getParameterAsReference have been
  added to comp/expr_util.s7i.
- The function isit_bool from objutl.c has been replaced by the macro
  isit_bool (defined in objutl.h). This improves the speed of the
  interpreter.
- The function set_card has been improved to call setCard, which
  computes the cardinality of a set much quicker.

20140615:
- The makefile mk_freebsd.mk has been changed to work with the new
  version of chkccomp.c. Thanks go to Pietro Cerutti for pointing out
  the problem.
- The self extracting Seed7 package for Windows has been improved to
  use gcc version 4.8.1 instead of 4.5.0.
- The new function removeTree, which removes a directory tree, has
  been introduced in osfiles.s7i. The function removeAnyFile, which
  has been used for the same purpose, is deprecated. Deprecated
  functions will be removed in a future version.
- Checks for hash tables with character keys have been added to
  chkhsh.sd7.
- The test program "chkcmd.sd7" has been added. This program checks
  functions that copy, move and remove files. Note that Windows has
  race conditions when files are copied, moved and removed quickly in
  succession. This bug of Windows cannot be fixed in a runtime
  library.
- The function temp_name_in_dir has been added to striutl.c.
- The typedef of socketType in common.h has been changed such that
  socketType is always int.
- Functions in soc_rtl.c, pol_sel.c and pol_unx.c have been changed
  to use the type os_socketType.
- Tracing statements in hsh_rtl.c, cmd_rtl.c, drw_win.c and drw_x11.c
  have been changed to use the FMT_ strings from common.h. This way
  the tracing is more portable.
- Under Windows the functions cmdRemoveFile and cmdRemoveTree now
  rename a file before it is removed. When the renaming fails the
  directory is left intact. This avoids half removed directory trees
  under Windows, when a process has the current working directory
  somewhere in the directory that is to be removed. The renaming also
  lowers the probability of race conditions under Windows, but they
  still can happen.
- The function checkMoveDirectory has been added to chkccomp.c.
- The target make7 has been added to the makefiles. With 'make make7'
  an executable of the make7 program is generated and placed in
  seed7/bin.

20140601:
- The compiler has been refactored. Code has been moved from s7c.sd7
  to several compiler libraries. The compiler libraries are licensed
  with the GPL and can be found in seed7/lib/comp. The refactored
  compiler is the first compiler of the 3.0 series.
- The chapter in the manual about the foreign function interface has
  been improved.
- Checks for parse and str have been added to chkflt.sd7 and
  chkint.sd7.
- In chkccomp.c code has been moved from main() to the new functions
  numericSizes and numericProperties.
- Usages of the macro logError have been added to cmd_rtl.c and
  cmd_unx.c.
- The stack size defined in mk_mingc.mak, mk_mingw.mak, mk_msys.mak
  and mk_nmake.mak has been changed from 4194304 to 8388608.
- The function cstri_buf_to_stri has been added to striutl.c.
- The generation of float literals in the compiler has been improved
  to avoid that precision is lost.
- Interpreter and compiler have been improved to support the actions
  BLN_EQ and BLN_NE.

20140518:
- Errors in con_wat.c and drw_dos.c have been fixed (thanks to
  "Rugxulo" for the help to fix them).
- The function str in duration.s7i has been improved to work for
  negative durations.
- The library tar.s7i has been improved to work with the old file
  format that does not use the magic value "ustar".
- The function bigToInt16 has been added to big_rtl.c and big_gmp.c.
- The macros with format strings in common.h have been renamed.
  Now the macros have shorter names (starting with FMT_ and F_).
  The macros define formats for various integer sizes. This formats
  are independent from the actual C compiler and C runtime library.
- The function bigLog10 in big_rtl.c has been improved to work
  correctly when BIGDIGIT_SIZE is small.
- The program chkccomp.c has been improved to define
  LOCALTIME_WORKS_SIGNED, when localtime can process negative times.
- The program chkccomp.c has been improved to write the define
  directives to the file specified with the first parameter.
- The function intParse in int_rtl.c has been improved to accept the
  most negative number.
- The function timSetLocalTZ in tim_rtl.c has been changed to avoid
  raising an exception when LOCALTIME_WORKS_SIGNED is not defined and
  the time is before 1970-01-01. In this case the daylight saving
  time flag is set to FALSE.

20140504:
- The answer concerning Unicode support in the FAQ has been improved.
- The chapters in the manual that describe the types integer,
  bigInteger, rational, bigRational and float have been improved.
- The function log10 has been added to the libraries integer.s7i and
  bigint.s7i. This function computes the truncated base 10 logarithm.
- The operator sci has been added to the libraries integer.s7i,
  bigInteger.s7i, bigrat.s7i and rational.s7i. This operator converts
  a number to a string in scientific notation. Halfway cases are
  rounded away from zero.
- The function round10 has been added to the libraries rational.s7i
  and bigrat.s7i. It rounds halfway cases away from zero.
- The function str has been improved in the libraries rational.s7i
  and bigrat.s7i. Now the function converts to a string with a
  decimal representation (e.g.: "1.25"). When repeating decimals are
  recognizend they are enclosed in parentheses.
- The operator digits has been improved in the libraries rational.s7i
  and bigrat.s7i. Now the operator rounds halfway cases away from
  zero.
- Documentation comments have been improved in bigint.s7i, float.s7i,
  rational.s7i, bigrat.s7i, char.s7i, big_gmp.c and fltlib.c.
- Definitions of the constants integer.first and integer.last have
  been added to integer.s7i.
- In bigrat.s7i and rational.s7i the function reduce has been
  improved to accept Infinity and NaN.
- The function strDateTime has been added to time.s7i.
- A definition of INTTYPE_DECIMAL_SIZE has been added to s7c.sd7 and
  common.h.
- The function bigGcd in big_rtl.c has been improved to make sure
  that the greatest common divisor is positive or zero.
- Checks for log10, **, +:= and -:= have been added to chkbig.sd7.
- The checks for log2 have been improved and checks for log10 have
  been added to chkint.sd7.
- Checks for the function str have been added to chkflt.sd7.
- The compiler has been improved to use the functions
  bigIPowSignedDigit and bigGrowSignedDigit to optimize the operators
  **, +:= and -:= for bigInteger operands.
- The compiler has been improved to support the actions INT_LOG10 and
  BIG_LOG10.
- The function isPureFunction in the compiler has been improved.
- The functions bigGrowSignedDigit and bigLog10 have been added to
  big_rtl.c and big_gmp.c.
- The program chkccomp.c has been improved to write definitions of
  the macros isinf, DOUBLE_DECIMAL_EXPONENT_DIGITS, FLOAT_STR_FORMAT,
  FLOAT_STR_LARGE_NUMBER, DOUBLE_STR_FORMAT, DOUBLE_STR_LARGE_NUMBER,
  FLOAT_MANTISSA_FACTOR, FLOAT_MANTISSA_SHIFT, DOUBLE_MANTISSA_FACTOR
  and DOUBLE_MANTISSA_SHIFT.
- The functions fltDgts and fltSci in flt_rtl.c have been changed to
  raise RANGE_ERROR when the precision is negative.
- The function fltStri in flt_rtl.c has been improved to write a
  reasonable number of fractional digits.
- The functions getMantissaAndExponent, setMantissaAndExponent and
  doubleToCharBuffer have been added to flt_rtl.c.
- The function intLog10 has been added to int_rtl.c.
- The function stri_to_wstri has been renamed to stri_to_utf16.
- The functions stri_to_wstri_buf and wstri_buf_to_stri have been
  added to striutl.c.

20140420:
- The chapter in the manual about the foreign function interface has
  been improved.
- A paragraph about regular expressions and lexical scanner functions
  has been added to the FAQ.
- The handling of the actions CHR_CLIT and INT_STRI in the compiler
  has been improved. The string buffers for chrCLitToBuffer and
  intStrToBuffer use the correct alignment now.
- In big_rtl.c the functions bigParseBasedPow2 and bigParseBased2To36
  have been added and bigParseBased has been changed to call them.
  This improves the conversion of a string to a bigInteger, when the
  base is a power of two. Valgrind measurements of the function
  bigParseBased in chkbig.sd7 show a speed improvement with a factor
  of 239.
- The macros memcpy_to_strelem and memset_to_strelem (defined in
  striutl.h) have been turned into functions (defined in striutl.c).
- The unrolling in memcpy_to_strelem and memset_to_strelem has been
  changed from 8 times to 32 times. This improves the performance
  for big data amounts by 16% (Measured with valgrind and gcc).
- Usages of the macros memcpy_to_strelem and memset_to_strelem in
  bst_rtl.c, fil_rtl.c, soc_rtl.c and str_rtl.c have been turned into
  usages of the corresponding functions.
- Calls of cstri_expand, ustri_expand, cstri_expand2 and
  ustri_expand2 in analyze.c, chr_rtl.c, flt_rtl.c, infile.c,
  str_rtl.c and striutl.c have been turned into calls of
  memcpy_to_strelem.
- The functions (macros) cstri_expand, ustri_expand, cstri_expand2
  and ustri_expand2 have been removed from striutl.c and striutl.h.
- The functions doCompileAndLink, compileAndLinkWithOptionsOk,
  compileAndLinkOk, appendToFile and detemineDatabaseDefines have
  been added to chkccomp.c. The function compilationOkay has been
  replaced by compileAndLinkOk.

20140406:
- The chapters in the manual about primitive actions and the foreign
  function interface have been improved.
- The names of the C types used in interpreter and runtime library
  have been refactored to use camel case.
- The elements in the unions valueUnion (in data.h) and rtlValueUnion
  (in data_rtl.h and s7c.sd7) have been refactored to use names with
  camel case.
- The library bigint.s7i has been changed to define the operators
  radix and RADIX with the actions BIG_radix and BIG_RADIX. This
  results in a significant performance improvement when large numbers
  are converted.
- Interpreter and compiler have been improved to support the actions
  BIG_radix and BIG_RADIX.
- Test cases for the operators radix and RADIX have been added to
  chkbig.sd7.
- The compiler has been improved to do an optimization for the action
  INT_MDIV when the divisor is known at compile time. When the
  dividend is known to be positive or zero it is casted to an
  unsigned integer and the quotient is casted back to a signed
  integer. Dividing an unsigned integer by a constant is known to be
  faster than dividing a signed integer.
- The functions bigRadix, bigRadixPow2, bigRadix2To36 and
  uBigDivideByDigit have been added to big_rtl.c
- The function bigRadix has been added to big_gmp.c.
- The functions stri_to_cstri8_buf and cstri8_buf_to_stri have been
  added to striutl.c.
- In traceutl.c the function mapTraceFlags has been improved to work
  correctly when the parameter trace_level defines several options.
- The function printTraceOptions has been added to traceutl.c.
- In arr_rtl.c the definition of getArgv has been improved to use
  less #ifdef directives in the function body.

20140316:
- The documentation file doc/install.txt has been improved to
  describe the command 'make install'.
- The chapter about the foreign function interface in the manual has
  been improved.
- In striutl.h the macros os_stri_alloc and os_stri_free have been
  improved to use a stack like allocation. Allocations done with
  os_stri_alloc must be freed with os_stri_free in the reverse
  order of their creation. The new macros reduce the runtime of
  stri_to_os_stri and cp_to_os_path to 66% of the old time. This
  reduces the time used by operating system calls. E.g.: The CPU time
  used by the program sydir7 is reduced to 83% of the old time.
- The targets 'install' and 'uninstall' have been added to makefile,
  mk_linux.mak, mk_osx.mak, mk_clang.mak, mk_cygw.mak, mk_mingw.mak,
  mk_msys.mak, mk_nmake.mak, mk_msvc.mak, mk_bcc32.mak and
  mk_bccv5.mak.
- The program setwpath.c has been added. This program sets the search
  path (PATH variable) under Windows.
- The obsolete target 'hi' has been removed from the makefiles.
- The functions initEmulatedCwd, cmdSetenv (both in cmd_rtl.c),
  setEmulatedCwd (in striutl.c) and freeArgVector (in cmd_unx.c) have
  been adjusted to work with the stack like allocation of
  os_stri_alloc and os_stri_free.
- The functions heapAllocOsStri and heapFreeOsStri have been added to
  striutl.c.
- Usages of MAX_SYMLINK_PATH_LENGTH in cmd_rtl.c have been replaced
  with MAX_OS_STRI_LEN.

20140302:
- The function setSockOpt and the constant SO_REUSEADDR have been
  added to sockbase.s7i. Many thanks go to Domingo Alvarez Duarte
  for pointing out that this functionality was missing.
- The function openInetListener in listener.s7i has been improved
  to succeed when the socket is reused (it calls setSockOpt with
  SO_REUSEADDR now).
- The functions opendir and wopendir in dir_win.c and the function
  opendir in dir_dos.c have been improved to check for the maximum
  path length supported by Windows and DOS.
- The functions act_string and act_okay have been removed from
  actutl.c.
- The function exec_action in exec.c has been improved to use
  get_primact instead of act_okay. This results in a significant
  performance improvement in the case when WITH_ACTION_CHECK is
  defined and the option -tc is used.
- The function str1Split has been removed from strlib.c.
- Documentation comments have been added to arr_rtl.c, arrutl.c,
  cmd_unx.c, cmd_win.c, dir_dos.c, dir_rtl.c, dir_win.c, kbd_inf.c,
  kbd_poll.c, scanner.c and ut8_rtl.c.
- Interpreter and compiler have been improved to support the action
  SOC_SET_OPT_BOOL.

20140216:
- A new numeric escape sequence for string literals has been
  introduced. A backslash followed by an integer literal and a
  semicolon is interpreted as character with the specified ordinal
  number. E.g.: "abc\128;def". With the old numeric escape sequence
  this would be "abc\128\def". Terminating the escape sequence
  with ; instead of \ improves the readability, especially when
  escape sequences follow each other. Instead of "\8\\12\\7\8\9\\\"
  it is now possible to write "\8;\12;\7;8\9;\\" The old escape
  sequence is still supported, but it is deprecated and should not
  be used. Future versions will warn about the deprecated escape
  sequence.
- The conversion functions 'bytes' and 'bytes2Int' in bytedata.s7c
  have been improved to support all combinations of signedness and
  endianness.
- The functions bStriBe and bStriLe have been removed from
  bstring.s7i. The function 'bytes' in bytedata.s7c can be used as
  replacement.
- Checks for lowestSetBit and UNSIGNED conversions with the
  functions 'bytes' and 'bytes2Int' have been added to chkint.sd7.
- Checks for UNSIGNED conversions with the functions 'bytes' and
  'bytes2BigInt' have been added to chkbig.sd7.
- Checks for the function rand have been added to chkset.sd7.
- The parser has been improved to write error messages when the
  source file contains unexpected UTF-8 continuation bytes, solitary
  UTF-8 start bytes, extended control codes from the C1 set or an
  UTF-16 byte order mark.
- In tar.s7i the functions getoct, putspc and putoct have been
  improved. The computation of the size of padding data has also
  been improved.
- The compiler has been improved to optimize string initializations
  with the function strZero. StrZero creates a string of arbitrary
  length with '\0;' (zero) bytes.
- The compiler has been improved to optimize integer exponentiation
  (action INT_POW). Now the multiplication pattern is determined at
  compile time and the number of multiplications is reduced.
- The performance of the function setCard in set_rtl.c has been
  improved by a factor of 2.5.
- The performance of the function setRand in set_rtl.c has been
  improved by a factor of 2.3.
- Loop unrolling inspired by Duff's device has been introduced in
  striutl.h. The unrolling is used for tight loops which copy byte
  data to Seed7 strings in fil_rtl.c, soc_rtl.c and bst_rtl.c. The
  performance improvement has been verified with gcc and valgrind.
- The example program err.sd7, which checks compile time error
  messages, has been improved.
- The old way to store the data of constant bigIntegers has been
  removed from compiler and runtime library.
- The buffers used in intRadix and intRadixPow2 (file int_rtl.c) have
  been enlarged to fit for the most negative number with a base of 2.
- In itflib.c the functions itf_cpy and itf_cpy2 have been fixed to
  work correctly, when the destination is converted from a struct to
  an interface.
- In traceutl.c the tracing of characters has been improved in the
  functions prot_char, prot_os_stri, prot_stri_unquoted and
  prot_bstri.
- In ut8_rtl.c the function ut8Getc has been improved to use smarter
  checks for ranges of characters.
- The deprecated variant of the function str, which has a second
  parameter to specify a numeric base, has been removed. The
  operators radix and RADIX can be used instead.
- Interpreter and compiler have been improved to support the new
  actions INT_BYTES_BE, INT_BYTES_LE, INT_BYTES_BE_2_INT and
  INT_BYTES_LE_2_INT. The functions intBytesBe, int_bytesBe,
  intBytesLe, int_bytesLe, intBytesBe2Int, int_bytesBe2Int,
  intBytesLe2Int and int_bytesLe2Int have been added.
- Support for the actions BIG_CLIT, INT_TO_BSTRI_BE, INT_TO_BSTRI_LE,
  INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT has been removed from
  interpreter and compiler. The functions bigImport, bigCLit,
  big_clit, intToBStriBe, int_toBStriBe, intToBStriLe, int_toBStriLe,
  intBytesBe2UInt, int_bytes_be_2_uint, intBytesLe2UInt and
  int_bytes_le_2_uint have been removed.

20140202:
- The manual chapter describing the foreign function interface has
  been improved.
- The handling of Unicode in the console has been improved. Cursor
  positioning and writing Unicode strings to the desired position
  works now also under Linux.
- A strict checking of all strings, that are passed to C functions,
  has been introduced. Zero bytes and non Unicode characters in the
  original string raise the exception RANGE_ERROR now.
- The performance of several loops in the runtime library has been
  improved. Now the loops use indices instead of pointer increments
  and they work downward towards an index of zero. This allows C
  compilers to do more optimizations (verified with gcc and
  valgrind).
- The enumeration types signedness and endianness have been added to
  bytedata.s7c.
- The conversion functions bytes, bytes2Int and bytes2BigInt have
  been added to bytedata.s7c. The new function allow conversions
  to and from signed and unsigned byte strings with big- and
  little-endian byte order. This functions replace the less flexible
  functions bytesLe2Int, bytesBe2Int, bytesLe and bytesBe.
- The functions bStriBe, bStriLe, bStriBe2BigInt and bStriLe2BigInt
  have been moved from bytedata.s7c to bstring.s7i.
- The performance of the functions int16AsTwoBytesLe,
  int32AsFourBytesLe, int64AsEightBytesLe int16AsTwoBytesBe,
  int32AsFourBytesBe and int64AsEightBytesBe has been improved.
- Documentation comments have been added or improved in cc_conf.s7i,
  bytedata.s7i, environment.s7i, sockbase.s7i, actutl.c, big_rtl.c,
  big_gmp.c, biglib.c cmd_rtl.c, con_inf.c, con_win.c, con_wat.c,
  int_rtl.c, intlib.c, soc_rtl.c, striutl.c and syvarutl.c.
- The program chk_all.sd7 has been improved to check several
  compiler options and to allow that the output of interpreted and
  compiled compiler differs. The difference of the generated C code
  is okay, when the execution of the compiled programs results in
  the same output.
- The compiler (s7c) has been improved to do more optimizations for
  the action BIG_REM (operator rem).
- The compiler has been improved to count inserted and suppressed
  range checks.
- Interpreter, compiler and runtime library have been improved to
  allow bstrings with slices. This is used by the compiler to
  reduce the memory used for constant bstrings.
- The compiler has been improved to store the data of constant
  bigIntegers in bstrings.
- Checks for div, rem, mdiv and mod have been added to chkbig.sd7.
- Checks for float division by zero have been added to chkexc.sd7.
- Checks for float parse have been added to chkflt.sd7.
- In con_inf.c, con_win.c and con_wat.c the function conText has
  been replaced by conWrite. ConWrite takes an UTF-32 string and
  writes it to the console. If stdout is redirected an UTF-8 string
  is written to the destination file.
- The function gen_act_ptr_table has been added to actutl.c. This
  function creates act_ptr_table and removes double entries from it.
- The functions intBytesBe2UInt and intBytesLe2UInt have been added
  to int_rtl.c.
- Interpreter and compiler have been improved to support the new
  actions INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT.
- Checks for the function sigaction() and for integer division and
  remainder have been added to chkccomp.c.
- The configuration values ALLOW_BSTRITYPE_SLICES,
  CHECK_INT_REM_BY_ZERO and CHECK_INT_REM_ZERO_BY_ZERO have been
  added to cc_conf.s7i, chkccomp.c, cmd_rtl.c and s7c.sd7.
- Several versions of timAwait in tim_unx.c have been improved to
  restart calls of poll(), ppoll() and select().
- A check for the character '=' in the environment variable name has
  been added to the function cmdSetenv (in cmd_rtl.c).
- In striutl.c the functions stri_compress, stri_export_utf8 and
  cp_to_cstri8 have been improved and renamed to conv_to_cstri
  conv_to_cstri8 and stri_to_cstri8 respectively. Interpreter and
  runtime library have been improved to use the new function names.
- The function stri_to_cstri and the macro free_cstri8 have been
  added to striutl.c.
- The functions conv_to_cstri, conv_to_cstri8, stri_to_cstri8 and
  stri_to_bstri have been improved to use an err_info parameter.

20140119:
- The library tdes.s7i with TDES (Triple DES respectively 3DES)
  cipher support has been added.
- The library tls.s7i has been improved to allow encoding with TDES
  (3DES) and to accept the handshake message CertificateRequest.
- The function drwGetImage has been added to drw_dos.c (thanks to
  "Rugxulo" for pointing out, that it was missing).
- Checks for mdiv and mod have been added to chkbig.sd7.
- The compiler (s7c) has been improved to do more optimizations for
  the action BIG_MOD (operator mod). Now the functions bigLowerBits
  and bigLowerBitsTemp are used when the divisor is a power of two.
- The compiler has been improved to optimize if-statements, when the
  condition is constant.
- The compiler has been improved to optimize the action BIG_MDIV
  (operator mdiv) correctly, when the divisor is a negated power of
  two (e.g. n div -8). The generated code now corresponds to the
  Seed7 expression -dividend >> log(-divisor).
- New functions to open files have been introduced in various
  libraries. The new functions are openUtf8, openUtf16, openEcho,
  openLine, openTee, openMore, openUpper, openLower, openReverse,
  openWindow and openField. The new functions have been added as
  replacement for the functions open_utf8, open_utf16, open_echo,
  open_line, open_tee, open_more, open_upper, open_lower,
  open_reverse, open_window and open_field. The old functions are
  still supported, but they are deprecated and should not be used.
  Deprecated functions will be removed in a future version.
- The example programs have been changed to use the new functions
  to open files.
- Documentation comments have been added or improved in cipher.s7i,
  clib_file.s7i, external_file.s7i, shell.s7i, utf8.s7i, utf16.s7i,
  unicode.s7i, bytedata.s7i, big_gmp.c, biglib.c, big_rtl.c,
  cmdlib.c, cmd_rtl.c, fillib.c, fil_rtl.c, intlib.c, int_rtl.c,
  strlib.c, str_rtl.c and entutl.c.
- The functions bigLowerBits and bigLowerBitsTemp have been added
  to big_rtl.c and big_gmp.c.
- The free list management in big_rtl.c and big_gmp.c has been
  improved to allow the configuration of a maximum free list length.
- The function bigMultAssign1 has been added to big_rtl.c. This
  function is used by bigMultAssign when the factor is just one
  bigdigit.
- The function bigLog2BaseLShift has been renamed to
  bigLog2BaseIPow in big_rtl.c, big_gmp.c and s7c.sd7.
- The function getValue for boolean values has been added to
  progs.s7i. Interpreter, compiler and runtime library have been
  improved to support it.
- the management of types in the runtime library has been improved.
  Now they are attached to the corresponding program. This way they
  can be freed by prgDestr().

20140105:
- The library des.s7i with DES (Data Encryption Standard) cipher
  support has been added.
- The library tls.s7i has been improved to support block ciphers
  and encoding with DES.
- The functions blockSize and decode have been added to cipher.s7i
  and arc4.s7i.
- The the functions str, rotLeft and rotRight and the operators
  radix, RADIX, ~ and ><:= have been added to bin32.s7i.
- Support to write bin32 values has been added to bin32.s7i.
- The new library unicode.s7i, with functions to convert between
  Unicode encodings, has been added.
- The functions utf16beToStri, utf16leToStri, utf7ToStri and
  replaceUtf16SurrogatePairs have been improved and moved from
  charsets.s7i to unicode.s7i. The functions striToUtf8 and
  utf8ToStri have been moved from string.s7i to unicode.s7i. The
  functions striToUtf16be and striToUtf16le have been added to
  unicode.s7i.
- The actions FLT_MINUS, INT_MINUS and BIG_MINUS have been renamed
  to FLT_NEGATE, INT_NEGATE and BIG_NEGATE respectively.
- The library gethttps.s7i has been improved to accept links to
  HTTP.
- The operator symbols ~ and ><:= have been added to syntax.s7i.
- Checks for -, mdiv, << and >> have been added to chkbig.sd7.
- The compiler (s7c) has been improved to do more optimizations for
  the actions BIG_DIV, BIG_LSHIFT, BIG_RSHIFT, BIG_MDIV, BIG_MULT,
  BIG_NEGATE and CHR_CLIT.
- The function charLiteral has been added to the compiler.
- The compiler has been improved to avoid the generation of long
  lines for bigInteger literals.
- The function bigMinus has been renamed bigNegate and the function
  bigNegateTemp has been added to big_gmp.c and big_rtl.c.
- A check for the keyword 'restrict' has been added to chkccomp.c.
- The function chrCLitToBuffer has been added to chr_rtl.c.
- Interpreter, compiler and runtime library have been improved to
  support the action INT_XOR_ASSIGN.
- The functions utf8_char (literal.c), utf8_to_stri (striutl.c),
  utf8_bytes_missing (striutl.c), strUtf8ToStri (str_rtl.c) and
  ut8Getc (in ut8_rtl.c) have been improved to check for ranges
  of characters instead of bit patterns. This improves the
  performance of UTF-8 conversions by up to 6%.
- The functions freeArgVector and genArgVector have been added to
  cmd_unx.c.

20131222:
- Consecutive calls of write in bas7.sd7 have been combined into
  single calls of write respectively writeln.
- Several links have been added to the FAQ.
- The types cardSuit and cardRank and the functions cardPixmap and
  cardBackside have been added to the library cards.s7i.
- The library cards.s7i has been improved to use functions from
  pic_util.s7i.
- The program carddemo.sd7 has been improved to use the new types
  and functions from cards.s7i.

20131208:
- Explanations how Seed7 compares to Java and about an elegant way
  to initialize data have been added to the FAQ.
- The functions pipe2, pty, startProcess and getSearchPath have been
  moved from shell.s7i to the new library process.s7i.
- The function commandPath has been added to process.s7i.
- Under Windows removeFile can trigger an error, when an executable
  is removed shortly after it was executed. It was not possible to
  correct this failure of Windows in the Seed7 runtime library. To
  avoid the Windows error the program chk_all.sd7 has been improved
  to catch the raised exception.
- The pictures execute_pic, seed7_include_pic, seed7_source_pic,
  clear_pic and save_as_pic have been added to pic16.s7i and
  pic32.s7i.
- In pic16.s7i and pic32.s7i the pictures exit_pic, load_pic and
  save_pic have been improved.
- The function cmdPty in cmd_unx.c has been improved to free memory
  correctly.
- The function cmdPipe2 in cmd_win.c has been improved to open stdin
  and stdout in text mode.
- The function filInputReady in fil_unx.c and fil_win.c has been
  improved to return TRUE after a hang up respectively a broken
  pipe.

20131124:
- The new library pic_util.s7i has been added. It contains utility
  functions for pictures. A picture is a simple way to describe
  graphic images as readable text. A picture is an array of strings,
  where every character describes the color of a pixel.
- The programs castle.sd7, mahjong.sd7, pairs.sd7, panic.sd7,
  shisen.sd7, sokoban.sd7 and sudoku7.sd7 have been adjusted to use
  pic_util.s7i.
- The pictures in pic16.s7i and pic32.s7i have been adjusted to be
  useable by pic_util.s7i.
- The pictures cancel_pic, folder_pic and reset_pic have been added
  to pic16.s7i and pic32.s7i.
- A function to convert a pixmap image to BMP format has been added
  to draw.s7i.
- The function getPixelColor has been added to draw.s7i.
- In the example programs all usages of the function clear without
  parameters have been replaced with clear(black). The function
  clear without parameters is deprecated.
- Interpreter and compiler have been improved to support the actions
  DRW_GETIMAGE and DRW_GETIMAGEPIXEL.
- The performance of the function strCLit in str_rtl.c has been
  improved by a factor of 10.
- The function init_bstri_constants in s7c.sd7 has been improved to
  use the function c_literal instead of cCharLiteral. This way it
  cannot happen that a sequence like ??( is interpreted as trigraph
  sequence. As a side effect the performance has been improved also.
- The function init_win_constants in s7c.sd7 has been improved to
  call getImage instead of getPixel. This improves the performance
  dramatically.
- The functions prc_return and prc_return2 in prclib.c have been
  improved to avoid using block_body when it is NULL.
- Spelling errors in chlog.txt, faq.htm, faq.txt, install.txt,
  manual.htm, manual.txt, problems.txt read_me.txt, src/read_me.txt,
  flistutl.c, flistutl.h, heaputl.c, heaputl.h and striutl.c have
  been fixed.
- The function drwGetImage has been added to drw_x11.c and
  drw_win.c.
- The function drwGetImagePixel has been added to drw_rtl.c.
- The program chkccomp.c has been improved to write defines for
  NO_EMPTY_STRUCTS, HAS_SYMLINKS and HAS_FIFO_FILES to version.h.

20131110:
- Compiler and runtime library have been improved to work on Sparc
  64-bit machines under OpenBSD. Thanks go to Brian Callahan, for
  his support and for providing access to his Sparc 64-bit machine.
- The FAQ explanation concerning portability has been improved.
- The new library cc_conf.s7i has been added. This library manages
  configuration values for C compiler and runtime.
- The compiler has been improved to use the library cc_conf.s7i.
- The chapter about the defines used in version.h has been improved
  in src/read_me.txt.
- The type rtlGenerictype has been renamed to generictype in the
  files of the runtime library. Now compiler and runtime library
  both use the name generictype.
- The function checkForLimitedStringLiteralLength, a check for
  trigraph sequences and checks for the presence of getrlimit()
  and siglongjmp() have been added to chkccomp.c.
- The function setupStack has been added to cmd_rtl.c. This function
  tries to raise the stack limit to STACK_SIZE.
- Usages of USE_SIGSETJMP have been renamed to HAS_SIGSETJMP.
- The table key_code has been improved in kbd_inf.c and kbd_poll.c.
  Now the erase char of the terminal interface (VERASE) is always
  returned as backspace (KEY_BS respectively '\8\'). This improves
  the behavior under Cygwin.
- The function utf8_init has been changed in kbd_inf.c and
  kbd_poll.c to assume UTF-8 mode when no locale environment
  variable is set.
- The function msgDigest in msgdigest.s7i has been changed to use
  in-parameters.
- The function configValue has been moved from osfiles.s7i to
  cc_conf.s7i.
- The macro REALLOC_STRI_SIZE_SMALLER has been added to heaputl.h.
  Several usages of REALLOC_STRI_SIZE_OK in the runtime library have
  been changed to usages of REALLOC_STRI_SIZE_SMALLER.
- The compiler has been improved to initialize boolean and
  enumeration elements of structs with the values value.boolvalue
  respectively value.enumvalue. This is necessary to work correctly
  on big-endian systems.
- Interpreter and compiler have been improved to support the actions
  ACT_EQ and ACT_NE.

20131027:
- Compiler and runtime library have been improved to support
  big-endian systems. Thanks go to Brian Callahan, for his support
  and for providing access to his PowerPC Macintosh under OpenBSD.
- The list of source files and the chapter about the defines used in
  version.h have been improved in src/read_me.txt.
- The library tls.s7i has been improved to avoid raising an
  exception, when the remote side closes the socket.
- The program chkccomp.c has been improved to write defines for
  CHECK_INT_DIV_BY_ZERO, INT_DIV_BY_ZERO_SIGNALS and
  DO_SIGFPE_WITH_DIV_BY_ZERO to version.h.
- Documentation comments have been added or improved in fillib.c,
  int_rtl.c, soclib.c, tim_dos.c, tim_unx.c, tim_win.c, ut8lib.c,
  ut8_rtl.c, tls.s7i and bytedata.s7i.
- The generic compare functions bigCmpGeneric, bstCmpGeneric,
  chrCmpGeneric, intCmpGeneric, rflCmpGeneric, setCmpGeneric,
  strCmpGeneric and typCmpGeneric have been improved to work
  endianness neutral. Now they work correct on little- and
  big-endian systems.
- The generic create functions bigCreateGeneric, bstCreateGeneric,
  drwCreateGeneric, rflCreateGeneric, setCreateGeneric,
  strCreateGeneric and itfCreateGeneric have been improved to work
  endianness neutral. Now they work correct on little- and
  big-endian systems.
- The new generic copy functions bigCpyGeneric, bstCpyGeneric,
  drwCpyGeneric, fltCpyGeneric, rflCpyGeneric, setCpyGeneric and
  strCpyGeneric have been added. This functions work endianness
  neutral.
- The new generic destroy functions bigDestrGeneric,
  drwDestrGeneric, rflDestrGeneric, setDestrGeneric and
  strDestrGeneric have been added. This functions work endianness
  neutral.
- The functions uintCmpGeneric, intCreateGeneric and intDestrGeneric
  have been renamed to genericCmp, genericCreate respectively
  genericDestr.
- The functions genericCpy, ptrCmp, ptrCmpGeneric, ptrCpyGeneric and
  ptrCreateGeneric have been added to int_rtl.c.
- The function cmdConfigValue in cmd_rtl.c has been improved to
  support the config value DO_SIGFPE_WITH_DIV_BY_ZERO.
- The handling of the option -l in processOptions (file s7.c) has
  been improved to work endianness neutral.
- Several functions have been optimized:
  In infile.c:   get_file_name and get_file_name_ustri
  In prg_comp.c: prgSyobject
  In rfllib.c:   rfl_elemcpy and rfl_idx
  In rfl_data.c: rflElemcpy, rflIdx and rflTail
- The function get_ident and the macro IDENT_TABLE have been changed
  to have an additional progtype argument.
- The function typNum in typ_data.c has been improved to use a
  hashtable.
- In typlib.c the functions typ_num and typ_str have been improved
  to call typNum respectively typStr.
- Support for the actions ACT_ICONV and ACT_ORD has been added to
  interpreter, compiler and runtime library.
- The function id_string2 has been added to datautl.c, and used in
  ref_data.c and typ_data.c.

20131013:
- Libraries for TLS (Transport Layer Security), SSL (Secure Sockets
  Layer) and HTTPS (HyperText Transfer Protocol Secure) support have
  been added. The new libraries are: arc4.s7i, asn1.s7i, cipher.s7i,
  gethttps.s7i, hmac.s7i, pkcs1.s7i, tls.s7i and x509cert.s7i.
- Comparison operators for < (proper subset) and > (proper superset)
  have been added to hashsetof.s7i.
- The type digestAlgorithm and the functions msgDigest, blockSize
  and digestSize have been added to msgdigest.s7i.
- The function hex has been added to bytedata.s7i.
- The example program castle.sd7 has been improved to avoid, that
  an item can be dropped on an illegal place.
- The library make.s7i has been improved to accept the option -p for
  the cp command.
- Documentation comments have been added to sockbase.s7i,
  socket.s7i, atom.c, entutl.c, soclib.c, soc_rtl.c and striutl.c.
- The padding in the message digest functions of msgdigest.s7i has
  been corrected. Now the functions pad nothing instead of 64 bytes,
  when the message length is 55 (mod 64).
- The function getHttp in gethttp.s7i has been improved to use
  a case-insensitive comparison for HTTP header field names.
- In exec.c the functions eval_arg_list and dump_arg_list have been
  improved to avoid reading from freed memory. This occurred in very
  rare cases.
- The functions find_action (in actutl.c), fltParse (in flt_rtl.c),
  cmdConfigValue (in cmd_rtl.c) and find_sysvar (in syvarutl.c)
  have been improved to use the macros MAX_STRI_EXPORT_LEN and
  max_utf8_size.
- Interpreter and runtime library have been improved to ignore the
  signal SIGPIPE. Writing to a broken pipe or socket raises the
  exception FILE_ERROR instead.
- The functions bln_and and bln_or in blnlib.c have been improved
  to return either SYS_TRUE_OBJECT or SYS_FALSE_OBJECT.
- The program chkccomp.c has been improved to determine the
  alignment used by malloc and whether an access to unaligned memory
  succeeds.
- Usages of ALLOC_CHUNK in flistutl.h have been improved to allocate
  aligned memory the same way as malloc returns aligned memory.
- The program chkccomp.c has been improved to define the macro
  'inline', when the C compiler does not support the keyword inline.
- Occurrences of 'INLINE' have been replaced with 'inline' in the
  files analyze.c, atom.c, big_gmp.c, big_rtl.c, chr_rtl.c, exec.c,
  findid.c, infile.c, int_rtl.c, numlit.c, parser.c, rfl_data.c,
  scanner.c, striutl.c, strlib.c, str_rtl.c, syntax.c and ut8_rtl.c.

20130929:
- The functions bStriLe, bytesLe, bStriBe and bytesBe have been
  added to bytedata.s7i. This functions convert an integer to a
  sequence of bytes.
- The compiler has been improved to generate inline code for the
  action STR_PUSH. This action is used when a character is appended
  to a string (with the operator &:= ).
- The function sendGet has been added to gethttp.s7i.
- The functions str_yy_mm_dd and str_hh_mm_ss have been added to
  time.s7i.
- Checks for +:= and -:= have been added to chkbig.sd7.
- Checks for bytesBe and bytesLe have been added to chkint.sd7.
- Checks for & and &:= have been added to chkstr.sd7.
- The function doLocalDeclsOfStatement has been added to the
  compiler. This function is used to simplify the processing
  of various statements.
- The functions that process the statement actions BIG_GROW,
  BIG_LSHIFT_ASSIGN, BIG_MULT_ASSIGN, BIG_RSHIFT_ASSIGN,
  BIG_SHRINK, BLN_CPY, CHR_CPY, CHR_GROW, CHR_SHRINK, ENU_CPY,
  FIL_CPY, FLT_CPY, FLT_DIV_ASSIGN, FLT_GROW, FLT_MULT_ASSIGN,
  FLT_SHRINK, INT_AND_ASSIGN, INT_CPY, INT_GROW, INT_LSHIFT_ASSIGN,
  INT_MULT_ASSIGN, INT_OR_ASSIGN, INT_RSHIFT_ASSIGN, INT_SHRINK,
  INT_URSHIFT_ASSIGN, REF_CPY, RFL_INCL, SET_EXCL, SET_INCL,
  SOC_CPY, STR_PUSH and TYP_CPY in the compiler have been
  simplified.
- The functions int_toBStriBe and int_toBStriLe have been added to
  intlib.c.
- The functions intToBStriBe and intToBStriLe have been added to
  int_rtl.c
- In big_rtl.c and big_gmp.c the functions bigFromBytesBe and
  bigFromBytesLe have been renamed to bigFromByteBufferBe
  respectively bigFromByteBufferLe.
- The performance of the functions bst_cmp (in bstlib.c), bstCmp
  (in bst_rtl.c) and strMult (in str_rtl.c) has been improved.
- The macro 'unlikely' has been added to functions in bst_rtl.c.

20130908:
- The compiler has been improved to use charvalue instead of
  intvalue, when characters are initialized. Thanks go to Brian
  Callahan, for reporting the bug. Btw.: Brian Callahan created an
  openBSD port for Seed7.
- The makefile mk_freebsd.mk has been added to support compilation
  under freeBSD. Thanks go to Pietro Cerutti, for providing it.
- The makefiles mk_clang.mak and mk_freebsd.mk have been improved
  to use the options -ffunction-sections, -fdata-sections and
  -Wl,--strip-debug.
- The functions bStriLe2BigInt, bytesLe2BigInt, bStriBe2BigInt,
  bytesBe2BigInt, bStriLe, bytesLe, bStriBe and bytesBe have been
  added to bytedata.s7i. This functions convert between sequences
  of bytes and bigInteger numbers.
- In bytedata.s7i the functions bytesLeAsInt and bytesBeAsInt have
  been renamed to bytesLe2Int respectively bytesBe2Int.
- Parameter names have been added to seed7_05.s7i, graph_file.s7i,
  graph.s7i, reference.s7i, pac.sd7, tetg.sd7, tet.sd7 and wiz.sd7.
- Checks for the Karatsuba multiplication and the functions bytesBe,
  bytesLe, bytesBe2BigInt and bytesLe2BigInt have been added to
  chkbig.sd7.
- Checks for set membership in character sets have been added to
  chkset.sd7.
- The readability of the bitset initialization in the compiler (s7c)
  has been improved.
- Interpreter and compiler have been improved to support the new
  actions BIG_FROM_BSTRI_BE, BIG_FROM_BSTRI_LE, BIG_TO_BSTRI_BE and
  BIG_TO_BSTRI_LE.
- The functions bigFromBytesBe, bigFromBytesLe, bigFromBStriBe,
  bigFromBStriLe, bigToBStriBe and bigToBStriLe have been added to
  both, big_gmp.c and big_rtl.c.
- In big_gmp.c and big_rtl.c the function bigImport has been
  rewritten to use bigFromBytesBe.
- The readability of the function uint2_mult in int_rtl.c has been
  improved.
- The program chkccomp.c has been improved to check for a ones
  complement inttype and if casting can be used to get the element
  of a union.
- Several makefiles have been adjusted to use 'cp -p' instead of
  'cp -a'. The cp command of openBSD does not support -a.
- The function bigRand in big_rtl.c has been improved to avoid that
  a random number is outside the required range.

20130820:
- The library sha1.s7i has been renamed to msgdigest.s7i.
- The message digest and secure hash functions md4, md5, sha224 and
  sha256 have been added to msgdigest.s7i.
- The new library propertyfile.s7i, which defines functions to
  read a property file into a hash table, has been added.
- The performance of the random number generator has been improved.
  The function uint2_mult in int_rtl.c is now defined as inline
  function. The macro 'unlikely' has been added to describe that the
  initialization of the random number generator is unlikely.
- The function uint_mult has been added to int_rtl.c and used in
  big_rtl.c.
- The macro 'unlikely' has been added to functions in flt_rtl.c.
- The function bytesLeAsInt has been added to the library
  bytedata.s7i.
- In bytedata.s7i the function int64AsBytesBytesLe has been renamed
  to int64AsEightBytesLe.
- A variant of the function skipWhiteSpace has been added to the
  library scanfile.s7i.

20130805:
- The functions hashCode in complex.s7i, duration.s7i, rational.s7i
  and time.s7i have been improved to avoid an integer overflow.
  Thanks to Pietro Cerutti, for reporting this problem.
- The description of the Seed7 installation in doc/install.txt has
  been improved.
- The new library sha1.s7i, which defines a message digest with the
  SHA-1 secure hash algorithm, has been added.
- Definitions of the operators &:= and |:= have been added to
  bin32.s7i.
- The functions int64AsBytesBytesLe, int64AsEightBytesBe and
  bytesBeAsInt have been added to bytedata.s7i.
- Interpreter and compiler have been improved to support the actions
  INT_AND_ASSIGN and INT_OR_ASSIGN.
- A bug in the function conText (file con_win.c) has been fixed.
- Debug code has been added to kbd_inf.c and kbd_poll.c.
- The makefile mk_cygw.mak has been improved to avoid problems with
  the console keyboard.

20130722:
- Spelling errors in chlog.txt, faq.htm and faq.txt have been fixed.
- The function conText (in con_win.c) has been improved to work
  correctly for long strings. The underlying function WriteConsoleW
  fails for string lengths above some limit between 26000 to 32000.
- The functions find_window, remove_window, gkbGetc, gkbKeyPressed,
  gkbButtonPressed, gkbRawGetc, gkbWindow, gkbButtonXpos and
  gkbButtonYpos have been moved from drw_win.c to the new file
  gkb_win.c.
- In the functions drwPCircle, drwPFCircle, drwPFEllipse and
  drwFPolyLine (file drw_win.c) wrong usages of inIntRange have been
  replaced with better code.
- In con_win.c the table map_key has been improved such that kbdGetc
  recognizes the key F12.
- In gkb_x11.c the functions find_window, enter_window and
  remove_window have been improved.
- The makefiles mk_bcc32.mak, mk_bccv5.mak, mk_mingc.mak,
  mk_mingw.mak, mk_msvc.mak, mk_msys.mak and mk_nmake.mak have been
  changed to use the new file gkb_win.c.
- The program chk_all.sd7 has been improved to call chkhsh.sd7.
- The program chkhsh.sd7 has been improved.
- The compiler has been improved to generate compare functions with
  the correct prototype.
- The functions bitSize and process_generic_cmp_declaration have been
  added to s7c.sd7.
- In flt_rtl.c the function fltCpy has been renamed to fltCpyGeneric.
- The functions dump_hash and dump_helem have been added to
  hsh_rtl.c.
- The function new_type in typeutl.c has been changed to add the new
  type to the parameter owningProg instead of the global prog.

20130704:
- A wordfile for Ultraedit and a syntax definition file for Textpad
  has been added. Many thanks to Renato Lenzi for providing it. This
  files can be found also on his great italian page about Seed7.
- A compilation problem with DJGPP in fil_rtl.c has been fixed
  (thanks to "Rugxulo" for pointing it out).
- The keyboard read function getc(KEYBOARD) has been improved to
  accept all Unicode characters also under Linux/Unix/BSD. Up to now
  the function did only accept Latin-1 characters.
- The keyboard read function getc(KEYBOARD) has been improved to
  accept usages of the mouse wheel also under Windows.
- Checks for correct UTF-8 encoding of the program source have been
  added. Overlong UTF-8 encodings, UTF-16 surrogate characters and
  missing UTF-8 continuation bytes result in a compile time error.
- The example program err.sd7, which checks compile time error
  messages, has been improved.
- The FAQ explanations concerning Unicode and automatic casts have
  been improved.
- Documentation comments have been added to gzip.s7i and make.s7i.
- The example programs gkbd.sd7 and kbd.sd7 have been improved to
  write the character, if it is printable.
- The example programs pairs.sd7, panic.sd7, tetg.sd7, sokoban.sd7,
  sudoku7.sd7, mandelbr.sd7 and wator.sd7 have been changed to use
  proportional Seed7 pixmap fonts.
- Tests for the functions lower and upper with cyrillic letters have
  been added to chkstr.sd7.
- The libraries console.s7i, pixmap_file.s7i, graph_file.s7i,
  file.s7i, editline.s7i, echo.s7i, null_file.s7i, external_file.s7i,
  strifile.s7i, stritext.s7i, tee.s7i, window.s7i, reverse.s7i,
  lower.s7i and upper.s7i, have been improved to work with
  proportional fonts. Proportional font support uses the functions
  moveLeft, erase, backSpace, cursorOn and cursorOff.
- The vector font cronos16 has been improved to look more similar to
  the font cronos27.
- The bitmap fonts stdFont10, stdFont12, stdFont14, stdFont16,
  stdFont18, stdFont20 and stdFont24 have been improved.
- The vector fonts vecFont10 and vecFont18 have been adjusted to look
  like the corresponding bitmap fonts.
- The fonts stdFont8, stdFont9 and cronos27 have been improved to use
  less spacing between the characters.
- In graph_file.s7i the logic of a writeln after a setPosXY has been
  changed. Now the writeln moves one line downward relative to the
  position given with setPosXY.
- A description of the subrange operator, which gets an array slice
  from a position with maximum length, has been added to the manual.
- A table to map keysym values to Unicode and the function
  mapKeysymToUnicode, which does a binary search in this table, have
  been added to gkb_x11.c.
- The function gkbGetc in gkb_x11.c has been improved to work without
  recursion, to use mapKeysymToUnicode and to recognize cursor keys
  in combination with ALT, NUMLOCK and SHIFT.

20130616:
- Documentation comments have been added or improved in bigfile.s7i,
  char.s7i, clib_file.s7i, complex.s7i, external_file.s7i, file.s7i,
  float.s7i, hash.s7i, integer.s7i, shell.s7i, string.s7i, utf16.s7i,
  osfiles.s7i, rational.s7i, arrlib.c, blnlib.c, bstlib.c, arr_rtl.c,
  big_gmp.c, big_rtl.c, bst_rtl.c, chrlib.c, chr_rtl.c, cmdlib.c,
  cmd_rtl.c, fillib.c, fil_rtl.c, fltlib.c, flt_rtl.c, hshlib.c,
  hsh_rtl.c, int_rtl.c, pol_sel.c, pol_unx.c, setlib.c, set_rtl.c,
  strlib.c, str_rtl.c.
- The functions lower and upper in string.s7i and char.s7i have been
  improved to use the default Unicode case mapping. In other words:
  conversions to lower respectively upper case works for all Unicode
  characters, which have a case mapping. Characters without case
  mapping are left unchanged. The mapping is independent from the
  locale. Individual character case mappings cannot be reversed,
  because some characters have multiple characters that map to them.
- In the library deflate.s7i the performance of the deflate
  compression has been improved by a factor between 5 and 10.
- The performance of the functions str_cmp, str_range and str_substr
  in strlib.c has been improved.
- The performance of the functions strCompare, strRangeSlice,
  strRange, strSubstrSlice and strSubstr in str_rtl.c has been
  improved.
- Tests for the string functions compare, lower and upper and for the
  index operations head, tail, range and substring have been added to
  chkstr.sd7.
- The definition of the macro arrayMaxPos in common.h has been
  improved and usages of the macro have been added to arrlib.c and
  arr_rtl.c.
- The compiler has been improved to support the actions HSH_IDX2 and
  HSH_UPDATE.
- The compiler has been improved to inline code for the actions
  STR_HASHCODE, STR_RANGE and STR_SUBSTR.
- The function intStrToBuffer has been added to int_rtl.c. This
  function allows conversions from integer to string, without
  memory allocation.
- The compiler has been improved to take advantage of the function
  intStrToBuffer.
- The functions getGenericValue, getGenericValueToResultExpr,
  getTempVariable, beginCastGeneric, endCastGeneric,
  beginCastGenericToResultExpr and endCastGenericToResultExpr have
  been added to the compiler.
- The functions hsh_idx2 and hsh_update have been added to hshlib.c.
- The functions hshIdxAddr2 and hshUpdate have been added to
  hsh_rtl.c
- The macro hashCode has been defined in str_rtl.h and used in
  str_rtl.c (function strHashCode) and strlib.c (function
  str_hashcode).
- The program chkccomp.c has been improved to write a definition of
  the macro INLINE to version.h
- The deprecated function 'read_dir' has been removed from the
  library "osfiles.s7i". The replacement of 'read_dir' is 'readDir'.
- The functions arrHeadTemp, arrRangeTemp and arrSubarrTemp in
  arr_rtl.c have been improved.

20130602:
- The implementation of the type integer has been changed to use a
  64-bit value.
- Documentation comments have been added to bigint.s7i, integer.s7i,
  string.s7i, arr_rtl.c, big_gmp.c, biglib.c, big_rtl.c, flt_rtl.c,
  intlib.c, int_rtl.c, set_rtl.c and str_rtl.c.
- The new library bin32.s7i, which defines bit operations for 32-bit
  values, has been added.
- The new library crc32.s7i, which supports the CRC-32 cyclic
  redundancy check, has been added.
- The new library deflate.s7i, which supports the deflate compression
  algorithm, has been added.
- The library binary.s7i has been renamed to bytedata.s7i. The
  functions get_asciiz, get_uint16_le, get_uint32_le, get_uint16_be
  and get_uint32_be have been renamed to getAsciiz, getUInt16Le,
  getUInt32Le, getUInt16Be and getUInt32Be respectively. Definitions
  of the functions int16AsTwoBytesLe, int32AsFourBytesLe,
  int16AsTwoBytesBe and int32AsFourBytesBe have been added.
- The functions getBitLe, getBitsLe, getNonCompressedBlock,
  getLiteralOrLength, getDistance, decodeLength, decodeDistance,
  decodeFixedHuffmanCodes, getHuffmanValue, computeConversionTable,
  decodeDynamicHuffmanCodes, processCompressedBlock and inflate have
  been moved from gzip.s7i to the new library inflate.s7i.
- The functions gzip, openGzipFile, close and write have been added
  to the library gzip.s7i.
- The functions 'name' and 'path' have been added to the library
  progs.s7i.
- The function openStrifile has been added to strifile.s7i.
- The library tar.s7i and the example program tar7.sd7 have been
  improved to allow the creation of compressed archives.
- The compiler has been improved to support the actions BIG_CONV,
  BIN_AND, BIN_OR, BIN_XOR, INT_AND, INT_OR, INT_XOR, INT_URSHIFT,
  INT_URSHIFT_ASSIGN, PRG_OWN_NAME and PRG_OWN_PATH.
- Optional checks for integer shift operations have been added to
  the compiler.
- The function bigFromInt64 and bigToInt64 in big_gmp.c have been
  improved.
- Several functions in big_gmp.c have been improved to free temporary
  values with mpz_clear().
- The function big_conv() has been added to biglib.c.
- The functions drw_image and drwRtlImage have been improved.
- The functions drwImage in drw_win.c and drw_x11.c have been
  improved.
- The meaning of the actions PRG_NAME and PRG_PATH has changed. The
  new actions PRG_OWN_NAME and PRG_OWN_PATH are used as replacement.
- The functions strRPos2, strRIPos2 and strRepl2 have been added to
  str_rtl.c. This functions use a modified Boyer–Moore string search
  algorithm.
- Usages of the macro arraySize have been added to drwlib.c,
  drw_rtl.c, libpath.c and prg_comp.c.
- The macro arrayMaxPos has been defined in common.h and used in
  arrlib.c and arr_rtl.c.

20130519:
- The support for K&R C has been removed. Now an ANSI C compiler is
  required to compile Seed7. For many years all officially supported
  C compilers have been ANSI C compilers.
- The manual chapters describing rational, bigRational and the
  functions min and max have been improved.
- The functions min and max have been added to bigint.s7i, bigrat.s7i
  and rational.s7i.
- Addition and subtraction operators in rational.s7i and bigrat.s7i
  have been improved to reduce the result.
- The parse operator in bigrat.s7i has been improved to process
  negative rational literals correctly.
- The function round in bigrat.s7i has been fixed.
- Documentation comments in boolean.s7i, float.s7i and integer.s7i
  have been improved.
- A standard bitmap font, with capital height of 8, has been defined
  in the new library stdfont8.s7i.
- Definitions of min and max have been removed from dnafight.sd7 and
  dna_base.s7i.
- The example program ftp7.sd7 has been improved to allow linewise
  editing with history.
- The code generation for the actions HSH_CPY and HSH_IDX in the
  compiler has been improved.
- In arrlib.c, hshlib.c, arr_rtl.c and hsh_rtl.c several functions,
  which enlarge an array, have been improved to avoid overflows. This
  overflows could happen when the array size or the new maximum index
  are computed.
- Definitions of the macros inLongRange, castToLong, inTimeTRange,
  arrayIndex, bitsetSize, bitsetSize2 and bitsetIndex have been added
  to common.h.
- Functions in setlib.c and set_rtl.c have been improved to use the
  macros bitsetSize, bitsetSize2 and bitsetIndex.
- Functions in drw_x11.c and drw_win.c have been improved to check
  for range violations and to cast parameters.
- The functions to draw an image (drwImage, drw_image, drwRtlImage)
  in drw_dos.c, drw_win.c, drw_x11.c, drw_rtl.c and drwlib.c have
  been improved to use image data with int32type elements.
- The function socInputReady in soc_rtl.c has been improved to take
  the seconds and microsecond parameter into account.
- In tim_rtl.c the functions timFromTimestamp, timFromIntTimestamp,
  timToTimestamp and timSetLocalTZ have been improved.

20130505:
- Functions to compare arrays (compare, <, >, <=, >=) have been added
  to the library array.s7i.
- In seed7_05.s7i the functions hashCode and compare have been
  defined for enum types.
- In the library bigrat.s7i the operator parse has been improved. Now
  the parse operator accepts decimal numbers with repeating decimals.
- The function integer has been added to the library integer.s7i.
  This function converts a numeric string, with a specified radix, to
  an integer.
- The function bigInteger has been added to the library bigint.s7i.
  This function converts a numeric string, with a specified radix, to
  a bigInteger.
- The files encoding.s7i, gethttp.s7i, scanfile.s7i, scanstri.s7i,
  xml_ent.s7i and bas7.sd7 have been changed to use the new function
  integer instead of toInt (toInt was an undocumented internal
  function).
- Checks for the function integer have been added to chkint.sd7.
- Checks for the function bigInteger have been added to chkbig.sd7.
- The operator sci has been added to to the library complex.s7i. This
  operator converts a complex to a string in scientific notation.
- The compiler (s7c) has been improved to support the actions
  BIG_PARSE_BASED, TYP_CMP, ENU_CPY, ENU_CREATE and GEN_DESTR.
- The memory management in the interpreter has been improved. Now it
  is possible that a destructor is called and the object memory is
  not freed. This is used to free the memory of struct objects only,
  when the usage_count reaches zero.
- The UNUSED flag was defined in data.h and used to monitor if the
  object memory can be freed.
- The compiler has been improved to call the destructor for local
  interface objects (In process_local_declaration process_destr_call
  is called for INTERFACEOBJECT objects).
- The compiler has been improved to initialize set constants, that
  are part of a data structure (In walk_const_list SETOBJECT objects
  are added to set_const_table).
- The runtime library has been improved to use the action GEN_DESTR
  instead of PRC_NOOP as destructor for integer and other simple
  data types.

20130421:
- The FAQ explanation concerning garbage collection has been
  improved.
- The manual chapters describing the introduction, EBNF, literals
  (for integer, bigInteger, float, char and string), set operations
  and file I/O have been improved.
- Operations, to get an array slice with a specified length, have
  been added to the libraries array.s7i and idxarray.s7i.
- Array aggregates for arrays with a given start index have been
  added to idxarray.s7i.
- Functions for binomial coefficient and modular exponentiation have
  been added to the library bigint.s7i.
- A definition of an empty set with the name {} has been added to
  bitset.s7i.
- Functions to compute the minimum and maximum have been added to the
  libraries integer.s7i and float.s7i.
- Documentations comments in keybd.s7i have been improved.
- In pixmap_file.s7i the logic of a writeln after a setPosXY has been
  changed. Now the writeln moves one line downward relative to the
  position given with setPosXY.
- A pound symbol has been added to several bitmap fonts.
- A standard bitmap font, with capital height of 9, has been defined
  in the new library stdfont9.s7i.
- Checks for the factorial function and the binomial coefficient have
  been added to chkbig.sd7.
- The comanche webserver has been improved to accept cookies.
- The compiler has been improved to generate better code for the
  allocation of array memory.
- The function arrMalloc in arr_rtl.c has been improved to avoid an
  overflow, when the size of the memory is computed.
- The functions arrSubarr and arrSubarrTemp have been added to
  arr_rtl.c.
- Support for the action ARR_SUBARR has been added to the compiler.
- The macros arraySize and arraySize2 have been defined in common.h
  and used in arrlib.c, arr_rtl.c, arrutl.c, cmdlib.c, cmd_unx.c and
  cmd_win.c.
- Definitions of INT64TYPE_MIN, INTTYPE_MIN and MIN_MEM_INDEX have
  been added to common.h.

20130401:
- The FAQ explanations concerning, 'in' parameters and different
  behavior of val and ref parameters, have been improved.
- The keyboard read function getc(KEYBOARD) has been improved to
  support more function keys and to accept Unicode characters also
  under Windows.
- The program calc.sd7 has been improved to accept and display
  Unicode characters.
- The automatic memory management has been improved to work also
  for the files managed by pollData.
- The function openEditLineLatin1 has been added to editline.s7i.
  Only Latin-1 characters are accepted and written to ''outFile''.
  Unicode characters beyond ISO Latin-1 (ISO-8859-1) are ignored.
- In file.s7i the function writeln(file, string) has been defined as
  DYNAMIC (virtual) function. This allows that the implementation
  function writeln(socket, string) sends string and '\n' together.
- The definition of keys in keybd.s7i have been changed such that
  function keys are outside the range of Unicode characters.
- The new library keydescr.s7i, which defines a hash table with
  descriptive text for function keys, has been added.
- The implementation function writeln(null_file, string) has been
  added to null_file.s7i. This function is used by many derived
  types.
- An implementation function of writeln(socket, string) has been
  added to socket.s7i. This function sends string and '\n' together.
- Definitions of writeln (without string parameter) have been removed
  from external_file.s7i, socket.s7i and utf8.s7i.
- The example programs bas7.sd7, gkbd.sd7 and kbd.sd7 have been
  changed to use the hash keyDescription (defined in keydescr.s7i).
- Tests for string assignment and string append (operator &:= ) have
  been added to chkstr.sd7.
- The function bigStr in big_rtl.c has been improved to realloc the
  string to the correct size.
- The function determineEnvironDefines in chkccomp.c has been
  improved.
- The function itf_destr in itflib.c has been improved to cooperate
  with the function close_stack (defined in name.c).
- The function kbdKeyPressed in kbd_inf.c has been improved to never
  wait for input (calls of tcsetattr() were fixed, see below).
- In pol_unx.c and pol_sel.c the functions addCheck, removeCheck,
  polCpy, polCreate, polDestr and polClear have been improved to use
  the function pointers incrUsageCount and decrUsageCount from
  fileObjectOps.
- The function initPollOperations has been added to pol_unx.c,
  pol_sel.c and pol_dos.c.
- In str_rtl.c the functions strAppend and strCopy have been changed
  to use SLICE_OVERLAPPING instead of GET_SLICE_ORIGIN.
- In str_rtl.c the functions strHeadSlice, strRangeSlice,
  strSubstrSlice and strTailSlice have been improved to avoid
  (mis)using the string capacity. Now the capacity of a slice is set
  to zero. Before the origin of a slice was stored in the capacity.
- The function print_real_value in traceutl.c has been improved to
  print interface values with more detail.
- Support for additional function keys has been added to kbd_inf.c,
  kbd_poll.c, cap_def.h, trm_cap.c and trm_inf.c.
- The files kbd_inf.c and kbd_poll.c have been improved to use read()
  instead of fread().
- The files kbd_inf.c and kbd_poll.c have been improved to take a
  weakness of tcsetattr() into account. The function tcsetattr() may
  return success, although not all changes could be carried out.
  Now the calls of tcsetattr() are done via the new functions
  term_descr_equal, tcset_term_descr and tcset_vmin_vtime.
- The compiler has been improved to create and use cpy_... functions
  for the interface assignment (action ITF_CPY).
- The free list management for strings has been improved to allow
  different maximum list lengths for strings with different capacity.
- Definitions of databasetype and sqlstmttype have been added to
  common.h. This are the first steps towards database support.

20130317:
- The FAQ explanations concerning, what kind of programs can be
  written in Seed7 and the automatic memory management of Seed7, have
  been improved.
- The compiler (s7c) has been improved to use the function
  strConcatN, when three or more strings are concatenated.
- The compiler has been improved to define and use dynamic (virtual)
  destructors for interface types. The function itfCreate is used as
  constructor.
- In the compiler the function init_string_constants_with_slices has
  been improved, to store the characters of string constants with
  more density.
- The compiler functions prepare_typed_result, process_itf_cpy,
  process_itf_to_interface and process_ref_trace have been improved.
- In str_rtl.c the functions strIPos2 and strPos2 have been added.
  This functions use a modified Boyer–Moore string search algorithm.
- The performance of the function replace2 (library string.s7i) has
  been improved.
- The example programs tetg.sd7 and tet.sd7 have been changed to
  abstain from using an outdated language feature. Now this programs
  can be compiled.
- Parameter names have been added to seed7_05.s7i, pixmap_file.s7i,
  bitset.s7i, dialog.s7i, hash.s7i, console.s7i and string.s7i.
- In sctlib.c and itflib.c the functions sct_cpy, sct_create,
  sct_destr, itf_cpy, itf_cpy2, itf_create, itf_create2, itf_destr
  and itf_to_interface have been improved to use reference counting
  (usage_count) for all objects of the category STRUCTOBJECT.
- The support for the actions ITF_TO_HEAP and REF_BUILD has been
  removed from the interpreter.
- Support for the action REF_GETREF has been added to interpreter and
  compiler.
- The functions itf_to_heap (in itflib.c) and ref_build (in reflib.c)
  have been removed.
- The function refItftosct (in ref_data.c) has been renamed to
  refItfToSct. The function ref_itftosct (in reflib.c) and the
  compiler have been changed to use the new function name.
- The types smallpriortype and prior_type have been replaced by
  prioritytype in common.h, data.h, expr.c, expr.h, findid.h,
  syntax.c, token.c and token.h.
- In itf_rtl.c the function itfCreate has been added and the function
  itfDestr has been removed.
- Usages of the function stri_charpos in analyze.c and prclib.c have
  been replaced by calls of strChPos.
- In executl.c the function crea_struct has been introduced and the
  function any_var_initialization has been replaced by the functions
  sct_elem_initialization and arr_elem_initialization.
- The function prot_block has been added to traceutl.c.

20130303:
- The library editline.s7i has been added. This library defines a
  file type for linewise editing with history.
- The manual chapter describing types, especially the type program,
  has been improved.
- The calc.sd7 example has been improved to allow linewise editing.
- The handling of the internal program representation in interpreter
  and compiler has been improved to free most unused memory.
- The handling of the functions prgGlobalObjects, refArrToList,
  refHshDataToList, refHshKeyToList, refLocalVars and refSctToList
  in compiler and run-time library has been improved to free unused
  memory.
- The stack trace has been improved to display infix operators
  better and to write parameter names.
- The compiler has been improved to support the action TYP_FUNC.
- The functions copy_expression and free_expression in listutl.c
  have been optimized.
- The function substitute_params has been added to match.c .
- The functions free_params and free_name_list have been added to
  name.c .
- The function dump_list has been added to objutl.c .
- The function copy_params has been added to entutl.c .
- The functions prot_float and prot_params have been added to
  traceutl.c .
- The functions free_type and close_type have been added to
  typeutl.c .
- The free list management has been improved to be configurable
  in config.h.
- The memory management in heaputl.h has been improved to work with
  and without DO_HEAPSIZE_COMPUTATION.
- The function free_file and remove_prog_files have been added to
  infile.c.
- The functions itf_cpy and itf_cpy2 in itflib.c have been improved
  to support assigning forward declared objects to an interface.
- The function emptylist and the macro to_empty_list have been
  renamed to free_list and free_list2.
- In prg_comp.c the function prgDeclObjects has been renamed to
  prgGlobalObjects.
- In ref_data.c the functions refArrmaxidx, refArrminidx,
  refArrtolist, refScttolist and refHshKeyToList have been renamed
  to refArrMaxIdx, refArrMinIdx, refArrToList, refSctToList and
  refHshKeysToList.
- In ref_data.c the functions refResult, refResini and refSetParams
  have been improved to raise RANGE_ERROR when the argument is NULL
  or when it is not a BLOCKOBJECT.
- In progs.s7i the functions sys_var, error_count, declared_objects,
  params, setParams, func_result, func_res_init, local_consts,
  local_vars, array_to_list, array_min_index, array_max_index,
  struct_to_list, hash_data_to_list, hash_key_to_list,
  interface_to_struct, obj_number, type_number and match_obj have
  been renamed to sysVar errorCount, globalObjects, formalParams,
  setFormalParams, resultVar, resultInitValue, localConsts,
  localVars, arrayToList, arrayMinIdx, arrayMaxIdx, structToList,
  hashDataToList, hashKeysToList, interfaceToStruct, objNumber,
  typeNumber and typeObject.
- In seed7_05.s7i the functions is_func, is_varfunc, result_type and
  is_derived have been renamed to isFunc, isVarfunc, resultType and
  isDerived.

20130217:
- The description of exceptions in the manual has been improved.
- The handling of the internal program representation in interpreter
  and compiler has been improved to free more unused memory.
- The handling of the actions PRG_FIL_PARSE and PRG_STR_PARSE in the
  Seed7 compiler (s7c) has been improved to support releasing unused
  programs.
- The function prgDestr (in prg_comp.c) has been improved to free
  (most of) the data used by a program. Several functions, which need
  to free program data, have been improved to call prgDestr.
- The functions prgCpy (in prg_comp.c) and prg_cpy (in prglib.c) have
  been improve to free a program when the usage_count reaches zero.
- The functions getPixmap in draw.s7i have been improved.
- The functions decl_any (in analyze.c), dcl_const and dcl_var (both
  in dcllib.c) have been improved to free unused expressions.
- The actions ARR_BASELIT, ARR_BASELIT2, ARR_TIMES, ARR_GEN, ARR_PUSH
  and ARR_EXTEND in the interpreter (file arrlit.c) have been
  improved to work correctly for arrays with interface elements.
- In blockutl.c the functions free_locobj, free_body, free_block and
  free_local_consts have been added or improved.
- In entutl.c the function free_entity has been improved to free also
  syobject and name_list.
- The function close_entity has been added to entutl.c. This function
  frees the list of inactive entities.
- In executl.c the function destroy_local_init_value has been added
  and the function destroy_object_list has been removed.
- The parameter dest_type has been added to the function
  any_var_initialization (file executl.c).
- The functions heap_statistic (in flistutl.c) and rtlHeapStatistic
  (in heaputl.c) have been improved to write information about
  pollData elements.
- The functions free_ident and close_idents in identutl.c have been
  improved.
- The function free_expression has been added to listutl.c.
- The function pop_object in name.c has been improved to add inactive
  entities to a list of inactive entities
- The function close_stack in name.c has been improved to reverse the
  list of local objects and to dump and free the local objects.
- The function dump_temp_value, which releases a value without
  releasing the object, has been added to objutl.c.
- The function free_args has been added to prg_comp.c.

20130203:
- Files to generate man pages for Seed7 interpreter and compiler have
  been added to the documentation (files doc/s7.1 and doc/s7c.1).
- The makefiles have been improved to support the targets distclean
  and test.
- The operators radix and RADIX have been added to the libraries
  integer.s7i and bigint.s7i. This operators convert an integer
  respectively bigInteger to a string. The conversion uses the
  numeral system with the given base.
- The variants of the function str, which have a second parameter to
  specify a numeric base, are deprecated now and will be removed in a
  future release. The operators radix and RADIX should be used
  instead.
- Interpreter and compiler have been improved to support the
  operators radix and RADIX.
- In chkint.sd7 checks for the function str with base have been
  replaced with checks for the operators radix and RADIX.
- Usages of the function str with base have been changed to usages
  of the operators radix or RADIX in the files gethttp.s7i, bas7.sd7,
  encoding.s7i and s7c.sd7.
- Errors in bas7.sd7, concerning the function VARPTR and the
  statement OPEN, have been fixed.
- The function getLineWithMacrosApplied in makedata.s7i has been
  improved to ignore space and tab characters after an escaped
  newline.
- Result variables have been renamed in various libraries and example
  programs.
- The currency sign character has been added to stdfont10.s7i,
  stdfont12.s7i, stdfont14.s7i, stdfont16.s7i, stdfont18.s7i,
  stdfont20.s7i, stdfont24.s7i, vecfont10.s7i and vecfont18.s7i.
- The file chkccomp.c has been improved to define a macro that
  describes what happens, when a cast of a float to int overflows.

20130120:
- Interpreter and compiler have been improved to support the option
  -l. This option allows adding a directory to the include library
  search path (e.g.: -l ../lib).
- The compiler (s7c) has been improved to support the option -b.
  With -b the directory of the Seed7 runtime libraries can be
  specified (e.g.: -b ../bin).
- The target s7c in the makefiles has been changed to take advantage
  of the options -l and -b. Now packages can compile the Seed7
  compiler without a post install step.
- Additional function variants of parseFile, parseStri and execute
  have been added to the library progs.s7i. The new functions allow
  a detailed specification of parse and execution options.
- The library gzip.s7c has been improved to decode also blocks with
  fixed Huffman codes. This type of block is almost never used since
  dynamic Huffman codes compress better.
- The parsing of bigInteger literals has been improved to support
  literals with bases other than 10 (e.g.: 16#FEDCBA98765434210_).
- The integer and bigInteger functions str (conversion to string)
  have been changed to use lower case characters for digits larger
  than 9. Now str(48879, 16) returns "beef" instead of "BEEF".
- The program make7.sd7 and the library make.s7i have been improved
  to support multiple targets and the option -C.
- The Seed7 compiler has been improved to generate special inline
  code for the case that the C floating point division by zero does
  not result in Infinity, -Infinity or NaN (not a number).
- The functions chkLiteral and chkBitLength as well as checks for
  shifts with negative shift count have been added to the program
  chkbig.sd7.
- The function check_division as well as checks for the operator
  /:= (in check_nan) have been added to the program chkflt.sd7.
- The function check_str in chkint.sd7 has been improved to check
  the new behaviour of the function str with a give base.
- The makefile mk_clang.mak has been added to support compilation
  with the clang C compiler.
- The explanations of possible compilation errors in src/read_me.txt
  have been improved.
- The functions interpreterPath and callOwnProgram have been removed
  from the libraries environment.s7i respectively shell.s7i. This
  functions were not used in any example program.
- The support for the interpreter option -m (use less memory during
  the analyzing phase) has been removed. On many systems it was a
  noop anyway.
- Result variables have been renamed in various libraries and example
  programs.
- The functions find_include_file, print_lib_path, append_to_lib_path
  and init_lib_path have been moved from infile.c to the new file
  libpath.c.
- The function gen_rtl_array has been defined in the new file
  arrutl.c. The function is used in the files cmdlib.c (functions
  cmd_pipe2, cmd_pty, cmd_start_process) and prglib.c (functions
  prg_exec, prg_fil_parse, prg_str_parse).
- The interpreter/compiler improvements (option -l) and the new
  function variants in progs.s7i have been realized with changes in
  prg_comp.c, analyze.c, data.h, infile.c, infile.h, info.c, option.h
  and s7.c.
- The functions prgExec, prgFilParse and prgStrParse in prg_comp.c
  have been improved to support additional parse and execution
  options.
- The function interpr has been renamed to interpret and moved from
  exec.c to prg_comp.c.
- The function copy_args has been moved from prclib.c to prg_comp.c.
- In traceutl.c the function set_trace has been changed and the
  function set_trace2 has been removed. The functions mapTraceFlags,
  mapTraceFlags2 and set_protfile_name have been added.
- The functions uBigMultiplyAndAdd and bigParseBased have been added
  to big_rtl.c:
- In big_gmp.c the functions bigBitLength, bigLShift, bigRShift,
  bigLShiftAssign, bigRShiftAssign, bigParse, and bigToInt32 have
  been improved and bigParseBased has been added.
- To support bigInteger literals with base the file numlit.c has been
  changed. The function readBigBased has been added and readinteger
  has been removed. Several functions in numlit.c have been renamed.

20130105:
- The Seed7 interpreter was renamed. The new name of the Seed7
  interpreter is s7.
- Manual, FAQ, read_me files and several example programs were
  updated to use the new name of the Seed7 interpreter (s7).
- The build process of a package can compile interpreter and compiler
  with (xx and yy must be replaced with a path):
    make S7_LIB_DIR=xx SEED7_LIBRARY=yy depend s7 s7c
- The function drwOpen in drw_win.c was improved to hide the console
  window, when the program was not started from a console.
- Descriptions of the operators 'sci' and 'exp' were added to the
  manual.
- Documentation comments were added to clib_file.s7i.
- In pixmap_file.s7i the functions for pixmapFontFiles were improved.
- Interpreter and compiler were improved to allow using winmain as
  main function.
- In cmd_win.c the function prepareCommandLine was improved and in
  the function cmdStartProcess the flag wShowWindow was changed to 1.
- The file hi.c was renamed to s7.c.
- In striutl.c the function escape_command was changed to quote
  commands with special characters under Windows.
- In striutl.c the function cp_to_command was improved to do a
  quoting under Windows, even when there are no parameters.
- Parameter names were added to null_file.s7i, osfiles.s7i, time.s7i,
  pixmapfont.s7i, progs.s7i, reference.s7i, seed7_05.s7i, shell.s7i,
  stritext.s7i, text.s7i, rever.sd7 and snake.sd7.

20121221:
- The Seed7 compiler (s7c) was improved to support constant pixmaps
  (constants with the type PRIMITIVE_WINDOW).
- The Seed7 compiler was improved to omit array constant
  declarations and initializations for unused array constants.
- Result variables were renamed in various libraries and example
  programs.
- The function DRAW_GETPIXEL in graph.s7i was renamed to getPixel.
- The function imagePixmap in draw.s7i was changed to have one
  parameter instead of two.
- Pictures of a grating and a vampire were removed from castle.sd7,
  pairs.sd7 and shisen.sd7 and added to pic16.s7i and pic32.s7i.
- The function getValue was overloaded for PRIMITIVE_WINDOW values
  in the library progs.s7i.
- Documentation comments were added to the operators & and <& in the
  library string.s7i.
- Interpreter and compiler were improved to support the action
  DRW_VALUE. The function drw_value was added to drwlib.c and the
  function drwValue was added to ref_data.c.
- The functions drw_cpy and drwCpy in drwlib.c respectively drw_rtl.c
  were improved to manage the usage_count for assignments like A := A
  correctly.
- The new function drwRtlImage was added to drw_rtl.c.
- A check for the window close button (X) was added to the function
  gkbKeyPressed in drw_win.c.
- The dummy function drwImage in drw_win.c was replaced with a real
  implementation of drwImage.
- The function drwImage was changed to have one parameter instead of
  two in drw_drv.h, drw_dos.c, drw_win.c and drw_x11.c.
- The function drwImage in drw_x11.c was improved to call dra_init(),
  when necessary.

20121212:
- The Seed7 compiler was renamed. The new name of the Seed7 compiler
  is s7c.
- Manual, FAQ, read_me files and several example programs were
  updated to use the new name of the Seed7 compiler (s7c).
- A description of ltrim and rtrim and some links were added to the
  manual.
- The library make.s7i and the example program make7.sd7 were
  improved to execute make commands with predefined macros.
- The library makedata.s7i was improved to support dependencies
  which contain a space.
- The library make.s7i was improved to support the command cp -a.
- A variant of the function popen, with the parameters 'command' and
  'parameters', was added to shell.s7i.
- An explanation, why & and <& are defined for string concatenation,
  was added to the FAQ.
- The program tar7.sd7 was improved to accept also DOS paths for all
  file arguments.
- Documentation comments were added to progs.s7i and reference.s7i.
- The files drw_win.c, drw_x11.c and gkb_x11.c were improved to
  exit a program when the close button (X) is pressed.
- The functions refFile, refLine, refParams and refSetParams in
  ref_data.c were improved to raise RANGE_ERROR, when they are
  called with NULL.
- The function ref_params in reflib.c was improved to call refParams.
- The makefiles were improved such that 'make s7c' generates an
  executable of the Seed7 compiler.
- The makefile mk_mingc.mak, which supports the compilation of the
  self extracting version of Seed7, was improved.
- The support for the unused action REF_NAME was removed.

20121125:
- The makefiles and the file setpaths.c were improved to accept the
  macros S7_LIB_DIR (Directory with static Seed7 object libraries)
  and SEED7_LIBRARY (Directory with the Seed7 include libraries).
  Now the build process of a package can call make e.g. with:
  make S7_LIB_DIR=/abc/seed7/bin SEED7_LIBRARY=/abc/seed7/lib depend
  This way the two paths are defined in version.h. This defines them
  as default paths in the interpreter executable and in the compiler.
- An explanation, what a binary Seed7 package should install, was
  added to the FAQ. This can be used as guideline for Seed7 packages.
- The description of the times-operator in the manual and in
  array.s7i was improved.
- A description of the function name(PROGRAM), file(PROGRAM) and
  'environment' was added to the manual.
- The new library environment.s7i was added. Most of the contents of
  this library was extracted from "seed7_05.sd7". The new library is
  included from "seed7_05.s7i", so no change in existing programs is
  necessary.
- A documentation comment for getSearchPath was added to shell.s7i.
- The functions ltrim and rtrim were added to the library string.s7i.
- Test cases for ltrim and rtrim were added to chkstr.sd7.
- The function getProgramName in arr_rtl.c was improved to do the
  comparison with EXECUTABLE_FILE_EXTENSION correctly.
- The program tar7.sd7 was improved to accept also DOS paths for the
  file specified with -f.
- The function homeDir was improved to work with DJGPP (either $HOME
  or C:\ is used).
- The function prc_cpy in prclib.c was improved.
- The files executl.c, hshlib.c, ref_data.c, reflib.c and sctlib.c
  were improved to copy the descriptor union with memcpy and to copy
  the posinfo flag with SET_ANY_FLAG, when necessary.

20121104:
- The new function homeDir was added to the library osfiles.s7i.
  Interpreter and compiler were improved to support homeDir.
- The libraries makedata.s7i and make.s7i were improved to support
  replacement macros.
- A check for division by zero with /:= was added to chkflt.sd7.
- The compiler (comp.sd7) was improved to use definitions of
  NOT_A_NUMBER, POSITIVE_INFINITY and NEGATIVE_INFINITY.
- The program chkccomp.c was improved. Now it manages the macros
  likely, unlikely, UNISTD_H_PRESENT, POPEN_MISSING, os_utime_orig,
  os_utime, USE_ALTERNATE_UTIME, INCLUDE_SYS_UTIME, USE_LOCALTIME_R,
  USE_LOCALTIME_S, FLOAT_ZERO_DIV_ERROR, CHECK_FLOAT_DIV_BY_ZERO,
  ISNAN_WITH_UNDERLINE and HOME_DIR_ENV_VAR. Additionally chkccomp.c
  does not depend on the definitions of long_long_EXISTS,
  long_long_SUFFIX_LL, __int64_EXISTS, __int64_SUFFIX_LL and
  USE_BUILTIN_EXPECT in chkccomp.h.
- The functions flt_div and flt_div_assign in fltlib.c were improved
  to work correctly when CHECK_FLOAT_DIV_BY_ZERO is defined.
- Several #defines were omitted from the makefiles.
- Explanations of several version.h #defines were added to
  read_me.txt.

20121021:
- The library vecfont10.s7i, which defines the standard vector font
  with capital height 10, was added. Now mahjong.sd7 and shisen.sd7
  use vecfont10.s7i.
- The programs mahjong.sd7, pairs.sd7, shisen.sd7 and sokoban.sd7
  were improved to fit into a screen with a resolution of 1024 x 768.
- The library make.s7i was improved: The parsing of command
  parameters (used by the Unix version of the echo command), was
  improved. The processing of pattern rules was improved (The rule
  with the shortest stem value is used, when several rules match).
- Functions to read a makefile were moved from make.s7i to the new
  library makedata.s7i.
- The reading of makefiles was improved: The processing of the gmake
  directives 'ifeq' and 'ifneq' was improved to allow else clauses.
  The processing of the nmake directive 'if' was added. Merging of
  dependencies for rules with the same target was improved.
- The parse function for time values (library time.s7i) was improved
  to allow fractions of a second.
- The functions getSubNodes and getContent and a for-loop for xmlNode
  values were defined in the library xmldom.s7i.
- The compiler was improved to initialize bstring literals correctly,
  when pointers are 64-bit and integers are 32-bit.
- The font libraries cronos16.s7i, cronos27.s7i, modern27.s7i and
  vecfont18.s7i were improved to include vectorfont.s7i.
- The font libraries stdfont10.s7i, stdfont12.s7i, stdfont14.s7i,
  stdfont16.s7i, stdfont18.s7i, stdfont20.s7i and stdfont24.s7i were
  improved to include bitmapfont.s7i.
- The program dnafight.sd7 was improved to limit the speed of the
  animation.
- The program make7.sd7 was improved to recognize the options
  correctly. Additionally make7 inherits also all improvements of
  makedata.s7i and make.s7i.
- The program ftp7.sd7 was improved to accept the option -?.
- The graphic libraries drw_x11.c and drw_win.c were improved to draw
  the background of maximized windows with the color of the last
  clear command.

20121007:
- An error message, that could occur when the Seed7 interpreter is
  compiled, is now explained in the FAQ and in 'src/read_me.txt'.
- A description of the for-step-statement was added to the manual.
- The library make.s7i was improved. Now makefile dependencies can
  contain colons (:) and equal signs (=). The parameters of the echo
  command are parsed better now. Calls of the function callOwnProgram
  are also avoided now. This way the library works correctly, when it
  is used by programs other than make7.sd7.
- The library tar.s7i was improved to set the file mode, when an
  archive is extracted.
- Test cases for a variant of the @:= operator, which copies a string
  to another, were added to the program chkstr.sd7.
- Interpreter and compiler were improved to support the situation,
  when source and destination of the @:= operator (action STR_POSCPY)
  are identical.
- The compiler was improved to support the action ITF_DESTR.
- The compiler was improved, to call C compiler and linker with
  specific options, such that unneeded functions are omitted (when
  the linker and executable file format support this feature).
- The compiler was improved to remove debug symbols, unless called
  with -g (some makefiles now define LINKER_OPT_NO_DEBUG_INFO).
- The function name(PROGRAM) was improved, to return the program name
  without following symbolic links.
- The function path(PROGRAM) was improved, to follow symbolic links
  (see function followLink in cmd_rtl.c). Consequently dir(PROGRAM)
  also follows symbolic links.
- The function CommandLineToArgvW in cmd_win.c was improved.
- The files itf_rtl.c and itf_rtl.h, which contain interface
  functions, were added.
- The makefile mk_mingc.mak was added to support compilation of the
  self extracting version of Seed7.

20120923:
- Experimental support for automatic memory management with reference
  counting was added to the interpreter.
- The libraries external_file.s7i, field.s7i, stritext.s7i, gzip.s7i,
  listener.s7i, pixmap_file.s7i, shell.s7i, socket.s7i, strifile.s7i,
  dir.s7i, utf16.s7i, utf8.s7i and xmldom.s7i were improved to use
  the function toInterface.
- The function name(PROGRAM) was improved, to return the name of the
  program without extension and without path.
- The interpreter was improved to support the action ITF_DESTR.

20120909:
- The chapters about predefined statements and the foreign function
  interface in the manual, were improved.
- An explanation, why the div operator is used for integer divisions,
  was added to the FAQ.
- The FAQ about garbage collection was improved.
- Links to EBNF syntax descriptions and exceptions were added to the
  HTML version of the manual.
- EBNF syntax descriptions in the manual were improved.
- Interpreter and compiler were improved to support the actions
  CMD_ENVIRONMENT and CMD_GET_SEARCH_PATH.
- The library shell.s7i was improved to define the functions
  getSearchPath and environment.
- The function path(PROGRAM) was improved to return the accurate
  value under all circumstances.
- Several preprocessor defines were moved from "common.h to the new
  include file "config.h".
- In cmdlib.c the function toArraytype() was introduced and used in
  cmd_environment() and cmd_getSearchPath().
- In cmd_rtl.c the functions add_stri_to_array() and
  complete_stri_array() were introduced and used in read_dir(),
  getSearchPath() and cmdEnvironment().
- Parameter names in drw_win.c, drw_x11.c and drw_dos.c were changed
  to fit to the names used in graph.s7i.
- Parameter names in clib_file.s7i, keybd.s7i, sockbase.s7i,
  socket.s7i, utf8.s7i, fil_rtl.c, gkb_rtl.c, kbd_rtl.c, soc_dos.c,
  soc_rtl.c and ut8_rtl.c were changed to fit to each other.
- The function conv_from_os_stri() was added to striutl.c .
- The function concat_path in str_rtl.c was improved to work
  correctly, when the relative path contains "..".
- In several makefiles defines for SEARCH_PATH_DELIMITER and
  os_environ were added and defines for
  MAP_ABSOLUTE_PATH_TO_DRIVE_LETTERS were replaced with
  defines for OS_PATH_HAS_DRIVE_LETTERS.
- A description of several C preprocessor macros used in "version.h"
  and "config.h" was added to the file "src/read_me.txt".
- Parameter names were added to function definitions in various
  libraries.
- Documentation comments were added or improved in the files
  "clib_file.s7i", "external_file.s7i", "socket.s7i", "fil_rtl.c" and
  "striutl.c".
- The function determineEnvironDefines was added to "chkccomp.c".

20120826:
- A chapter, which explains the foreign function interface, was added
  to the manual.
- Syntax descriptions, code examples and tables in the HTML version
  of the manual were improved.
- Documentation comments were added to the file "striutl.c".
- A description of several C preprocessor macros used in "version.h"
  was added to the file "src/read_me.txt".

20120806:
- The new library image.s7i was added. The contents of this library
  was extracted from the program "carddemo.sd7".
- The new library make.s7i was added. The contents of this library
  was extracted from the program "make7.sd7".
- The function 'str' and the 'parse' operator were added to the
  library bstring.s7i.
- The function readDir was added to the library tar.s7i.
- A documentation comment was improved in the library bigint.s7i.
- The generation of bstring constants in the compiler (comp.sd7) was
  improved.
- The function intStrHex was renamed to intStrPow2Base in the files
  "int_rtl.c", "int_rtl.h" and in the compiler. The new function is
  used to convert an integer to a string, when the number base is a
  power of two.
- The function stri_export was renamed to stri_export_utf8 in the C
  source files.
- The function cp_to_cstri was renamed to cp_to_cstri8 in the C
  source files.
- Documentation comments were added and improved in the file
  "striutl.c".
- The makefile mk_msvc.mak was changed to write a definition of
  LIMITED_CSTRI_LITERAL_LEN to "version.h".

20120721:
- Documentation comments were improved in the libraries idxarray.s7i,
  array.s7i, dir.s7i, external_file.s7i, osfiles.s7i, duration.s7i
  and time.s7i.
- Parameter names were added to function definitions in the
  libraries array.s7i, bigfile.s7i, hash.s7i and idxarray.s7i.
- The compiler was improved to generate better inline code for set
  membership (operator: in).
- The functions 'cmdFileType' and 'cmdFileTypeSL' in "cmd_rtl.c" were
  improved to return FILE_ABSENT, when the file name is too long
  (stat() respectively lstat() return an error and errno has the
  value ENAMETOOLONG) or when the file name is an empty string.
- The new libraries subrange.s7i, ref_list.s7i and reference.s7i were
  added. The contents of this libraries were extracted from the
  seed7_05.s7i library.

20120703:
- The manual was improved to contain more links and to use more
  coloring.
- Parameter names were added to function definitions in the
  libraries array.s7i, integer.s7i, bigint.s7i, float.s7i, keybd.s7i,
  bitsetof.s7i, idxarray.s7i, boolean.s7i, hashsetof.s7i, socket.s7i,
  char.s7i, file.s7i, bitset.s7i, poll.s7i, sockbase.s7i and
  string.s7i .
- Documentation comments were improved in the libraries string.s7i,
  poll.s7i and progs.s7i .
- The new libraries "bstring.s7i" and "category.s7i" were added. The
  contents of this libraries were extracted from the "progs.s7i"
  library.
- Interpreter and compiler were improved to explain the option -?.

20120617:
- FAQ and manual were improved to contain more links. The additional
  links improve also the Seed7 homepage.
- The FAQ answer, which explains abstract data types, was improved.
- The type 'PRIMITIVE_FILE' was renamed to 'clib_file'.
- Documentation comments were improved in the libraries array.s7i,
  bigrat.s7i, bitset.s7i, boolean.s7i, integer.s7i, charsets.s7i,
  bigint.s7i, complex.s7i, dir.s7i, echo.s7i, char.s7i, keybd.s7i,
  line.s7i, listener.s7i, null_file.s7i, scanfile.s7i, shell.s7i,
  socket.s7i, stdio.s7i, strifile.s7i, string.s7i, stritext.s7i,
  bigfile.s7i, text.s7i, utf16.s7i, utf8.s7i and wrinum.s7i.
- The new libraries "enable_input.s7i" and "enable_output.s7i" were
  added. The contents of this libraries were extracted from the
  "enable_io.s7i" library.
- The new library "clib_file.s7i" was added. The contents of this
  library was extracted from the "external_file.s7i" library.
- The compiler (comp.sd7) was improved to accept a Windows path.
- The example program "make7.sd7" was improved to support the
  commands 'ifneq', '-include' and '+='.
- The program "toutf8.sd7" and the library "charsets.s7i" were
  improved to support the code pages 277, 280 and 297.
- The control characters of the code pages 037, 273, 285, 500 and
  1047 in "charsets.s7i" were improved.

20120603:
- An alternate version of the function 'filInputReady' was added to
  the file "fil_unx.c" (thanks to Rainer Weikusat and Geoff Clare
  for their help). The new function is used when "version.h" does
  not define the macro 'read_buffer_empty'.
- A check and a definition of the macro 'read_buffer_empty' for
  HPUX was added to "chkccomp.c" (thanks to Richard Kettlewell and
  Marc for their suggestions).
- The example program "make7.sd7" was improved. Now it supports the
  commands 'ifeq', 'wildcard' and 'include'. The commands of a rule
  can now contain empty lines. Pattern rules can now be combined with
  dependency rules (rules without commands).
- The "ftp7.sd7" example program was improved to support the commands
  'delete' and 'rename'.
- The FAQ and the manual were improved to contain more links. The
  additional links improve also the Seed7 homepage.
- The new libraries "array.s7i", "hash.s7i", "bitset.s7i," "set.s7i",
  "bitsetof.s7i", "hashsetof.s7i", "idxarray.s7i" and "struct.s7i"
  were added. The contents of this libraries were extracted from the
  "seed7_05.s7i" library. They are included from "seed7_05.s7i", so
  no change in existing programs is necessary.
- Documentation comments were added to "array.s7i", "idxarray.s7i",
  "pixmapfont.s7i", "bitset.s7i", "bitsetof.s7i", "hashsetof.s7i",
  "set.s7i", "hash.s7i" and "bigint.s7i".
- The function 'moveFile' was added to the "ftp.s7i" library.
- Comment blocks with deactivated code were removed from the
  "seed7_05.s7i" library.
- The program "chkccomp.c" was improved, to produce no error, when
  the macro 'filInputReady' cannot be defined.

20120520:
- The FAQ and the manual were improved to contain more links. The
  additional links improve also the Seed7 homepage.
- Documentation comments were added to "boolean.s7i", "charsets.s7i"
  and "vectorfont.s7i"
- Documentation comments were improved in "integer.s7i", "font.s7i",
  "duration.s7i", "enable_io.s7i", "listener.s7i", "scanfile.s7i",
  "poll.s7i", "shell.s7i" and "socket.s7i".
- The function 'bigParse' in "big_rtl.c" was improved, to work up to
  9 times faster. The bigInteger operator 'parse' is implemented with
  'bigParse'.
- The factorial operator (!) was added to "bigint.s7i".
- A for-until-loop for 'bitset' was added to "seed7_05.s7i".
- Tests for the 'parse' operator, when it parses integer literals
  with a + sign, were added to "chkbig.sd7".
- Tests of the function 'compare' were added to "chkbool.sd7".
- Tests of the bigInteger operator 'parse' were added to
  "chkexc.sd7".
- The compiler was improved to generate better inline code for set
  membership (operator: in).
- The example program "make7.sd7" was improved. Now it accepts :=
  to assign a value to a macro.
- The libraries "bigint.s7i", "float.s7i" and "math.s7i" were
  improved, to use 'in' parameters instead of 'ref' parameters.
- Spaces at the end of the line were removed in "file.s7i",
  "ftp.s7i", "osfiles.s7i", "stdio.s7i", "pol_sel.c", "read_me.txt",
  "pol_unx.c" and "soc_rtl.c".

20120506:
- A typo in the manual, concerning the 'integer' operator 'rpad',
  was fixed (thanks to Robert A Duff for pointing it out).
- The compiler (comp.sd7) was improved to generate optimized code
  for the integer 'mod' operator (thanks to Andrew Haley,
  Stefan Ram, Scott Fluhrer and Gene for their help).
- The compiler was improved to generate optimized code for the
  integer operators 'mdiv' and 'mod', when the divisor is a negated
  power of two.
- The FAQ answers, which explain possible compilation errors and the
  templates of Seed7, were improved.
- The chapter explaining primitive actions in the manual was
  improved.
- The compiler was improved to use inline code for set membership
  (operator: in) and set exclusion. The inlining is done instead of
  calling 'setElem' respectively 'setExcl'.
- The compiler was improved to use 'setIsEmpty' (which is defined in
  "set_rtl.c"), when a set is compared with the empty set (action
  "SET_EQ" and "SET_NE").
- Interpreter, compiler and runtime library were improved to support
  the actions "PRG_INTERPRETER" (returns the path of the hi
  interpreter), "SET_NEXT" (used in for-loops over sets) and
  "SET_RANGELIT" (used to create sets like {1 .. 5} ).
- In "chkset.sd7" the tests for set union and set membership were
  improved.
- The checks of relation operators in "chkset.s7i" were split into
  several functions.
- The example program "printpi2.sd7" was improved.
- The function 'bigEqSignedDigit' was added to "big_rtl.c" and
  "big_gmp.c". This function is used in the compiler to optimize
  bigInteger comparisons (= and <>) with small signed numbers.
- The functions 'reduce' and / in "bigrat.s7i" were improved.
- The performance of the function setCard in "set_rtl.c" was
  improved.
- The functions 'setSymdiff' and 'setUnion' were improved to raise
  MEMORY_ERROR, when the computation of the data size would
  overflow.
- The performance of the function 'prot_set' in "traceutl.c" was
  improved.
- The example program "make7.sd7" was improved. Now it processes
  make commands in makefiles correctly and accepts tabs before the
  dependencies of a rule. Additionally make7 now allows repeated
  target names when there no commands.
- Checks for 'mod' and 'mdiv' were added to "chkint.sd7".
- A documentation comment was added to the function 'cp_to_cstri'
  in the file "striutl.c".
- The macros 'likely' and 'unlikely' were added to if-statements
  checking for exception conditions in the file "set_rtl.c".
- A description of possible compilation errors was added to the file
  "src/read_me.txt".
- In "shell.s7i" the function 'shell' was overloaded and the
  function 'callOwnProgram' was added.

20120415:
- Documentation comments were added to "shell.s7i".
- A description of several C preprocessor macros used in "version.h"
  was added to the file "src/read_me.txt".
- In "chkset.sd7" tests for set difference and symmetric difference
  were added and tests for set intersection and set membership were
  improved.
- The compiler (comp.sd7) was improved to support the functions
  'pipe2' and 'pty' (actions: CMD_PIPE2 and CMD_PTY).
- The compiler was improved to provide better optimization for set
  difference, intersection, union and membership.
- The tracing support for sets in the compiler was improved.
- The program "chkccomp.c" was improved to use the C compiler to
  determine elements from the FILE structure.
- The new experimental function 'cmdPty' was added to "cmd_unx.c"
  and "cmd_win.c".
- The function 'filInputReady' in "fil_unx.c" and "fil_win.c" was
  improved to use the macro 'read_buffer_empty' (which is defined in
  "version.h" by the program "chkccomp.c").
- The makefiles were changed to write several macro definitions to
  "version.h", before the program "chkccomp.c" is compiled. This way
  "chkccomp.c" gets information about the C compiler from
  "version.h".
- The functions 'setDiff' and 'setSymdiff' in "set_rtl.c" were
  improved to work correctly for big sets.
- The function 'setNotElem' was removed from "set_rtl.c" and the
  compiler was changed to use !setElem() instead of setNotElem().
- The function 'prot_set' in "traceutl.c" was improved to work
  correctly, when 64-bit bitset elements are used.

20120401:
- The program "chkccomp.c" was changed to define the macros
  'likely' and 'unlikely' only when __GNUC__ >= 3 holds (thanks
  to "Rugxulo" for pointing out, that GCC 2.95.3 does not
  support __builtin_expect() ).
- The library "modern27.s7i", which defines the vector font
  modern27, was added.
- The compiler (comp.sd7) was improved to initialize global
  interface variables correctly.
- The function cmdPipe2() in "cmd_win.c" was improved to work
  correctly.
- In "drw_win.c" the functions drawRectangle(), drwPArc(),
  drwPFArcPieSlice(), drwPCircle(), drwClear(), drwPFCircle(),
  drwPFEllipse(), drwPLine(), drwPolyLine(), drwFPolyLine() and
  drwPRect() were improved to raise MEMORY_ERROR when CreatePen()
  or CreateSolidBrush() fails.
- In various makefiles the definition of likely() and unlikely()
  was removed and a definition of USE_BUILTIN_EXPECT was added.
- The descriptions of paths in "seed7/src/read_me.txt", were
  improved.

20120318:
- The example program "testfont.sd7" was improved to display more
  fonts and more characters.
- The library "vectorfont.s7i", which supports vector fonts, was
  added.
- The libraries "cronos16.s7i", "cronos27.s7i" and
  "vecfont18.s7i", which define the vector fonts cronos16,
  cronos27 and vecFont18 respectively, were added.
- A standard bitmap font with size 20 was defined in the new
  library "stdfont20.s7i".
- The pilcrow character was added to the standard bitmap fonts.
- Some characters in the standard bitmap fonts were improved.
- The function 'filInputReady' in "fil_unx.c" was improved to
  use poll() instead of select().

20120304:
- The "ftpserv.sd7" example program was improved to support the
  commands RNFR and RNTO and to work correctly, when the listener
  cannot open a passive data port.
- The font support was improved, such that caching of character
  pixmaps works.
- Some characters in the standard bitmap fonts were added or
  improved.
- The functions 'socSend' and 'socSendto' in "soc_rtl.c" were
  improved to work correctly under 64-bit systems.
- The function 'fltSci' in "flt_rtl.c", was improved to avoid
  a C compiler warning about the change of a constant value.
- The function 'redraw' in "drw_x11.c" was changed, such that it
  does not use a parameter of type 'XExposeEvent'.
- The functions 'drwHeight', 'drwWidth', 'drwXPos' and 'drwYPos'
  in "drw_x11.c" were improved to raise RANGE_ERROR when the
  window does not exist.
- The function 'handleExpose' was introduced in "gkb_x11.c", to
  handle the job of calling 'redraw'.
- The type 'unsigned int' was replaced by 'sysizetype' in
  'findid.c', 'findid.h', 'identutl.c', 'identutl.h', 'literal.c',
  'numlit.c', 'scanner.c' and 'symbol.h'.
- Some improvements were done in 'prg_comp.c', 'reflib.c',
  'analyze.c', 'exec.c', 'infile.c', 'info.c' and 'typlib.c' to
  reduce the number of warnings.
- Support for the unused action "ENU_SIZE" was removed.

20120219:
- A call of clearerr(stdin) was added to the function
  kbdKeyPressed() in the file "kbd_inf.c". This fixes a bug, which
  happen under FreeBSD (thanks to Pietro Cerutti for pointing out
  the error and for suggesting this fix).
- The FAQ answer, which explains the portability of Seed7, was
  improved.
- The function 'copyFile' was added to the library "file.s7i" and
  the files "ftp.s7i" and "ftpserv.sd7" were changed to use it.
- The function 'removeFile' was added to the library "ftp.s7i".
- The function 'signOn' was added to the libraries "listener.s7i"
  and "socket.s7i".
- The function 'signOff' was improved in "listener.s7i" and
  "socket.s7i", to use a 'socket' instead of a 'PRIMITIVE_SOCKET'
  parameter.
- The "gkbd.sd7" example program was improved.
- The "panic.sd7" example program was improved to use DRAW_FLUSH
  less often.
- The function 'readDir' was added to "osfiles.s7i" as replacement
  for 'read_dir'. The function 'read_dir' is deprecated and
  should not be used.
- The functions 'open_dir' and 'open_dir_path' were renamed to
  'openDir' and 'openDirPath' respectively.
- The functions 'find_window', 'enter_window', 'remove_window' and
  'gkbWindow' were moved from "drw_x11.c" to "gkb_x11.c".
- Trace statements were added to "drw_x11.c" and "gkb_x11.c".
- A description of several C preprocessor macros used in "version.h"
  was added to the file "src/read_me.txt".
- The makefiles "mk_bcc32.mak", "mk_bccv5.mak", "mk_cygw.mak",
  "mk_mingw.mak", "mk_msvc.mak", "mk_msys.mak" and "mk_nmake.mak"
  were changed to write a definition of QUOTE_WHOLE_SHELL_COMMAND to
  "version.h".

20120205:
- FAQ answers, explaining call-by-name and how it is implemented in
  Seed7, were added.
- The "ftpserv.sd7" example program was improved to work with
  various ftp client programs.
- The speed of the function 'socLineRead' in "soc_rtl.c" was
  improved (this function implements getln() for sockets).
- The Unicode support of the "ftp.s7i" library and the "ftp7.sd7"
  example program was improved.
- Documentation comments were improved in "poll.s7i" and
  "osfiles.s7i".
- The files "pol_sel.c" and "pol_unx.c" were improved to use the
  const qualifier.
- The compiler (comp.sd7) was improved to generate optimized code
  for the actions "STR_ELEMCPY" and "STR_POSCPY" (which were used
  by the @:= operator).
- Test cases for the @:= operator were added to "chkstr.sd7".
- The program "chkccomp.c" was changed to include "version.h" and
  to define OS_OFF_T_SIZE. This way "chkccomp.c" can use the macro
  definitions for os_off_t, TURN_OFF_FP_EXCEPTIONS and
  DEFINE_MATHERR_FUNCTION from "version.h" instead of "chkccomp.h".
- The files "cmd_rtl.c" and "fil_rtl.c" were changed to use the
  macro OS_OFF_T_SIZE.
- In "osfiles.s7i" the type 'fileType' was introduced as result type
  for 'fileType' and 'fileTypeSL'.
- The function 'str' for the type 'fileMode' was improved in
  "osfiles.s7i".
- The number of calls of fileno() was reduced in "con_cap.c",
  "con_tcp.c", "kbd_inf.c" and "kbd_poll.c".
- Result variables were renamed in "external_file.s7i", "ftp.s7i",
  "osfiles.s7i", "shell.s7i", "socket.s7i", "string.s7i", "tar.s7i",
  "utf16.s7i", "utf8.s7i" and "ftpserv.sd7".

20120115:
- The functions shellEscape and toShellPath were added to the
  "shell.s7i" library.
- The compiler (comp.sd7) was improved to use 'toShellPath'. Now the
  compiler works for source files, which contain spaces in their
  name.
- Compiler and interpreter were improved to support the action
  "CMD_SHELL_ESCAPE" (this action implements the function
  'shellEscape').
- The "ftp7.sd7" example program was improved to support the 'dir'
  command.
- The "ftpserv.sd7" example program was improved to support the
  commands FEAT, MLST, MLSD, DELE, MODE and STRU.
- The functions listDir and bigFileSize were added to the "ftp.s7i"
  library.
- The configuration program "setpaths.c" was improved to support
  the compilation of Seed7 in a directory with an Unicode name,
  which contains characters outside of the Basic Multilingual Plane.

20120101:
- The type 'pollData' was moved from "socket.s7i" to "poll.s7i".
  The functions supported by 'pollData' are 'clear', 'addCheck',
  'removeCheck', 'getCheck', 'poll', 'getFinding', 'hasNext',
  'iterChecks', 'iterFindings', 'nextFile' and 'for'.
- The type 'inetListener' was moved from "socket.s7i" to
  "listener.s7i". The functions supported by 'inetListener' are
  'openInetListener', 'close', 'signOff', 'listen', 'accept' and
  'waitForRequest'.
- The type 'socketAddress' was moved from "socket.s7i" to
  "sockbase.s7i". The functions supported by 'socketAddress' are
  'numericAddress', 'inetSocketAddress', 'inetListenerAddress' and
  'getHostname'.
- The file "pol_dos.c" was added (thanks to "Rugxulo" for pointing
  out, that it was missing).
- Support for the actions POL_ADD_READ_CHECK POL_ADD_WRITE_CHECK,
  POL_FILES, POL_HAS_NEXT_READ_FILE, POL_HAS_NEXT_WRITE_FILE,
  POL_NEXT_READ_FILE, POL_NEXT_WRITE_FILE, POL_READY_FOR_READ,
  POL_READY_FOR_WRITE, POL_REMOVE_READ_CHECK,
  POL_REMOVE_WRITE_CHECK and SOC_SELECT_INPUT was removed from
  interpreter and compiler.
- Support for the actions POL_ADD_CHECK, POL_GET_CHECK,
  POL_GET_FINDING, POL_HAS_NEXT, POL_ITER_CHECKS, POL_ITER_FINDINGS,
  POL_NEXT_FILE, POL_REMOVE_CHECK and SOC_GET_ADDR was added to
  interpreter and compiler.
- The files "pollib.c", "pollib.h", "pol_dos.c", "pol_sel.c",
  "pol_unx.c", "pol_drv.h", "soclib.c", "soclib.h", "soc_rtl.c" and
  "soc_dos.c" were added or improved.
- The "ftpserv.sd7" example was improved to take the IP address for
  the "PASV" response from the control socket.
- The console driver "con_win.c" was improved, such that keypressed
  recognizes control-C as normal keyboard input.
- The function 'socGets' was improved to avoid realloc(), when
  the string read is shorter than requested.

20111218:
- The type 'pollData' and the functions 'clear', 'addReadCheck',
  'addWriteCheck', 'removeReadCheck', 'removeWriteCheck', 'poll',
  'readyForRead', 'readyForWrite', 'files', 'hasNextReadFile',
  'hasNextWriteFile', 'nextReadFile' and 'nextWriteFile' were added
  to the "socket.s7i" library.
- The makefile "mk_djgpp.mak" was improved to use 'djecho' (thanks
  to "Rugxulo" for his help).
- The library "duration.s7i" was improved to support the operators
  +:= and -:= for the type 'duration'.
- The function 'startProcess' in the library "shell.s7i" was
  overloaded to work with a single string parameter.
- The function 'socWrite' in "soc_rtl.c" was improved.
- Interpreter, compiler and runtime library were improved to support
  'pollData' (polltype) and the actions "POL_ADD_READ_CHECK",
  "POL_ADD_WRITE_CHECK", "POL_CLEAR", "POL_CPY", "POL_FILES",
  "POL_HAS_NEXT_READ_FILE", "POL_HAS_NEXT_WRITE_FILE",
  "POL_NEXT_READ_FILE", "POL_NEXT_WRITE_FILE", "POL_POLL",
  "POL_READY_FOR_READ", "POL_READY_FOR_WRITE",
  "POL_REMOVE_READ_CHECK", "POL_REMOVE_WRITE_CHECK" and "POL_VALUE".
- The files "pollib.c", "pollib.h", "pol_sel.c", "pol_unx.c" and
  "pol_drv.h" were added to support the type 'pollData'.
- The "ftpserv.sd7" example program was improved to work silently.
- In "hsh_rtl.c" the function 'hshIdxWithDefault' was renamed to
  'hshIdxEnterDefault' and a new function 'hshIdxWithDefault' was
  introduced.
- In "ref_data.c" the functions 'refCmpGeneric' and 'genericCreate'
  were replaced with 'uintCmpGeneric' and 'intCreateGeneric'
  respectively.
- The program "chkccomp.c" was improved to define _matherr(), which
  handles floating point errors, when necessary.

20111204:
- The makefile "mk_djgpp.mak" was improved to work for DJGPP under
  DOS (thanks to "Rugxulo" for his help to improve "mk_djgpp.mak").
- The old makefile "mk_djgpp.mak" was renamed to "mk_djgp2.mak".
- The option -?, which writes helping information, was added to the
  hi interpreter and to the compiler (comp.sd7).
- The "ftp7.sd7" example program was improved to support the command
  "help".
- The "sydir7.sd7" example program was improved to accept Unix and
  DOS paths.
- The directions N, S, W, E were renamed to NORTH, SOUTH, WEST and
  EAST in "dna_base.s7i", "blue.dna", "green.dna", "indigo.dna",
  "red.dna", "tan.dna", "violet.dna" and "white.dna".
- Result variables were renamed in "bigrat.s7i", "complex.s7i",
  "rational.s7i" and "time.s7i".
- Interpreter, compiler and runtime library (files "cmd_unx.c",
  "cmd_win.c", "cmd_drv.h", "cmdlib.c", "cmdlib.h" and "primitiv.c")
  were improved to support the new action "CMD_START_PROCESS".
- A definition of the function 'startProcess' was added to the
  "shell.s7i" library.
- The function get_primact in "actutl.c" was improved to suppress
  writing the list of actions, which are implemented by the same
  function.
- The function timNow() in "tim_dos.c", "tim_unx.c" and "tim_win.c"
  and the functions timFromTimestamp() and timSetLocalTZ() in
  "tim_rtl.c" were improved to use localtime_s(), when the
  prepocessor macro USE_LOCALTIME_S is defined.
- An include command for "math.s7i" was added to "bas7.sd7",
  "lander.sd7" and "planets.sd7".

20111111:
- Documentation comments were improved in "dir.s7i", "stdio.s7i"
  and "enable_io.s7i".
- Test cases for the operators 'sci' and 'exp' in "chkflt.sd7" were
  changed to succeed on all supported platforms.
- The compiler (comp.sd7) was improved, to create better debugging
  information for compiler generated (DYNAMIC) dispatcher functions.
- The compiler was improved to define and use the macro 'do_setjmp'
  and to work correctly for empty programs.
- The program "chkccomp.c" was improved to write one of the
  preprocessor macros ROUND_HALF_TO_EVEN, ROUND_HALF_UP or
  ROUND_HALF_AWAY_FROM_ZERO to "version.h". This macros describe
  the rounding behaviour, when float values are converted to
  strings with 'printf'.
- Result variables were renamed in "echo.s7i", "gzip.s7i",
  "line.s7i",, "external_file.s7i" "null_file.s7i", "osfiles.s7i",
  "stdio.s7i", "strifile.s7i", "stritext.s7i" and "utf16.s7i".
- The files "drw_win.c", "fil_win.c" and "striutl.c" were improved
  to reduce the number of compiler warnings.

20111101:
- Documentation comments were improved in "scanfile.s7i",
  "scanstri.s7i" and "float.s7i".
- The operators 'sci' and 'exp' were added to "float.s7i". This
  operators write floating point values in scientific notation.
- Test cases for the operators 'sci' and 'exp' were added to
  "chkflt.sd7".
- The function 'getInteger' was added to "scanfile.s7i" and
  "scanstri.s7i".
- The "comanche.sd7" webserver was improved to write information
  about the option -? respectively -h, when an error was found.
- The compiler (comp.sd7) was improved, to create better debugging
  information for compiler generated create, destroy, copy and
  times functions (actions: ARR_CREATE, HSH_CREATE, SCT_CREATE,
  ARR_DESTR, HSH_DESTR, SCT_DESTR ARR_CPY, HSH_CPY, SCT_CPY and
  ARR_TIMES).
- The creation of code for for-loops in the compiler was improved.
- Test cases for the for-loop were added to "chkprc.sd7".
- Interpreter, compiler and runtime library (function 'fltSci' in
  "flt_rtl.c") were improved to support the new action "FLT_SCI".
- The debugging options in "mk_msvc.mak" were improved.
- Parameters were renamed in the files "color.s7i", "complex.s7i",
  "time.s7i", "duration.s7i" and "shell.s7i".

20111014:
- The FAQ answer, explaining the -v option of the interpreter, was
  improved.
- The function 'skipSpaceOrTab' was added to "scanstri.s7i".
- Documentation comments were added to "utf8.s7i".
- The compiler (comp.sd7) was improved to generate better code for
  the actions "INT_POW" and "STR_APPEND".
- The support for macros, in the "make7.sd7" utility, was improved.
- The files "drw_x11.c", "findid.h" and "scanner.c" were changed to
  reduce the number of warnings issured by clang.
- Functions were moved from "kbd_rtl.c" to the new file "gkb_rtl.c"
  and prototypes were moved from "kbd_rtl.h" to the new file
  "gkb_rtl.h". This was done together with changes in the makefiles,
  to avoid linker errors, when programs are compiled with -O2.
- The function 'processOptions' in "hi.c" was improved to support
  the new logic of the option -v.

20111003:
- A check for MEMORY_ERROR was removed from "chkexc.sd7" (thanks to
  Pietro Cerutti for pointing out problems under 64-bit FreeBSD).
- Documentation comments in "complex.s7i", "draw.s7i", "float.s7i",
  "external_file.s7i", "forloop.s7i", "html_ent.s7i", "keybd.s7i",
  "null_file.s7i", "socket.s7i", "stdio.s7i" and "xml_ent.s7i" were
  improved.
- The compiler (comp.sd7) and the makefiles were improved, such that
  executables only link console libraries (ncurses, etc.), when
  necessary.
- The function 'encodeHtmlContent' was added to "html_ent.s7i".
- The function 'fromPercentEncoded' was moved from "cgi.s7i" to
  "encoding.s7i".
- The functions 'toPercentEncoded', 'toUrlEncoded' and
  'fromUrlEncoded' were added to the library "encoding.s7i".
- Compiler, runtime libraries and makefiles were improved to support
  the configuration macros CONSOLE_LIB (name of the Seed7 console
  library) and SYSTEM_CONSOLE_LIBS (link option for the console
  library of the OS).
- The makefiles were improved to write all dependencies in the file
  "depend", instead of "depend", "a_depend", "b_depend", "c_depend"
  and "d_depend".

20110918:
- Support for 'drwGetPixel' was added to the compiler (thanks to
  DJ Redick, for reporting compilation problems with wator.sd7").
- FAQ answers, explaining how interpreter and compiler search for
  include libraries, were improved.
- The function 'str', which converts a bigInteger number to a string
  representation with a given base, was added to "bigint.s7i".
- Documentation comments in "float.s7i" and "socket.s7i" were
  improved.
- In "float.s7i" the function 'isnan' was renamed to 'isNaN' and the
  function 'isNegativeZero' was added.
- Runtime library and compiler (comp.sd7) were improved, such that
  float operations work according to IEEE 754.
- The test program "chkflt.sd7" was improved to check IEEE 754
  floating point conformance.
- The program "chk_all.sd7" was improved to call "chkflt.sd7".
- The "bas7" example program was improved (functions 'ERL' and 'LIST'
  added, division by zero handled correctly).
- BigInteger multiplication in the compiler was improved to use
  'bigSquare', when a number is multiplied with itself.
- The compiler was improved to take into account that the actions
  "SCR_" were renamed to "CON_".
- The performance of 'bigCmp' and 'bigFromInt32' in "big_rtl.c", was
  improved.
- The program "chkccomp.c" was improved to check the IEEE 754
  support. It checks comparisons with NaN, the creation of negative
  Zero and the 'pow' function with a zero base.
- To reach IEEE 754 floating point conformance the functions flt_cmp,
  flt_eq, flt_ge, flt_gt, flt_isnegativezero, flt_le, flt_lt, flt_ne,
  flt_pow in "fltlib.c" and the functions setupFloat, fltCmp, fltEq,
  fltGe, fltGt, fltIsNegativeZero, fltLe, fltLt, fltPow, fltStr in
  "flt_rtl.c" were added or improved.
- The makefiles were improved to link "chkccomp.c" with the math
  library (e.g.: -lm).

20110904:
- Declarations were moved from "seed7_05.s7i" to the new library
  "forloop.s7i".
- For-loops, with traverse array elements and keys, were introduced
  in "seed7_05.s7i".
- Test cases for bigInteger exponentiation, when it raises an
  exception, were added to "chkexc.sd7".
- The recognition of constant expressions and their use to optimize
  the program in the compiler ("comp.sd7"), was improved.
- Compiler options, to control the optimization of constant
  expressions, were introduced. Allowed options are -oc0 (no
  optimization), -oc1 (default), -oc2 and -oc3 (best optimization).
- The functions 'bigSquare' and 'bigLog2BaseLShift' were added to
  "big_rtl.c" and "big_gmp.c" and used by the compiler.
- The functions 'uBigDigitSquare', 'uBigKaratsubaSquare' and
  'uBigSquareK' were added to "big_rtl.c".
- The functions 'uBigDecr', 'uBigMultNegativeWithDigit',
  'uBigMultPositiveWithNegatedDigit', 'bigAbs', 'bigGrow',
  'bigMultSignedDigit', 'bigRShiftAssign' and 'bigShrink' in
  "big_rtl.c" were improved.
- A free list memory management for 'biginttype' (bigInteger) values
  was introduced in "big_gmp.c".
- All occurrences of the macro UTF32_STRINGS in *.c and *.h files
  were removed. Strings will always use UTF-32 encoded characters.
  Strings restricted to byte elements must use a different type.
- The functions 'conWrite' (in "con_rtl.c") and 'conText' (in
  "con_win.c") were improved to allow writing Unicode characters to
  the console.
- The random number generator (functions 'uint_rand' and 'intRand'
  in "int_rtl.c") was improved.
- The functions 'stri_to_wstri' and 'stri_to_bstriw' were added to
  "striutl.c".
- The experimental function 'inputReady' was added to "file.s7i",
  "external_file.s7i", "comp.sd7", "fil_unx.c", "fil_win.c" and
  "fil_drv.h". Because of buffering issues, 'inputReady' does
  currently not work correctly for pipes.
- Support for 'SOC_INPUT_READY' was added to the compiler (comp.sd7).
- The experimental function pipe2 was added to "shell.s7i".
- Test cases for bigInteger multiplication and squaring were added
  to "chkbig.sd7".
- The type 'flisttype' was introduced in "common.h" and used in
  "heaputl.h", "big_rtl.c" and "big_gmp.c".

20110816:
- An explanation how the syntax of Seed7 is defined, was added to
  the FAQ.
- Documentation comments were added to "math.s7i", "shell.s7i"
- A declaration of Euler's number was added to "math.s7i".
- The function 'getCommandLineWord' was added to "scanstri.s7i".
- The functions 'shell', 'cmd_sh', 'popen' and 'popen8' in
  "shell.s7i" were improved to work correctly under the supported
  operating systems, even when command and parameters contain
  spaces.
- The library "screen.s7i" was renamed to "console.s7i" and the
  function 'open(SCREEN)' was renamed to 'open(CONSOLE)'.
- The makefile "mk_bcc32.mak" was improved to work correctly for
  version 6.71 of bcc32 (thank you to the anonymous google account
  user, for posting his findings to the Seed7 forum).

20110801:
- The left and right shift operators for bigInteger were improved
  to work with negative shift counts. Left shifting with a negative
  shift count results in a right shift. Right shifting with a
  negative shift count results in a left shift.
- The interpreter was improved to default to non-verbose program
  parsing (verbose parsing is done with -v or -v2).
- The chapter explaining 'float' in the manual was improved.
- The "draw.s7i" library was improved to contain the functions
  'getPixelColor' (obtain the color of a specified pixel from a
  window or pixmap) and 'pixelToColor' (convert a pixel value to a
  color).
- The function 'newPixmap' in "draw.sd7" and the files "drw_x11.c"
  and "drw_win.c" were improved to allow creating pixmaps, when no
  window was opened.
- Documentation comments were added to "integer.s7i", "string.s7i"
  and "wrinum.s7i".
- The function 'inputReady' was added to the "socket.s7i" library.
- The "string.s7i" library, interpreter and compiler were improved
  to support an overloaded version of the @:= operator. With
  stri @:= [5] "abc"; the characters 5 to 7 in stri are overwritten
  with "abc" (the primitive action is "STR_POSCPY").
- The function 'daysInMonth' was added to the "time.s7i" library.
- Declarations were moved from "seed7_05.s7i" to the new library
  "char.s7i".
- Checks were added to "chkbig.sd7", "chkexc.sd7", "chkstr.sd7"
- The performance of 'uBigIncr', 'uBigDecr', 'bigDecr', 'bigIncr',
  'bigPred', 'bigPredTemp', 'bigSucc' and 'bigSuccTemp' in
  "big_rtl.c", was further improved.
- The performance of 'bigImport' and 'bigCLit' in "big_rtl.c", was
  improved.
- The handling of the action "ARR_IDX" in the compiler (comp.sd7)
  was improved.
- The functions 'bigLShift', 'bigLShiftAssign', 'bigRShift' and
  'bigRShiftAssign' in "big_rtl.c" were adjusted to the new shift
  behaviour for bigInteger values.
- The prototypes of 'wgetenv' and 'wsetenv' in "cmd_win.c" were
  improved to use the const qualifier.
- The macros HEAP_REALLOC_BIG and REALLOC_BIG_CHECK_SIZE in
  "big_rtl.c" and the macros HEAP_REALLOC_STRI, GROW_STRI and
  REALLOC_STRI_CHECK_SIZE in "heaputl.h" were improved to avoid
  unused expression results (which get a warning with clang).
- The operator lpad0 (function strLpad0 in "str_rtl.c") was improved
  to add zero characters ('0') after an optional leading sign
  ('+' or '-').

20110717:
- FAQ answers, explaining how interpreter and compiler look for
  include libraries, were improved.
- The 'str' function for 'duration' values was improved to provide
  micro seconds, when they are not zero.
- Two 'getHttp' functions in "gethttp.s7i" were improved to allow
  redirections which refer to other redirections.
- A documentation comment was written for 'getHostname' in
  "socket.s7i".
- Checks for left shift in "chkint.sd7" were improved to check only
  cases were no overflow occurs.
- Checks for the 'pos' function were added to "chkstr.sd7".
- The performance of 'uBigIncr', 'uBigDecr', 'bigDecr', 'bigIncr',
  'bigPred', 'bigPredTemp', 'bigSucc' and 'bigSuccTemp' in
  "big_rtl.c", was improved.
- The functions 'processBackslash' and 'CommandLineToArgvW' were
  added to "cmd_win.c".
- The function 'wgetenv_wstri' was renamed to 'wgetenv' in
  "cmd_win.c".
- The functions gkbGetc, processEvents, gkbKeyPressed,
  mouseButtonPressed, keyboardButtonPressed, gkbButtonPressed,
  gkbRawGetc, gkbButtonXpos, gkbButtonYpos and drwFlush were moved
  from "drw_x11.c" to the new file "gkb_x11.c".
- The performance of 'strPos' in "str_rtl.c", was improved.
- The compiler was improved to generate the function
  'int_raise_error' and to use the function 'raiseError' to create
  calls of 'int_raise_error'.
- The compiler (comp.sd7) was improved to generate better code for
  the action "REF_TRACE", when the object category is REFOBJECT.
- The generation of the string constant table, in the compiler, was
  improved.
- The configuration macro OS_PATH_WCHAR was renamed to OS_STRI_WCHAR
  in several files.
- The macro os_getenv_string_free was defined in "os_decls.h".
- The functions seekFileLength, offsetTell and offsetSeek in
  "fil_rtl.c" were improved to provide their functionality optionally
  with os_fgetpos and os_fsetpos.
- The function offsetSeek in "fil_rtl.c" was improved to return -1,
  when the offset does not fit into the offset type used by the seek
  function of the operating system.
- Makefiles and C source files were changed to use 'os_fopen' instead
  of 'wide_fopen' and 'fopen'.

20110703:
- A new example program (ftpserv.sd7), a FTP (file transfer protocol) server,
  was added.
- The type listener (defined in "socket.s7i") was improved. Now a listener
  manages its accepted sockets.
- The new function 'waitForRequest' was added to "socket.s7i". It allows to
  wait until a request can be read or an incoming connection is accepted.
  With 'waitForRequest' a server is able to handle interleaved requests from
  multiple clients.
- The functions 'eof' and 'hasNext' in "socket.s7i" were improved to work
  like the corresponding functions of other files.
- The type socketAddress (defined in "socket.s7i") was improved to support
  comparisons with '=' and '<>'.
- The compiler (comp.sd7) and the makefiles were improved, such that
  executables only link graphic libraries (X11 or gdi), when necessary.
- The makefile mk_djgpp.mak was introduced. It allows compilation under DOS
  with DJGPP.
- Support for Cygwin was improved to allow graphics with Cygwin/X.
- The functions 'compare' and 'hashCode' were added to the "file.s7i"
  library. This allows files as keys of hash tables.
- Documentation comments were added or improved in the files "complex.s7i",
  "file.s7i", "font.s7i" and "socket.s7i".
- The "ftp.s7i" library was improved to accept multiple line responses.
- The function 'quoteHtmlAttrValue' was added to "html_ent.s7i".
- The functions 'clear' in "screen.s7i" and "windows.s7i" were improved to
  position the cursor in the top left edge.
- The "comanche.sd7" webserver was improved to allow the specification of a
  port and to write help information, when it is called with -h or -? .
- The "make7.sd7" utility was improved to support the option -i .
- The meaning of the configuration macros SEED7_LIB, COMP_DATA_LIB and
  COMPILER_LIB was changed to contain library names without path.
- Compiler, runtime libraries and makefiles were improved to support the
  configuration macros DRAW_LIB (name of the Seed7 graphic library),
  SYSTEM_DRAW_LIBS (link option for the graphic library of the OS) and
  S7_LIB_DIR (absolute path of the Seed7 runtime libraries).
- The new file "os_decls.h", which defines macros for OS calls and structs,
  was added. The definitions in "os_decls.h" were moved from "common.h".
- The file "setpaths.c" was improved to work under DOS and to be able to
  handle the codepages 437 and 850.
- Functions in "striutl.h" were improved to decode operating system strings
  with UTF-16 surrogate pairs to the UTF-32 strings of Seed7. Decoding and
  encoding between codepages (437 and 850 are supported) and the UTF-32
  strings of Seed7 was also added.
- The function 'socSelectInput' (defined as 'selectInput' with the action
  "SOC_SELECT_INPUT" in "socket.s7i") was added to "soc_rtl.c".
- The function 'socInetAddr' in "soc_rtl.c" (defined as 'inetSocketAddress'
  with the action "SOC_INET_ADDR" in "socket.s7i") was improved to return
  an empty socket address when the host could not be found.
- The function 'openInetSocket' in "socket.s7i" was improved to return
  STD_NULL when the socked could not be opened.
- The compiler was improved to support the actions "SOC_HAS_NEXT" and
  "SOC_SELECT_INPUT".
- The functions 'readVolumeName' and 'closeVolumeList' were moved from
  "cmd_win.c" to "dir_rtl.c".
- The function 'openVolumeList' was added to "cmd_unx.c".
- The functions 'drwOpen' and 'drwOpenSubWindow' were changed to raise
  FILE_ERROR when it is not possible to open a window.
- Calls of 'getenv' in 'examineSearchPath' ("arr_rtl.c") and
  'init_lib_path' ("infile.c") were replaced with 'os_getenv'.
- Several explanations were added to the file "src/read_me.txt".
- The file "soc_dos.c" was added and the files "scr_dos.c" and "scr_wat.c"
  were improved.
- The function 'prot_os_stri' was added to "traceutl.c".
- The handling of the element 'tm_isdst' from 'struct tm' (filled when
  localtime() is called) was changed. Now the the flag 'is_dst' is only
  set when tm_isdst > 0 holds.

20110619:
- A new example program (ftp7.sd7), an FTP internet file transfer program,
  was added.
- The "ftp.s7i" library, which supports the FTP protocol, was added.
- The functions 'numericAddress', 'service' and 'getHostname' were added to
  the "socket.s7i" library.
- Support for the actions SOC_ADDR_NUMERIC, SOC_ADDR_SERVICE and
  SOC_GET_HOSTNAME were added to the compiler (comp.sd7).
- The compiler was improved to recognize unsupported options and superfluous
  parameters.
- The functions 'socAddrNumeric', 'socAddrService', 'socGetAddr', 'socSelect',
  'socSelectOne', 'socGetHostname' and 'socInputReady' were added to
  "soc_rtl.c" (some were commented out).
- The functions 'select_addrinfo' and 'dump_addrinfo' in "soc_rtl.c" were
  improved.
- The functions 'soc_addr_numeric', 'soc_addr_service', 'soc_get_addr',
  'soc_get_hostname', 'soc_input_ready' and 'soc_select' were added to
  "soclib.c" (some were commented out).
- The file "soc_rtl.c" was improved to reduce the number of compiler warnings.
- Documentation comments were improved in the file "socket.s7i".
- Compiler, runtime libraries and makefiles were improved to support the
  configuration macro CPLUSPLUS_COMPILER.

20110605:
- The new libraries "boolean.s7i", "integer.s7i" and "string.s7i" were
  added. The contents of this libraries were extracted from the "seed7_05.s7i"
  library. They are included from "seed7_05.s7i", so no change in existing
  programs is necessary.
- Declarations of color constants were moved from "draw.s7i" to "color.s7i".
- The declaration of 'graph_file' was moved from "draw.s7i" to the new
  library "graph_file.s7i".
- The declaration of 'duration' was moved from "time.s7i" to the new
  library "duration.s7i".
. The declaration of 'pixmapFontFile' was moved from "pixmapfont.s7i" to
  the new library ""pixmap_file.s7i".
- The functions 'getATime', 'getCTime', 'getMTime', 'setATime' and 'setMTime'
  were moved from "time.s7i" to "osfiles.s7i"
- The function 'bigFileSize' was moved from "bigfile.s7i" to "osfiles.s7i".
- Documentation comments were added or improved in the files
  "bigint.s7i", "bigrat.s7i", "bitmapfont.s7i", "complex.s7i", "dir.s7i",
  "duration.s7i", "echo.s7i", "enable_io.s7i", "external_file.s7i",
  "file.s7i", "float.s7i", "font.s7i", "graph_file.s7i", "integer.s7i",
  "keybd.s7i", "line.s7i", "math.s7i", "null_file.s7i", "osfiles.s7i",
  "pixmap_file.s7i", "rational.s7i", "screen.s7i", "socket.s7i", "stdio.s7i",
  "strifile.s7i", "string.s7i", "utf16.s7i", "text.s7i", "time.s7i" and
  "window.s7i".
- The function 'read_zip_dir' was added to the "zip.s7i" library.
- Checks for length, tell and seek with STD_NULL were added to "chkexc.sd7".
- Interpreter, compiler and runtime library were improved to support the
  action STR_RIPOS. This allows searching for a string from a given position
  to the left.
- Checks for the function 'rpos' were added to "chkstr.sd7".
- Documentation comments were added or improved in the files "big_rtl.c",
  "str_rtl.c" and "int_rtl.c".
- The experimental actions REF_CAST, ITF_TO_HEAP and ITF_TO_INTERFACE were
  added.
- The functions 'disconnect_entity' and 'disconnect_param_entities' were
  added to "name.c".
- The function 'act_create' in "actlib.c" was improved to remove the names
  from the formal parameters. This is done with 'disconnect_param_entities'.

20110522:
- FAQ answers, explaining that Seed7 is not a descendant of Pascal and
  how Seed7 uses abstract data types, were added.
- Documentation comments were added or improved in the files "bigfile.s7i",
  "bigint.s7i", "bigrat.s7i", "binary.s7i", "cgi.s7i", "charsets.s7i",
  "complex.s7i", "encoding.s7i", "float.s7i", "getf.s7i", "gzip.s7i",
  "inifile.s7i", "keybd.s7i", "rational.s7i", "shell.s7i", "socket.s7i",
  "strifile.s7i", "stritext.s7i", "time.s7i", "utf16.s7i", "utf8.s7i",
  "fil_rtl.c" and "ut8_rtl.c".
- The new libraries "color.s7i", "enable_io.s7i", "external_file.s7i",
  "file.s7i", "null_file.s7i", "osfiles.s7i", "stdio.s7i", and "text.s7i"
  were added. The contents of this libraries were extracted from the
  "seed7_05.s7i" library. Programs, which need functionality from
  "text.s7i", "osfiles.s7i" or "color.s7i", must now include them.
- To keep basic compatibility, the "stdio.s7i" library is included from
  "seed7_05.s7i", but in a future version this may change. To cope with
  this change programs, which use standard I/O, should include "stdio.s7i".
- The interpreter and the runtime library were improved to support forward
  declarations of variables (the action DCL_FWDVAR is used for this purpose).
- All usages of the function 'fileExists' and its definition in the
  "seed7_05.s7i" library, were removed. The functions 'fileType' and
  'fileOpenSucceeds' can be used as replacement.
- Checks for 'sqrt' were added to the "chkbig.sd7" program.
- The bigInteger 'sqrt' function was improved, to return 0_ for sqrt(0_)
  instead of raising an exception.
- The logic of 'null_file' and 'socket' was changed, such that the functions
  'length', 'seek' and 'tell' raise FILE_ERROR (This files are not seekable).
- The function 'replaceHexChars' in "cgi.s7i" was renamed to
  'fromPercentEncoded'.
- The function 'removeUtf16SurrogatePairs' in "charsets.s7i" was renamed
  to 'replaceUtf16SurrogatePairs'.
- The new function 'openSocket' was introduced in "socket.s7i".
- Unnecessary definitions were removed from "graph.s7i".

20110508:
- FAQ answers about Seed7s application area, Unicode support, Seed7s
  closures and how the compiler implements them, were added.
- A new example program (sydir7.sd7), an utility to synchronize directory
  trees, was added.
- The comanche.sd7 webserver was improved to use the Seed7 interpreter (hi)
  to execute CGI scripts with the extension ".sd7".
- Interpreter, compiler and runtime library were improved to support the
  action CMD_TO_OS_PATH.
- The compiler (comp.sd7) was improved to create #line directives with the
  path notation of the operating system.
- The file "setpaths.c" was added. It is used during the make process to
  write the configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB
  and SEED7_LIBRARY to the file "version.h".
- The makefiles mk_mingw.mak, mk_nmake.mak, mk_msvc.mak, mk_bcc32.mak and
  mk_bccv5.mak were improved to use the new file "setpaths.c", instead of
  creating their own versions of "setpaths.c".
- The configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB and
  SEED7_LIBRARY were changed to use the standard path representation and
  UTF-8 encoding.
- The function relativeToProgramPath was added to the file "striutl.c".

20110424:
- Information about the lines of code in Seed7 was added to the FAQ.
- The FAQ answers about supported operating systems and the analyze
  phase of the interpreter, were improved.
- Several spelling errors in the FAQ and in the manual were fixed.
- The appearance of tables in the FAQ and in the manual was improved.
- Variants of the function 'timAwait', which work with poll() and ppoll(),
  were added to the file "tim_unx.c".
- The makefiles "makefile", "mk_linux.mak", "mk_cygw.mak" and "mk_osx.mak"
  were improved to select one version of the function 'timAwait'.
- Descriptions of the configuration macros AWAIT_WITH_POLL,
  AWAIT_WITH_PPOLL, AWAIT_WITH_SIGACTION and AWAIT_WITH_SIGNAL were added
  to the file "src/read_me.txt".

20110403:
- The compiler (comp.sd7) was improved to generate less code to initialize
  arrays. Repeated elements in array initializations are recognized and
  the initialization is done with loops instead of individual assignments.
  When compiling panic.sd7 this optimization reduces the size of the
  generated C program by 77% and the size of the executable by 69%.
- The compiler (comp.sd7) was improved to generate string literals with
  reduced space requirements.
- The function 'getArgv' in "arr_rtl.c" was changed to assume that the
  parameters 'arg_0' and 'exePath' are not NULL.
- The code, to recognize constant expressions in the compiler, was improved.
- The superfluous functions 'gkbXpos' and 'gkbYpos' were removed from
  "drw_dos.c".

20110320:
- An explanation where the interpreter looks for include files, was added to
  the FAQ.
- An explanation how the directory of the predefined include libraries
  is determined, was added to the FAQ.
- An explanation how the Seed7 compiler gets information about C compiler and
  runtime, was added to the FAQ.
- A description of several C preprocessor macros used in "version.h" was
  added to the file "src/read_me.txt".
- Missing functions were added to the file "drw_dos.c".
- The function 'bstTail' was added to the file "bst_rtl.c".

20110306:
- The support for CGI programs in the comanche.sd7 webserver was improved.
- The first steps towards evaluating pure functions in the compiler (when they
  are called with constant parameters), were done.
- The compiler (comp.sd7) was improved to generate code with fewer temporary
  variables for the actions SET_ELEM and SET_NOT_ELEM.
- The function 'evaluate' (defined in "progs.s7i" and implemented in "exec.c",
  "prglib.c" and "prg_comp.c") was improved to work correctly when the
  evaluation raises an exception.
- Parameter names were added to the prototypes in the files "exec.h",
  "executl.h", "expr.h", "identutl.h", "match.h", "objutl.h", "name.h",
  "object.h", "parser.h", "runerr.h", "symbol.h" and "token.h".
- The files "memory.c" and "memory.h" were renamed to "objutl.c" and
  "objutl.h" respectively.
- The function 'uintCmpGeneric' was introduced in the file "int_rtl.c" and
  used in compiled programs.
- The example programs "chk_all.sd7" and "chkprc.sd7" were improved.
- The file "drw_x11.c" was changed to reduce the number of warnings generated
  by the C compiler.
- Missing functions were added to the file "drw_dos.c".

20110220:
- The handling of closure parameters in the compiler (comp.sd7) was improved.
- A free string memory management for small strings was introduced in
  "heaputl.h". This improves the performance of some programs with string
  processing by up to 20 percent.
- The "socket.s7i" library was improved to provide protocol independent
  network access.
- The function 'addrFamily' was added to the "socket.s7i" library.
- Several changes were done to support compiling with a C++ compiler.
- The compiler (comp.sd7) was improved to generate runtime library prototypes
  with const qualifier.
- The macros 'likely' and 'unlikely' were added to if-statements checking for
  exception conditions in the files "cmd_rtl.c" and "soc_rtl.c".
- The const qualifier was added to function prototypes in "hsh_rtl.c" and
  "hsh_rtl.h".
- The functions 'socInetAddr', 'socInetLocalAddr' and 'socInetServAddr' in
  "soc_rtl.c" were improved to optionally use the function 'getaddrinfo'.
  With 'getaddrinfo' it is possible to access computers with IPv4 and IPv6
  addresses. For Linux this feature is activated.
- Interpreter, compiler and runtime library were improved to support the
  action SOC_ADDR_FAMILY.
- The compiler (comp.sd7) was improved to generate better code when accessing
  the element of an array that was the result of another computation.
- The compiler (comp.sd7) was improved to generate code with fewer temporary
  variables for the actions ARR_IDX, ARR_LNG, STR_EQ and STR_NE.
- The initialization of string constants in the compiler was improved.

20110203:
- Many thanks to Bogdan Lisovich for his help to investigate and fix a
  compilation problem under Mac OS.
- The fannkuch-redux benchmark "fannkuch.sd7" from "Bart C" was added
  (Many thanks to "Bart C" for releasing "fannkuch.sd7" under the GPL).
- The comanche.sd7 webserver was improved to support CGI programs.
- The chapter explaining 'operating system access' in the manual was improved.
- The function 'getCgiParameters(file)' was added to "cgi.s7i".
- The functions 'setenv' and 'file(PROGRAM)' were added to "seed7_05.s7i"
- The interpreter and the compiler were improved to support the function
  'getenv'.
- Several changes were done to support compiling with a C++ compiler.
- The keyword INLINE was removed from the functions bigCmp, bigCreate,
  bstCmp, bstCreate, fltCmp, intCmp, rflCreate, setCmp, setCreate, strCompare
  and strCreate (C++ does not generate an externally visible function for
  inline functions).
- The compiler (comp.sd7) was improved to generate runtime library prototypes
  with constant types.
- The function timFromIntTimestamp was introduced in "tim_rtl.c" and used
  in "timlib.c" and in compiled code.
- The example programs dirtst.sd7, eliza.sd7, fib.sd7, gkbd.sd7, hamu.sd7,
  kbd.sd7, rand.sd7, rever.sd7, sl.sd7, snake.sd7 and tak.sd7 were improved
  to use the operator <& instead of multiple calls of write.
- The const qualifier was added to function prototypes in "arr_rtl.c",
  "arr_rtl.h", "big_rtl.c", "big_gmp.c", "big_drv.h", "blockutl.c",
  "blockutl.h", "drw_x11.c", "drw_win.c", "drw_drv.h", "fil_rtl.c",
  "fil_rtl.h", "ref_data.c", "ref_data.h", "soc_rtl.c", "soc_rtl.h",
  "tim_rtl.c", "traceutl.c" and "traceutl.h".
- The macro 'os_fstat_struct' was introduced in the files "mk_bccv5.mak",
  "common.h"" "infile.c", "fil_rtl.c", "cmd_rtl.c".
- Parameter names were added to the prototypes in the files "blockutl.h",
  "dir_win.h", "doany.h" and "traceutl.h".

20110116:
- The chapter explaining 'operating system access' in the manual was improved.
- The standard path representation was changed to forbid drive letters
  (instead of "C:" the standard path "/c" must be used).
- The programs comanche.sd7, comp.sd7 and make7.sd7 were improved to work
  with the new standard path representation.
- The spacing between characters in the standard bitmap fonts was improved.
- The example programs startrek.sd7, wiz.sd7, mind.sd7, wumpus.sd7 and
  addup.sd7 were improved to use the operator <& instead of multiple calls
  of write.
- In the "seed7_05.s7i" library the functions toStdPath and convDosPath were
  added and improved respectively.
- The interpreter and the compiler were improved to support for-until loops
  for the type 'ref_list'.
- The recognition of constant expressions in the compiler was improved.
- The initialization of hash constants in the compiler was improved to
  use the function hshEmpty when possible.
- The initialization of string constants in the compiler was improved to
  use string slices which point to an array of characters.
- The 'const' specifier and the macros 'likely' and 'unlikely' were added to
  several *.c and *.h files.
- The implementation of the function path(PROGRAM) in the interpreter was
  improved.
- The drawing functions for filled areas were improved in "drw_x11.c".
- The function 'create_hash' in "hsh_rtl.c" was improved.

20110102:
- The function convDosPath was added to the "seed7_05.s7i" library. It
  converts a path with backslashes and drive letters to the standard path
  representation. E.g.: "C:\seed7" is converted to "/c/seed7". When a path
  is already in the standard path representation it is left unchanged.
- Functions with path parameters or path result were improved to accept
  and return file paths with the standard path representation. The standard
  path representation uses a slash as path separator. Under Windows a
  standard path like "/c" is mapped to the drive letter "C:". Reading the
  directory "/" under Windows returns a list of available drives.
- The function path(PROGRAM), which returns the absolute path of the program,
  was added to the "seed7_05.s7i" library.
- The function dir(PROGRAM), which returns the directory containing the
  program, was added to the "seed7_05.s7i" library. The dir(PROGRAM) function
  allows placing configuration data in the directory of the program.
- The function getenv was improved to work with Unicode environment
  variables.
- The "bas7.sd7" Basic interpreter was improved to interpret RND() as RND
  and MID statements as equivalent to MID$ statements.

20101219:
- The handling of closures in the compiler ("comp.sd7") was improved. When
  possible closures are implemented with code inlining. When this is not
  possible closures are implemented with C functions and a corresponding
  data structure to hold the environment data.
- A new example program (make7.sd7), a make utility which can be used to
  manage the compilation process, was added. Make7 is capable to compile
  the Seed7 release with every mk_*.mak makefile released with Seed7.
- Code was moved from the "tar7.sd7" example program to the new library
  "tar.s7i". The "tar.s7i" library allows programs to deal with tar files
  without the need to call external programs.
- The directory seed7/bin was introduced as place for executables and
  runtime libraries. This should allow installing Seed7 by adding the
  seed7/bin directory to the PATH. Additionally the environment variable
  SEED7_LIBRARY can be defined to contain the path of the seed7/lib directory.
- The performance of the str function (conversion to string), for integer and
  bigInteger values, was improved.
- The standard bitmap fonts were improved to reduce the spacing between
  characters.
- The FAQ answers explaining portability and debugging were improved.
- The chapters explaining string functions and stack traces in the manual
  were improved.
- Tests for the 'lpad0' operator were added to the "chkint.sd7" program.
- Compiler and interpreter were improved to support the action BST_STR, which
  converts a byte string to an UTF-32 string.

20101205:
- The chapter explaining the file open function in the manual was improved.
- The file open function was improved to return STD_NULL on an attempt to
  open a directory.
- Interpreter and compiler were improved to support Unicode program arguments
  under Windows.
- The file "chkccomp.c" was added. It is used during the make process to
  determine properties of the C compiler and the C runtime library.
- The makefiles were improved to use the new generic file "chkccomp.c",
  instead of creating their own versions of "chkccomp.c".
- The time/duration field 'mycro_second' and the functions 'getMycroSeconds',
  'toMycroSeconds' and 'MYCRO_SECONDS' were renamed to 'micro_second',
  'getMicroSeconds', 'toMicroSeconds' and 'MICRO_SECONDS' respectively. This
  changes were done in the example programs and in the "time.s7i" library.
- The functions 'setATime' and 'setMTime' in 'time.s7i' were improved to raise
  RANGE_ERROR when the specified time is illegal or outside the allowed range.
- The carddemo.sd7 example program was improved to allow moving, raising and
  lowering cards with the mouse and mouse buttons.
- The function 'getHttp' in the "gethttp.s7i" library was improved to handle
  the status codes 301, 302, 303 and 307.
- The functions 'hashCode', 'compare', 'setContent', 'toBottom' and 'toTop'
  were added to the "graph.s7i" library and the compiler was improved to
  support them.
- Bitmap fonts were improved to allow scaling.
- The function 'skipSpaceOrTab' was added to the "scanfile.s7i" library.
- The "chkhsh.sd7" example program was improved.
- The compiler was improved to generate code, which defines functions for
  'hsh_create' and 'hsh_destr' before they are used.
- The compiler was improved to generate code with parenthesis around C comma
  operator expressions. This is necessary to allow using such an expression as
  argument of a C macro.
- The handling of the action 'bst_idx' in the compiler was fixed to use
  'bstritype' instead of 'stritype'.
- The compiler was improved to use the function 'generic_sct_cpy'. This
  function was introduced to allow changing an element of a hash, when the
  hash has struct elements.
- The "tar7.sd7" example program was improved to check if a file already
  exists.
- The function 'bst_cpy' in "bstlib.c" was fixed to use 'take_bstri' instead
  of 'take_stri'.
- The function 'cmdFileType' in "cmd_rtl.c" was improved to return FILE_ABSENT
  when one element in the path is not a directory.
- The "drw_x11.c" driver was improved: Expose events now draw only the exposed
  area. The exposed area is not cleared before the expose event is delivered.
  Expose events for the whole window are avoided, when a window is resized.
- The function 'drwFlush' in "drw_x11.c" now proceeds until no expose events
  are present.
- The function 'find_window' in "drw_x11.c" now manages the windows with a
  hash table instead of a linked list.
- The new function 'processEvents' in "drw_x11.c" looks for expose events and
  processes them.
- Documentation comments were added to the function 'filOpen' in the file
  "fil_rtl.c".
- The files "kbd_inf.c" and "kbd_poll.c" were improved to use utf8_mode also
  when the LANG environment variable contains the substring "utf8".

20101121:
- The chapters explaining integer and bigInteger in the manual were improved.
- Several improvements and a bugfix were done in the "gzip.s7i" library.
- The function openGunzipFile and other functions to support a gunzipFile
  were added to the "gzip.s7i" library.
- The "tar7.sd7" (tar archiving utility) example program was improved.
- The function getCStringLiteralText was added to the "scanstri.s7i" library.
- The function timeInTimeZone was added to the "time.s7i" library.
- Several tests of the integer power operator (**) were added to the
  "chkexc.sd7" program.
- The function check_power in the "chkint.sd7" program was improved.
- The compiler (comp.sd7) was improved to generate better code for the
  actions INT_POW and BIG_IPOW.
- The compiler was improved to use string slices for the actions STR_HEAD,
  STR_RANGE, STR_SUBSTR and STR_TAIL.
- The compiler and the files "seed7_05.s7i", "arrlib.c" and "arr_rtl.c" were
  improved to allow appending an element to an array with the &:= operator.
- String and array indexing functions in the compiler were improved.
- The file "seed7/read_me" was renamed to "seed7/read_me.txt".
- The function cmdConfigValue in "cmd_rtl.c" was improved to support the config
  values ALLOW_STRITYPE_SLICES and CC_SOURCE_UTF8.
- Several makefiles were changed such that #undef commands are not written
  to the file "version.h".
- Alternate versions of strAppend and strCopy, which support string slices,
  were added to the file "str_rtl.c".
- The functions strHeadSlice, strRangeSlice, strSubstrSlice and strTailSlice
  were added to the file "str_rtl.c".
- The memory management of strings in the files "heaputl.c" and "heaputl.h" was
  improved to support string slices.
- The files "ref_data.c", "reflib.c", "infile.c", "infile.h", "error.h",
  "info.c", "info.h", "match.c" and "runerr.c" were changed to improve the
  action REF_FILE.
- Parameter names were added to the prototypes in the *lib.h files.
- The function strLpadTemp was added to the file "str_rtl.c" and used in the
  compiler.

20101107:
- The chapter explaining exception handling in the manual was improved.
- The support for bitmap fonts was improved to use fontProperties as base type.
- The '-' function, which computes the difference of two 'time' values (with a
  'duration' result) in "time.s7i", was improved.
- The function cmdConfigValue in "cmd_rtl.c" was improved to support the config
  values C_COMPILER_VERSION and GET_CC_VERSION_INFO.
- In the file "fil_rtl.c" the functions myLseek, myFseek and myFtell were
  renamed to os_lseek, os_fseek and os_ftell respectively.
- The makefiles were changed to define os_fseek, os_ftell, C_COMPILER_VERSION
  and GET_CC_VERSION_INFO.
- Documentation comments were added to the function alternate_utime in the file
  "tim_win.c".

20101024:
- The FAQ answers explaining extensible programming and object orientation,
  were improved.
- The chapters explaining UTF-16 files and exception handling in the manual,
  were improved.
- The standard bitmap font was improved to define more characters.
- Documentation comments were added to the library "utf16.s7i".
- The "bas7.sd7" (Basic interpreter) example program was improved to avoid an
  endless loop when the label or line number of a goto does not exist.
- Several changes were done to improve the configuration of the Seed7
  interpreter.

20101010:
- The first steps towards support of bitmap fonts were done.
- The standard bitmap font was defined for the sizes 10, 12, 14, 16, 18 and 24.
- A new example program (testfont.sd7), which writes with the standard font
  in various sizes, was added.
- The initialization of the random number generator in the function
  uint_rand in "int_rtl.c" was improved.
- The function timMycroSec was defined in "tim_unx.c" and "tim_win.c".

20100919:
- The chapter explaining string indexing in the manual was improved.
- The compiler (comp.sd7) and the hi interpreter were improved to support the
  actions "ITF_CMP" and "ITF_HASHCODE".
- The parameter names of the functions arc, chord and pieslice in the
  "draw.s7i" library were changed to startAngle and sweepAngle.
- The compiler was improved such that compiled programs which use SIGALARM
  (the functions 'wait' and 'await' from the "time.s7i" library may use
  SIGALARM) can be terminated with ctrl-c followed by * and enter.
- Parameter names were added to the prototypes in the file "drw_drv.h".
- The function drwPFArcPieSlice in "drw_win.c" was implemented.
- The functions drwFCircle and drwPFCircle in "drw_x11.c were improved.

20100905:
- The chapter explaining the type 'time' in the manual was improved.
- The support for source level debugging in the compiler (comp.sd7) was
  improved. Now the option -g generates better #line directives and the 'main'
  function is arranged such that the current line shown by a debugger is
  correct when the program is started.
- In the "seed7_05.s7i" library the function "rpos" was overloaded to do a
  reverse search for a character in a string starting from a given position.
- The files "str_rtl.c", "strlib.c", "primitiv.c" and the compiler were
  improved to support the primitive action STR_RCHIPOS (which implements the
  new overloaded 'rpos' function).

20100822:
- A new example program (dragon.sd7), which draws a dragon curve, was added.
- A new example program (fractree.sd7), which draws a fractal tree, was added.
- The chapters explaining the types 'time' and 'duration' in the manual were
  improved.
- The '-' function, which computes the difference of two 'time' values (with a
  'duration' result) in "time.s7i", was improved.
- The functions 'daysInYear', 'getYears', 'getMonths', 'getDays', 'getHours',
  'getMinutes', 'getSeconds' and 'getMycroSeconds' were added to the "time.s7i"
  library.
- The "time.s7i" functions 'years', 'months', 'days', 'hours', 'minutes',
  'seconds' and 'mycro_seconds' were renamed to 'toYears', 'toMonths', 'toDays',
  'toHours', 'toMinutes', 'toSeconds' and 'toMycroSeconds' respectively.
- The "bas7.sd7" example program was improved to use the new "time.s7i"
  functions.
- The makefiles were improved to determine the size and the signedness
  (regarding the function 'localtime') of time_t values.
- The functions 'timToTimestamp' and 'timSetLocalTZ' in "tim_rtl.c" were
  improved to take the size and signedness of time_t into account.

20100801:
- The FAQ was improved to contain three main sections.
- Instructions to verify the correctness of the interpreter were added to the
  FAQ and to the file "src/read_me.txt".
- Instructions how to use the Seed7 interpreter were added to the FAQ.
- An explanation how static type checking works, when types are first-class
  objects, was added to the FAQ.
- The FAQ answers explaining the compilation of the Seed7 interpreter and how
  to compile Seed7 programs, were improved.
- References to the manual were added to several FAQ answers.
- The chapters explaining string literals, character literals, exceptions and
  stack traces in the manual were improved.
- Tests for the 'str' function, where the base of the number system is provided
  as parameter, were added to "chkint.sd7".
- The compiler (comp.sd7) was improved to generate better code for interface
  (dynamic) functions. Now a runtime exception is raised when no adequate
  implementation function is found.
- A definition of 'ACTION_ERROR' was added to "common.h" and "comp.sd7".
- The interpreters stack traces with function call notation, were improved.

20100718:
- The first steps towards support of variable functions and closures in the
  compiler ("comp.sd7") were done.
- The generation of code for 'for' loops and the 'div' operator in the compiler
  was improved.
- The compiler function 'getTemporaryToResultExpr' was improved to generate
  code without casts from 'floattype' to 'generictype'.
- The function 'rand_32' in "int_rtl.c" was renamed to 'uint_rand' and improved
  to work better for 64-bit integers.
- A bug that could occur when loading a saved game was fixed in the example
  program "castle.sd7".
- Tests for conversions from integer to float were added to the "chkflt.sd7"
  example program.

20100704:
- The Seed7 interpreter (hi) was improved to support stack traces with
  function call notation.
- The "progs.s7i" library was improved to support indexing and 'for' loops
  for 'bstring' values.
- Indexing tests for constant arrays were added to the "chkexc.sd7" program.
- The compiler was improved to generate code for array and string indexing with
  temporary values of type 'uinttype' instead of 'memsizetype'.
- The compiler was improved to generate code with the type 'rtlValueunion'
  instead of 'valueunion' (this is the same type as in the file "data_rtl.h").
- The compiler was improved to create dynamic dispatcher functions which copy
  a struct value when necessary (in function 'process_dynamic_action_call').
- The compiler ("comp.sd7") was improved to initialize constant 'bstring'
  values correctly.
- The compiler option -e was improved to create an executable which sends a
  signal when an uncaught exception occurs (A caught exception does not send
  a signal).
- The files "bstlib.c", "primitiv.c" and the compiler ("comp.sd7") were
  improved to support the primitive action BST_IDX (which allows indexing of
  'bstring' values).
- A definition of the type 'rtlStructtype' was added to "data_rtl.h".
- The files "traceutl.c" and "runerr.c" were improved to define and use the
  functions 'printformparam' and 'prot_name'.
- Variables were renamed in the files "strlib.c", "bstlib.c" and "ref_data.c".
- Checks for negative line and column values and casts to 'size_t' were
  added to the files "scr_inf.c", "scr_cap.c" and "scr_tcp.c".

20100620:
- Documentation comments were added to the libraries "graph.s7i", "keybd.s7i"
  and "time.s7i".
- The compiler (comp.sd7) was improved to support the option -te which enables
  tracing of exceptions in the generated executable.
- Some types generated by the compiler were renamed to make them unique (This
  helps a debugger to distinguish types when values are displayed).
- The declaration of 'flush' in "seed7_05.s7i" was improved (This way the
  compiled example program "sl.sd7" works with the correct cursor position).
- The functions 'prc_for_to' and 'prc_for_downto' in "prclib.c" were changed
  to terminate the loop when an exception was raised (This way the loop
  variable has the correct value when an exception occurs).
- The performance of the functions 'strAppend', 'strAppendTemp',
  'strConcatTemp', 'strHeadTemp' and 'strPush' in "str_rtl.c" was improved.
- Several functions in "big_rtl.c" were improved to avoid a MEMORY_ERROR in
  the strange case when a 'realloc' which shrinks memory fails.
- The function alloc_positive_copy_of_negative_big and its calls in "big_rtl.c"
  were improved to avoid memory leaks in out of memory situations.
- The functions 'bigIncr' and 'bigDecr' in "big_rtl.c" were improved to work
  as transactions in out of memory situations.
- The functions 'bigSuccTemp' and 'bigPredTemp' were improved to work without
  calling 'bigIncr' and 'bigDecr' respectively.
- The handling of constant expressions for values with the categories
  ARRAYOBJECT, STRUCTOBJECT, HASHOBJECT and INTERFACEOBJECT in the compiler
  was improved.
- The support for the actions "CMD_SHELL" and "REF_TRACE" in the compiler was
  improved.
- Code in the compiler was moved from the function 'generate_main' to
  'init_array_constants', 'init_struct_constants', 'init_hash_constants' and
  'init_interface_constants'.
- The creation of array constants in the compiler was improved to use a 'for'
  loop over a 'ref_list' instead of an 'integer' 'for' loop and an index
  access to an element of the (possible long) 'ref_list' (This speeds up
  compilation of programs with huge array constants).
- The function 'addTypeCategoryForLocalVars' was added to the compiler.
- The macro 'unlikely' was added to if statements which check for error
  conditions in the files "str_rtl.c", "big_rtl.c" and "heaputl.c".
- The macros 'likely' and 'unlikely' were defined in the file "common.h" and
  in several makefiles.
- Several functions in "flistutl.c" and "heaputl.c" were improved to produce
  a correct heap statistic.
- The const qualifier was added to function prototypes in "prg_comp.c" and
  "prg_comp.h".
- The functions 'prg_decl_objects', 'prg_error_count', 'prg_match',
  'prg_match_expr', 'prg_syobject' and 'prg_sysvar' in "prglib.c" were changed
  to call the corresponding functions from "prg_comp.c".
- The functions 'scr_setpos' and 'scr_write' in "scrlib.c" were changed to
  call the corresponding functions from "scr_rtl.c".
- The function 'printparam' was added to "traceutl.c".

20100606:
- An explanation of the difference between overloading and object orientation,
  was added to the FAQ.
- The function 'popen8', which opens an UTF-8 pipe, was added to the
  "shell.s7i" library.
- Checks for 'log2' were added to the "chkbig.sd7" program.
- Checks for file exceptions were added to the "chkexc.sd7" program.
- A check for the 'keys' function for hash tables was added to "chkhsh.sd7".
- A definition of voidHtmlElements, a set containing HTML element names which
  possibly have no closing tags, was added to the "html.s7i" library.
- The experimental function 'readHtml' was added to the "xmldom.s7i" library.
- Calls of 'rflNe' in the compiler "comp.sd7" were replaced with '!rflEq'.
- Checks with MAX_UTF8_EXPANSION_FACTOR were added to functions in "actutl.c",
  "cmd_rtl.c", "flt_rtl.c", "striutl.c", "str_rtl.c" and "syvarutl.c".
- The function "parseFile" was improved to work with Unicode file names and to
  raise FILE_ERROR when the file is not found or RANGE_ERROR when a backslash
  is used as path delimiter.
- The files arrutl.c and arrutl.h were removed and the function "qsort_array"
  was moved to "arrlib.c".
- Macros with name endings _SIZE_OK and _CHECK_SIZE were introduced in
  "heaputl.h" and used in various files.
- Comparisons with MAX_STRI_LEN and MAX_BSTRI_LEN were added in various files
  to make sure that there are no overflows when the size of a string or
  bstring is computed.
- Macros with name endings _SIZE_OK and _CHECK_SIZE were introduced and used
  in "big_rtl.c".
- The type 'offsettype' was renamed to 'os_off_t' in "fil_rtl.c" and the
  makefiles were improved to write a definition of 'os_off_t' to "version.h".
- When FTELL_WRONG_FOR_PIPE is defined it is assumed that fseek does also
  not work correctly for pipes.
- File read and write functions in "fil_rtl.c" and "ut8_rtl.c" are checked
  for error conditions and FILE_ERROR is raised when an error happens.
- The functions 'find_include_file' and 'init_lib_path' were improved and the
  function 'free_lib_path' was introduced in the file "infile.h".
- A comment was added to 'genPointList' in "graph.s7i" and the implementation
  of 'drwGenPointList' in "drw_x11.c" and "drw_win.c" was fixed.
- In several makefiles functionality was moved from the help program
  'chkftell.c' to 'chkccomp.c'.
- Parameter names were added to the prototypes in several header files.
- Declarations of a variable named 'cmp' were changed from 'int' to 'inttype'
  in the files "arrlib.c", "arr_rtl.c", "hshlib.c" and "hsh_rtl.c".
- The function 'rflNe' was removed from the file "rfl_data.c".

20100516:
- Seed7 now supports the 64-bit versions of Linux and Mac OS X. Many thanks
  to "Mensanator" for his help to reach this goal.
- The compiler (comp.sd7) was improved to generate C programs with fewer
  casts and with no parentheses around the right hand side of assignments.
- The compiler was improved to use the hash 'typeCategory' and 'category'
  values instead of various hashes like 'bigint_types'.
- The functions 'compare' and 'hashCode' were added to the "complex.s7i"
  library to allow complex numbers as keys for hash tables.
- The "progs.s7i" library was improved to allow 'case' statements for
  'category' values.
- The FAQ, explaining function and operator overloading, was improved.
- The "chk_all.sd7" example program was improved to remove an old executable
  before calling the compiler.
- The 'gets' function for UTF-8 files was improved to work correctly when
  reading from a pipe (see functions 'ut8Gets', 'read_and_alloc_utf8_stri'
  and 'read_utf8_string' in "ut8_rtl.c").
- The functions 'remainingBytesInFile', 'read_string', 'read_and_alloc_stri'
  and 'filGets' in "fil_rtl.c" were added or improved.
- The macros 'ALLOC_STRI' and 'REALLOC_STRI' and the functions 'growStri',
  'strMult', 'filGets', 'ut8Gets' and 'socGets' were improved to avoid
  overflows when the size of a memory request is computed.

20100502:
- The "chk_all.sd7" example program was improved to write detailed information
  when tests fail.
- The "shell.s7i" library was improved such that 'popen' behaves correctly
  when the created pipe is closed with 'close'.
- The compiler and the runtime library were improved to use the correct
  exception handling function in compiled and interpreted code (When the
  compiled compiler analyzes a source program the interpreter will execute
  some expressions).
- The macro processing of the compiler was improved to work better for
  function macros.
- The functions seekFileLength, offsetTell, offsetSeek, remainingBytesInFile,
  getFileLengthUsingSeek, getBigFileLengthUsingSeek, filBigLng, filBigSeek,
  filBigTell, filClose, filGets, filPclose, filSeek and filTell in
  "fil_rtl.c" were added or improved. This way the types integer and
  offsettype both can have a size of 32- or 64-bit in any combination.
- The function ut8Gets in "ut8_rtl.c" was improved to use remainingBytesInFile.
- The makefiles "mk_osx.mak", "mk_linux.mak", "mk_cygw.mak" and "makefile"
  were improved to define USE_FSEEKO. This causes the use of 'fseeko' and
  'ftello' as seek and tell functions in "fil_rtl.c".
- Support for the actions BST_CMP, BST_HASHCODE and FIL_PCLOSE was added to
  the interpreter and the compiler.
- The handling of types in the compiler was improved such that subtypes of
  'boolean', 'enum', 'integer', 'bigInteger', 'float', 'char', 'string' and
  'bstring' are supported better.
- A definition of the type 'bstring' was added to the "progs.s7i" library.
- The compiler and the interpreter were improved to support 'bstring' as key
  and value for hash tables and 'ref_list' as value for hash tables.
- A definition of an assignment statement for exceptions was added to the
  "seed7_05.s7i" library.
- Tests for the integer parse function were added to "chkint.sd7".
- The config value LITTLE_ENDIAN was renamed to LITTLE_ENDIAN_INTTYPE in
  several files.
- The compiler was improved to use the functions bstriLiteral and typeLiteral
  to write occurrences of 'bstring' and 'type' literals to the generated C
  program.
- The compiler was improved to create prototypes for the functions bstCmp,
  bstCmpGeneric, bstCreateGeneric, bstHashCode, bstValue, drwGenPointList,
  filClose, filPclose, rflCreateGeneric and typStr.
- The function rflCmp was added to "rfl_data.c".
- The handling of the flag FTELL_WRONG_FOR_PIPE was moved from "cmd_rtl.c"
  to "fil_rtl.c".
- Usages of the constant ULONG_MAX were replaced by UINTTYPE_MAX in the
  files "flt_rtl.c", "int_rtl.c" and "int_rtl.h".
- The function drwGenPointList was changed to use an array parameter in
  "drwlib.c", "drw_drv.h", "drw_win.c", "drw_x11.c" and "comp.sd7".
- The processing of bstParse, bstValue, drwPFArcPieSlice, setSConv, typStr
  and array cpy_* in the compiler was improved.
- The const qualifier was added to function prototypes in "rfl_data.c" and
  "rfl_data.h".

20100418:
- Many thanks to "Mensanator" for his help to debug some 64-bit / Mac OS X
  problems.
- The chapters explaining operating system files, primitive actions and the
  types 'float' and 'type' in the manual were improved.
- A free list memory management for small 'biginttype' (bigInteger) values
  was introduced in "big_rtl.c". This improves the performance of some
  programs by up to 40 percent.
- The macro definition of REALLOC_BIG in "big_rtl.c" was changed to cooperate
  with the free list memory management.
- The file common.h was improved to add a capacity to the struct bigintstruct.
- The graph.s7i library was improved.
- The chk_all.sd7 example program was improved to close the pipe files.
- The compiler (comp.sd7) was improved to handle empty structs correctly.
- The compiler was improved to produce better code when local functions use
  variables from surrounding functions.
- Some changes in the compiler were done to make sure that always the same
  C program is generated.
- The compiler was changed to create a typedef before a type is used.
- The compiler was improved to create data structure definitions which are
  helpful for a debugger.
- The compiler was improved to produce better code for the copy actions arr_cpy,
  big_cpy, bst_cpy, drw_cpy, prg_cpy, rfl_cpy, sct_cpy, set_cpy and str_cpy.
- The compiler was improved to produce better code for the actions prc_for_to,
  prc_for_downto, hsh_for, hsh_for_data_key, hsh_for_key.
- Casts were added to compiler generated function calls of bstCreate,
  bstDestr, bstCpy, arrBaselit, arrBaselit2, arrExtend, arrGen, drwFPolyLine,
  drwPolyLine, prgExec, rflHead, setSConv, prgDestr and to various other
  places.
- The compiler was improved to create prototypes for the functions bigGcd,
  bigOdd, bigPredTemp, bigSuccTemp, cmdChdir, cmdConfigValue, cmdMkdir,
  drwBackground, drwGenPointList, drwNewPixmap, drwPolyLine, drwFPolyLine,
  drwSetTransparentColor, prgDestr, prgExec, refType, rflHead, setIConv,
  setSConv, strGetenv, strToUtf8, strUtf8ToStri and setupFloat.
- The function ref_type in "reflib.c" was improved to reliably raise an
  exception when the type is NULL.
- Unused variables were removed in the files cards.s7i, draw.s7i, gzip.s7i,
  seed7_05.s7i, addup.sd7, bas7.sd7, carddemo.sd7, chk_all.sd7, comanche.sd7,
  comp.sd7, lander.sd7, mahjong.sd7, mandelbr.sd7, panic.sd7, sl.sd7,
  snake.sd7, sokoban.sd7, sudoku7.sd7 and tar7.sd7 .
- Return statements were changed to omit parentheses in the files actutl.c,
  analyze.c, bst_rtl.c, dir_dos.c, dir_rtl.c, dir_win.c, drw_rtl.c, fil_rtl.c,
  flt_rtl.c, hsh_rtl.c, kbd_inf.c, kbd_poll.c, kbd_rtl.c, reflib.c, rfl_data.c,
  soc_rtl.c, tim_rtl.c and ut8_rtl.c .

20100404:
- Many thanks to "Mensanator" for his help to investigate 64-bit and Mac OS X
  problems.
- The chk_all.sd7 check program was improved to check that the interpreted
  compiler and the compiled compiler generate the same C programs.
- Checks for 'set of char' were added to the "chkset.sd7" program.
- The compiler (comp.sd7) and the interpreter (hi) were improved to support the
  actions BST_EQ, BST_NE and BST_PARSE.
- The compiler (comp.sd7) was improved to support the actions BST_APPEND and
  CHR_CMP.
- The compiler (comp.sd7) was improved to make sure that the same types are used
  in generated C programs and in the runtime library.
- The generation of string constants in the compiler was improved to work
  correctly when the string size is stored as 64-bit unsigned value.
- The generation of set constants in the compiler was improved to work correctly
  when bitsettype elements have a size of 64-bit.
- The compiler was improved to use the union type 'valueunion' instead of
  'float2int'.
- The functions arrBaselit, arrBaselit2, arrExtend and arrGen in "arr_rtl.c"
  were changed to use parameters of type rtlGenerictype instead of rtlObjecttype.
- The functions bigCmpGeneric, chrCmpGeneric, fltCmpGeneric, intCmpGeneric,
  refCmpGeneric, setCmpGeneric, strCmpGeneric and typCmpGeneric were introduced
  as compare functions with parameters of type rtlGenerictype.
- The functions bst_append, bst_cpy, bstAppend and bstCpy (defined in "bstlib.c"
  and "bst_rtl.c") were improved to work correctly when source and destination
  are identical.
- The function cmdConfigValue in "cmd_rtl.c" was improved to support the config
  values INTTYPE_SIZE, FLOATTYPE_SIZE and LITTLE_ENDIAN.
- Several makefiles were changed to define FLOAT_SIZE, DOUBLE_SIZE and
  LITTLE_ENDIAN.
- The functions bigCreateGeneric, intCreateGeneric, drwCreateGeneric,
  setCreateGeneric and strCreateGeneric were introduced as create functions with
  a parameter and a result of type rtlGenerictype.
- The function intDestrGeneric was introduced as destroy function with a
  parameter of type rtlGenerictype.

20100321:
- Many thanks to "Mensanator" for his help to investigate the problems Seed7
  had on his 64-bit Mac OS computer. Many of the improvements towards support
  of 64-bit systems and Mac OS X result from his help (see below). Note that this
  release does not support 64-bit systems out of the box, but it certainly is a
  milestone to reach this goal.
- The FAQ, how to compile the interpreter, was improved.
- The file "read_me" was improved to explain compilation under Linux and to
  refer to "src/read_me.txt" for other operating systems.
- An explanation how to compile under Mac OS X was added to "src/read_me.txt".
- An explanation how to correct a make error and a linker error was added to
  "src/read_me.txt".
- The compiler (comp.sd7) was improved to use the function "integerLiteral" and to
  produce C code with more casts and an improved helemlist type.
- The prototype definitions for gkbKeyPressed, kbdKeyPressed, prgSysvar,
  refItftosct and typValue generated by "comp.sd7" were improved.
- All usages of '8 * sizeof(bigdigittype)' as shift count in "big_rtl.c" were
  replaced by 'BIGDIGIT_SIZE'.
- The makefiles and common.h were changed to make sure that int32type, uint32type,
  int64type and uint64type have the size implied by their name.
- The files big_gmp.c, big_rtl.c, drw_x11.c, error.c, fatal.c, match.c, stat.c,
  str_rtl.c and traceutl.c were improved to use better formats in printf() calls.
- Errors in bigToInt32 and bigToInt64 (file "big_rtl.c"), triggered by negative
  numbers when BIGDIGIT_SIZE is less than 32 and 64 respectively, were fixed.
- The function cmdConfigValue in "cmd_rtl.c" was improved to make sure
  that the same types are used in the interpreter and in the compiler (by
  providing an interface to INT32TYPE, UINT32TYPE, INT64TYPE, UINT64TYPE,
  INT32TYPE_LITERAL_SUFFIX, INT64TYPE_LITERAL_SUFFIX and POINTER_SIZE).
- The chkbig.sd7 program was improved with checks for the functions 'ord' and
  'bigInteger conv'.
- The chkint.sd7 program was improved with checks for powers of 2 and with more
  checks for the functions 'str' and 'integer conv'.
- The file "common.h" was improved to define several types and constants for
  integers of different sizes.
- The system to define the (text) screen and keyboard driver was improved to
  work without the file "inf_conf.h".
- The keyboard driver "kbd_inf.c" was improved to define the functions
  return_char_if_present(), consume_chars_present() (which both encapsulate calls
  of "tcsetattr") and key_table_init().
- A new keyboard driver "kbd_poll.c", which can be used when "tcsetattr" does not
  work correctly (e.g. under Mac OS X and Cygwin), was added.
- The makefiles "mk_osx.mak" and "mk_cygw.mak" were improved to use "kbd_poll.c".
- The interpreter option -v was improved to write the line numbers of all lines
  processed (changes in "option.h").
- Changes in "arrlib.c" were done to reduce the number of warnings generated by the
  C compiler.

20100307:
- The functions in the gethttp.s7i library were improved to allow the specification
  of a port number as part of the location (e.g.: localhost:1080/index.htm).
- The tarx.sd7 (tar archiving utility) example program was renamed to tar7.sd7 .
- The codepage 8859_11 was added to the charsets.s7i library.
- The bas7.sd7 (basic interpreter) example program was improved.
- The toutf8.sd7 example program was improved to write an explanation and to
  support several IANA/MIME charset names.
- An explanation what to do, when the path of the bcc32 C compiler contains a space,
  was added to 'src/read_me.txt'.
- Documentation comments were added to the charsets.s7i library.

20100221:
- The generation of '#line' directives in the compiler (comp.sd7) was improved.
  This allows better references to Seed7 source lines during debugging sessions.
- The makefile mk_bccv5.mak was added to support compilation with version 5.5 of
  the bcc32 C compiler.
- Several makefiles were changed to define LINKER_OPT_OUTPUT_FILE (the linker
  option which is used to specify the output file).
- A description of the C source files in the Seed7 package was added to the file
  'src/read_me.txt'.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.

20100207:
- The compiler (comp.sd7) was improved to support source level debugging with the
  option '-g' (comp.sd7 generates C programs with '#line' directives and the C
  compiler is called with a corresponding debugging option).
- An explanation what happens when an exception is not caught, was added to the
  FAQ.
- The chapter in the manual, which explains a stack trace, was improved.
- The flag 'mayRaiseRangeError' was added to the "bigint.s7i" library to describe
  that 'ord(bigInteger)' may raise RANGE_ERROR.
- The 'set of' type in "seed7_05.s7i" was improved to use 'HASHSET_OF' instead of
  'BITSET_OF' when 'mayRaiseRangeError' is defined for 'ord'.
- The function 'getBits' was renamed to 'getBitsLe' in "gzip.s7i" ('Le' describes
  that the bits are read in little endian order).
- A '=' operator was defined for 'HASHSET_OF' in "seed7_05.s7i".
- The 'strifile' functions 'getwd' and 'getln' were added to "strifile.s7i".
- The bas7.sd7 (basic interpreter) example program was improved.
- The compiler was improved to create executables where the message about an
  uncaught exception uses the file and line of the raise statement.
- Several improvements in the compiler were done to call special case functions
  for bigInteger operations.
- The experimental compiler option -e was introduced to send a signal when an
  exception occurs.
- The compiler was improved to write a message when it cannot remove the old
  executable.
- Several makefiles and the function 'cmdConfigValue' in "cmd_rtl.c" were improved
  to define CC_OPT_DEBUG_INFO and LINKER_OPT_DEBUG_INFO and to rename
  INHIBIT_C_WARNINGS to CC_OPT_NO_WARNINGS.
- The function 'bigZero', which initializes bigInteger variables with zero, was
  added to "big_rtl.c" and "big_gmp.c".
- The function 'bigNe' was removed from "big_rtl.c" and "big_gmp.c" (compiler
  and interpreter were changed to use a negation of "bigEq" instead).
- The function 'bigMultSignedDigit' was added to "big_rtl.c" and "big_gmp.c".
- A call of 'mpz_init' was added to the function 'bigImport' in "big_gmp.c".
- The 'normalize' function in "big_rtl.c" was improved to avoid resizing
  bigInteger values.
- The interpreter was improved such that the appearance of a stack trace is more
  like the one produced by a debugger.

20100117:
- The seed7_05.s7i library was improved to support union (|), intersection (&),
  difference (-) and symmetric difference (><) for sets implemented with hashes
  like 'set of string'.
- The "tarx.sd7" example program was improved to create archives correctly, even
  when the file names are longer than 100 chars.
- The bas7.sd7 (basic interpreter) example program was improved.

20100103:
- The chapter explaining operating system access in the manual was improved.
- The "tarx.sd7" example program was improved to uncompress files when the z option
  is used and to read file names with more than 100 chars correctly.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.

20091220:
- The chapter explaining parameters in the tutorial of the manual was improved.
- The chapter explaining priority and associativity in the manual was improved.
- The function copy_file in "cmd_rtl.c" was improved to use mmap() only up to a
  maximum size and to use munmap() to delete the mapped area.
- The function cmdRemove in "cmd_rtl.c" was improved to work correctly when
  remove() is not able to remove empty directories.
- The function write_object in "error.c" was improved to write literals correctly.
- The function cp_to_os_path in "striutl.c" was improved to forbid paths
  ending with slash except for the root path ("/") and a device root ("C:/").

20091206:
- The chapters explaining operating system access, primitive actions and exceptions
  in the manual were improved.
- The codepages 708, 862, 864 and 874 were added to the charsets.s7i library.
- The functions 'remove' and 'rename' were renamed to 'removeFile' and 'moveFile'
  in various files.
- The functionality of 'removeFile' was changed such that removing a nonexisting file
  raises an exception.
- The functionality of 'moveFile' was changed such that moving to an existing file
  raises an exception.
- The compiler was improved to use the function floatLiteral to write occurrences
  of float literals to the generated C program.
- The functions actStr, act_str, filLit, fltDgts, refCatStr, refStr, typStr and
  typ_str were changed to use cstri_to_stri() instead of cstri_expand().
- The compiler (comp.sd7) and the interpreter (hi) were improved to support the
  actions BST_LNG and BST_VALUE.
- The toutf8.sd7 example program was improved to support more codepages.

20091115:
- The Unicode support for the functions shell, cmd_sh and popen was improved to
  use wide char (UTF-16) functions under Windows and normal (UTF-8) functions under
  Unix/Linux/BSD.
- The compiler (comp.sd7) was improved to support the actions CMD_FILEMODE,
  CMD_SET_FILEMODE, DRW_OPEN_SUB_WINDOW, DRW_SETPOS, DRW_XPOS and DRW_YPOS.
- The compiler was improved to make sure that generated C programs always define
  the create_... and destr_... functions.
- The handling of the HSH_IDX action in the compiler was improved.
- An error in the compiler concerning forward declarations of function pointers was
  fixed.
- The function bigCpy in "big_rtl.c" was improved to work correctly when source and
  destination are identical.
- Comments were added to the functions bigGrow and bigShrink in "big_rtl.c" to explain
  that this functions work when source and destination are identical.
- Checks for the bigInteger assignment and the functions +:= and -:= were added to
  the file "chkbig.sd7".
- The types os_path_stri and os_path_char were renamed to os_stritype and os_chartype
  respectively in various files.
- The os_path_... macros were renamed to corresponding os_stri_... macros in various
  files.
- The bas7.sd7 (basic interpreter) example program was improved.
- The functions gkbButtonPressed, drwOpen, drwOpenSubWindow, drwSetPos, drwHeight and
  drwWidth in "drw_win.c" were improved to work correctly for subwindows.
- The function drwSetPos in "drw_x11.c" was improved to work correctly for subwindows.
- The functions prc_args, prc_repeat and prc_while in "prclib.c" were improved.
- The functions copyArgv and getArgv were added to "str_rtl.c".

20091101:
- The interpreter (hi) and the compiler (comp.sd7) were improved such that the actions
  STR_CPY, STR_APPEND, ARR_CPY, ARR_APPEND and SET_CPY work correctly when source and
  destination are identical.
- The compiler was improved to use the functions stringLiteral, bigIntegerLiteral and
  bitsetLiteral to write occurrences of string, bigInteger and bitset literals to
  the generated C program.
- The functions arrHead, arrHeadTemp, arrRange, arrRangeTemp, arrTail and arrTailTemp
  in the file "arr_rtl.c" were added or improved to avoid unnecessary copies of arrays
  in compiled programs.
- The functions free_helem, free_hash, create_helem, create_hash and copy_hash in the
  files "hshlib.c" and "hsh_rtl.c" were improved to increase the speed of the actions
  HSH_CPY and HSH_CREATE in interpreted and compiled programs.
- The function chrCLit was added to the file "chr_rtl.c" to support the action CHR_CLIT
  in the interpreter and in the compiler.
- The function chkPower in the file "chkbig.sd7" was improved.
- The function check_assign was added to the file "chkset.sd7".
- The functions check_string_append and check_string_assign in the file "chkstr.sd7"
  were added or improved.
- Several improvements were done to avoid that old memory areas were accessed after
  realloc() was called.
- The function bigLShiftOne was added to "big_rtl.c" and "big_gmp.c" to allow faster
  computation of powers of two in compiled and interpreted programs.
- The functions bigIPowN, bigIPow1 and bigIPow in "big_rtl.c" were added or improved.
- The function drwOpenSubWindow in "drw_x11.c" was changed to omit the creation of a
  graphic context.
- The function filWrite in "fil_rtl.c" was improved.
- The functions strAppend, strAppendTemp, strHead and strHeadTemp in "str_rtl.c" were
  added or improved.
- A possible memory leak in 'while' and 'repeat' loops of compiled programs, which
  can occur when the conditional expression produces temporary values in the heap,
  was closed.
- The handling of the action STR_APPEND in the compiler was improved to use strPush
  when possible.
- The handling of bigInteger expressions with constants in the compiler was improved.
- The compiler was improved to support the actions CHR_CLIT, CMD_FILETYPE_SL and
  CMD_SYMLINK.

20091018:
- The compiler (comp.sd7) was improved to support the primitive actions CMD_GET_CTIME
  and TIM_FROM_TIMESTAMP.
- The handling of the action ARR_ARRLIT in the compiler was improved to work without
  calling the function arrArrlit.
- The handling of the action ARR_IDX in the compiler was improved to use the function
  arrIdxTemp when the array is a temporary value.
- The handling of the action DRW_OPEN in the compiler was improved.
- The interpreter (hi) and the compiler were improved to support the primitive actions
  STR_PUSH, TIM_SET_LOCAL_TZ, DRW_OPEN_SUB_WINDOW, DRW_SETPOS, DRW_XPOS and DRW_YPOS.
- The bas7.sd7 (basic interpreter) example program was improved.
- The functions drwPointerXpos, drwPointerYpos, drwHeight and drwWidth in the file
  drw_win.c were improved.
- The function arrArrlit was removed and the function arrIdxTemp was added in the file
  arr_rtl.c .
- Parameter names were added to the function prototypes of the header file str_rtl.h .
- The functions closedir and wclosedir in dir_win.c were improved to call FindClose.

20091004:
- The function isDigitString in the seed7_05.s7i library was improved.
- The bas7.sd7 (basic interpreter) example program was improved.
- The functions fltIPow and fltRand in the file flt_rtl.c were improved.

20090920:
- A FAQ about extensible programming languages and the portability of Seed7 programs,
  was added.
- The bas7.sd7 (basic interpreter) example program was improved.
- The function gkbButtonPressed in the file drw_win.c was improved.

20090906:
- Various syntax descriptions in the manual were improved.
- The functions get_uint16_le, get_uint32_le, get_uint16_be and get_uint32_be in the
  binary.s7i library were added or improved.
- The functions pointerXPos and pointerYPos were added to the graph.s7i library.
- The function buttonPressed was added to the keybd.s7i library.
- A default 'value' was added to the 'set of' types in the seed7_05.s7i library.
- The types filePermission and fileMode and the functions fileMode and setFileMode
  were added to the seed7_05.s7i library.
- The carddemo.sd7 example program was improved to demonstrate taking and moving
  a card with the mouse.
- Set membership tests were added to the chkset.sd7 program.
- The comanche.sd7 webserver was improved to use a "Content-Type" of "text/html" for
  all files with extension ".htm" or ".html".
- The comanche.sd7 webserver was changed to catch the exception FILE_ERROR (which
  is raised when a browser aborts a connection).
- The compiler (comp.sd7) was improved to do some optimizations for set membership
  tests.
- Some spelling corrections were done in the startrek.sd7 example program.
- The tarx.sd7 example program was improved to read and write file modes.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.
- The functions arrAppend, arrCat and arrExtend in "arr_rtl.c" were improved to contain
  checks for MEMORY_ERROR when the maximum index is not representable as integer.
- The function copy_any_file in "cmd_rtl.c" was improved to change the
  ownership of a file after the timestamps and the file mode have been changed.
- The functions cmdFileMode and cmdSetFileMode were added to "cmd_rtl.c".
- The functions gkbButtonPressed, drwPointerXpos and drwPointerYpos were added to the
  files "drw_x11.c" and "drw_win.c".
- The interpreter (hi) and the compiler (comp.sd7) were improved to support the primitive
  actions CMD_FILEMODE, CMD_SET_FILEMODE, DRW_POINTER_XPOS, DRW_POINTER_YPOS and
  GKB_BUTTON_PRESSED.
- The function alternate_utime was improved to correct buggy behaviour of bcc32
  (Bcc32 sets the modification time of a file on a FAT filesystem wrong).

20090816:
- The chapters explaining external files, the KEYBOARD file, files with line structure
  and sockets in the manual were added or improved.
- The function timestamp1970ToTime was added to the 'time.s7i' library.
- The tarx.sd7 example program was improved.
- Documentation comments in the libraries rational.s7i, bigrat.s7i, keybd.s7i,
  socket.s7i and time.s7i were improved.
- The function alternate_utime was introduced to allow changing the access and
  modification times of directories under Windows.
- The makefiles mk_bcc32.mak, mk_mingw.mak, mk_msvc.mak, mk_msys.mak and mk_nmake.mak
  were improved to support alternate_utime.
- The type 'screen_keybd_file' was renamed to 'console_keybd_file' and the keyboard file
  'SCREEN_KEYBOARD' was renamed to 'CONSOLE_KEYBOARD' in the file 'keybd.s7i'.

20090802:
- The FAQ about static type checking was improved.
- The chapters explaining the for-each statement and the types integer, hash and set in
  the manual were improved.
- The chapters explaining the file types external_file, utf8_file, keyboard_file and
  socket in the manual were added or improved.
- The chapters explaining file scanning and the function argv(PROGRAM) were improved.
- Documentation comments were added to the functions flush, writeln, eof, hasNext,
  length, listen and accept in socket.s7i .
- The functions gets(utf16le_file, integer) and gets(utf16be_file, integer) in the
  utf16.s7i library were improved.

20090719:
- The charsets.s7i library was improved to support the character sets armscii_8, geostd8,
  ns_4551_1, utf-16be, utf-16le and utf-7.
- The functions utf16beToStri, utf16leToStri, removeUtf16SurrogatePairs and utf7ToStri
  were added to the charsets.s7i library.
- The functions getWord, getNonDigits and getQuotedText were added to the scanfile.s7i
  library.
- The functions skipLine and getLine were added to the scanstri.s7i library.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.
- The file src/read_me.txt was improved to explain C compiler warnings because of unused
  parameter 'arguments'.

20090705:
- The chapter explaining the function 'getenv' in the manual was improved.
- The dom.s7i library was renamed to xmldom.s7i and its functionality was improved.
- A new library named inifile.s7i, which allows reading key value pairs from an INI file,
  was added.
- The functions getLineComment, getLine, skipXmlComment, getXmlTagHeadOrContent
  skipXmlTag, getNextXmlAttribute and getNextHtmlAttribute in scanfile.s7i were added
  or improved.
- The functions getSymbol, skipXmlComment, getXmlTagHeadOrContent skipXmlTag,
  getNextXmlAttribute and getNextHtmlAttribute in scanstri.s7i were added or improved.
- The function isDigitString was added to the seed7_05.s7i library.
- The functions open_utf16le and open_utf16be in the utf16.s7i library were improved.
- A new library named xml_ent.s7i, which supports XML entity handling, was added.
- The compiler comp.sd7 was improved to create more prototype definitions of extern
  library functions.
- The interpreter (hi) and the compiler (comp.sd7) were improved to accept an UTF-8
  byte order mark at the beginning of a source or include/library file.
- The types gmpBiginttype and rtlBiginttype in the files big_gmp.c and big_rtl.c were
  replaced with biginttype (defined in common.h).
- The function bigLowestSetBit in big_rtl.c was improved to raise RANGE_ERROR when
  the result does not fit in an integer.
- The function move_any_file in cmd_rtl.c was improved to raise FILE_ERROR when the
  file cannot be renamed.
- The function hsh_idx in hshlib.c was improved to work correctly when the hash is
  destroyed after indexing.
- The const qualifier was added in many *.c and *.h files.
- Several makefiles were changed to use BIGINT_LIB_DEFINE and BIGINT_LIB to decide about
  the big integer library (big_rtl.c or big_gmp.c).

20090621:
- The chapters explaining set types and primitive actions in the manual were improved.
- The codepages 720, 1125, 1255, 1256, 1258, 8859_6 and 8859_8 were added to the
  charsets.s7i library.
- A new library named dom.s7i, which contains a simple dom parser, was added.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.
- The makefile mk_cygw.mak was improved to better support compilation with Cygwin.
- The file src/read_me.txt was improved to explain compiling under Windows with Cygwin.
- The function 'exit' was introduced to terminate a program with a return code.
- The functions setIsSubset and setIsProperSubset were introduced in set_rtl.c and used
  in setlib.c and comp.sd7 to replace the functions setGe, setLe, setGt and setLt.
- The functions setCmp, setEq, setIsSubset and setIsProperSubset in set_rtl.c were
  improved to avoid accessing memory beyond the set data structure.
- The function setDiff in set_rtl.c was improved.
- The chkset.sd7 program was improved with additional checks for the 'compare' function
  and the set relations.
- The chk_all.sd7 check program was improved to take the changes in chkset.sd7 into
  account.
- The compiler comp.sd7 was improved to support the compilation of the primitive action
  SET_CMP.
- The compiler comp.sd7 was improved to compile programs with sets as parameters in
  user defined functions also correctly with the bcc32 C compiler.

20090607:
- The chkint.sd7 program was improved with additional checks for the binomial coefficient
  (for values of k greater than n and for negative values of n) and 'bitLength'.
- The chkstr.sd7 program was improved with additional checks for string subranges
  ([ A .. B ] and [ A len B ]).
- An error concerning array subranges was fixed in the function arr_range (arrlib.c).
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.
- Occurrences of 'float' in the compiler (comp.sd7) were replaced with 'floattype'.
- Functions to compute the most and least significant bit of unsigned integers with
  a width of 8, 16, 32 and 64 bits were added to the file int_rtl.c.
- The new functions ***MostSignificantBit and ***LeastSignificantBit were used in the
  following functions: intBitLength, intLog2, bigBitLength, bigDiv, bigLog2,
  bigLowestSetBit, bigMDiv, bigMod, bigRand, bigRem, setCmp, setMax, setMin and setRand.

20090524:
- Prevention against a Mac OS X malloc() error was added to the function filGets
  (in fil_rtl.c). When malloc() is not able to allocate memory it should return NULL.
  The Mac OS X malloc() function additionally writes a message to stderr. This
  behaviour is not according to K&R C, ANSI C, POSIX or SUS. Thanks to
  John B. Matthews and Frank Goenninger for their help.
- The FAQ and the file src/read_me.txt were improved to explain what happens when
  someone forgot to run 'make depend' before running 'make'.
- The compiler (comp.sd7) was improved to generate better C code to copy arrays and
  hashes. Now the C code is accepted by gcc again and therefore panic.sd7 can again
  be compiled under Linux.
- Several changes in the interpreter and the runtime library were done to reduce the
  number of warnings generated by the C compiler.
- A new library named binary.s7i, which contains functions to read binary data from
  a string or file, was added.
- A new library named zip.s7i, which contains a zip uncompression function, was added.
- The type 'SIZE_TYPE' was replaced by 'size_t' in various *.c and *.h files.

20090510:
- A new example program, the Comanche webserver (comanche.sd7), was added.
- The function getNonDigits was added to the scanstri.s7i library.
- Experimental support for new attribute parameters was added.
- Memory leaks in the functions hsh_excl (hshlib.c) and hshExcl (hsh_rtl.c) were fixed.

20090426:
- The function 'inflate' was added to the gzip.s7i library.
- The function getNextHtmlAttribute was added to the scanfile.s7i library.
- The functions getNextXmlAttribute and getNextHtmlAttribute were added to the
  scanstri.s7i library.
- A sokoban puzzle game example program (sokoban.sd7) was added.
- A new library sokoban1.s7i, which contains the 90 classic sokoban levels, was added.
- Parameter names were added to the function prototypes of the header files actutl.h,
  analyze.h, error.h and findid.h .
- The function cp_to_wpath was changed to raise RANGE_ERROR when a path contains a
  backslash.

20090413:
- A description of data struct elements was added to the chapters rational, bigRational,
  complex, color and time in the manual.
- A description of the functions fileTypeSL, getATime, getCTime, getMTime, setATime,
  setMTime and removeAnyFile was added to the chapter 'OS access' in the manual.
- The compiler (comp.sd7) was improved to correctly handle hashtables as elements of
  structs.
- The compiler (comp.sd7) was improved to generate dispatcher functions which copy a
  reference to a value when the interface needs the value itself (the value is used and
  possibly freed afterwards by the caller).
- The functions getXmlTagHeadOrContent in the scanfile.s7i and scanstri.s7i libraries were
  improved to correctly read the head of empty element tags when they have no attributes
  (E.g: The tag head of "<aTag/>" is "<aTag" ).
- The functions getXmlCharacterReference and skipXmlTag were added to the scanfile.s7i
  library.
- The ENABLE_SORT template function, which allows the generation of a sort function, was
  added to the seed7_05.s7i library.
- The functions fileTypeSL, cloneFile and copyFile were added to the seed7_05.s7i library.
- The functions str_dd_mm_yyyy, str_hh_mm, timestamp1970, time and getCTime were added to
  the time.s7i library.
- The function alternate_localtime_r in the file tim_win.c was improved to correctly
  handle daylight saving time.
- The tarx.sd7 example program was improved to use the function timestamp1970.

20090329:
- The chapters explaining exponentiation and operating system functions in the manual
  were improved.
- The function getSymbolInXmlTag in scanfile.s7i was fixed to really return "" when EOF
  was reached.
- A documentation comment was added to the function getNextXmlAttribute in scanfile.s7i
  and the function was improved to correctly handle tags ending with > and /> .
- The functions cmd_sh and popen were moved from progs.s7i and seed7_05.s7i to the new
  library shell.s7i .
- The function 'shell' was introduced execute shell commands and to return the exit
  code of the shell.
- The chkbig.sd7 program was improved to contain checks for the exponentiation of -1.
- The chkexc.sd7 program was improved to contain more checks for exceptions raised by
  integer exponentiation.
- The compiler (comp.sd7) was improved to generate better code for some bigInteger
  operations and to support the actions cmd_readlink and cmd_remove_any_file.
- Parameter names were added to the function prototypes of the header file big_drv.h .
- The functions bigSuccTemp and bigPredTemp were added to the files big_rtl.c and
  big_gmp.c .
- A documentation comment was added to the function cp_to_command in the file striutl.c .

20090309:
- The chapters about boolean, complex, char, string and time in the manual were improved.
- A new library named utf16.s7i, which contains support to read and write UTF-16 files,
  was added.
- The functions removeAnyFile, readlink and symlink were added to the seed7_05.s7i
  library.
- The seed7_05.s7i function fileType was improved to return the values FILE_ABSENT,
  FILE_UNKNOWN, FILE_REGULAR, FILE_DIR, FILE_CHAR, FILE_BLOCK, FILE_FIFO, FILE_SYMLINK
  and FILE_SOCKET.
- The functions strTimeZone, getATime, setATime, getMTime and setMTime were added to the
  time.s7i library.
- The time.s7i functions str_date, str_time and toGMT were renamed to strDate, strTime
  and getUTC respectively.
- The time.s7i function 'str' for the type 'time' was improved to include also a time
  zone description.
- The K&R function headers in several files were corrected.
- The files tim_rtl.c and tim_rtl.h were introduced to support conversion between 'time'
  and Unix timestamps with the functions mkutc, timFromTimestamp and timToTimestamp.
- The driver functions timAwait and timNow were improved in the files tim_dos.c,
  tim_unx.c and tim_win.c .
- The functions remove_dir, remove_any_file, copy_dir, copy_any_file, cmdBigFileSize,
  cmdFileType, cmdGetcwd and cmdSymlink in the file cmd_rtl.c were improved.
- The functions cmdGetATime, cmdGetMTime, cmdReadlink, cmdRemoveAnyFile, cmdSetATime
  and cmdSetMTime were added to the file cmd_rtl.c .
- The feature test macro WCHAR_OS_PATH was renamed to OS_PATH_WCHAR in several files.
- Several makefiles were improved to create defines for HAS_SYMLINKS, USE_LOCALTIME_R,
  INT64TYPE_SUFFIX_LL, OS_PATH_UTF8, OS_PATH_WCHAR, os_getcwd, os_opendir, os_readdir,
  os_closedir, os_DIR, os_dirent_struct and os_lstat in the file version.h .
- The interpreter and the compiler (comp.sd7) were improved to support the new
  primitive actions CMD_GET_ATIME, CMD_GET_MTIME, CMD_READLINK, CMD_REMOVE_ANY_FILE,
  CMD_SET_ATIME and CMD_SET_MTIME.
- An explanation of the defines OS_PATH_WCHAR, OS_PATH_UTF8, os_getcwd, os_opendir,
  os_readdir, os_closedir, os_DIR, os_dirent_struct and os_lstat was added to the file
  'src/read_me.txt'.
- The function alternate_localtime_r was introduced to be used with bcc32 (which has
  strange ideas about when daylight saving time begins).
- The files bas7.sd7 and planets.sd7 were adjusted to use the improved time functions.
- Spelling errors in the FAQ and in src/read_me.txt were fixed.

20090222:
- A new example program (chkhsh.sd7), which checks hash table operations, was added.
- The logic to link to libraries in the compiler (comp.sd7) was improved.
- A compare function was added for the type 'boolean'.
- The file big_rtl.c was improved to avoid unnecessary shifts wider than the size of
  the type (the result of this shifts was not used anyway).
- The functions remove_dir, remove_any_file, copy_file, copy_dir, copy_any_file and
  move_any_file in the file cmd_rtl.c were improved to use 'os_path_stri' instead of
  'char *'.
- The driver functions cmdCopy, cmdMove and cmdRemove were improved to use wide char
  (UTF-16) functions under Windows and normal (UTF-8) functions under Unix/Linux/BSD.
- The file common.h was improved to contain default defines for os_rmdir, os_chown,
  os_chmod, os_utime, os_utimbuf_struct, os_remove and os_rename.
- The functions dirOpen, dirRead and dirClose in the file dir_rtl.c were improved
  to use os_opendir, os_readdir and os_closedir (defined in dir_rtl.h).
- Commands to create defines for MKDIR_WITH_ONE_PARAMETER, CHOWN_MISSING and
  CHMOD_MISSING in the file version.h were removed from the makefiles.
- The K&R function headers in several files were corrected.
- An explanation of the defines WCHAR_OS_PATH, os_chdir, os_mkdir, os_rmdir, os_fstat,
  os_stat, os_stat_struct, os_chown, os_chmod, os_utime, os_utimbuf_struct, os_remove
  and os_rename was added to the file 'src/read_me.txt'.

20090201:
- A new saving phase was added to the savehd7.sd7 example program. Savehd7 can be used
  to save a potentially damaged harddisk partition to an image file.
- A new chapter about class methods was added to the manual.
- The chapter about the type 'type' in the manual, was improved.
- A check for NULL pointers was added to the function raise_with_arguments.

20090118:
- The savehd7.sd7 example program, which can be used to save a potentially damaged
  harddisk partition to an image file, was improved.
- A FAQ about compiling the Seed7 interpreter was added.
- The function bigFileSize was added to the bigfile.s7i library.
- The functions file_size and file_type were renamed to fileSize and fileType in the
  seed7_05.s7i library.
- The driver functions cmdBigFileSize, cmdChdir, cmdFileType cmdFileSize, cmdMkdir were
  improved to use wide char (UTF-16) functions under Windows and normal (UTF-8) functions
  under Unix/Linux/BSD.
- In the files big_rtl.c and big_gmp.c the function bigFromInt32 was added and the
  functions bigIConv and bigOrd were removed.
- In the file big_drv.h the macros bigIConv and bigOrd were added.
- In the file big_rtl.c the functions bigFromUInt32 and bigFromUInt64 were fixed.
- The feature test macro WIDE_CHAR_STRINGS was renamed to UTF32_STRINGS in various files.
- The primitive action CMD_LNG was renamed to CMD_FILESIZE.
- Several makefiles were improved to create defines for os_chdir, os_mkdir, os_fstat,
  os_stat and os_stat_struct in the file version.h .

20090104:
- A new example program (savehd7.sd7), which can be used to save a partially damaged
  harddisk partition to an image file, was added.
- Several spelling errors in the FAQ and in the manual were fixed.
- The library line.s7i was improved to be useable as file which flushes every line.
- The bas7.sd7 (basic interpreter) example program was improved.
- The preprocessor macros HAS_INT64TYPE and INT64TYPE_IS_INT64 were replaced
  by INT64TYPE in various files.
- The makefiles were improved to create defines for INT64TYPE and UINT64TYPE in the
  file version.h .
- A makefile mk_osx.mak was added to support compilation under Mac OS X with Xcode.
- The type PRIMITIVE_FILE was improved to support the 'setbuf' function.
- Errors in the functions setIConv, prot_set and bigToInt64 were fixed.

20081221:
- The chapter about the Seed7 structured syntax definition in the manual was improved
  (thanks to James Harris for the suggestions and the proofreading).
- A new library named gethttp.s7i, which contains support to get data with the
  HTTP protocol, was added.
- A new library named html.s7i, which contains support functions for HTML, was added.
- The bas7.sd7 (basic interpreter) example program was improved.
- The compiler (comp.sd7) was improved to support the addresses of ITF_CPY and
  ITF_CREATE. That way hash tables with interface values are supported.

20081208:
- A new chapter about the Seed7 structured syntax definition was added to the manual.
- The chapter about declarations in the manual was improved.
- The function getValueOfHeaderAttribute was added to the scanstri.s7i library.
- The seed7_05.s7i library was improved to support case statements for the type boolean.
- The wiz.sd7 example program was improved.

20081116:
- The support for compilation with the bcc32 C compiler from BDS was improved such that
  the chk_all.sd7 check program succeeds.
- The FAQ about the operating systems supported by Seed7, was improved.
- A chapter describing how to replace pointers with interface types was added to the
  manual.
- The obsolete use of the operator >> and << for file input and output was removed
  from the seed7_05.s7i library.
- The general check program chk_all.sd7 was improved to check also for the successful
  compilation of the compiler.
- The compiler (comp.sd7) was improved to generate C programs which are acceptable for
  the bcc32 C compiler.
- The compiler was improved to check that a temporary tmp_*.c file is marked with a
  temp_marker.
- The documentation file src/read_me.txt was improved to explain the #define value
  CHECK_INT_DIV_BY_ZERO.

20081102:
- A new gzip.s7i library, which contains a gzip uncompression function, was added.
- The functions getXmlTagHeadOrContent, getSymbolInXmlTag, getHtmlAttributeValue and
  getNextXmlAttribute were added to the scanfile.s7i library.
- In the library scanstri.s7i the function getXmlTagHeadOrContent was added and the
  function getSymbolInHtmlTag was renamed to getSymbolInXmlTag.
- The call stack written by the (hi) interpreter, when an uncaught exception occurs, was
  improved.
- The compiler (comp.sd7) was improved to write a file name and a line when an uncaught
  exception occurs.
- The handling of sockets in the compiler was improved to support them also for the
  cl C compiler from msvc.
- The makefiles were improved to define 'make clean' additionally to 'make clear' to
  remove the object files and libraries which were created during the compilation process.
- The documentation file src/read_me.txt was improved to explain more #define values used
  in the file version.h .

20081019:
- The support for compilation with the cl C compiler from msvc was improved such that
  the chk_all.sd7 check program succeeds.
- The chkexc.sd7 and chkflt.sd7 example programs were improved to check for more cases
  of division by zero.
- The compiler (comp.sd7) was improved to take the config values ISNAN_WITH_UNDERLINE,
  CHECK_INT_DIV_BY_ZERO and LINKER_FLAGS into account.
- The compiler was improved to avoid boolean expressions with too much parenthesis levels.
- The functions opendir and readdir in the files dir_dos.c and dir_win.c were improved to
  make buffer overflows impossible.
- The files dir_rtl.c and dir_rtl.h were introduced to support reading directories based
  on opendir(), readdir() and closedir() and optionally on the wide char functions
  wopendir(), wreaddir() and wclosedir().
- An implementation of the functions wopendir(), wreaddir() and wclosedir() based on
  the functions FindFirstFile() and FindNextFile() was added to dir_win.c .
- The documentation file src/read_me.txt was improved to explain compilation with bcc32.
- The makefiles mk_mingw.mak, mk_msys.mak, mk_nmake.mak, mk_msvc.mak and mk_bcc32.mak
  were improved to support the new wide character directory read functions.
- The demo mode of the mahjong.sd7 example program was improved.
- The file scr_win.c was improved to support the keypad cursor keys better.
- The functions wstri_expand and wstri_to_stri were added to the file striutl.c .

20081005:
- The chapter about primitive actions in the manual was improved.
- The definition of STD_NULL in the seed7_05.s7i library was improved to support
  read and write operations with STD_NULL.
- The bas7.sd7 (basic interpreter) example program was improved to support file numbers
  outside the range of 1 to 256 and to convert arrays to images when necessary.
- The compiler (comp.sd7) was improved to support local interface declarations and
  dynamic functions which refer to constant values.
- Several improvements were done in the compiler to support generating C programs
  acceptable for the cl compiler from msvc and for the bcc32 compiler.
- A check for double function pointers was added to the function get_primact() in the
  file actutl.c .
- A boss mode was added to the lander.sd7 and sudoku7.sd7 example programs.
- The file common.h was improved to introduce the types int64type, uint64type,
  int32type, uint32type, int16type, uint16type, int8type and uint8type.
- The functions bigULConv and bigLOrd were renamed to bigFromUInt64 and bigToInt64
  respectively.
- The function bigCLit() was improved to avoid C code that the cl C compiler from msvc
  miscompiles to the wrong machine code.
- The functions setupFloat and _matherr and the makefile mk_bcc32.mak were added
  to support compilation with bcc32.
- The feature test macro HAS_LONGTYPE_64 was renamed to HAS_INT64TYPE in various files.
- The feature macros INHIBIT_C_WARNINGS and NO_EMPTY_STRUCTS were added or improved.
- The makefiles mk_mingw.mak, mk_msvc.mak and mk_nmake.mak were changed to create and
  use the file setpaths.c instead of several other files.

20080921:
- The chapters about object orientation and primitive actions in the manual,
  were improved.
- The primitive actions BIG_MCPY, FLT_HSIN, FLT_HCOS and FLT_HTAN were renamed to
  BIG_MULT_ASSIGN, FLT_SINH, FLT_COSH and FLT_TANH respectively.
- The bas7.sd7 (basic interpreter) example program was improved.
- The compiler (comp.sd7) was improved to support the primitive actions CHR_CONV,
  FLT_PLUS, PRG_MATCH_EXPR, REF_CAT_PARSE, REF_CONV and REF_SETVAR.
- The compiler (comp.sd7) was improved to support HASHOBJECT constants.
- A binary gcd function (binaryGcd) was added to the gcd.sd7 example program.
- The X11 keyboard driver was improved to support the num-lock functionality.
- The functions hash_data_to_list and hash_key_to_list were added to the file listutl.c
- The is_var function defined in progs.s7i library was renamed to isVar.
- The functions matchExpr, setVar, hash_data_to_list and hash_key_to_list were added
  to the progs.s7i library.

20080902:
- The FAQ about development speed and type checking was improved.
- The chapters about boolean, bigInteger, rational, bigRational, float, char, complex,
  string, reference, ref_list and program in the manual, were improved.
- The functions rflTail and rflRange were improved to raise MEMORY_ERROR instead of
  RANGE_ERROR in out of memory situations.
- The 'conv' operator was improved to convert an integer to a float, rational, complex
  or bigRational, to convert a float to a complex and to convert a bigInteger to
  bigRational.
- The function getSymbolWithHtmlEntities was added to the scanfile.s7i library.
- The getc function for the type null_file was improved.
- The 'conj' operator was added for the type complex.
- The compiler (comp.sd7) was improved to support the primitive action FLT_ICONV.
- Several changes were done to support compilation when DO_HEAP_STATISTIC is defined.
- The documentation file src/read_me.txt was improved.
- The 'reference' functions category, getType, is_var, local_vars, local_consts, body,
  array_to_list, array_min_index, array_min_index, struct_to_list, interface_to_struct,
  getValue, setCategory, setType were improved to raise the exception RANGE_ERROR
  when a reference is NIL or does not have the required category.

20080817:
- The FAQ about static type checking was improved and an FAQ about development speed
  and type checking was added.
- A chapter about the type 'category' was added to the manual.
- The chapters about boolean, string, set and reference in the manual, were improved.
- The functions toUuencoded and fromUuencoded were added to the encoding.s7i library.
- The html entity 'ang' and several comments were added to the html_ent.s7i library.
- The error management of the chkint.sd7 program was improved.
- The 'configValue' function was improved to support values for TWOS_COMPLEMENT_INTTYPE,
  INTTYPE_64BIT and INTTYPE_LITERAL_SUFFIX.
- The function growStri was improved to work correctly in out of memory situations.
- The makefiles makefile, mk_cygw.mak, mk_linux.mak, mk_mingw.mak, mk_msvc.mak,
  mk_msys.mak and mk_nmake.mak were improved to define TWOS_COMPLEMENT_INTTYPE when
  appropriate.
- The file setlib.c was improved to work correctly with bitsettype's of different sizes.

20080803:
- The charsets.s7i library was renamed to chartype.s7i .
- A new charsets.s7i library, which contains 44 codepages and the functions conv2unicode
  and conv2unicodeByName, was added.
- The encoding.s7i library, which contains encoding and decoding functions for Base64
  and Quoted-printable, was added.
- The functions 'ord' and 'conv' and a 'for' loop were added to the type 'category'
  defined in the progs.s7i library.
- The functions getWord, getQuotedText and getHttpSymbol were added to the scanstri.s7i
  library.
- The functions getSymbolOrComment, getSymbol and getSymbolInHtmlTag of the scanstri.s7i
  library were improved to return symbols without leading whitespace.
- The function getHtmlTagOrContent was renamed to getXmlTagOrContent in the scanfile.s7i
  library.
- A 'for key' loop for arrays, a 'for' loop for HASHSETs, a 'str' function to convert
  integers to strings with base, a 'lpad0' operator for strings and the functions
  striToUtf8, utf8ToStri and toInt were added to the seed7_05.s7i library.
- The files cgi.s7i and bas7.sd7 were improved to use the new toInt function.
- The interpreter and the compiler (comp.sd7) were improved to support the new
  primitive actions INT_STR_BASED, STR_LPAD0, STR_TOUTF8 and STR_UTF8TOSTRI.
- The compiler (comp.sd7) was improved to generate better code for the primitive actions
  ARR_IDX, STR_ELEMCPY and STR_IDX.
- The toutf8.sd7 example program was modified to use the new charsets.s7i library.
- The files heaputl.c, heaputl.h, str_rtl.c and strlib.c were improved to use strings
  with capacity for the primitive actions STR_APPEND, STR_CAT and STR_HEAD.
- The makefiles were changed to use the $(CFLAGS) always when $(CC) is invoked.
- The socClose function in the file soc_rtl.c was improved to call close() or
  closesocket() depending on the operation system.
- The functions socGetc, socLineRead and socWordRead of the file soc_rtl.c were improved
  to interpret characters >= '\128\' as unsigned.

20080720:
- The FAQs about reserved words and templates were improved.
- The chapters about boolean, integer, bigInteger, rational, float, complex, char
  and array in the manual, were improved.
- A subrange type was added for the types integer, char and the enumeration types.
- The makefiles were improved to set the USE_SIGSETJMP macro in the version.h file.
- The flag USE_SIGSETJMP is now taken into account in the floating point exception
  handling generated by the compiler.
- Support for the action ENU_CONV was added to the (hi) interpreter and the compiler.
- A subrange type is used now in the dnafight.sd7 example program.
- The function update_owner in the file match.c was improved to copy values instead
  of just referring to them.
- The function getSymbolInHtmlTag was added to the scanstri.s7i library.
- The interpreter and the compiler (comp.sd7) were improved to support the function
  /:= for the types float and complex.
- The file seed7/prg/files was replaced with seed7/prg/files.txt which contains
  also a list of include files.
- The function strUtf8ToStri was added to the file str_rtl.c .

20080707:
- Various FAQs about reserved words, user defined statements, static type checking,
  garbage collection, container classes, primitive types and the difference between
  object and primitive types were added or improved.
- The chapters about boolean, integer, bigInteger, rational, bigRational, float,
  complex, char, string and program in the manual, were added or improved.
- A contour was added to a building in the lander.sd7 example program.
- Some debugging output was removed from the mahjong.sd7 example program.
- The function analyze and analyze_stri were renamed to parseFile and parseStri
  respectively in the files progs.s7i, calc.sd7, comp.sd7 .
- The primitive actions PRG_ANALYZE and PRG_STR_ANALYZE were renamed to PRG_FIL_PARSE
  and PRG_STR_PARSE respectively.
- The functions prgAnalyze and prgStrAnalyze were renamed to prgFilParse and prgStrParse
  respectively.

20080622:
- A new example program (cellauto.sd7), which simulates cellular automata, was added.
- Test cases for the @:= statement were added to the chkstr.sd7 program.
- The compiler (comp.sd7) was improved such that the generated code raises MEMORY_ERROR
  when the 'malloc' function fails.
- Support for the actions SET_ICONV and SET_SCONV was added to the (hi) interpreter
  and the compiler.
- The compiler was improved to optionally generate code without range checks for the
  STR_ELEMCPY action.
- The handling of functions returning references to existing objects in the compiler
  was improved.
- Parameter names were added to the function prototypes of the header files bln_rtl.h,
  chr_rtl.h, cmd_rtl.h, flt_rtl.h and ut8_rtl.h.
- The compile time flag RSHIFT_DOES_SIGN_EXTEND is now taken into account for the
  right shift in the macro 'bitset_pos' defined in the file set_rtl.h.

20080608:
- The chapter about symbol scanning from a file in the manual, was improved.
- A new include file (cgi.s7i) to support the Common Gateway Interface, was added.
- A bug in the getLine function of the scanfile.s7i library was fixed.
- The functions fileExists was added to the seed7_05.s7i library.
- The handling of closures in the compiler (comp.sd7) was improved.
- A new example program (lander.sd7), which simulates a lunar landing, was added.

20080525:
- A new chapter about complex numbers was added to the manual.
- A new chapter about symbol scanning from a file, was added to the manual.
- The makefile for Linux/BSD/Unix and the file mk_linux.mak were improved to be usable
  for shells where a \n in the echo command leads to errors in the make process (thanks to
  Wolfgang Raith, Jens Thoms Toerring and Arnold Hendriks for helping with this issue).
- The function cp_to_wstri was protected with 'ifdef USE_WFOPEN' in the files striutl.c and
  striutl.h (thanks to Wolfgang Raith for pointing out compilation problems).
- The functions = and <> were added to the complex.s7i library.
- The documentation comments of the libraries scanfile.s7i and scanstri.s7i were improved.
- The functions skipLine and getLine were added to the scanfile.s7i library.
- The strifile.s7i library, which supports string based files, was added.
- The documentation comment of the get_symbol function in the file bas7.sd7 was improved.
- The function processFile which checks the functions getWhiteSpace and getSymbolOrComment
  was added to the program chkscan.sd7 .
- The functions filWrite and ut8Write were improved to raise FILE_ERROR when the
  call of fwrite() was not able to write the whole string.
- Support for the primitive action flt_cast was added to the interpreter and compiler.
- The function setToInt which can convert parts of a set to an integer was added to
  set_rtl.c .

20080508:
- The FAQ "Why a new programming language?" was improved.
- The descriptions of the functions 'rem', 'mod', '[ A .. B ] times C', minIdx, maxIdx,
  rand(array), insert(array), category, local_vars, local_consts, setCategory, setParams,
  'in'(ref_list), 'not in'(ref_list), make_list, pos(ref_list), '&:='(ref_list),
  '@:='(ref_list) and the bufferChar variable in the manual were added or improved.
- The functions float cast, float varCast, boolean varConv, char varConv
  TRACE_REF, pos(ref_list), [minIdx .. maxIdx], minIdx, maxIdx (+ usage of them),
  minIntIdx, maxIntIdx, card(hashSet), xalloc, ord(enum), getwd(null_file) and
  getln(null_file) in the seed7_05.s7i library were added or improved.
- The compiler (comp.sd7) support for the primitive actions arr_maxidx, arr_minidx,
  flt_icast, int_pow, rfl_ipos and sct_alloc was added or improved.
- The compiler handling of INTERFACEOBJECTs and the generation of prototypes was improved.
- The compiler was improved to generate static dispatcher functions.
- The functions arr_maxidx and arr_minidx were added to the file arrlib.c.
- The function bigUIConv was added to the file big_gmp.c.
- The function rflIpos was added to the file rfl_data.c.
- The function flt_icast was added to the file fltlib.c.
- The functions refArrmaxpos, refArrminpos, ref_arrmaxpos and ref_arrminpos were renamed to
  refArrmaxidx, refArrminidx, ref_arrmaxidx ref_arrminidx.

20080420:
- An explanation how to uncompress the Seed7 package was added to the FAQ.
- The descriptions of the functions log2, gcd, lowestSetBit, 'rem', 'mdiv' and
  'mod' in the manual were added or improved.
- The functions gcd and modInverse were added to the bigint.s7i library.
- The bigrat.s7i library was changed to use the gcd function from the bigint.s7i library.
- The chkbig.sd7 program was improved with additional checks for the monadic plus, 'div',
  'rem', 'mdiv', 'mod' and bigInteger constants.
- The chkexc.sd7 program was improved with additional checks for bigInteger functions.
- The chk_all.sd7 program was improved to take the new checks into account.
- The compiler (comp.sd7) was improved to work also with GMP's bigInteger's.
- The compiler was improved to support big_plus and big_gcd.
- The handling of +:=, -:=, *:=, <<:= and >>:= in the compiler was improved to
  avoid memory leaks.
- The handling of the bigInteger 'mdiv' and * in the compiler was improved to do some
  optimizations like using shift operations instead.
- Three example programs printpi1.sd7, printpi2.sd7 and printpi3.sd7 were added.
- The big_gmp.c interface library was added to allow bigInteger computations based
  on the mpz_ functions of the GMP library.
- The file big_rtl.h was renamed to big_drv.h.
- The file biglib.c was change to allow working with big_rtl.c or big_gmp.c .
- The file big_rtl.c was improved to work with a BIGDIGIT_SIZE of 32.
- The functions bigHexCStri, uBigMultSub, uBigSqare, bigClit, bigCmpSignedDigit, bigDiv,
  bigGcd, bigGrow, bigImport, bigLShift, bigLShiftAssign, bigMDiv, bigMod, bigOdd, bigRem,
  bigRShift, bigShrink and bigToBStri of the file big_rtl.c were added or improved.
- An error message about "match value failed" was suppressed in dcllib.c .
- The int_mdiv action (defined in intlib.c) was improved for speed.
- The function prot_bigint (defined in traceutl.c) was changed to use bigHexCStri.
- The function printtype (defined in traceutl.c) was changed to avoid writing a pointer value.
- A bug in the function typHashCode (defined in typ_data.c) was fixed.
- The file read_me.txt was improved to contain a chapter about warnings and a chapter
  which explains how use the GMP library.

20080406:
- The interpreter and the compiler (comp.sd7) were improved to support the functions
  bitLength, lowestSetBit, <<, <<:=, >> and >>:= for the types integer and bigInteger
  (inspired by Mensanator for a program which explores the Collatz Conjecture).
- The priority of the << and >> operators was changed from 19 to 9 in the file syntax.s7i.
- Uses of the obsolete file output operator << where replaced with write statements in
  bas7.sd7, comp.sd7, ms.sd7, pac.sd7, sl.sd7, snake.sd7, tarx.sd7, tetg.sd7 and tet.sd7.
- Descriptions about the new integer/bigInteger functions <<, <<:=, >>, >>:=, bitLength and
  lowestSetBit were added to the manual.
- The chkint.sd7 program was improved with additional checks in chkint for 'div', 'rem',
  'mdiv', 'mod', <<, <<:=, >> and >>:= .
- The chkbig.sd7 program was improved with additional checks for **, compare, lowestSetBit,
  <<, <<:=, >> and >>:= .
- The compiler (comp.sd7) was improved to create optimized/improved versions for the bigInteger
  functions odd, compare, <, <=, >, >=, ** and for the integer functions 'mdiv' and 'mod'.
- A description about the type bigRational was added to the manual.
- An explanation about type inference was added to the FAQ.
- A new constructor for complex numbers from a float was added to the complex.s7i library.
- A boss mode was added to the panic.sd7 and mahjong.sd7 example programs.
- The bas7.sd7 (basic interpreter) example program was improved.
- The makefiles were improved to set the RSHIFT_DOES_SIGN_EXTEND macro in the version.h file.
- A bug in the primitive action flt_mcpy was fixed.
- The primitive action flt_str was improved to support denormal float numbers better.

20080319:
- The functions getEscapeSequence, getCharLiteral, getStringLiteral, getSymbolOrComment and
  getSymbol were added to the scanstri.s7i library.
- The file read_me.txt, which explains the compilation of the interpreter, was added to
  the src directory.
- The actions act_value, big_value, chr_value, fil_value, flt_value, int_value, prg_value,
  rfl_value, set_value, str_value and typ_value were improved to raise an exception for
  references which are NIL or refer to an object with the wrong category.
- The support for the primitive actions itf_eq and itf_ne in the compiler (comp.sd7) was
  improved.
- The handling of bitsets with negative elements in the compiler (comp.sd7) was improved.
- The bas7.sd7 (basic interpreter) example program was improved to support the -p
  option which asks for a prompt at the end of the program.
- Support for the actions bst_append and bst_cat was added to the interpreter.

20080302:
- A new chapter about compile errors was added to faq and to the read_me.
- The functions skipComment, getComment, skipLineComment, getLineComment and getNumber were
  added to the scanstri.s7i library.
- A new example program (chk_all.sd7), which runs interpreted and compiled checks, was added.
- Support for the primitive action CMD_CHDIR was added to the compiler (comp.sd7).
- Several memory leaks, which happen in the handling of MEMORY_ERROR exceptions, were removed.
- All primitive actions which start with CLS_ were renamed such that the name starts with ITF_ .
- The files clslib.c and clslib.h were replaced by itflib.c and itflib.h .
- The objectcategory CLASSOBJECT was replaced with the objectcategory INTERFACEOBJECT.
- The functions popen and cmd_sh were improved to be consistent on all platforms. Now they
  use always '/' as path delimiter and '\\ ' to describe spaces in the command path.
- The gets function for external_files was improved to work correctly when pipe files are
  read as a whole.
- A workaround was added for a wrong behaviour of the ftell() function under MinGW for pipes.
- The -q option of the 'hi' interpreter was improved to suppress all interpreter messages.
- Several changes to remove C compiler warnings were done.

20080217:
- A new chapter about object orientation was added to the manual
  (Many thanks for the feedback to Leonardo Cecchi, Malcolm McLean and Reinder Verlinde).
- The manual was changed to mention that the 'in' parameter of arrays and structs
  is a reference ('ref') parameter.
- The faq was improved to contain a paragraph about static type checking.
- The implementation type NULL_FILE was renamed to null_file.
- The struct copy of the compiler (comp.sd7) was changed to leave the dynamic type unchanged.
- The following primitive actions were added or improved in the compiler (comp.sd7):
  FIL_ERR, FIL_IN, FIL_OUT, FLT_GROW, FLT_MCPY, HSH_INCL, HSH_LNG, INT_PLUS, PRG_EXEC,
  PRG_STR_ANALYZE, SCR_CURSOR and STR_GETENV.
- The primitive action CLS_CREATE2 was changed to call the CLEAR_TEMP_FLAG macro
  (This is a fix for a bug found by Leonardo Cecchi).
- The function match_subexpr_type was changed to allow normal (not DYNAMIC) interface
  functions to be used for implementation values.
- The primitive action PRC_GETENV was renamed to STR_GETENV.
- The bas7.sd7 (basic interpreter) example program was improved.
- A bug in the primitive action RFL_NOT_ELEM was fixed.
- The functions copy_list, array_to_list and struct_to_list were change to return the
  created list.

20080203:
- The compiler (comp.sd7) was improved to allow the compilation of itself.
- The compiler now compiles the programs rever.sd7 and sl.sd7.
- The scanner.s7i library was renamed to scanfile.s7i and the getName function was
  added to it.
- Three libraries dialog.s7i, scanstri.s7i and charsets.s7i were added.
- The functions str, digits and parse of complex.s7i were changed to use the
  -0.5000+0.8660i format.
- The hasNext function, which allows an iterator like handling of files, was added to
  the file interface.
- Two new object libraries s7_comp and s7_data were added to support the compiler.
- The following files were added: act_comp.c, act_comp.h prg_comp.c, prg_comp.h,
  ref_data.c, ref_data.h, rfl_data.c, rfl_data.h typ_data.c, typ_data.h, datautl.c and
  datautl.h .
- The following primitive actions were added or improved: CMD_FILETYPE, FIL_HAS_NEXT,
  FIL_PRINT, FIL_VALUE, REF_ARRMAXPOS, REF_CAT_PARSE, REF_CAT_STR, RFL_NOT_ELEM
- The prototypes of several *.h files were improved to contain parameter names.
- The category of an object returned by refCategory is now an integer/enumeration like
  type instead of a string.
- The bigAddTemp and bigSbtrTemp functions were added to allow optimized bigInteger
  operations in the compiler.
- The bas7.sd7 (basic interpreter) example program was improved.
- The Exit function of the castle.sd7 example program was improved.

20080120:
- Optimizations for the string functions =, <>, stri[num], &, upper, lower, pos, rpos, split
  and for the array indexing were added to the compiler (comp.sd7).
- Documentation comments were added to bigint.s7i, draw.s7i, bas7.sd7 and mahjong.sd7.
- The bas.sd7 (basic interpreter) example program was improved and renamed to bas7.sd7.
- The functions polar, parse, str and digits were added or improved in complex.s7i.
- The read_dir, chdir, mkdir functions were improved to raise FILE_ERROR on failure.
- The functions open_dir and open_dir_path of the dir.s7i library were changed to return
  STD_NULL when the directory does not exist.
- The functions getDigits, skipSpace, skipWhiteSpace were added to the scanner.s7i library.
- The digits function for the type float was improved to never return -0 .
- The new lpad0 operator was added to convert integers to strings with leading zeros.
- The time conversion functions str_yyyy_mm_dd, str_mm_dd_yy, str_mm_dd_yyyy, str_d_m_yy and
  str_d_m_yyyy were added to the time.s7i library.
- Checks were added to the chkint.sd7 and chkstr.sd7 example programs.
- The code to handle a failing realloc for arrays was improved.
- Bugs in the compiler, with str_append and with val or ref parameters as result in the
  return statement, were fixed.

20080106:
- Documentation comments were added to the functions of the libraries bigint.s7i,
  bigrat.s7i, complex.s7i, float.s7i, getf.s7i, keybd.s7i, rational.s7i, scanner.s7i,
  socket.s7i, stritext.s7i, time.s7i and dna_base.s7i.
- The bas.sd7 (basic interpreter) example program was improved.
- The include mechanism was improved to avoid multiple includes.
- Part of the float.s7i library was moved to the new math.s7i library.
- The library html_ent.s7i, which contains functions to replace HTML entities by
  characters and vice versa, was added.
- A new example program (chkhent.sd7) to check the new HTML functions was added.
- The compiler (comp.sd7) was improved to support the new 'rpos' function.
- The getHtmlTagOrContent function was added to the scanner.s7i library.

20071227:
- The library cards.s7i which contains the card pictures of a french deck was added.
- The documentation of the draw.s7i library was improved.
- Some pictures were moved from castle.sd7 to pic16.s7i and pic32.s7i.
- The function rpos (reverse search for a character in a string) was added to the
  seed7_05.s7i library.
- The bas.sd7 (basic interpreter) example program was improved.
- A new example program (carddemo.sd7), which demonstrates the playing cards of the
  french deck, was added.
- Test cases for the rpos function were added to the chkstr.sd7 program.

20071210:
- The interpreter was improved to flag match errors only once instead of multiple times.
- The graph.s7i library was improved to define the type pointList and the function
  genPointList (to create a pointList from an integer array of x and y coordinates).
- The functions polyLine and fpolyLine (to draw polygons and filled polygons) were
  added to the draw.s7i library .
- The functions pos (search for a character in a string) and isDigitString were added
  to the seed7_05.s7i library.
- Several test cases were added to the chkint.sd7 and chkstr.sd7 programs.
- The drwSetTransparentColor function was added to the drw_x11.c driver.
- An analog clock program (clock3.sd7) provided by Volker Schuller was added.
- The compiler was improved to support the new graphic and string functions.

20071125:
- The interpreter was improved to store the filename and the line of the definition of
  an object.
- The line stored for an expression was improved to be identical with the line of the
  operator symbol or function name.
- The stritext.s7i include file, which supports string array based text files, was added.
- The mahjong.sd7 example program was improved to draw darker vertical surfaces.
- The mahjong tiles of the mahjng32.s7i include file were improved to contain bigger digits.
- Several new functions like getHtmlSymbolOrComment, gray, file and line were added.
- The compiler was improved to support functions with 'in var' parameter called by DYNAMIC
  dispatch functions with a corresponding 'val' parameter.
- The compiler was improved to support the ref_line and ref_file actions.
- An error was fixed in the strIpos function and test cases were added to the chkstr.sd7
  program.

20071110:
- The functions getSymbol, getWhiteSpace, getSymbolOrComment and getSimpleSymbol
  of the scanner.s7i library were created or improved.
- A new example program (chkscan.sd7) to check the new scanner functions was added.
- A bug in the planets.sd7 example program was fixed.
- The manual was corrected to explain that the types 'char' and 'string' support Unicode.
- The actions cmd_ls and scr_write were improved to use utf-8 characters when available.
- The filOpen function was improved to use _wfopen under Windows.
- The timezone handling to get the Greenwich Mean Time was improved.
- A string in shisen.sd7 was enlarged to avoid a RANGE_ERROR exception
  when accessing it.

20071025:
- A new example program (mahjong.sd7) was added.
- An include file (mahjng32.s7i) which contains mahjong tiles was added.
- The interpreter and the compiler were improved to support the gkb_window action.
- The close interface function was changed to work for the type graphFile.

20071010:
- The compiler (comp.sd7) was improved to support the 'remove(array, index)' function.
- The functions isLeapYear, daysInMonth, weekOfYear, weekDateYear and weekDateWeek
  were added to the time.s7i library
- The exception checking program chkexc.sd7 was improved to check for exceptions
  raised with arrays.
- Documentation for the bigInteger type was added to the manual.
- Some strings in pic32.s7i and pairs.sd7 were enlarged to avoid a RANGE_ERROR exception
  when accessing them.

20070925:
- The compiler support for fil_tell, hsh_contains, hsh_excl and str_idx was improved.
- The string indexing (str_idx) was changed to raise RANGE_ERROR for indices outside of
  the string.
- Various spelling errors in faq.htm, faq.txt, manual.htm and manual.txt where fixed.
- The functions filBigLng, filBigSeek, filBigTell and filLng were improved to use _fseeki64
  when available.
- The mandelbr.sd7, chkstr.sd7, chkexc.sd7 and wiz.sd7 example programs were improved.
- A protection against a buffer overflow in scrWrite was added.
- Several function prototypes were changed to use 'const' types.

20070909:
- A gtk-server connection library (gtkserver.s7i), a test program (gtksvtst.sd7) and
  documentation (see doc/gtksvdoc.txt) were added (Patch from Leonardo Cecchi).
- Some spelling corrections for read_me and a draft for a Cygwin makefile (mk_cygw.mak)
  were added (Patches from Terrence Brannon).
- A Seed7 mailing list has been created under seed7-NOSPAMusers@lists.sourceforge.net
  (Remove NOSPAM to get the email address).
- The planets.sd7 program was improved to show the name of a star when clicking on it.
- The stack trace of the hi interpreter for uncaught exceptions was improved.

20070823:
- The compiler was improved to support nested exceptions.
- The planets.sd7 example program was improved to contain a panorama with stars and planets.
- An include file (stars.s7i) which contains the names and coordinates of stars was added.
- The intParse function was improved to accepts a plus (+) sign.
- The memory management of the socRecv function was improved.
- Some exception tests were added to chkexc.sd7
- A test for check_atan2 was added to the chkflt.sd7 program.

20070807:
- The handling of local functions in the compiler (comp.sd7) was improved.
- The function 'option' (to get compile time defines) was renamed to 'configValue'.
- The compiler was improved to support the 'configValue' function.
- The 'ord' function for enumerations was changed to work without DYNAMIC.
- The changelog was reversed (sorted now from newest to oldest), and old entries were added.
- The address of the FSF was changed in various files.

20070723:
- The compiler (comp.sd7) was improved to allow local functions.
- The compiler now supports arrays with indices of any type (not just integer indices).
- A new example program (mandelbr.sd7), to display fractals, was added.
- The -O2 option was added to the compiler (advantageous when compiling mandelbr.sd7).
- The compiler now generates static functions to allow more optimizations.
- A *:= operator and the sqrAbs function were added for the type 'complex'.
- The reflection was changed to use the 'getValue' function instead of the 'value' operator.
- The compiler was improved to support the conversion of integers to an enumeration type.
- The compiler now compiles the programs panic.sd7 and castle.sd7.

20070710:
- The compiler (comp.sd7) support for different C compilers was improved.
- A support for socket send and recv was added to the compiler.
- A description of openInetSocket was added to the documentation.
- A pos function and the 'not in' operator was added for the type ref_list.
- The var_conv operator was renamed to varConv.
- Some setters (setCategory, setValue, setParams) were added to the reflection.
- The classtype of the interpreter was renamed to categorytype since it has
  nothing to do with classes.

20070624:
- As suggested by several users a socket library (socket.s7i) was added.
- Two example programs tst_srv.sd7 and tst_cli.sd7 to test socket functionality were added.
- The popen function was added (suggested by Leonardo Cecchi).
- The compiler was improved to support hash tables with floats, various for loops over
  hash tables and the new socket library.
- The compiler now compiles the programs bas.sd7 and wordcnt.sd7.
- The wator.sd7 example program was improved.
- The heap management and the heap statistic was improved.
- Several function prototypes were changed to use 'const' types.

20070607:
- An explanation of multiple dispatch was added to the FAQ.
- A bug in the 'str' function for 'complex' was fixed (found by Leejun).
- The interpreter was improved to support startsWith, endsWith, array_min_position, heapstat
  and @:= (for ref_lists).
- The compiler support for drw_cpy, ref_trace, arr_head, arr_tail, arr_idx, varfunc, wintype,
  array literals and dynamic functions (for enumerations) was improved.
- The compiler now writes a message when an uncaught exception was raised.
- The compiler was changed such that destr functions accept also NULL.
- The compiler now compiles the programs snake.sd7 and toutf8.sd7.
- The concentration game was renamed to pairs.sd7
- The functions drwCpy, drwCreate and drwDestr where moved to drw_rtl.c.
- The heap management and the heap statistic was improved.

20070524:
- The file version.h was removed to force the creation of it with the "make depend" command.
- The read_me was changed such that a "rm version.h" is not necessary to compile.
- Several constant types were defined in data_rtl.h.
- The files str_rtl.c, str_rtl.h, set_rtl.c and set_rtl.h were changed to use constant types.
- A bug with compare functions for array sorts and hash tables was fixed.
- The makefile mk_linux.mak was added as copy of 'makefile'.
- The makefile mk_msvc.mak was added to allow experimental compilation with nmake and cl.

20070507:
- As suggested by several users the include files were moved to the 'lib' directory.
- The search for include files was improved to work with an internal search path array.
- The 'hi' interpreter now contains a hardcoded include directory path defined in version.h.
- The makefiles mk_mingw.mak, mk_msys.mak and mk_nmake.mak were added for compilation under MinGW.
- The bigInteger multiplication was changed to use Karatsuba multiplication for bigger integers.
- Several constant types were defined in common.h.

20070419:
- The compiler support for result variables, which are initialized with expressions, was improved.
- The bas (basic interpreter) example program was improved.
- The bigrat.s7i, rational.s7i libraries were improved.
- Some multiplication test cases were added to the chkbig.sd7 example program.
- The compiler was changed to mark its temporary *.c files with a temp_marker.
- Several performance improvements for uBigMultSub, uBigAddTo, uBigDiv, uBigMult,
  uBigMultIntoHelp, bigGrow, bigMult and bigShrink were done.

20070404:
- The support and documentation for the functions split, join, log2, bitLength and
  the operator *:= were improved.
- The compiler support for the functions raise, log2 and split was improved.
- The bas (basic interpreter) example program was improved to support print using statements.
- The support of the for-step loop in the seed7_05.s7i include file was improved.
- Some improvements for the bigRational and bigInteger library were done.
- A bug in uBigAddTo which could cause an error in bigDiv, bigRem, bigMDiv, bigMod was fixed.
- The chkbig.sd7 program was improved to check the log2 function for bigInteger.
- The chkstr.sd7 program was improved to have more checks for the split function.

20070319:
- The interpreter was changed to execute programs only when they have no errors.
- The option -x to execute programs, even when they have errors, was added to the interpreter.
- The *:= operator for the types integer, float, bigInteger and bigRational was added.
- The chkbig.sd7 program was improved to check the *:= operator for big integers.
- The compiler was improved to support the *:= operator and the arr_cat action.
- Several improvements for compile time error messages were done.
- The err.sd7 example program, which checks compile time error messages, was improved.

20070305:
- The support for float was changed to use IEEE 754 NaN and Infinity instead of exceptions.
- The exception checking program chkexc.sd7 was improved and the chkflt.sd7 program was added.
- All exponentiation operators were improved to evaluate 0 ** 0 to 1.
- The associativity of the ** operator was changed to work right to left.
- A declaration for an = and <> operator was added for interface types.
- Basic support for exceptions in compiled programs was added.
- Parts of the manual describing float operations and exponentiation were improved.
- The performance of the flt_ipow action was improved.
- The compiler was improved to produce better code for the primitive actions
  arr_sort, arr_times, cls_eq, cls_ne, flt_isnan, flt_log10, int_fact,
  rfl_append, rfl_cpy, rfl_for, rfl_mklist, rfl_ne, rfl_tail and str_str.

20070219:
- The support for hash tables, sets and console output in compiled programs was improved.
- Support for multiple dispatch of interface (DYNAMIC) functions was added to the compiler.
- The handling of parameters in the dispatch functions generated by the compiler was improved.
- Variable global arrays and structs in compiled programs are now initialized
  with a copy of the initialization value.
- The compiler was improved to produce better code for the primitive actions
  arr_idx, chr_ge, chr_gt, chr_le, chr_lt, fil_seek, set_cpy, str_cpy,
  prc_option, prg_match, ref_itftosct, typ_isderived and typ_meta.
- A compare and a hashCode function was added for the type 'color'.
- A check for curr_hash != NULL was removed at various places since isit_hash takes care of it.

20070204:
- An abstract data type to create interface types was added.
- The matching of functions was changed such that interface functions are
  preferred over non interface functions.
- The error message which flags wrong access rights of actual parameters was improved.
- The sorting of directory entries for cmd_ls was improved.
- The Unicode support for prc_getenv and prc_option was improved.
- The -v (verbose) option was added to the interpreter.
- A small bug in the startrek.sd7 example program was fixed.
- The handling of interface (DYNAMIC) functions in the compiler was improved.
- The compiler was improved to support the actions arr_cpy, drw_create, drw_destr,
  drw_pfarcchord and drw_pfarcpieslice.
- The handling of enumeration types in the compiler was improved.
- Several accessright changes for file functions in seed7_05.s7i and other libraries
  allow the compiler to produce working code for more file functions.

20070118:
- The compiler was improved to support interfaces (DYNAMIC functions).
  With this improvement several example programs can be compiled now.
- The support for the actions gkb_busy_getc, gkb_xpos, gkb_ypos, kbd_busy_getc,
  drw_pfellipse and arr_arrlit2 was added to the compiler.
- The X11 keyboard driver was improved.

20070104:
- The hashtype was changed to maintain the size of the hash instead of computing it.
- The &:= statement for the type ref_list was added.
- The compiler was improved to support 'in var' parameters.
- A new include file (complex.s7i) to support complex numbers was added.
- The support for the bigIConv, bigOrd, cmdMkdir, drwPArc, drwPCircle, drwPFEllipse,
  filBigLng, filBigSeek and filBigTell functions was added to the compiler.

20061219:
- Support for local constant declarations was added to the compiler.
- The compiler was improved to support the actions big_abs, big_clit, big_hashcode,
  big_value, cmd_ls, flt_grow, flt_shrink, gkb_gets, kbd_gets, set_arrlit and str_chsplit.
- The heap statistic was improved to work for bigInteger objects.
- The array compare functions = and <> have been improved.
- The support for arrays in the compiler was improved.
- The trace level 'h' was added to trace the heapsize.
- The exception handling was corrected to work with hash objects.
- A bug in the in_file handling of the analyzer was fixed.
- The 'hi' interpreter was improved to support the actions rfl_trace and str_split.

20061204:
- The functions bigLength, seek, bigTell were added to support files with 64 bit offsets.
- The file functions getwd, getln, read and readln were changed to remove '\r' before '\n'.
- Parameters of type bigInteger were changed to use call by reference.
- The functions ord and conv for the bigInteger type were added.
- The putf function (to copy a string to a file) was changed and a writef function was added.
- Functions to split and join strings and a check for that functions were added.
- Comparisons = and <> for arrays were added.
- An implementation for 'set of string' based on the 'hash' type was added.
- Keyboard functionality was moved into the new file kbd_rtl.c.
- A new makefile makefile.msy for MinGW MSYS compilation was added.

20061120:
- The rand function and the +:= and -:= operators were added to
  the bigInteger library.
- The checks for bigInteger addition and subtraction in chkbig.sd7
  were improved and checks for the +:= and -:= operators
  were added.
- The compiler support for bigInteger was improved.
- The documentation (manual and faq) was improved.

20061106:
- The hi interpreter was improved to support bigInteger literals.
- Changes have been done to allow a configurable bigdigit size
  (Bigdigits are the building elements of a bigInteger).
- The mdiv function was added to the bigInteger library and the
  chkbig.sd7 program.
- The chkbig.sd7 program was changed to use bigInteger literals.
- Several bigInteger functions have been improved.
- A bigrat.s7i include file to support bigRational numbers has been added.
- The compiler support for bigInteger, setBaselit and strTrim has
  been improved.

20061023:
- The bigInteger library was improved to support modulo, power and
  several comparisons (<, >, <=, >=).
- Test cases for incr, decr, modulo, power and compare were added to
  the chkbig.sd7 program.
- The compiler was improved to support the new bigInteger functionality.

20061008:
- The bigInteger library was improved to support division and remainder.
- Test cases for division and remainder were added to the chkbig.sd7 program.
- The compiler was improved to support bigInteger division and remainder.

20060926:
- The bigInteger library was improved to support addition, subtraction,
  multiplication, negation, absolute value, string conversions and more.
- A lot of test cases have been added to the chkbig.sd7 program.
- The compiler was improved to support more bigInteger functionality.
- The makefile was changed to work on BSD (suggested by Dave Bodenstab).

20060910:
- A new include file (bigint.s7i) and a new example program (chkbig.sd7) were added.
- Changes in the compiler to support some bigInteger functionality were done.
- Support for the str_elemcpy action was added to the compiler.

20060826:
- A description of the 'attr' parameter was added to the manual.
- The first steps towards bigInteger support were done.
- The graphic and keyboard drivers for Windows have been improved.
- A check for the maximum of fish and sharks was added to the wator example program.

20060808:
- A description of the 'func', 'varfunc' and 'proc' types was added to the manual.
- The 'parse' operator for the type 'time' was improved.
- The operators '<=', '>' and '<' were added for the type 'duration'.
- The Windows graphic driver was improved to use the SetPixel function.
- The filOpen function was changed to open files in binary mode.

20060724:
- A new example program (bifurcation) was added.
- A trim function to remove leading and trailing spaces from strings was added.
- The Windows graphic driver was improved to support Windows 98.
- A changelog (chlog) was added.

20060707:
- A little improvement of the castle example program was done.
- The drwText function of the Windows graphic driver
  was changed to support Unicode characters.
- A new example program (planets) was added.

20060622:
- A new example program (castle) was added.
  Castle was inspired by the castle adventure from 1984.
- The graphic driver for Windows has been improved for
  circle, arc, chord, pieslice, fellipse.

20060606:
- The bas (basic interpreter) example program was improved to
  support exit statements.
- A tiny bug in the panic example program was fixed.
- The hi interpreter was improved to write a stack trace when
  an exception is not caught.

20060520:
- The performance of the interpreter was raised by circa 8% with
  an improved free list management.
- The graphic and keyborad drivers for Windows have been improved.
- A new primitive action (set_arrlit) was defined to create sets from
  integer arrays.
- The bas (basic interpreter) example program was improved to support do loops.
- A sudoku example program (sudoku7) was added.

20060506:
- The reporting of semantic errors was improved (now the
  line number and the line itself is shown).
- A checkmark picture was added to pic16.s7i and pic32.s7i .
- A tiny inaccuracy in the heap statistic was fixed.
- The source and include file management of the interpreter
  was simplified.

20060420:
- The driver function tim_await (using seconds since 1970)
  was replaced by timAwait (using the Gregorian calendar).
- The driver function timNow was changed to deliver a
  timezone which includes the daylight saving time.
- Various pictures where added in pic16.s7i and pic32.s7i .
- The parse function for bitsets was fixed to work for
  empty sets.
- A new example program toutf8 to convert files to utf-8
  was added.
- The Windows driver function drwPRect was fixed.

20060404:
- Function to close a graph_file
- Write graphic text under Windows
- Parse operator and reading for bitsets
- Allow hashtables for sets
- Date format according to ISO 8601
- New time functions dayOfWeek, julianDayNumber and
  julianDayNumToTime

20060314:
- Improvements for arrays and structs in the compiler
- Function strLit to support the compiler
- Improvements in bas example program.
- Subrange and for-loop for bitset
- Allow line comments in string literals
- Empty line count removed

20060223:
- Some compiler improvements for sets and structs.
- New graphic function: copyArea
- Hashes for sets and types
- New time functions: dayOfYear, toGMT, -:=
- Utf-8 characters in string and char literals
- New standard files: STD_UTF8_IN, STD_UTF8_OUT, STD_UTF8_ERR
- Function file_type to get the type of a file

20060205:
- The compiler (comp.sd7) can handle strings now.
- New example program wator.sd7 (Simulation with fish and sharks).
- Improved example program dnafight.sd7 .
- New rand function to select a random element from a set.

20060126:
- Improvements in the compiler (comp.sd7)
- Changed wrinum.s7i to write roman, english and german numbers.
- Moved some pictures to pic16.s7i and pic32.s7i.
- Renamed NO_ERROR to OKAY_NO_ERROR (NO_ERROR is used in Windows).
- Defined compare and hashCode for the type 'reference'.
- In drw_win.c: Map characters 128 to 159 to Unicode chars.
- In scr_win.c: Map console characters to Unicode chars.
- Add #include "string.h" in files that use memcmp.
- Add functions to support compilation:
  filLit, drwCpy, strHead, strRange, strTail and others.
- In kbd_inf.c: Add support for UTF-8 keys for KEYBOARD.

20060118:
- Some improvements of the Windows support
- Console mode programs work
- Windows time driver works
- GDI Keyboard driver works
- Graphic programs work to some degree
  The Windows port uses MinGW and the makefile "makefile.win".
- Changes in the time driver interface tim_drv.h to support compilation.
- Test program gkbd.sd7 for tests of the keyboard with x11/gdi - Windows.

20060111:
- The beginning of Windows support
  (Textmode programs work, Graphic programs work to some degree)
  The Windows port uses MinGW and the makefile "makefile.win".
- The definition of
  $ system "main" main;
  has been moved to the seed7_05.s7i library.
  Therefore it is not necessary to specify 'system "main"' in every program.

20051203:
- Function to get the unsorted keys of a hash
  (for sorted keys use the sort array function: sort(keys(aHash)) )
- Function to get the unsorted values of a hash
  (for sorted values use the sort array function: sort(values(aHash)) )
- flip function for hashes to flip keys and values
  (the result has the type: hash [baseType] array keyType )
- for loop to loop over the unsorted values of a hash
- for loop to loop over the unsorted keys of a hash
- for loop to loop over the unsorted values and keys of a hash

20051124:
- Function to get the keys of a hash
- Sort function for arrays

20051112:
- Now the Seed7 manual (in the package) uses color.
- Implement seek for UTF-8 files
- Fix and improve the gets function for UTF-8 files
- The Seed7 project page contains also screenshots, a manual
  and an FAQ file. See http://sourceforge.net/projects/seed7
- Rename 'NL' system variable to 'writeln' and change the
  corresponding logic

20051104:
- Now Seed7 supports reading and writing UTF-8 files
- The Seed7 project page contains also screenshots, a manual
  and an FAQ file. See http://sourceforge.net/projects/seed7
- A new pos function to search a string from a given position has
  been added.

20051025:
- Initial release.
