Versions 0.3.4- and 0.3.5-Beta (9 January 96):

        Rewrote the readme file.
        Fixed the makefile dependencies (when .inc and .mac files are
          changed make should rebuild the driver).
        Changed the polynomial function used in accumulating entropy.
        Added /M, /P and /C options to sample mouse interrupt calls and
          enable monitoring of mouse movement and clock drift, respectively.
        Added a latch to the timer interrupt which periodically samples
          the mouse movement.
        The initialization messages were changed slightly, and indicate
          only that interrupts were hooked, not sampled.
        Changed the clock-drift code to use a tight loop and commented out
          the shared delta-tracking buffer, since it lowered the entropy.
        Added CPU testing routine for initialization.
        Changed the method of incorporating the counter. It is now xor'd
          with the first dword of the random pool.
        Removed extra call in GenericSampler macro.
        Removed non-destructive read.
        Fixed an important bug where the mode 3 and mode 2 tests were
          reversed in timer sampling!
        The copybyte loop resets the state[] to the initial SHA-2 state.
        The delta-tracking now uses one bit-buffer for all samples, which
          appears to increase the entropy slightly and saves a few bytes.
        Minor tweaks in how delta-tracking and drift code is handled.
        Added /L option to show license.  When illegal option error occures,
          a list of valid options is displayed.  A license message was used
          from other software with wording that did not conform to the GPL.
          Hence the wording was changed (sorry for any inconvenience).
        Initial sampling now asks for 20 keystrokes.
        Changed in the way Request Header is stored.
        A few more useful comments in the source code.  The source was also
          broken into include modules so it would be less cluttered.

Versions 0.3.2- and 0.3.3-Beta (3 January 96):

        The source was commented to make it somewhat more legible,
          although one can argue that it is a futile exercise for
          assembly language.
        Added /I option telling the driver to initialize the random pool.
          Fixed bug with compiler directives and /I option (v0.3.3)
        Added a compiler define to track second-order deltas and attempt
          to maximize the entropy of the added samples (v0.3.3)
        Added a compiler define to sample clock drift during idle time.
          Drift sampling code changed to use roll/xor instead of a
          shift/or for improved entropy (v0.3.3)
        The source code was reorganized to be MASM friendly, as well as
          to make an eventual OS/2 port easier.  (The version of MASM
          that I have is 5.0, which chokes on the source for v0.3.3)
        Included demo C and Pascal sources for using the driver.
        Added Nondestructive Read and Flush Buffer functions to driver.
        The sampling method and SHATransform routines were rewritten
          and optimized by Colin Plumb.
        Added compile-time options to disable hashing and buffer-mixing
          to that raw sampling data can be studied-- this has actually
          led to the elimation of some sampling options which produced
          little or no entropy!
        Fixed a bug where the front of the entropy pool was not updated.
        Fixed a (harmless?) bug, hashsize is 160 bits, not 120 bits.
        Initial keystroke seeding shows number of keys remaining.
        Assorted other tweaks...

Version 0.2.1-Beta: Original release (28 December 1995)

