Versions:


Release 1 (22/11/95):

  * Initial release.


Release 2 (23/11/95):

  * Chris Jackson corrected FNProcWimp_WindowAlert (is a PROC not an FN!).
  * Chris Jackson corrected netmail header, zone/region bytes mixed up.
  * Chris Jackson found bug in textual response routines relating to the
    calling of PROCSendMessage. In PROC__connect and PROC__disconnect and
    PROC__versions, it doesn't have the "to" details passed, so REMed out.
  * John Stonier told me who sung "I don't like Mondays" (Bob Geldof!?!) and
    helped out with who we think sung "Moonlight Shadow".
  * Changed "16F0000FOH" to "16F00000OH", though this isn't used.


Release 3 (26/11/95):

  * Removed heap code. Not needed.
  * Placed hourglass AFTER loading library, and lit LED 2 for this. This may
    seem a pointless entry - but it's little quirks like this that bug me.
  * Creates a properly addressed packet now, using the following rules:
      If ROUTED and OUR major parts are the same (2:257/501.0 = 2:257/501.19)
      then the packet will be called "16F00000PT" like usual, otherwise it
      will be addressed to the node in question. The above, 2:257/501 would
      create a packet named "010101F5PT" which Binkley can export directly.
  * Tended to do odd things if enters EXPORT mode with no NVP log (ie, seemed
    to recurse!). This has been fixed.
  * %%CONNECT and %%DISCONNECT now reply.
  * Tidier messages in the two popup windows.
  * Configuration keywords are case insensitive.
  * Implemented three levels of logging:
      SHORT  - Log the essentials only (a session can be logged in 4 lines).
      NORMAL - The recommended, a typical session will be about 12 lines.
      FULL   - Verbose for debugging. A session can easily top 40 lines!
    Errors are always reported.
  * When Chris tweaked his code, somehow all the "DEF"s became "DEF "s. Yuk.
    Tweak that back... :-)
  * Routine added to scan existing database to ensure the question given
    doesn't already exist, therefore if something barfs and NVP is fed 20
    copies of the same data - the options will be updated 20 times but you
    won't have 20 questions!
  * Added a quick patch to refuse to update database if extent reached.
  * Tweaked some of the log texts (mostly in FULL) to make more sense.


Release 4 (03/12/95):
  * Changed some of the lyrics. Take a peek in the code.
  * Replaced configuration system with Chris's version. This new config
    won't allow stuff like "; OURFIDOADDR 1:2/3.4" to be read as a real
    config. :-)
  * Changed packet address setup creation method.
  * Scanning routine made 'nicer'. :-) Now requires an external tosser, NVP
    now won't read xxxxxxxxPT packets by itself.
  * Added domain support...
  * Now builds MSGID from the time, ~RND was rather predicatble.
  * Supports both 4D and 5D for *IMPORT* only. 4D export.
  * %%BUGNOTE removed.
  * 'smart' packet copy routine. Will create new packet or add ours to the
    existing - won't force a copy like it used to...
  * Added Chris to the "Creator" bit in the templates...
  * If we're lucky, NVP should be ready for automatic cron use.
  * %%REPLY now creates a file '<NVP$Dir>.Resources.Replies'.
  * %%VERSIONS should work. It needs an address to be specified.
  * Created Messages file, to add in later - if I can be bothered. Most of the
    stuff stays in English - it may be easier to hardcode the things that
    change - 5 icon texts! :-)


Release 5 (26/12/95):
  * Fixed problem in dupechecker.
  * Set pktname icons to be right aligned.
  * Fixed export path problems.
  * Fixed bug where slave created empty NVP_MLog files.


Release 6 (07/01/96):
  * A few small tweaks. Mainly got it ready for 'the next release'.
  * NVP_MLog mess-up. Now in "RESOURCES" directory...


Release 7 (18/02/96):
  * Problems with MNL or somesuch rearranging the format. All the usual
    ^a lines *must* be there, but no longer need they be in any particular
    order.


Release 8 (05/03/96):
  * Updated to use VoteModule. Not much quicker, but can be run at the same
    time as CastAWote...


