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