1.3 History and Release Notes

G-Cows v 1.9 (released on Maj 2, 2006)

New Features
  • fill () function allows to fill a template string with parameters (Section 18.7)

  • fileexists () function allows to check for file existence (Section 21.8)

Bug fixes
  • An unititialized variable could lead to empty Makefiles even in presence of source files.

  • verbatim () function couldn't handle absolute filenames.

G-Cows v 1.8 (released on April 1, 2006)

New Features
Bug fixes
  • Since 1.7 release Cows-mkgen can work in standard or 'fast' mode. In standard mode Cows-mkgen follows the include () statements while in fast mode it simply tracks dependencies.

    This was a problem since including a non-existing file would lead to a wrong Makefile in fast mode (in standard mode Cows-mkgen would exit with an error when trying to open the file).

    Now, Cows-mkgen checks for files existence in fast mode.

  • In fast mode a cows source file without <cows> tags can lead to wrong Makefiles: now in such cases a warning is raised.

  • Fixed build failure in systems without getopt_long () (e.g. FreeBSD 4.x).

G-Cows v 1.7 (released on March 6, 2006)

New Features
  • Added an experimental fast scanning mode for Cows-mkgen. This lowers by an order of magnitude the time needed to create Makefiles. Only needed for very large sites consisting in thousand of pages.

Bug fixes
  • Invalid parameters in substring () function could result in segmentation fault in the Cows interpreter.

G-Cows v 1.6 (released on February 14, 2006)

New Features
Code enhancements
  • Deprecated C++ functions replaced with ANSI C++ ones.

G-Cows v 1.5 (released on 25 December 2005)

This is mainly a transition release. G-Cows development has moved from Linux to FreeBSD and G-Cows manual now uses SGML. This is the last bug fix release with no extra features.

Bug fixes
  • A memory leak leaded to memory wastes during the creation of syntax trees.

  • Wrong data type declaration in lib/file_utils.C created problems on some 64-bit systems (thank to Darius Hardy for pointing out the problem and suggesting the solution)

G-Cows v 1.4 (released on 06 July 2004)

Bug fixes
  • The tokenize () function returned an empty array when the separator string wasn't found. Now, it correctly returns an array having the input string as its only element.

  • When including a script having a single line comment as its last line, not followed by an end-of-line, both cows and cows-mkgen raised an error. Now an end-of-line is added to the input flow.

  • A memory leak leaded to big memory wastes during the creation of syntax trees.

G-Cows v 1.3 (released on 03 May 2004)

New Features
  • Added three array functions: push (), delete (), join ().

Enhancements
  • Site prefix inside Makefile generated by cows-mkgen is now defined as a variable.

Bug fixes
  • When using build-in support for multilingual sites and the '--prefix' option or corresponding 'prefix' directive inside Makefile.cm Cows-mkgen created wrong rules (e.g. /main/about/it/what.html instead of /it/main/about/what.html).

G-Cows v 1.2 (released on 14 April 2004)

New Features
  • Added more string functions: string support was very poor until this version. Now, the most common operations for searching and modifying strings are supported.

Documentation
  • Besides the description of new features, the second part of the tutorial has finally been written.

G-Cows v 1.1 (released on 25 December 2003)

New Features
  • The 'Type Mode' (Chapter 22) now allows to write HTML code with additional expressions into a variable. This is very useful if you want to store large amounts of text in a variable, and use it later in you script. Until now, 'Type Mode' could only be used to write directly into output file.

Bug Fixes
  • The array returned by the tokenize () function (Section 18.4) couldn't be used directly since tokenize ("string", "token") [index] raised an error. The only way to work around this bug was to store the array in a variable (e.g. tmp[ ] = tokenize ("String","token")) and extract the needed element as tmp[3]. The bug is fixed in G-Cows 1.1.

  • The missing script used by the build system was outdated. This was not a critical issue since only resulted in a warning during compilation of source package.

  • Error messages occurring before a string spanning more lines reported the whole string and were very difficult to read. Now, only the first line of the string is displayed.

  • When a file was included without parameters, _argv (Section 17.2.1) was a string variable storing file name. Now, it is correctly an array consisting in a single string element storing file name.

  • Files with unwanted unclosed cows-tags created a lot of problems to Cows-mkgen: this program scans a whole directory tree and the error caused by the unclosed tag could be raised several files after. Now, Cows-mkgen raise a warning as it find an unclosed tag. Then, it's up to you see if you forgot to close the tag or - for some obscure reasons - you are splitting a single script within two files.

G-Cows v 1.0 (released on 21 October 2003)

The first release in the 1.x series.

This manual can be downloaded from http://www.g-cows.org/.