Sources, and binaries for Linux, Macintosh, and Windows are at:
https://www.equi4.com/pub/mk/
The binaries include libs for C++, and extensions for Python and Tcl.
A detailed change log is part of the source archive, it's also at:
https://www.equi4.com/metakit/CHANGES
The most recent entries are:
2000-11-03 MK 2.3.3 First final release candidate
Yes, there will probably be a second one as well...
2000-10-31 Improved error handling
More logic added to catch errors in flush and streams. This affects the C++ core as well as Mk4py and Mk4tcl. API of c4_Stream::Write changed to return success flag.
2000-10-30 Added autocommit call to Mk4tcl
To better support VFS, Mk4tcl now has a new command "mk::file autocommit <db>" to force commit on close.
2000-10-26 Changes to compile with Borland C++
Minor tweaks to compile with Borland C++ Builder 4.0, which does not support "long long". A new KitViewer has been built (new code to replace c4_View::Describe).
2000-10-03 Fixes for Alpha Unix
Moved _item in column.h up to fix alignment sensitivity. Config.h did not get SIZE_LONG right on Alpha Unix (0?).
2000-09-27 Contributed fixes and Python 2.0b2
Adjusted makefile to build with Python 2.0b2 release. Source code tweaks to avoid DEC CXX 5.7 compiler errors. Add no-inherit flags for Win32 to not leak file handles.
2000-08-27 Allow derived row deletes in Mk4py
Added code to PyView.cpp to handle deletes (and slice deletes) in derived views, see "examples/derived.py".
2000-07-30 Major auto-convert 1.8.6 file bug
Bug in on-the-fly conversion of bytes properties ('B') in pre-2.0 datafiles (i.e. 1.8.6 and earlier) resolved. Unfortunately, this bug can not be 100% unambiguously fixed. The new code *will* properly detect most cases, and convert both 1.8.6 and 2.0 datafiles on the fly, but especially for views with only a few rows and at most a few bytes of data per row - the conversion *might* fail. In this case, MK will have to be compiled with a define to force it to either assume all old datafiles are 1.8.6 (-Dq4_OLD_IS_PRE_V2), or to assume that they are always 2.0 (-Dq4_OLD_IS_ALWAYS_V2). If you are currently using MK 1.8.6, then you should *skip* the update to 2.01, and consider updating to 2.3.x. This way you never have any 2.0 files around, and can force all your code to handle 1.8.6 files properly (by using "-Dq4_OLD_IS_PRE_V2"). See src/format.cpp, c4_FormatB::OldDefine for details. This bug *only* applies to bytes properties in pre-2.0 data files. Conversion of 2.0x files is unaffected.
2000-07-25 Fixed new self-referential views
The new recursive / self-referential view definition style has been fixed, e.g. "view[data:S,self[^]]" will now let you store a tree of arbitrary depth, with each 'self' subview having data and self properties. See the demo in "examples/selfref.py" to see how this all works.
2000-07-22 Fixed bug in double restructuring
Solved a very long-standing bug in restructuring, which caused incorrect (non-zero, small) default values when a c4_DoubleProp was added to a view which already had rows.
2000-07-18 Added remapwith and pair to Mk4py
Exposed C++'s c4_View::RemapWith as v1.remapwith(v2), and c4_View::Pair as v1.pair(v2) in the Mk4py Python binding. Added pair.py, remap.py, and wrap.py in "examples/" dir.
2000-07-12 Added metakit.py wrapper
Added "metakit.py" script to wrap Mk4py, including a new metakit.dump() to pretty-print views. More utility code will be added over time. The preferred way to use Metakit from Python is now "import metakit".
2000-07-06 Conversion fix, warning cleanup
Fixed on-the fly conversion of old datafiles. The free space was not managed properly - changed to never touch any data inside the file during conversion. Some source code change to get the compile through gcc flags "-fguiding-decls -Wall -pedantic -Wno-unused". The only remaining complaint is about using "long long".
2000-07-04 MkSQL subtree, "indexed" mapped viewer
Added the sql and mksql subtrees to the distribution, with Gordon McMillan's MkSQL engine, written in Python. The "isql.py" script is a simple interactive shell around it. Started work on a new viewer which maintains a persistent index (as a one-int-prop permutation), see src/remap.cpp.
2000-07-03 Mk4tcl fixes
Fixed view rename problem and "delete end" (Matt Newman). Adjusted the tests in tcl/test/mk5object.tcl accordingly.
2000-06-30 Tequila fixes
Close fix and failure handler (Steve Landers).
2000-06-29 MK 2.3.2 First beta release