Release 9 (06/03/96):
  * Fixed several chunks of dodgy 'dupe' code, stuff like
    "abort if current=total" which will, as keen coders will spot, skip the
    last possible 'match' entirely. I actually recoded VoteModule believing
    it was VoteModule misreporting. Maybe I should learn to trust my C code
    more... It wasn't VoteModule... :-) Hmmm... Be safe. Trust no one.
  # This version is supplied SAT-UPON to coax out a little more speed. For
    more speed, set the logging to the lowest you need. Most of the time it
    writes logfile (on full logging). "Normal" logging should be enough.
  * The slowest part is the dupe-checking code. This is now even slower, but
    it will poll every ten loops, thus greatly speeding up the rest of the
    system... It worked fine here with the test data. I never did mind the
    little things.
  * The 'Quit' menu option now works when in a toss/write loop. It is assumed
    that if you click this, you mean to go...
    Open files (under NVP's care) will be closed. VoteModule will be refreshed
    and the system will terminate.
    Don't get stressed over the "THE SYSTEM IS GOING DOWN... !!!! NOW !!!!"
    prompt. That's just something my Linux says when you three-finger it. :-)
  * Bored? Fancy a hack? The source is still available in raw form, and
    future releases may revert back to raw source. This is a speed patch.
    :-)  <followed by gratituous revving sounds>
  # One of these days I'm going to collect together all these song lyrics in
    my various programs...
  # Now that the Ovation demo is 'out there' (spooky), I may release some of
    the Ovation documentation. I'll be back!
  * Right. Problem where system would totally freeze has been fixed, I think.
    You see, if GetVote or GetVoteHeader fail then it returns the number of
    questions in the block return (R1). The program would then try to
    extract the string at this+61 (or this+128). Page zero or something!?
    This is now trapped and writes a log entry.
  * All 'errors' are logged (with "!" prefix). Non-serious and incidental
    errors (like missing TOPT etc) will be listed as "! : <errormsg>".
    Serious/fatal/need-your-attention-like-now errors say "Error:" at the
    beginning of the message. Some errors are trappable (like failed
    VoteModule stuff). Other errors are *NOT*. Use the results of the
    LogFile to judge. :-)
  * People have pointed out that FMPT is not used from a node and TOPT is
    not required to a node. I have bluntly ignored this ruling on account
    of the likelyhood that FidoNet wouldn't like NVP being a node. 
  * 'Via' line changed. Looking at examples of inbound packets, it is
    likely that there is a specific format... So now NVP should be
    compatible...
    Example: "Via NVPv3a/r9 2:254/86.86, Wed Mar 06 at 18:00:00 GMT"
  * Tests gave it crashing horribly. Don't you hate that? It works, so you
    reset to test it and it then doesn't stop crashing... :-(  Well, all
    data block operations are now 'LOCAL' and dupe check uses a different
    variable. Some times you have to look BASIC eye to eye and yell "Eat floor
    scum!" in a most forceful way. Magically, the crashes vanished.
    Weird or what!?
  # WimpSlot is 512K. When crashes happen (like above), I get paranoid and
    "crank it and yank it" on the WimpSlot (because, Dr. Fox, my volume knob
    is comprised of two push buttons). :-)
    Compress the code and frob. You should be able to trim it down to quarter
    that. A fifth even...
  # Converted CastAWote and NVP to VoteModule in three days. Sssomebody ssstop
    meee!
  # Who can find the 7 quotes (hint, one from an OS) hidden (lamely) in the
    release 9 list?


Release 10 (20/03/96):  [this release dedicated to Steve Pursey]
  * Re-ordered and tweaked ^a strings in packet export routine.
  * Checked created packets against my FTS specification document. Seems okay.
  * Checked and rechecked output packets. Used a few 'FidoMail' packets as a
    comparison.
  * Increased memory slot to 128K. Possible it was overrunning by a tiny
    amount???
  * In theory, TOPT and FMPT will not be used if to/from are '0' (ie, a node
    and not a point).
  * No longer looks for TOPT/FMPT in inbound. The address is read from the
    MSGID string and... well... once it found the topt$/fmpt$ it then did
    nothing with them. :-)
  # For the record, Steve Pursey is throwing me messages from John Burden (he
    is the MNL) which shows 2:254/86.19 (Steve's NVP) giving packets which
    are classified as "Bad Mail". Hmmm... Unfortunately John's system is
    giving cryptic messages which aren't a help. I really need a "Your MSGID
    line is shagged, dear boy..." type prompt. :-)
  # How I'd *love* a look at FidoMail's unsqueezed code. :-)

  # The seven quotes from release 9 entry:
      1. "Trust no one" -- The X-Files. Mulder's password is "TRUSTNO1".
      2. "I never did mind the little things" -- What the "Assassin"
         (Bridget Fonda) is supposed to say when things really p... her off.
      3. "The system is going down... NOW!" -- Linux 1.2.3 when you hit
         Ctrl+Alt+Del. This was a REALLY obvious one.
      X. "out there" -- Another X-Files reference. Not really counted though.
         Score bonus points if you made this #8. :-)
      4. "I'll be back" -- 'Arnies' catchphrase.
      5. "Eat floor scum" -- From Beverly Hills Cop.
      6. "crank it and yank it" -- Ever listen to the independent radio
         charts? Isn't that just the stupidest most braindead riot-incenting
         phrase ever? Yeah... I thought so too. ;^)
      7. "Sssomebody ssstop meee!" -- Reference to "The Mask". Never seen it
         though, the trailers (preailers?) were enough.


Release 11 (22/04/96):
  * Added flags and CRC stuff. Nothing major.


Release 11 (07/11/96):
  * Patch released to fix problem with duplicate entries in the
    Directory file.
    Hey, this is getting like ArmBBS with many many 0.68's. :-)


Release 12 (14/01/97):
  * Added "CHARSET" and "IDENTIFICATION" kludge lines. The former is
    standard, the latter is an InfoSys widget to help identify the
    purpose of the message/software...
  * Added "DIRECT" option to the Directory entries. If this is set,
    a packet will be created for direct pickup (addressed from the
    host as usual).
    Entries without this option use the same method as normal.
  * Will respond to messages from myself and NOT from another NVP.
  * Removed necessity to have a CRC line. Still makes them - for
    compatibility.
  * NVP crashed Glenn's NetMail program due to two terminating
    CRs after the via line (re: FTS-0001 r15). Well, sod that. It
    looked stupid anyway.
  * I probably won't be coding in something to break NVP messages
    down to under 30K each. If you are exporting such messages
    (which crash Fidomail according to Glenn, never seen it myself
    thank god) then you are not polling enough.
  * The action of the "16F00000PT" packet code has been changed. It
    now compares the actual destination with your own destination so
    such packets will only occur for downlink points (ie, 2:254/86.86
    off of 2:254/86.0) and not for downlink nodes (like Glenn off of
    Steve) who get their own packet (if 'direct' set).


Release 13 (n/a):
  * Not released.


Release 14 (26/01/97):
  * Changed the directory file format to allow routing information and
    packet type to be customised for each NVP address.
    Default for new addresses is an unrouted (direct) packet placed on
    hold.
    Refer to "!DirecHelp" for further details.


Release 14b (2009/03/14):
  * No functional changes. Just mods to support the CastA*W*ote alteration.
