User-visible changes in version 1.1.2 (since version 1.1.1):

* An instruction that turns on interrupts in the system control coprocessor
  (coprocessor 0) will no longer immediately take an exception if an interrupt
  is pending; now it will happen at least one instruction later.
* When building VMIPS in debug mode, the coprocessor 0 Cause register may no
  longer contain random, non-clearable interrupt-pending bits.
* The coprocessor 0 Cause register's interrupt-pending and coprocessor-error
  bits are now correctly updated when an exception is taken.
* The VMIPS physical-memory manager will now allow you to place two devices
  directly adjacent to one another in memory; it used to complain that they
  overlapped, when they actually did not.
* A typo was fixed in the testsuite documentation.

User-visible changes in version 1.1.1 (since version 1.1):

* A bug involving shifts by 0 or 32 bits (e.g., using instructions like srlv)
  producing incorrect results has been fixed.
* The absence of an FPU attached to coprocessor slot 1 can now be
  detected by user programs.
* The system control coprocessor (coprocessor 0) now returns the correct ID
  number for the R3000A processor in the PRId register.
* Emulation of store-byte and store-halfword operations for emulated devices
  that only support store-word should now work correctly on byte-swapped
  configurations.
* A bug in vmipstool which caused it to fail to find alternate linker scripts
  (supplied with the --ld-script option) has been fixed.
* A gcc warning caused by a (harmless) comment in asm_regnames.h has
  been quashed.
* A bug where little-endian vmips configurations would dump core when
  the disassembler was used (e.g., when the instdump option was turned on)
  has been fixed.
* `configure' no longer ignores its --with-mips-include option.

User-visible changes in version 1.1 (since version 1.0.4):

* If you are using g++ to compile VMIPS, you must use g++ version 2.95
  or later. Also, you must specify the --target option to `configure',
  with an argument that matches the --target option to binutils
  `configure'. See `INSTALL'.
* VMIPS now supports GNU standard --help and --version options.
* The manual now includes improved documentation for using gdb and
  Insight to control VMIPS, a section on the differences between SPIM's
  console and the SPIM-compatible console device, a section on proper
  error reporting from VMIPS extensions, and many other minor
  revisions.
* Using gdb to control VMIPS is now much more robust in the face of
  errors and exceptions.
* VMIPS 1.1 makes it possible to use the 2nd display/keyboard channel
  of the SPIM-compatible console device, using the `ttydev2' option.
* VMIPS now includes a halt device, which can be used to halt the
  simulator without using a special instruction.
* VMIPS 1.1 is much faster than VMIPS 1.0.4. This is due in large part
  to the efforts of Paul Twohey, who reimplemented the clock and
  SPIM-compatible console devices, and cleaned up the code a bit.
* The VMIPS distribution now includes a regression test suite, based on
  DejaGNU (replaces the old test_code directory). In order to support
  this, the formats of lots of random messages that VMIPS prints out
  have changed.
* We now support 64-bit hosts (e.g., Alpha). 

User-visible changes in version 1.0.4 (since version 1.0.3):

* Fixed bug where the first instruction of an interrupt handler would be
  executed twice in a row. Thanks to Paul Twohey.
* Workaround some problems in the way casts are used in VMIPS by specifying
  -fno-strict-aliasing to gcc in configure; this should help avoid
  miscompilations for now, until the code can be rewritten for cast-safety.
* Fix bug where vmips would dereference a NULL pointer when trying to use a
  SPIMConsole device with a non-attached serial host. Thanks to Paul Twohey.
* Reorder some tests in the SPIMConsole code for a slight speedup when
  interrupts are turned off.
* Fix bug where virtual page numbers were being incorrectly interpreted
  by the system control coprocessor, resulting in excess TLB misses being
  generated. Thanks to Sanjeev Datla.

User-visible changes in version 1.0.3 (since version 1.0.2):

* Fixed bug in debugger interface; TLB translations caused by the debugger
  trying to access user space could fail if the virtual page number was
  not 0.
* Fixed bugs in the following instructions: lb, lh, lwr, lwl, swr,
  swl, nor.
* Clarified some especially confusing comments in the source code,
  in one of the test cases, and in the testsuite README.
* The sample setup code now halts on all exceptions, including user TLB
  miss exceptions.
* Fixed some warnings compiling xmboot using recent versions of gcc.

User-visible changes in version 1.0.2 (since version 1.0.1):

* Add warning message to man page directing the interested reader to the
  Info manual.
* New default handling of `-o ttydev' option; manual updated.
* /etc/vmipsrc contains only comments by default.
  These two fixes work around a bug in Darwin select(2)'s tty handling.
* Only print host processor endianness if `-o bootmsg' is set.
  Fixes bug where `-o bootmsg' should (but doesn't) turn this message off.
* Remove test_code/testdev.S from the branch.
  This is a test for a feature (TestDev) which wasn't distributed with 1.0.x.
* Comment out extra tokens after #endif in test_code/{sort.c,tester.c}.
  Fixes bug where gcc 3.0 gives warnings compiling these files.

User-visible changes in version 1.0.1 (since version 1.0):

* Fixed format-string bug in vmipstool.
* Fixed "extra tokens after #endif" warning in sample_code/asm_regnames.h.
 
User-visible changes in version 1.0 (since version 0.9):

* A standard clock device has been added.
* The "vmipstool" front end to compilation tools was added, and most of
  the random scripts lying around have been consolidated into it.
* The memory-mapped test device known as "TestDev" has been removed.
* Debian and Red Hat packaging files have been added.
* The installation procedure has been greatly improved.
* The VMIPS manual has been completed.
* Many, many bugs fixed as a result of a concerted attempt at testing
  everything.  Doubtless, some bugs still remain.
* Some portability fixes.
* Dumping of the stack (when registers are dumped) now works.
* Many strange messages the debugger backend used to print out have been
  quelled. Also, killing the debugger connection should no longer cause
  a crash.
* vmips now supports --help, --version and --print-config command-line
  options.
* The SPIM-compatible console device now works better when the host
  machine is byte-swapped with respect to the MIPS target.

User-visible changes in version 0.9 (since version 20001014):

* vmips.debug is no longer built.
* Read-only memory is now really read-only.  This allowed us to add
  debugger support for breakpoints in ROM.
* Debugger support for exception handling -- CPU exceptions are now
  delivered to your GDB, if it is attached, giving you a chance to poke
  around before the target is made aware of the condition.
* Many tasty configury updates, making it easier to build.
* Miscellaneous bugs fixed in many places.
* Branch on coprocessor 0 instructions now have defined behavior.
* Many places which erroneously had text after #endif in the source have
  been corrected to use comments instead, allowing you to compile vmips
  with newer C++ compilers.
* Some old test code that used to run at the beginning of every vmips
  job has been removed, so you will no longer see the familiar messages
  it printed out.

User-visible changes since version 20000517:

* Emulating a little-endian MIPS on a big-endian host passes preliminary
  tests.  Build process queries MIPS tools for their endianness
  automatically.  Builds tested on Solaris SPARC, i386 Linux, FreeBSD
  and HP-UX.  Distribution building (gmake distcheck) almost works.

User-visible changes since version 19991114:

* Polling input and output via the SPIM-compatible console device now work.

User-visible changes since version 19990829:

* Build processes seeks out MIPS tools; Installation documentation now
  briefly documents how to build cross tools. 

User-visible changes since version 19990823:

* Spim console documentation completed; first attempt at spim console code.

User-visible changes since version 19990801:

* Documentation Makefile.in has been built.
* Some documentation has been updated.
* VMIPS is being adapted to use GNU Autoconf and Automake.

