This is the NEWS (history) file:

* (1.8) Added a hack to make a compromise between those who want to
  use 2-letter language codes, such as LANG=en, and those who want to
  use the long country codes, such as LANG=en-UK. If a 2-letter code,
  then Cats keeps it.  If longer than that, and it is of the form
  "xx-YY" then I chop it off at the "-". Else, I just truncate to 3
  characters to make a file ext.  This bit should work fine.  (Also
  renamed NLS\CATS.X to NLS\CATS.XX, so I could do better testing.)

* (1.7) fixed the bug in the BUGGY_CODE.  It now seems to work the
  way it is intended.  Removed the UNIX Makefiles, since this has
  been DOS-only for a while now.

* (1.6) added code that defines the catalog file in terms of NLSPATH
  and LANG as %NLSPATH%\%LANG%\cat (was %NLSPATH%\cat.%LANG%).  I have
  not tested this new code, so I protected it in a '#ifdef BUGGY_CODE'
  block.  To test it yourself, do a '-DBUGGY_CODE' when you compile.

* (1.5) updated catgets.c so that any message catalog string that has
  '#' as the *first* character on the line is ignored (a comment.)  I
  didn't test-compile this, but it should work out okay.

* (1.4) implemented MCLoadBySet and MCLoadAll as symbolic constants in
  catgets.h, so that now your UNIX programs that use these constants
  will work without changes.

* (1.3) catopen() now opens a file if 'name' contains a directory
  separator ('\' for DOS) and opens a system-wide catalog file
  otherwise. Currently, catopen() will assume 'name' is the base name
  of a message catalog file, and uses NLSPATH and LANG to open the
  correct file. Most programs would probably open a catalog called
  "myprog" and there would be a corresponding "myprog.en" available for
  English and "myprog.de" for German.

* (1.2) now uses NLSPATH as a directory that contains the message
  catalog files, and LANG as the country abbreviation.  catopen() now
  looks for the message catalog as %NLSPATH%\name.%LANG%

* (1.1) first release that compiles cleanly on DOS systems.  Renamed
  my dcatgets() to catgets(), etc., so that I now provide a UNIX-like
  catgets() library for DOS.

* (1.0) first release: a simple in-memory key-value database.  It is
  only capable of inserting values and fetching them.  You are not
  able to delete entries once they are there.
