smaug1.8/area/imc/
smaug1.8/boards/
smaug1.8/councils/
smaug1.8/deity/
smaug1.8/doc/mudprogs/
smaug1.8/gods/
smaug1.8/houses/
smaug1.8/log/
smaug1.8/vault/
0.9a -> 0.10
------------------------------------

- ICE added. Install documentation/patches may be out of date. See
  ice-help.are for helpfiles.
- Various bugfixes etc
- Mud information added. You -must- set a complete mud name and contact email
  address before IMC will start up, using the imc info name and imc info email
  commands. See README.info for more details.
- rimm, rcode, rchat are no longer there at all by default. Put them back in
  if you really want them.

0.9 -> 0.9a
------------------------------------

- Various hardcoded constants/references in imc-mercbase.c are now macros.
- Circle support has been added.
- IMC_NOTIFY is now off until I can set up an alternative logging site.
- no changes to the core code, you only need to upgrade if you want to have
  the latest version, or if you're running Circle code.

0.8 -> 0.9
------------------------------------

There is no patch available between 0.8 and 0.9. Substantial changes have
been made to the organisation of the documentation, the codebase-
specific imc-* files have been merged into one file with a pile of #ifdefs,
and the main IMC files have been split up into more managable chunks.

- if you want to preserve your modifications to the interface file, I suggest
  you get a copy of 0.8 (or whatever version the modifications were against),
  diff the original with your copy, then install 0.9 and apply the changes
  back to imc-mercbase.c. I'd strongly suggest crosschecking the changes made
  to the main mud code against the patches provided with this version, as 
  well. At a minimum, there is a new set of patches to comm.c.
- the syntax of imc_startup has changed (see below)
- the format of the config file has changed. There are two alternatives here:
  . start up with your old config file. IMC will not initialize, but it will
    load the old format config file. You will then need to set the local IMC
    name and port with the 'imc localname' and 'imc localport' commands; this
    will start IMC, and save a new format config file.
  . you can make the changes to your old config file directly:
    . add a line 'Version 1' at the very start
    . add a line 'LocalName xxxxx' specifying your local IMC name
    . add a line 'LocalPort yyyy' specifying your local IMC port number
      (these are the values that were passed to imc_startup in older versions)
    . before each line in your old config file, add a 'Connection '

    ie. if your old config file had:

    abcd:somehost:9005:blah:blah:0:0:reconnect

    and you called imc_startup("mymud", 9005, "imc/")

    the new config file should contain:

    LocalName mymud
    LocalPort 9005
    Connection abcd:somehost:9005:blah:blah:0:0:reconnect

    and the new call to imc_startup should be imc_startup("imc/")

  The main reason for this change is to support multiple configs from the
  same binary, without recompiling (and it also gets rid of a pile of ugly
  #defines). Also there are now hooks to save other info in the config file
  (for example, router.c now loads the access password from the config file)
- there is a new patch to the ROM version of comm.c, which modifies how
  page_to_char works. Previously, a page_to_char would cancel an existing
  one; with the patch, they will concatenate. 
- for IMC notes, the main mud code should now call imc_post_mail instead of
  imc_send_mail. It takes one additional argument at the start: a
  CHAR_DATA * for the posting character. See the codebase-specific patches
  for details.
- new command, 'rwhois', needs to be added to interp.c
- new command, 'rfinger', needs to be added to interp.c
- in imc-mercbase.c, imc_recv_who now calls two subordinate functions,
  process_rwho (edit this for a custom rwho display) and process_rfinger.
  By default process_rfinger doesn't do anything, but if your mud has a
  finger command or equivalent, you can change this to produce appropriate
  results.
- if you are running router.c, you will need to convert your config file as
  described above, and add a 'Password <blah>' field to the end with your
  access password.
- the method of configuring color has changed quite a lot
- probably a whole pile of changes that I haven't documented
- imc doesn't trust anyone now. hmph.

0.7 -> 0.8
------------------------------------

- imc.h, imc.c, imc-comm.c, imc-comm.h, imc-version.c should all be 
  completely updated - either get new versions, or make sure that the patches
  to those files apply correctly.
- many changes have been made to imc-rom.c and imc-envy.c. You may want to
  patch your current file against the 0.7a version, install a completely new
  copy, and then reapply your changes.
- two new commands, 'rchannels' and 'rchanset', need to be added to interp.c
- the levels for rchat/rtell/rbeep/rcode/rinfo/rimm should be set to 0 in
  interp.c, the level checks/allow flags are now done in the imc code itself.
- the IMC fields in pcdata have changed, check the appropriate patches for
  details. Also the saving/loading code in save.c has been updated to use
  them.
- you will want to install the helps from imc-help.are in your mud
- if you are using the Envy patches, make sure you apply the change to 
  act_comm.c for sending datestamps on notes correctly.

0.6 -> 0.7
------------------------------------

- make sure that you patch imc-rom.[ch] or imc-envy.[ch] correctly for the new
  color code. If that patch does not apply cleanly, find out why!
- ensure that your interp.c has the 'imc' command before 'imclist'
- check and edit the color conversion table in imc-rom.c or imc-envy.c for
  whatever color scheme your mud uses. Also check the #defines in the
  corresponding .h files.
- if you are using imc-envy.c, check that your copy is up to date; there were
  several patches to it in this release.
- ensure that you apply the changes to the patches to merc.h and save.c.
  The three IMC data fields, 'imc', 'rreply' and 'rreply_name' have been
  moved from char_data to pcdata, since NPCs cannot currently use IMC.

0.5 -> 0.6
------------------------------------

- change do_rlist to do_imclist in interp.c
- change your call to imc_startup to pass a prefix, not a config file 
  name, and possibly rename your config file.

  The new version uses a common prefix for all filename:

  (prefix)config     - config file
  (prefix)mail-list  - mail list
  (prefix)mail-ids   - mail ID list
  (prefix)mail-queue - mail queue
  (prefix)rignores   - active rignores.

  For example, you can create a subdirectory 'imc' in your areas dir, and
  move your current imc.conf to imc/config, then pass "imc/" as the prefix
  to imc_startup; you can also do something like run a beta mud off the 
  same areas dir (with a different call to imc_startup) and avoid 
  destroying the imc mail/ignore files from the main mud.

0.4 -> 0.5
------------------------------------

- add command hooks for 2 new commands, do_istats (a mortal-level
  command to get IMC statistics) and do_mailqueue (an imm-level command 
  to check the IMC mail queue)
- apply the new patch in Rom24/note.c.patch (for ROM) or the act-comm.c patch
  in envy2.diff (for Envy2) to add support for outgoing IMC mail

0.3 -> 0.4
------------------------------------

- add imc-version.o to your Makefile
- add a 'rquery' command to interp.c, which calls do_rquery
- make sure the changes to imc-rom.c/.h apply cleanly; there are changes to 
  imc_recv_who, which is a prime candidate for customization ;)