Release Notes: A new removeTree function, which removes a directory tree, was introduced in osfiles.s7i. Checks for hash tables with character keys have been added to chkhsh.sd7. The "chkcmd.sd7" test program has been added. It checks functions that copy, move, and remove files. Under Windows, the cmdRemoveFile and cmdRemoveTree functions now rename a file before it is removed. When renaming fails, the directory is left intact. The self extracting Seed7 package for Windows has been improved to use GCC version 4.8.1 instead of 4.5.0. The make7 target has been added to the makefiles.
Release Notes: The compiler has been refactored. Code has been moved from s7c.sd7 to several compiler libraries. 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 to new functions. Usages of logError have been added to cmd_rtl.c and cmd_unx.c. 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 precision being lost.
Release Notes: 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. The function bigLog10 in big_rtl.c has been improved to work when BIGDIGIT_SIZE is small. The program chkccomp.c has been improved to write the #define directives to a specified file. The function intParse in int_rtl.c has been improved to accept the most negative number.
Release Notes: The FAQ and the manual have been improved. The functions log10 and round10 and the operator sci (convert to scientific notation) have been added to several libraries. The function str in rational.s7i and bigrat.s7i now converts to a decimal with possible repeating decimals. The function str in float.s7i has been improved to write a reasonable number of fractional digits. The operator digits in rational.s7i and bigrat.s7i has been improved to do rounding. The constants integer.first and integer.last have been added to integer.s7i. The function strDateTime has been added to time.s7i.
Release Notes: The manual and the FAQ have been improved. The compiler has been improved to use string buffers with correct alignment. The conversion of a string to a bigInteger has been improved, when the base is a power of two. The macros memcpy_to_strelem and memset_to_strelem have been turned into functions. The unrolling in memcpy_to_strelem and memset_to_strelem has been changed from 8 times to 32 times. Calls of stri_expand functions have been turned into calls of memcpy_to_strelem. Several functions have been added to chkccomp.c. The function compilationOkay has been replaced by compileAndLinkOk.
Release Notes: The chapters in the manual about primitive actions and the foreign function interface have been improved. The names of C types and the elements of unions have been refactored to use camel case. The library bigint.s7i has been changed to define the operators radix and RADIX with actions. Testcases 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. In traceutl.c the function mapTraceFlags has been improved to work correctly when several options are defined.
Release Notes: 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. This reduces the time used by operating system calls. The targets 'install' and 'uninstall' have been added to several makefiles. The program setwpath.c has been added. This program sets the search path (PATH variable) under Windows. The functions heapAllocOsStri and heapFreeOsStri have been added to striutl.c.
Release Notes: The function setSockOpt and the constant SO_REUSEADDR have been added to sockbase.s7i. The function openInetListener has been improved to succeed when the socket is reused. The functions opendir and wopendir in have been improved to check for the maximum path length supported by Windows. The functions str1Split, act_string and act_okay have been removed. The function exec_action in exec.c has been improved to use get_primact instead of act_okay. Documentation comments have been added to several C files. The interpreter and compiler have been improved to support the action SOC_SET_OPT_BOOL.
Release Notes: A new numeric escape sequence for string literals has been introduced. Conversion functions in bytedata.s7c have been improved. Checks have been added to chkint.sd7, chkbig.sd7, and chkset.sd7. The parser has been improved to write better error messages concerning Unicode. The compiler has been improved to optimize string initialization and integer exponentiation. The performance of setCard and setRand in set_rtl.c has been improved. Loop unrolling inspired by Duff's device has been introduced in striutl.h. Errors concerning the radix operator and the assignment of interfaces have been fixed.
Release Notes: The manual chapter describing the foreign function interface has been improved. The handling of Unicode in the console has been improved. All strings which are passed to C functions are checked now. The performance of several runtime functions has been improved. New flexible conversion functions have been added to bytedata.s7c. Documentation comments have been added or improved in several files. The program chk_all.sd7 has been improved to check several compiler options. The compiler has been improved to do more optimizations. Checks have been added to chkbig.sd7, chkexc.sd7, and chkflt.sd7.