==============================================================================
                           WWIV BBS What's New List
                 Copyright 1999-2022, WWIV Software Services
==============================================================================
Legend (starting with 5.3)
~~~~~~~~~~~~~~~~~~~~~~~~~~
! Breaking change (you may need to do something)
+ New feature
- Feature removed
* Change or cleanup

*** Please make sure you get the new files out of the install archives
    like gfiles.zip, menus.zip, etc.  We're adding new files and each
    new wwiv update may contain new files.  I'd recommend using unzip -n
    so that you don't overwrite any files (or use winmerge or meld
    to compare new changes)

What's New in WWIV 5.8.0 (2023)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Removed duplicated code for LastCallers() from lilo.cpp. (#1501)
* Fix cosmetic bug in Scan Message Titles in Traditional Reader mode (#1505)
* Added InterBBS LastCallers to display laston.txt if it exists in network directory.
* Fixed logoff matrix to squelch INFO error from appearing in logs.
* Need comments on printfile and friends on how to use them. (#1502)
+ Feature request: ANSI display speed (#1479)
  You can now add a pipe expression like:
  |{set bps 2400}
* Birthday date not displayed correctly on newuser account (#1509)
* Crash in PhoneNumbers::Load when phonenum.dat is empty (#1511)
* Show preview of auto-message before confirming save (#1512) (#1510)
+ Add max age option for importing FTN messages (#1423)
+ basic debugger with stepping works (use github.com/wwiv/wwivdbg for client)
* Fix Chains display of sponsor lists first sponsor twice (#1513)
* Display of Chain sponsor no longer duplicates 1st entry (#1514)
* Only rename pending files if the 2nd digit is not a letter. (#1518)
* Create subscriber file as needed when it does not exist. (#1519)
* Fix Win32 on 10, when in BE, modify Network, space to Quit does not. (#1521)
* Fix do_wwiv_ugprades() function misspelled in wwivconfig (#1523)
* Chains fixes displaying CHAINS_NOEXT and switchable Chain Usage display (#1528)
* Make chain usage display configurable from wwivconfig (#1527)
* Clean up non-ANSI displays for CHAINS (#1530)
* String passed to System call to execute "eprogs.net" externals corrected. (#1533)
+ Implement support for epreproc.net (#1531)
* Added precision to formatting in chains display (#1535)
* Limit loc string to avoid header overflowing and other minor fixes (#1537)
* Display more of location string when there is room. (#1542)
* Check that file areas exist in most xfer functions (#1551)
* Use higher value for max_view_lines and max_view_columns instead of lower value (#1543)
* Fix off-by-one error in message reporting network value range (#1545)
* Delete curses_out in the places we don't on exit (#1539)
* network2 moves "deleted" packets to dead.net because identifed as UNKNOWN type. (#1540)
* wwivutil print fixes crash and also autodetect screen size (#1555) (#1556)
* Fix file::set_length from failing when the file is open
* network2 doesn't use the DISALLOW.NET file (#1541)
* net: only skip 146 bytes for method 1
* minor cosmetic fixes in WFC and message date header display (#1565)
* Cleaned up output of file area tags and networks in diredit (#1568)
* network2 handle_sub_add_drop_resp fix, and cosmetic networkf fix (#1571)
! Don't call out to nerd.dk for country blocking, it's broke (#1576)
* Make fsed/view.cpp use default screen settings for max values (#1579)
* Cosmetic: add OS to FTN tearlines and fixes to msgscan prompt and legacy header display (#1585) 
* Restored '@' reply to a different address in HandleScanAutoReply in both Traditional Reader and Full Screen Reader (#1572)
* Clear title before 'P'osting a new message in msgscan/titlescan (#1588)
* Removed dangling RE: with title for new posts (#1590)
* Replaced : with ; in wwiv.ini for uniformity and so ini file parsers don't gag. (#1586)
* Make Xfer menu display toggleable with eXpert mode option on new installs. (#1578)



What's New in WWIV 5.8.0 (2022)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* A couple of renames to make terms make more sense
    * PacketFileReader -> NetMailFile (This is how the net tech docs calls it)
    * Packet -> NetPacket (since each stored message is a wwivnet packet, not the container)
* Start to use NetMailFile vs. read_packet
* Fix issue of pause missing in chains.json. (#1475)
* Fix Unable to change password in Defaults menu. (#1483)
* Clear FSED Flag if the caller disables ANSI. (#1484)
  - thanks to xenos for the fix
* Make CL345 compile on GCC versions >10, at least 11
* Update cl345 to us sched_yield vs. pthread_yield
  Newer linux distributions with newer glibc may not have
  pthread_yield anymore since it's been deprecated forever.
* Fix WFC cosmetic issues (#1485)
* Fix Network3 crashing repeatedly. (#1481)
* default to ZIP if we can't determine the archiver to use for networkf
+ Start of support for lnet. It's now part of the 5.8 build
* Set the default value when inputting the email message to read properly. (#1478)
* Only set a dir if there is one to set. (#1482)
* Mark messages deleted in network2 when processing local.net (#1488)
! Update docs to use pull --recurse
  * Please be sure to pull new builds using --recurse
* fix some vs2022 analysis warnings
* Modernize how cmake sets warning levels (makes MSVC warnings cleaner)
* ScopeExit should act like GSL final_act/finally (#1375)
* WWIV source no longer using iosteams for displaying user text.  Additionally
  adter almost 23 years, many function names on the Output class (bout) have been
  renamed back to the 4.x naming.
  * Color -> ansic
  * SetColor -> setc
  * GotoXY -> goxy
  * bputch ->outchr
  * puts -> outstr
  * puts + \r\n -> pl
  * make sysoplog(...) back into a function and not a class for iostreams
  * format -> print (print is new, but matches std::print and is a better name
    than format)
* default wwiv main menu is missing //QWK (#1492)
* //QWK menu for sysop doesn't list (*) config menu (#1493)
* wwivutil subs import  - update nSUBNAME.net when using import (#1495)
* move code to import subs into sdk so it can be used by developers
+ LNet: Add ability to (W)rite packet to new file, and added PAUSE on page
+ Initial cut at support to auto add missing fido echos
* /s not working in fsed (#1378)
+ Add a new option to wwivfsed "--wrap" to turn off WWIV style wrapping.
* writing to dead net should clear the list_len and list (#1496)
* wwivutil: Make --start and --end a bit more robust in inputs it accepts to wwivutil messages dump
* Fix wrapped lines in fsed reader (#1498)
* Fix pause sometimes needing 2 key presses (#1499)
+ Need way to add newly created auto-imported subs to a conference (#1500)
  Add support for a new "conf = CONFERENCE LETTERS" line into the inport.ini file
  used by both auto importing of subs from FTN echos, as well as the
  "wwivutil subs import" command.
+ initial cut of functioning default colors for non-wwiv messages



What's New in WWIV 5.8.0 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Use vcpkg for dependencies where possible vs. git submodules
* Added SleepFor to the Clock class
* Don't use u8string anywhere since it's a shipwreck (c++20 pre-work)
* Remove EMPTY_FIDO_ADDRESS and use std::optional more.
* Add Config into SdkHelper so it can be more easily used in SDK tests.
* Use SOCKET and INVALID_SOCKET consistently everywhere.



What's New in WWIV 5.7.2 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fixed: Garbled display while connected locally (probably encoding issue) (#1467)
* Update to netfoss 1.25
* default to 1 when ansi callout is off
* Update dependencies to latest fmt::fmtlib, pdcurses, my_basic, and googletest.

What's New in WWIV 5.7.1 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Telnet support from wwivd.  Use @telnet:HOST:PORT for the telnet command
  in the wwivd matrix setting for that BBS entry.
    ┌─────────────────────────────────────────────── Matrix Config: mystic ┐
    │            Key: m                                                    │
    │           Name: mystic                                               │
    │    Description: Mystic BBS (MIS)                                     │
    │    Working Dir:                                                      │
    │ Telnet Command: @telnet:localhost:2300                               │
    │    SSH Command:                                                      │
    │   Require Ansi: No                                                   │
    │     Start Node: 1                                                    │
    │       End Node: 10                                                   │
    │     Local Node: 0                                                    │
    └──────────────────────────────────────────────────────────────────────┘
+ Added scripts for using QEMU online.  Tested DOS doors under QEMU/FreeDos
  on Linux.
+ WWIV builds on OS/2 under GCC 9.2, but doors won't run.
* Incorrect BY: line when posting to a Fido sub (#1460)
* Don't let a sub go to position 0 (#1457)
* regions and zip-city not unzipped with default install on linux (#1455)
+ STDIO support now works on Win32. It works when WWIV is using either
  sockets or pipes to talk to wwivd.
+ OS/2 support is here if you build it yourself.  Also included is
  WWIVFOSS which will convert FOSSIl into Named Pipe calls for telnet
  ability from WWIVd.
  * Use -XP for (PIPE) instead of -XS or -XT to use it.  -H is obsolete
    when using PIPE since the pipe name is hard coded to be
    \\.\PIPE\WWIV# and \\.\PIPE\WWIV#C where # is the node number.  
+ WWIVFOSS is now bundled with the OS/2 cpack target.
+ WWIV supports listening on either a TCP local socket port or an UNIX
  socket for the door to connect back to instead of using socket passing
  ala DOOR32 style.  This works on both Windows and UNIX.  Please note that
  Windows 10 17063 or later is needed for AF_UNIX support on Windows.
  This is handy for using QEMU from within BBS to run DOS based doors.  
  The port number or socket path will be available as a new (%Z) replacable
  parameter from chainedit when using the selected chain execution mode.



What's New in WWIV 5.7.0 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Improve autoblocker in wwivd (#1359)
  WWIV's autoblocker now gives variable automatic blocking for fixed
  time periods 4 times before adding a permanent ban to badips.txt.
  The way you trigger the blocking is to have more than X connections within
  Y seconds, where X and Y are defined in wwivconfig's wwivd blocking page.
  ** You may want to delete badip.txt or rename it to something else, it likely
     has more systems in it than you intended to block **
* Removed the following from wwiv.ini:
  CHECK_DUP_PHONES       = N 
  HANGUP_DUP_PHONES      = N 
  The first never worked, therefore neither did the second and also isn't really
  need anymore.
+ Added new setting in wwivconfig for fine grained newuser info.
! Add granular control over which profile information must be provided by new users (#845)
  By default wwivconfig should match what you had in wwiv.ini, but please take a look
  also please remove the following from wwiv.ini since they are confusing and 
  these values are now controlled by wwivconfig:
  * EXTENDED_USERINFO
  * NEWUSER_MIN
  * TEMP_DIRECTORY
  * BATCH_DIRECTORY
  * NUM_INSTANCES  
  * WFC_SCREEN
+ Add new page in wwivconfig for setting which fields are required, optional, and unused.
+ Set newuser to internal fsed not first external editor
+ Added chain pause functionality (#1379) - thanks to DMXrob
* Fix IsPhoneRequired for login. We don't have NEWUSER_MIN anymore.
+ Added yourinfo.msg to the list of gfiles/ wwiv uses.
  This will replace the internal YourInfo hardcoded info that is displayed
   if this file exists, otherwise we'll fall back to the hardcoded one.
+ Added @z macro to display the upload/download ratio for the user.
+ When toggling expert mode, WWIV will now display the status of expert
  mode or not unless "quiet=on" is passed to the menu command as data.
* Still allow HandleControlKey to work with bgetch_event. (#1382)
* Added ACS user.guest, and cleaned up menu and newuser routines a bit.
* Let KEY_SSAVE behave like control-Z (#1360)
+ Added user.validated to acs. (#1387)
+ better asv from valuser command (#1388)
* Fix automessage menu: (A)uto reply not working in default menus (#1389)
* Don't add RE: line to email messages.
+ Fix changing user settings for online user gets overwritten (#960)
* Improve display of 'I' information and FTN networks (#1392)
* Fix node instance messages should use new scratch dir not data dir (#1391)
* Don't check for dupes on FTN emails. (#1395)
* Full screen reader not displaying color right when previous line ends in ^A (#1399)
* System crash when setting Transfer QSCAN (#1394)
* Fix PAUSE prompt from loosing current attribute. (#1398)
+ Add FTN network data in net.log for FTN using Fake Network node # (#1393)
* Fix control-a,d,f key handling in fsed.
* Run network3 automatically after editing a network
! --title must be specified for wwivutil email add
* Modem speed in last callers list (#1381)
* Having no networks to load is not an error anymore. (#1400)
+ Added new wwivconfig page (under (G)) for configuring system toggles
    * Remove FAST_TAG_RELIST from wwiv.ini, it was not useful.
    * Removed CLOSE_XFER from wwiv.ini, it was no longer useful
    * Removed SETLDATE from wwiv.ini, it's always true.
    * Removed FORCE_NEWUSER from wwiv.ini. It was never used and the variable
      for it was removed in 5.0 build 14 (around 2001)
    * Removed CHAIN_REG, now that all of the data is in chains.json, there's
      no need to have this variable (which just kept chain.reg from being used)
    * Added system toggle for showing last network connections at logon.
    * Removed EXTENDED_USERINFO from wwiv.ini, it's always true.
    * Removed NEWUSER_MINfrom wwiv.ini, it's not used anymore.
    * Removed OFF_HOOK from wwiv.ini, it wasn't used anymore.
* Don't store intermediate reference to pass to WWIVMessageApi constructor. (#1402)
+ new files fs_msgread.msg and fs_msgscan.msg control the headers for the full
  screen message reader and title list.  Lots of new pipe expression variables
  are available and documented under "Displaying Text" in WWIV's online 
  documentation.
*  Last nework connections no longer displaying (#1403)
! Removed inetaddr.dat.  The data is already in user.lst
* Fix readmail when you have a message header template
* Removed MAIL_WHO_LEN from wwiv.ini, it didn't work well.
* Fixed qscan display error on expert mode (#1405)
* Fixed issue where setting a date < 1970 can crash the bbs
* Add new setting to allow outbound pipe codes for ftn messages. (#1407)
* Work around large filesystems failing the File::freespace_for_path call (#1408)
* HeartCodeFilter needs to handle pipe codes too (#1410)
+ Let ini files support multi-line strings like TOML does (#1411)
    * Add support for a multi-line ini value. Example
    FOO="""This
    is a multline
    value
    """
    * If value is quoted using ", then strip the surrounding quote characters.
* Progress on merge language + menusets together #1414.  Languages and menus are
  now 1-1 vs. 1 language to N menus.  This simplifies many things in the BBS and 
  better matches how folks expect to change these together.
! move menus to top level - Menus are now peers to gfiles/ in the bbs directory
  layout.  Please consider moving yours (mv gfiles/menus menus) and then updating
  the path using wwivconfig.
+ Added strings for yes, no, quit, NN: and PW:
+ Support system location and name display for FTN networks too when the
  nodelist is available and the nodelist base set for the network in wwivconfig.
* System name and location not showing up for your own system (#1419)
* logs dir isn't created automatically on new install (#1417)
* menus.zip is not unzipped during new install (#1416)
* provide a location/sysname on local posts to wwivnet subs
* use 5d address when presenting M_ADR in binkp
+ Broke out State entry from city state to make it clearer and easier. (#1430)
* Use unique cram challenge (#1429)
* Add validation text for FTN address
+ binkp can't answer with mutliple AKAs presented (#1426)
! |{pause} is now |{pausescr}
* Fix Last callers not displaying correct information (#1428)
* name_and_number() should be proper case not upper cas
* Move to next sub? The default is No and should be yes. (#1431)
* Unable to validate new users while they are online (#1432)
* increase default dir and sub size to 500/5000
+ need "bbs" pipe expressions (#1413)
+ Added new pipe expressions, sleep, backprint, and spin
+ Added rainow pipe expression (#1427)
* Added many more {user.xxx} variables. Please see docs.
* Added help on how to save a message created in the internal editor (#1436)
* Errror on resize_file: 32; (#1438)
* Added ability to format pipe variables
* Fix handling of addresses mixed with and without domain names
* Problems emailng FTN networks from BBS (#1439)
* Log says user "hung up" when user logs off (#1440)
+ Add FTN nodelist support into network bbs list viewer (i.e. (B)bsList then (N)etwork. (#1231)
+ After using (B) to bypass a sub (from the reading prompt), don't ask if we want to post (#1437)
+ |{if expr yes no fmt} can now take a format (like pipe variables now)
! Added new strings FIXED_YES and FIXED_NO.
+ Added new pipe expression |{yesno "expression" "fmt"}
* WWIVNet BBS list not working (#1441)
* Fix crash in displaying a generated menu in wwivconfig
! Defaults is now a menu, not a built-in command by default, please make sure
  to update your wwiv menus with the new defaults menu and update main menu.
+ You can now filter text in wwivconfig listboxes by pressing / and then 
  entering the text to filter by.
* add ways to see and change personal info in defaults (#1390)
* Fix crash in listplus after ~130 files
* Support interestingly formed Tic line with addresses (#1445)
* reset the color to |#0 at the end of each kludge line (#1446)
+ When sending FTN emails, try to match by zone and not ask which network to use.
* delete /Z and /S from default menus, they don't exist anymore
+ Need global menu (#1415)
* Don't try to parse FTN addresses in 4.x
+ Check ACS on menusets, and only show ones that are available
+ Initial cut at support for getting the screen size from the remote terminal.
* FTN: just stop on short read error, don't keep retrying bad packets
* litebar width should be full screen not capped at 80 (#1450)
+ user:menus should select the menuset for the caller if only one matches (#1451)
* throwing exception while scanning new messages (#1453)
* screen size detection broken at local console on linux (#1454)
* fullscreen view, bottom bar gets drawn on same line as command line (#1449)
* Fixed wwivconfig not showing 1st menu item.
+ Filenames can now be of the form: basename.MIN_NUM_COLS_NEEDED.extension for dispay.
  example: logon.132.ans or fs_msgread.132.msg (#1456)


What's New in WWIV 5.6.1 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Added wwivutil users asv command.  This can increase user attributes to match
  those specified in the Auto Validation list defined in wwivconfig.
* Don't MPL on mmkey long text input. It makes the UI go wonky
* Don't crash when doing a title scan when the subtype is not 2.
* fix title display for curses windows with longer titles than contents
* Add wwivutil users asv
* fix display of autoval in wwivconfig
* Add more error handling (#1354)
* Check conf not area tags when checking for empty conf list. (#1358)
* Write out BUSY reason when returning BUSY from WWIVd. (#1357)
* Use - not / when calling network on UNIX (#1366)
* Add AR/DAR to usereditor. (#1370)
* Save statusrec after general page in wwivconfig (#1373)
* Use size of dirs in conference, not all dirs to find last dirnum. (#1371)

What's New in WWIV 5.6 (2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! config.dat has been replaced with config.json.  wwivconfig will 
  automatically upgrade to this new file.  networking utils and wwivutil will
  work with either.
* Now binkp will log "RECV" messages too and not just send.
* BinkP is quicker to notice the other side has disconnected and respond.  
* Better handling of status.dat, making it less likely to get corrupt.
+ Added help for ACS expressions in the places where WWIV prompts for the
  sysop to enter one for access control. (#1333)
+ Send SSM's to sysop when receiving files from wwivnet (like net37)
+ Added new "wwivutil instance" command for displaying instance
  metadata.
* Finish instance SDK class and use it in the BBS (#1335)
* Fix Color description messed up in defaults for color 4 #(1340)
* In defaults move (4) to a new line of it's own (#1341)
* More fixes and work on internal zmodem.  Fixed uploads with either one
  or more IAC codes embedded in the file.

What's New in WWIV 5.6 (2020)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Remove WSL stanzas, that makes MSVC 16.6 and newer unhappy (#1268)
* Update instance.dat when a node exits. 
+ Implemented WWIVfsed. WWIV's internal FSED as an external.
! Arguments on linux must start with '-'' and not '/', this is also
  how standard arguments work on Linux.  Windows still accepts arguments
  either like "/N" or "-N". (#1273)
* Don't throw an exception when no dirs are visible. (#1276)
+ Support for Ubuntu 20.04 LTS has been added. (#1264)
+ dd email address to useredit in wwivconfig. (#1258)
! Removed InternetEmail menu command, it didn't work without PPP project 
  for sending internet emails.  Also the rest of the BBS doesn't use 
  acct.ini anymore.
* Fix crash with subs list and only 1 conference.
+ Fix TO handling in the SDK. Setting the TO name will now either
  add FidoAddr for FTN subs, or BY: lines into the message text.
+ Added MessageOptions::add_re_and_by_line to add the RE: and BY: lines to 
  the message like WWIV does when you reply to a post since 4.22. (#1285)
* BinkP: Wait to send password until we have the remote address. (#1289)
* Updated to CryptLib v3.4.5 with SSH fixes (#1288)
* Don't use default "%z" for tzutc klduge (Fixes TZUTC bug with positive TZ)
! Move wwivutil messages list to wwivutil subs areas.
* Fix crash when deleting a tagged file. (#1282)
* fixed , not working from WFC
+ Add wwivfsed to the wwiv archive. (#1275)
+ Implement a max_backups setting in the bbs. (#1278)
+ add netdat support to network stack
+ Set Uploaded By: to WWIV TIC Processor (#1279)
+ Add setting in wwivd for working directory for launch the bbs (#1269)
* Don't check for hangup on the network programs, user isn't online
* Improve pending list.
* new WWIVbasic packages:
** wwiv.io.file
** wwiv.time
! Fix netdat.log formatting and don't delete old ones, just move them
  to the logs directory.
+ Add new option for wwivd to launch network and bbs minimized
* Don't allow filenames >8chars to save to 4.22 format.
+ Initial rough cut of backbone.na importer.
  Here's how it works:
  * Create import.ini file with default values for the subs
    that will be created from importing them from a
    BACKBONE.NA file.
  * Run "wwivutil subs import" to do the import.

  Example Command Line:
  wwivutil subs import --defaults=import.ini FSXNET.NA

  Example import.ini
  ```
  [backbone]
  post_acs = user.sl >= 20
  read_acs = user.sl >= 10
  maxmsgs = 5000
  net_num = 2
  uplink = 21:2/100
  ```
* Rebuild names.lst on useredit changes.
* Reset the SIGCHLD signal handler on networkc and networkf.(#1297)
+ Support USER data in addition to GLOBAL in wwivbasic. (#1296)
* Fix Disconnect on linux while in STDIO door does not exit (#1293)
* Always add MSGID, even on netmails (#1295)
* Fix age display in newuser login.
+ Update subs and dirs to use ACS
* Fix crash with subs list and only 1 conference. (#1292)
* Validate FTN Address against nodelist when sending emails (#1232)
! Some WWIVbasic packages may be selectively enabled and disabled,
  by default wwiv.io.file and wwiv.os will be disabled. Please use
  wwivconfig (menu item R for Scripting Config) to enable these.
+ For those writing unit tests for WWIVbasic, added macros 
  BASIC_ASSERT_EQUALS and BASIC_ASSERT_NE on the C++ side and
  ASSERT.NE in WWIVbasic
+ Added the WWIV.OS package (not enabled by default in WWIVconfig)
+ Initial start of WWIV 5.6 style menus.  These are JSON vs. binary
  on disk, and support multiple actions to be invoked per menu
  command, also on entry and exit.
+ ACS Improvements:
  * Added user.sysop, user.cosysop meta values.
  * Implemented previously documented user.regnum
  * Added variables true, false with values as you expect.
* Require cosysop for netdatlog (#1291)
* Fix net.log date format. (#1307)
* Introduce a SubDialog class to use for all SubDialogs in wwivconfig.
  * This allows fixing the inconsistent key handling that exists
      with pressing escape after exiting the dialog.
  * This allows fixing the inconsistent experience where some dialogs
    auto-open when cursoring over them (unexpectedly), while others
    properly wait for an ENTER keypress.
* Fixed A couple of quirks with netdat.log
+ Implement "(F)ind text" in the full screen message reader
+ update fs msg reader help text to include (F)ind
+ Add SYSTEM_BPS to wwiv.ini to emulate a BPS for displaying files.
+ Add --bps option to wwivutil print
  This emulates a bps rate when displaying the file.
* Fixed numerous issues in the conference system.
  conference list is now stored in data/conference.json
  conference bindings is stored with subs and dirs.
* UI for editing conference binding has been improved and is now also 
  available from subedit and diredit.
* Fix Ar checking when one side is empty. (#1310)
+ More work on BPS and pause control
    * Added pause=[on|off|start|end] to printfile menu command
    * This works with printfile_random too.
    * Added bps=<bps> to printfile menu command
    * Changed system_bps to impact all of the BBS, and not just
      the file printing.
+ Experimental start of |{xxx} expression support.
  So far here's what we have:
  Expressions:
    |{set pause=on}
    |{set pause=off}
    |{pause}
    |{set lines=0}
  Feedback welcome, the syntax is still in flux, trying to see what
  works well and can grow in the future and still make sense.
+ Convert wwiv heart and user color pipe code to standard pipe code when
  sending the message as an FTN message (#1235)
* fix crash with wwivconfig --initialize
* Attempt to fix netmail issues with points. (#1312)
  * Add TOPT and FMPT kludge lines into netmail.
  * Don't include the point number in INTL kludge lines
+ Ask if still wants to send ftn netmail when node doesn't exist. (#1232)
+ Add ability to copy menu to a new name in wwivconfig menu editor
+ Added integrated support for NetFoss. (#1257)
  Here's how to use it:
  * Download netfoss and unzip it to \wwiv\netfoss (assuming that \wwiv is
    where wwiv is installed).  if you want it in some other directory you can
    use the wwiv.ini directive NETFOSS_DIR to pick a different location.
  * Edit a chain, adn change the exec mode to "Integrated NetFOSS"
    example:
    F) Exec Mode:     Integrated NetFOSS

    That's it, you do not need to edit the commandline to specify a path to
    the NF.BAT file, nor edit it for your environment. WWIV will create a
    nf.bat in the node's temp directory every time it invokes a chain or
    editor using the integrated netfoss support. WWIV will execute:
    "nf.bat <commandline entered>"
* Don't let mouse movement freeze console.
+ Use UTF-8 for local display (#881)
  WWIV always outputs local text using UTF-8 now on all platforms, if you
  had previously changed your codepage for your terminal app to IBM850
  or IBM437 or Windows-1252 please change it back to UTF-8 which is the
  default.  This doesn't affect what is sent over the socket to remote 
  users, just the local display.
+ Added Option for Windows doors to use console codepage OEM437 (#1313)
! QWK menu is now it's own menu.  You should update the main menu to
  call cmd: "MENU" data: "qwk", and copy over the qwk menu and prompt
  from the gfile.zip in the distribution.  also data/qwk.cfg can be
  safely deleted once you see qwk.json has been created when you use
  the sysop menu or qwk door.
  There are several new menu commands for handling QWK, so you can 
  embed them into other menus:
    qwk_upload, qwk_download, qwk_user_config, and qwk_sysop_config
* Also refreshed the default menus and prompts to use pipe macro codes
  and wwiv color pipe codes vs. standard color codes.
* QWK: Fixed email conference numer from being wrong whenyou have other 
  messages.
* QWK use wwiv file io everywhere vs POSIX IO calls.
* preopen subs for mail packing and subslist.
  (This gives us a 10-20x speedup on both)
+ added qwk defaults as (N) to defaults
* Update GFiles, Network packet configs, and qwk config. (#1315) (#1316)
* Switch install location to /opt/wwiv in 5.6 for unix (#1263)
* Fixed min_k setting for FTN network auto callout
+ Added ability to preview menu in wwivconfig
+ Moved bbslist into it's own menu (bbslist)  (#405)
+ Validate ACS and display errors in wwivconfig.
  Currently only the menu editor has ACS expressions that are
  editable in wwivconfig, but the framework is in place should
  others arise in the future
* Fix mmkey for file areas. (#1323)
* don't wait for key when checking if there is a key (#1324)
* Fixed issue where logging in and there's less than 2 subs, wwiv will 
  crash. (#1325)
+ Adds a wwivutil email command similar to wwivutil messages. (#1329)
  It can dump, add and delete emails.

What's New in WWIV 5.5.1 (2020)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix age display in newuser login.
* Always add MSGID, even on netmails (#1295)
* Fix crash with subs list and only 1 conference. (#1292)
* Fix crash when deleting a tagged file (#1282)
* Don't check for hangup on the network programs, user isn't online
* Remove WSL stanzas, that makes MSVC 16.6 and newer unhappy (#1268)
* Fix install.sh script for unix. (#1261, #1262)
* Fix formatting for non-full screen reader (#1250)
* Fix Disconnect on linux while in STDIO door does not exit (#1293)
* Don't allow filenames >8chars to save to 4.22 format. (#1306)

What's New in WWIV 5.5 (2020)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Change message of warning from inactivity. (#1197)
* Less screen redrawing in full screen message viewer for both
  viewing messages and selecting messages.
* Fixed //QWK from crashing
+ Merge pull request (#1204). You can now have a LOGOFF and CLEANUP command
  in WWIV.INI to execute at logoff time, or post-logoff time to perform
  any necessry post-user cleanup.
* Fixed inputting WWIV registration number in (D)efaults (#1205)
+ Initial cut of wwivutil net send command:
    This command will send the last few posts to another system. The
    command line arguments are modeled closely from those used by AUTOSEND.
! Use _ and not - in flag names for consistency
+ Added --start-date and --end-date to wwivutil messages dump
* Fix crash saving email when you have no networks defined
* Fixed a typo in wfndfile (#1200)
* Update copyright to 2020
* Fix output display problem for uint8_t in UserEditor. (#1199)
! debug.sh has been renamed to cmake-config.sh since with the cmake 
  Ninja generator is multi-config so the config is only used when
  invoking cmake --build, not during generation time.  Updated the build
  scripts and documentation to reflect this.
+ Documented install-prereqs.sh for debian installations. This makes it
  easy to install the requirements to compile wwiv.
+ File transfers now work on case sensitive file systems.  Please make sure
  that all of the files in the file transfer section have filename in lower
  case on disk.
* default unzip commandlines now overwrite by default, fixing a pause on
  processing file_id.diz.
+ The WWIV SDK now includes support for file areas, file lists, and dsz
  log file parsing (minimal).
! Log files from the unit tests are now under ${TEMP}/wwiv_test_out by
  default and not  ${TEMP}
+ wwivutil files list will now also display extended file descriptions
  in addition to short ones.
+ wwivutil files delete will also delete extended descriptions.
* Internal ZModem performance is 5-10x faster.
* dirs.json is now the source of truth for directory data (before, dirs.dat
  was the source of truth.  WWIV will automatically convert dirs.dat into
  dirs.json the first time it encounters dirs.dat without dirs.json.
* Fixed bug where callouts were not happening as expected from wwivd due to 
  the list of networks not loading sporatically.
+ TIC support for receiving files from FTN networks is now available.  To
  use this feature and set a default TIC directory to receive tic files into
  and then enable TIC processing in wwivconfig for your FTN network
  and then edit the directories to specify the correct "FTN Area Tag" for
  the allfix file echo tag name.   After that networkc should automatically
  move the files into the WWIV file areas specified.
! Removed ArchiveMenu and TempExtract menu commands.  Please remove these
  from your menus if you have them.
+ "bbs -o" will not list the available menu commands for WWIV's menu editor.
   menu.txt is now generated from the BBS output.
   bbs -oc will group by category (once tagged), and bbs -om (or -ocm) will
   output the text in markdown format.
* Fixed archive types other than ZIP in QWK.  Now you can use any supported
  archive type.
* Simplified Quoting Code.  It's much simpler than before and now possible
  to fix/change it.
* Fized parsing of FTN address from FTN messages.
* Convert QBBS editor text from Fido format to WWIV. This fixes a few issued
  with QBBS style editors and control lines.
+ wwivutil fix dirs actually works now.
* Lots of fixes around handling botched conferences.
+ Transfer area can now list file sizes by MB or GB in addition to KB
* Fixed displaying WWIV color codes in File Extended descriptions
! Removed FAST_SEARCH from wwiv.ini.  We always use it
! Removed EXTRA_COLOR from wwiv.ini, it was not used.
* Many fixes to FILE_ID.DIZ handling
+ Support multiple tic areas per file area.
! Don't call out from the BBS WFC automatically anymore. WWIVD handles callouts
* 8x Speedup in networkf.
* Fix format string in litebar header for listplus.
+ Added script used to create links to built binaries. use-built-bin.sh
* Improved wwivutil fido dump display.
* Fix qwk uploads
+ added "wwivutil files tic validate" comman
+ Numerous FTN network usability improvements
  * Stopped allowing network type changes in wwivconfig.
  * When creating a new network in wwivconfig, ask for type before creating
    the network.
  * When creating new ftn area, set packet archiver to zip by default
  * Pre-create directories for fido types
  * run network3 once so that the directory is setup. Maybe also add it
    to networkc to check
  * When adding a network to a sub, ask for the host and then automatically
    add it to the subscriber's file.
  * Don't add msgid to emails
  * Don't add failed crc32 entries to the dupe database
  * Don't add emails to the dupe database
+ Added SDK code to list archives for arc, zip, lzh, and arj.
+ Added new command "wwivutil files arc cmd", that will display
  the commandlines used for manipulating archives.
+ Also added new command "wwivutil files arc view" to display
  the contents of any supported archive format.
+ Use internal arc viewer when arc view command is "@internal"
* Added "ARC" archive type by default to WWIV.  Delete data/archiver.dat
  then re-run wwivconfig and visit the archiver page to recreate your
  default archiver.dat.
* Fix full screen reader on unvalidated messages.
* Remove File::creation_time, it doesn't work reliably on any platform
* Lots of work on the installer:
  * add some cmake install targets
    cmake .. -DCMAKE_INSTALL_PREFIX=<location>
    cmake --build . --target install
  * You can use to generate archives (valid types ZIP, TGZ, STGZ, NSIS)
    example: cpack -G ZIP
* Added back the color countdown in bihangup.
* Fix setting the nscandate (P) from the xfer menu.
* Fix "years old" display in newuser (#1224)
+ include networkt in builds
+ The Internal FSED is now available for use.
  To disable this, please set INTERNAL_FSED=N in WWIV.INI
  The previous WWIV.INI setting of "EXPERIMENTAL_FSED_USERS"
  is not longer used.
  For a user to enable it, they should go to (D)efaults
  and under "(9) Message Editor" select the option for:
   "A. Internal full-screen editor"
+ Added a help file (FSED.MSG) for the internal full screen 
  message editor. Please add it to your wwiv install under
  the gfiles/ directory.
+ Last IP Address for a user is now saved with the user record and displayed
  at logon time in lilo.
+ WWIV now supports an ACS language such as "user.sl > 200" that will be used
  in expressions requiring access checks in the future.
+ Added "WWIVUTIL ACS" command to validate ACS expressions and also execute
  them against users to test the result.
! Updated menu commands in extract post, please copy over MEXTRACT.MSG from
  gfiles.zip to your GFILES directory.
* fix crash renaming conference key in ConfEdit
* Create wwivd.json if it's missing in wwivconfig. (#1248)
* Only list chain exec modes (in chainedit) that work for the platform.
* Fixed EXEC_LOG_SYNCFOSS string in wwiv.ini
! default wwivd port to 23 on windows (#1251)
+ Enable full screen reader for sysop and users with ansi by default. (#1252)
+ Enable full screen editor for sysop and users with ansi by default. (#1252)
+ Bundle netfoss with the install (#1253)
* Removed unused spawnopts for NETWORK and TIMED as they were not used

What's New in WWIV 5.5 (2019)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* WWIV now requires GCC 8.3 or later and MSVC 2019 v16.3 or later.
* WWIV now builds on Debian10, Windows 10 and Centos7 (soon to add Centos8)
* StringPrintf has been replaced by using fmt::fmtlib everywhere.
* Added --start_date and --end_date to wwivutil messages dump, this
  allows dumping of messages by date rather than by number.  The
  format for the date is "YYYY-MM-DD[ H:M:S]""

What's New in WWIV 5.4 (2019)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Conference files {subs,dirs}.cnf will be backed up before saving
  them in case of corruption.  If you see these files getting corrupted
  please log a bug and let us know what change was more recently made
  to the conference data file.
* Help text for command line arguments are a bit easier to understand.
+ wwivconfig now has an option under paths for Logs directory. If set,
  it'll be the default location for all binary *.log files.  If the
  WWIV_LOG_DIR environment variable or --logdir command line argument
  are specified, they will override this setting from wwivconfig.  Like
  all other paths, if specified as a relative path, it is relative to 
  the bbsdir (aka WWIV_DIR or --bbsdir).
* Added --log_startup to all binaries. This will enable the start/stop
  default logging with command line arguments displayed.  This is now
  not the default behavior anymore.  If you want it displayed, either
  pass --log_startup or edit Logger::Init in core/log.cpp and set
  log_startup_ to true.
* WWIV now uses the C++17 standard std::filesystem for almost all file
  and directory operations, this removed most of the OS specific code
  from WWIV.
* The wwiv_test from jenkins has been removed, the normal build target
  also runs tests now, this saves a lot of time double-compiling
  everything.
* Created chains.json to replace chains.dat and chains.reg.


What's New in WWIV 5.4 (2018)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! windows-wwiv-update has been removed from the distribution.  Had lots
  of complaints of it not working for people, and may reappear in the
  future as a native C++ implementation.
  It's source has been moved it it's own repo.
! wwivserver.exe has been removed from the distribution.  wwivd is
  the replacement. It's source has been moved it it's own repo.
! WINS has been removed from the distribution. It hasn't changed in
  several years and it's source has been moved it it's own repo.
  If new changes are made, it'll get it's own downloadable build
  for win32, or instructions for how to compile it yourself
  will be created.
* Lots of small changed related to logging, the user visible one is
  that log files are not held open anymore, so you can rotate them
  while a binary is running (like networkb or wwivd)
! Removed the '#' modifer from callout.net. It didn't work and also
  wasn't documented.
* Fixed duplicate contact.net entries.
+ Added options --save and --backup to wwivutil net contact
* Fixed networkc missed things to do, by adding a loop in networkc 
  to catch everything to do.
! remove INI variable RATIO. It was duplicated in wwivconfig and confusing.
* Fixes the dialog to create sysop account
* Fix error logged about failure to write 5.x header
+ Added wwivutil net subscribers command.
* Fixed a bunch of networking issues. (gating and hosting related)
+ added wwivutil fido subscribers command
* Improved FTN duplicate checking to check for either the 
  MSGID (if available) or a hash of the message header.
  Either one will now trigger a dupe, vs needing both to
  mark a message as a dupe.  This should improve the case
  where the header is changed on a message and it is resent
  to us.
* Only use fake mailer mode on telnet connections (not SSH)
  since that breaks SSH/
* Fixed a problem where we couldn't mark a wwivnet call as
  a failure (we threw an exception vs. recoring it in contact.net)
* Fixed STDIO based editors not working in Linux, and added an
  option to wwivconfig to enable it (the option is visible for
  all platforms, but currently only works on Linux/Unix)
* The Message SDK now honors pending_net_val flag on subboards.
! Fixed hubbing and gating in the network stack this should now
  mostly work as expected.
* Remove existing msgid line before adding a new one (bug #1134)
* Improvements on detecting a failed session in networkb.
+ wwivconfig can now edit callout.net from the networks menu
  just like it can edit fido_callouts.json with a GUI editor.
! You can now send a FTN email using the form:
  "username (net/node)" or "username (zone:net/node)".  Using
  the fake ftn node number is no longer needed.
! Added --skip_delete to most network commands, it'll backup vs
  deleting packets that it's processed.
* wwivutil messages dump now displays msgid for messages
+ net.ini is now read for default values for most command
  line flags for all network? commands.  I.e. you can add
  skip_net = true under [networkb] and it'll be the same
  as added --skip_net=true on the commandline
+ wwivd now handles all of the callouts instead of bbs's
  WFC screen.  Make sure you turn it on in wwivconfig
  to allow it to happen, then the nodes that allow 
  auto-callouts will be called out to on schedule as
  set in callout.net or fido_callout.json (both are
  editable in wwivconfig in the network settings).
* Don't silently crash the binary when a network connection
  gets dropped.  Handle SIGPIPE on linux and log the result.
* networkb (and bbs) now uses networkc to "cleanup the net"
  instead of each tool having a different buggy implementation.
* Fixed the log file timestamp (was using . not ,)
* net54's network1 now updates the bytes waiting in contact.net
  like net3x did (and it should have been doing all along)
* wwivd will reload the network callout configuration when
  receiving a HUP signal.
+ wwivd can now execute wwiv's beginday event if specified
  to do so in wwivconfig
+ added --quiet flag to wwivconfig to make it not output
  anything unless it's doing something (nice to keep the
  wfc from displaying lots of useless info)
* wwivd now exit's cleanly so systemd is happier.
+ wwivd autoblocking now works (it was listed in wwivconfig
  back in 5.3, but never enabled in wwivd, fixed that)
+ networkc now has a --process_instance=XX flag that's used
  when the bbs uses it to cleanup the net.
- Removed the '-k' flag from bbs, please use wwivutil to
  pack the message bases now
+ added "wwivutil print" command to print ansi files using the same
  ansi interpretation code in the bbs (also it's now been rewritten
  into the SDK module so others can use it easily)
+ If an environment variable WWIV_DIR exists, use that
  to locate config.dat unless --bbsdir is specified on
  the commandline.  This works in every wwiv binary.
* For linux we now have builds for debian9 and centos7.
+ code that inputs numbers is much nicer and validates
  the number a bit more.
* broke and fixed quoting, it's much simplier now and
  understandable by humans.
+ ANSIs display reasonably well now in the fullscreen message viewer.
+ added wwivutil net list and wwivutil messages areas
* Made and use new string functions for inputting numbers that only
  allow numbers to be input, also can color the numbers red when out
  of range.
+ Implement WWIV_LOGS_DIR and WWIV_BIN_DIR env vars
+ Setup the ability to specify an env var for any command
  line parameter as the 4th argument to CommmandLineArgument, this
  simplified the logic for checking the bbsdir value.
* WWIV now uses the same commandline parsing code as the rest of the
  binaries in the suite of tools (wwivutil, network, etc)
* Add --configdir to all binaries
* Add --bindir to all binaries
* add --logdir to all binaries
* Add --quiet to all network binaries
* WWIV now needs CMake 3.9 and C++17 compatibility (this means 
  gcc >=6.3.0 or MSVC 2017 on Win32)
  For stretch add this line:
    deb http://ftp.debian.org/debian stretch-backports main
  to your sources.list (or add a new file with the ".list" extension to
  /etc/apt/sources.list.d/)
  You can also find a list of other mirrors at
  https://www.debian.org/mirror/list

  Then run the following to install cmake 3.9:
    sudo apt update
    sudo apt -t stretch-backports install cmake
  On Centos: yum install cmake3
  On Windows: It's already there with MSVC 2017
+ STDIO mode on Linux now creates a PTY in addition to setting the
  handles of 0 and 1 to pipe to the socket.  Also the pty seems to
  be setup properly with a Window size of 80 x 25.
* /C is fixed (it was broken a few weeks ago)
* QBBS Editors should now mostly work as expected, we strip the colors
  out of the messages, and the header lines that go into QUOTES.TXT 
  since only wwiv editors care about that metadata.
+ TextFile now supports a 'd' parameter for filemode, it means DOS
  text (i.e use \r\n on Linux vs. \n on Linux).  All door drop files
  and QBBS Editor Files (MSG{TMP,INF}) now use this mode.  This means
  no more unix2dos needed on Linux.  Since these are only used by
  DOSEMU based doors, it should be fine.

What's New in WWIV 5.3 (2018)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Lots of fixes to the SDK messagebase code.
+ Created SDK class for handling qscan pointers
! networkf will exit with error level 1 when there is
  no work to do.
* Optimize the full screen message title list by not redrawing
  the whole screen when there is no change.
* Lots of improvements in getting rid of global variables throughout
  the BBS and especially around the message base code in WWIV
* Lots of improvements to the localUI classes used by INIT, also
  can now optionally have help for edit items displayed in the
  statusbar and UI pages are easier to create.
* Added UI for WWIVD.
* Implemented all of the wwiv-server features (auto blocking,
  country blocking, goodlist, badlist, etc) into wwivd except
  for "fake mailer mode"
* Dont try to use the Full-Screen Reader for emails, since 
  it doesn't work yet.
* For linux we now have builds for debian8, debian9 and centos7.
+ wwivd now offers fakemailer mode and is now has (mostly) feature parity
  with wwivserver.exe on windows.  wwivserver.exe is deprecated
  with the 5.3 release and will be removed for 5.4
! INIT has been renamed to WWIVCONFIG.  Please delete init.exe or
  ./init when you upgrade to 5.3
+ wwivutil dump will now display control characters (like [^A]
  for control-A)
* On FTN messages bank lines were being striped accidentally,
  this is now fixed.
+ wwivconfig has some new parameters for how it works with 4.x
  WWIV installs.  --4xx will launch a menu with only the items
  that work with 4.x (like wwivd editor and network.dat editor)
  run "wwivconfig --help" for the latest list of command-line parameters.
* Fixed internal editor word wrapping on linux.
* fixed 8 char packet passwords truncating the last character.
* Emails packed in PKT files will now import, previously only
  ones in bundles (*.su?, *.mo?, etc) would import.
! Fixed the oubound FTN gateway number (network3 thought it
  was 32675 not 32765). This means you need to run network3
  on all FTN node networks (i.e. if fsxnet is network .2 in init
  then run "network3 .2" to rebuild the bbsdata.* files).
! **!!*!*!*! You need to update the outbound sub by recreating the
  network node it's under in subedit (J, then M, then the letter, usually
  A, then retype the echo tag, or just edit data/subs.json and replace
  32675 with 32765 everywhere prettymuch (it's under host section))

What's New in WWIV 5.3 (2017)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ WWIVbasic interpreter is available.  The menu command is
  "RUNBASIC".  Also you can run a script from the logon event
  by using @basic:[scriptname.bas] for the LOGON_CMD in wwiv.ini
  (eventually many other commands will allow you to specify a
  script to run instead of an external command).
+ New install.sh on Linux to do the entire installation.
* Init no longer prompts for system password.
* subs.json is now the source of truth for subs data (before, subs.dat
  and subs.xtr were both used as source of truth, although subs.json has
  been written on save since 5.2)
- background color pipe code (the format is '|Bn' where n in [0,9]), which
  were deprecated in 5.2 has been removed.
- extended ^P codes > 9 are removed.
+ New experimental menu editor in INIT.
* Most lists in INIT will now keep their selected index when returning
  to the list.
+ Added wwivutil status command. 1st operation is 
  "wwivutil status qscan [set|get]". You can set or get the qscan value
  in status.dat.
- Removed internal menueditor, use the one in init if needed.
* Upgraded compilers to MSVC 2017 and GCC 6.2.
+ handling type main_type_sub_list is implemented now, so receiving
  SUBS.LST from netup for WWIVnet type networks should work in net53.
* FTN KLUDGE lines are now hidden for FTN networks.
* Heart codes are stripped on outbound FTN messages now.
+ WWIV now compiles and runs on OpenIndiana (an Open Solaris fork)
  Thanks to apam for the code!
* Many FTN fixes. Also points may now work.
+ WWIVD now runs on Windows.  It has an initial version of a shuttle
  or matrix logon support.
- Removed internal usereditor, use the one in init if needed.
+ WWIVd now exports connection information to HTTP as a JSON object.
  on the http port defined on init, URL: "/status"
  Example output:
    { "status": [ { "num_instances" : 3 }, { "used_instances": 0 } ] }
+ New option to set the working directory to the temp directory vs. 
  bbs directory. It's available for both chains and editors.
+ Added %I when running commands to point to the path to the temporary
  directory.
* Fix some color schemes displaying black-on-black for colors
* Fix compilation on GCC 4.9, also fix many warnings from clang-tidy
! Use git submodules for dependencies instead of copyingn in code 
  from another repository. This makes it easier to update to new
  versions of our dependencies and also push fixes back.
  You now need to update submodules when cloning unless you clone
  it recursing submodules.
* BinkP Fix (thanks apam) where all FTN addresses were not being presented
  when answering.
! CMake is now the source-of-truth build system on all platforms.
  to build use "cmake --build . -- -j8" and not make or msbuild
  anymore.
! networkb will stay running now and doesn't need to be in a 
  batch file or shells script to loop after each connection.
  Also even better, let wwivd spawn it as needed vs. running
  it manually.

What's New in WWIV 5.2 (2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added "WWIVUTIL FILES" subcommand to list files, file areas and also
  delete a file entry from the listing.
* Fixed "WWIVUTIL FIX" with file entries. It actually works again.
* Login prompt looks a little snazzier, uses the colorized input prompt.
* config.dat now includes version info on what wrote to it for better
  versioning of upgrades.  The only change is now if you go back to 4.3
  you will need to run init to reset your newuser password (if you have
  one, or to clear it on downgrade since the newuserpw field and version
  info in config.dat live in the same first 21 characters in the file.)
* CONFUG.USR is no longer needed, INIT in 5.2.2129+ will move the data into
  user.lst and delete the file.
* Removed command line option -O, since -X{T,S} implies -O
* Removed Control-F1 to shutdown the BBS, it's not needed anymore on
  non-single user operating systems.
* Removed TAB {Instance Editor, didn't really edit, just allowed you to see
  status or shutdown an instance} command from WFC. Not really needed anymore.
* BBS now uses the network support code from the SDK module (like net51).
* nodemgr is deleted.  wwivd is the new preferred *nix daemon for spawning
  instances.
* bbs -XU is no longer supported.  valid connection types are local, ssh and
  telnet on all platforms.
* bbs -I# is no longer supported. It's been a duplicate of -N forever, please
  use -N## to specify the node number. (It also hasn't worked for quite some
  time)
* installation now includes sample scripts for systemd.
* wwivserver (windows), can now run networkb on demand for receiving connections
  automatically. Make sure that you configure it on the binkp page. This won't
  callout but will receive network binkp requests.
* / callout menu displays host:port if it's a binkp connection.
* callout.net flag /## now means ## minutes not ## hours
* wwivutil net dump_xxx commands are now just called wwivutil net xxx
  for example dump_callout -> callout
* networkb now supports CRC verification when sending files. To disable it
  set crc=N in the newly created net.ini
* net.ini can now handle defaults on a per-network basis or
  per-network-node basis (when calling out) using tags of 
  [networkb-network_name] and [networkb-network_name-sendto_node].
  The only settings are crc=[Y|N] and skip_net=[Y|N].
* The short lived networkb.ini is renamed to net.ini (yes, this is the same
  as the WINS one, but WINS will go away over time).
* networkb will loop on receive, no need to run binkp.cmd, but
  since wwivserver can answer binkp for you, no need to run networkb
  manually to receive traffic.
* wwivutil messages now has a pack comand to pack a message area.
* Network names "Filenet" and "internet" no longer have special meaning,
  within the BBS, please ensure those networks are of type "internet" for
  WWIV to understand those are internet network types. (don't rename them
  since WINS may care about the name).
* networkf is now bundled with the binaries. It can import and export
  message network types fido.
* The fake FTN network address is now hard coded, and it is 32765.
* Routing in FTN now works, uou need to define a route string for nodes
  in the address list in INIT for the network.  The format is space
  separated list of routes.  A route is a partial address ending in *
  as a wildcard. Optionally starting with ! to be a negative match.
  Example "11:* !11:2/*" would match everything in zone 11, except
  for everything in net 11:2/*.
* NETWORKC.EXE is added, it's like the Cerebrum software clnup.exe. It
  will run network{1,2,3} as needed to process all mail. It'll also
  run networkf to export packets to FTN bundles if any exist.
* FTN NetMail now works (sometimes).
* net.in has a new parameter for section [networkb].  cram_md5=[Y|N]. If set
  to N, it'll disable cram-md5 and works on either end.  If either side
  disables it, the session won't use it.
* Fixed network1 from breaking DE1 packets
* Fixed the cram-md5 implementation, it's not correct and can talk to 
  other binkp servers (tested against MIS) using cram-md5.  This happened
  in build 2304.
* The new user flow on Linux now works as expected (the screen
  positioning is not off).
* New experimental full screen reader. Enable it with
  "EXPERIMENTAL_READ_PROMPT = Y" in wwiv.ini.  Once enabled it's
  a per-user option in Defaults.
* New file "gfiles/mbfsed.msg" is the help screen for user
  commands for the full screen message reader.
* New file "gfiles/mbfsed-sysop.msg" is the help screen for sysop
  commands for the full screen message reader.
* New file "gfiles/title-fsed.msg" is the help screen for title
  scan in hte full screen message reader.
* readme.510 is now readme-wwiv.txt.
* wwivini.510 is now wwivini.txt
* Keyboard timeouts are now configurable in WWIV.INI.  Also
  you can configure a different timeout value for connections
  still at the logon phase, before a user is logged in. That
  defaults to 30 second (vs. 10 minutes before)
  The keys with defaults are are:
    USER_KEY_TIMEOUT  = 180 ; Timeout in seconds for non-sysops.
    SYSOP_KEY_TIMEOUT = 600 ; Timeout in seconds for sysops.
    LOGON_KEY_TIMEOUT = 130 ; Timeout in second for users logging in 
                            ; (i.e. They are at the NN: prompt.)
* EXPERIMENTAL_READ_PROMPT is now FULL_SCREEN_READER and defaults
  to being on.
* New Subboard flag (P) to disable the full screen reader for a 
  specific subboard. This is needed for ansi art subs.
* USE_NEW_BBSLIST is removed from WWIV.INI. All BBS List is the
  new JSON format.
* fcns.h is finally gone.

What's New in WWIV 5.1 (2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* removed "debug_level" and Debug menu command. use VLOG(2) now.
* "extra color" was only used in transfer section w/o listplus 
  (which means it's not ever used). removed the checks for it.  This
  will come back in the future somewhere else to be useful.
* Added IP blocklisting/safelisting and auto blocking. The settings
  are on the blocklist page in wwivserver.exe. By default 3 connection
  attempts in 120 seconds will get an IP blacklisted.
* The wwiv server also pretends to be a FTN mailer for fun.
* Removed F6 (toggle sysop alert), to page you after a session ends, since
  this isn't needed post-DOS anymore.
* Added wwiv-update.exe (contributed to WWIV by TRI0N from 
  https://github.com/TRI0N/Windows-WWIV-Update/) into nightly builds.  
  wwiv-update.exe is the name of the new binary.
* SSH support. Use -XS as the commandline argumetn vs. -XT for telnet.
* networkb will use CRAM-MD5 for authentication by default if both
  systems support it.
* The wwiv.ini setting TERMINAL_CMD will be used to launch a terminal
  program from the WFC using the 'T' command (again).
* WWIV5TelnetServer has a log viewer built in you may use to see the
  state of the various WWIV and network log files.
* net.log is now written in normal order for log files with the newest
  entry at the bottom and never truncated to behave like the rest of 
  the log files in WWIV.
* The two laston lists in WWIV have been merged into one.  Now last few
  callers will always display the last few callers regardless of the 
  day they called.
* Added -XU command line type for UNIX communication type. On UNIX we
  temporarily use that type by default for now.
* UNIX Local IO is now curses based. Win32 can optionally use curses
  for local IO by defining WWIV_WIN32_CURSES_IO.
* Removed "-w" argument to BBS since there is now just 1 WFC (again).
* Removed the --network=[net name] option from networkb.exe, now please
  use --network_number=N (where N is like you would use with network1 .N)
* Created alpha-quality network{1,2,3} replacements.  Please feel free to
  try them out. They will eventually become net51 and replace the DOS based
  net38.
* Renamed WWIV5TelnetServer to WWIVServer, since it also does SSH too.
* Numeric subtypes are no longer used.  Here's the diff of the change
  in case you run an older WWIV and want to mod it to behave the same
  way (using a string version for numeric types).  Otherwise just don't
  use numeric named subs anymore.
  https://github.com/wwivbbs/wwiv/pull/784/files
*   

What's New in WWIV 5.1 (2015)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Message titles are now limited to 72 characters (same as FidoNet message)
  limits.  In reality they would get truncated around this length anyway and
  in most places WWIV still forces a max of 60 characters.
* Internal application-level caching for posts have been removed. It didn't help
  access times anymore and added lots of unneeded complexity.
* Started new utility WWIVUTIL which will eventually handle maintenance
  tasks for the bbs.
* Updated menus/textfiles to reflect 5.1 and also remove commands that have
  been removed years ago.
* LOCAL_SYSOP has been removed from wwiv.ini, it's always true now.
* Callback support has been removed the rest of the way.
* Threaded messages support has been removed (it didn't work anyway).
* NETUTIL has been merged into WWIVUTIL.  Going forward, WWIVUTIL will be
  the main external command line tool for WWIV on all platforms.
* Removed menu commands DownloadPosts and DownloadFileList and the 
  Download Zipped Text menu item from //QWK (all did the same thing).
* Removed ability to run WWIVMAIL.EXE from the //QWK menu. If anyone
  wants this, then can add their own //QWK menu now that we have a
  menu editor since 4.3. This removed USE_WWIVMAIL and USE_INTERNAL_QWK
  from wwiv.ini.
* removed SLASH_SZ from wwiv.ini. It wasn't enabled by default anyway.
* Removed ReadMessages menu item. It wasn't classic WWIV

What's New in 2015 (WWIV 5.0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* networkb - BINKP transport for WWIV networking is now part of the WWIV builds.
* netutil - Network packet and config file utility now included
* network - shim to proxy between network0, networkp (PPP project) and networkb
  is now part of the product.
* A SSM will be sent to the sysop when a new user joins the bbs.
* WWIV moved from wwiv.sf.net to wwivbbs.org
* Source code moved from sourceforge.net to GitHub.
* Upgraded compilers from MSVC 2013 to 2015 Community.
* Upgraded .NET from 4.0 to 4.6
* Fixed hangs with guest user accounts when they drop connection
* Made all QWK filenames lowercase
* zip/unzip now bundled with WWIV on Windows
* linux builds now just include linux files, ditto for windows

What's New in 2014 (WWIV 5.0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Many more things work.
* Init is open sourced
* Full self-bootstrapping support. No longer need 4.30 installed first.
* Added new parameter for chains/commands %H = Telnet Socket Handle
* Added wwiv.ini setting NO_NEWUSER_FEEDBACK. If set to Y no newuser messages
  will be sent at all.
* Added wwiv.ini setings to control temp/batch directories. This is no longer
  configured in init.  For TEMP_DIRECTORY/BATCH_DIRECTORY the %n is replaced
  by the node number of the instance. Also paths are relative to the bbs home
  directory (where config.dat lives).  NUM_INSTANCES defines how many intances
  you want to spawn.  Also node that directories are created on demand by the
  bbs on startup and config.ovr will be created by legacy tools when you run
  init.  
  Here are the default values:
    TEMP_DIRECTORY = temp%n
    BATCH_DIRECTORY = batch%n
    NUM_INSTANCES = 4
* INIT will create default archiver configuration for infozip's unzip/zip. If
  you want to try it just delete archiver.dat (back it up first) and rerun
  INIT to create the new defaults.
* Internal QWK support has been added and only works with ZIP archives for now.
  If you use this, please add the QWK.ANS and QWK.MSG files from the release
  archive into your GFILES directory.
* Added new wwiv.ini setting to enable/disable internal QWK and wwivmail from
  the //QWK menu.  These currently both default to 'Y' (the wwivmail one will
  shortly default to 'N', so if you use it please add this to your INI)
  Here are the ini keys and default values:
    USE_WWIVMAIL = Y
    USE_INTERNAL_QWK = Y
* New files will optionally be displayed at login (right after "login" file):
  sl### : where ### is the current user SL.
  dsl### : where ### is the current user DSL.
  arX : Where X is one of the AR for the user.
  darX : Where X is one of the DAR for the user.
* Added support for QBBS style external editors. Just set the editor type to
  QuickBBS instead of WWIV.
* SPAWNOPT[FSED] is now unused and no longer supported.  Spawn options are now
  set on a per-editor bases in INIT (similiar to how chains work).
* Fix now defaults to only fixing critical files.  To enable other "fixes" 
  (which I recommend using at your own risk after you backed up DATA/" use
  the command line flags to enable each of these.  See fix -? for help.
* EXEC_WAITFORIDLETIME and EXEC_USECWAITFORIDLE are no longer used, 
  EXEC_CHILDWAITTIME  should be used to set how long to wait for exec'ed
  processes to become runnable. It defaults to 500ms.

What's New in 5.0 Beta-2 (2004)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Archver commands now work.
* F1 User Editor Improvements
* PuTTY now works with auto-detect line mode
* WFC now clears the screen in places it forgot to.
* Fixed Pending Network display glitches
* Changed Message Scan Prompt to 1 line from 2.
* Added Litebar calls in Your Info and Voting Booth for 
  a more common look and feel.
* Fixed missing mutex in telnet handling code.
* 2004 Copyright
* Misc internal code cleanups.

What's New in 5.0 Beta-1
~~~~~~~~~~~~~~~~~~~~~~~~
* File compatable with 4.30/4.31
* 32-bit Win32 version.
* Compiles and Runs on Linux.
* Included GUI Telnet Server.
* Internal ZModem
* DOOR32.SYS support.
* Uses the SyncFoss code from Synchronet (thanks to Rob Swindell for helping
  get this to work)  "Emulate Win32 FOSSIL" enables this.
* Added commandline option -k (pacK message areas) to wwiv50.  This 
  will pack all message areas unless you specify the number of the
  areas to pack on the commandline. i.e. "wwiv50 -k 1 5 10" would
  pack areas 1, 5 and 10. (Build46)
* If you add "NEW_SCAN_AT_LOGIN=Y" to WWIV.INI, then when a user logs 
  in they will be asked to scan all message areas for new messages. (Build46)
* The display while packing message bases is now a bit nicer looking.
* Changed filename global.txt to global-<node number>.txt (Build43)
* Added control-U for who's online hotkey. (Build40)
* Fixed laston edge case where the header didn't match the data when
  EXTENDED_USERINFO = N but SHOW_CITY_ST = Y. (Build40)
* FOSSIL can now be specified in WWIV.INI as a valid flag for spawn 
  options (Build37)
* Added 2 new pipe codes:
  * |#<wwiv color code 0-9> as an alternative to the "heart" codes
  * |@<macro character> as an alternative to ^O^O<macro char>
  * Existing pipe codes are: |B<background char>, and |<2 digit code>
    for foreground colors. (Build36) 
* Added parameter "%E" to stuff_in which can be used in doors as the path 
  to the DOOR32.SYS file (You can put this in chainedit or init) (Build35)
* Detects WinXP (Build34)
* '/A', '/H', '/?' Added to internal message editor (Build33)
* New WWIV.INI Parameters
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  EXEC_LOGSYNCFOSS     = [ 1 | 0 ] - If non-zero then wwivsync.log will 
                         be generated.  The default setting is 1 and this
                         is currently ignored.
  EXEC_USECWAITFORIDLE = [ 1 | 0 ] - Under WindowsNT/2K/XP when launching
                         the child process WWIV uses WaitForInputIdle to wait
                         for the child process to process all normal input 
                         before starting the Fossil handling code.  Setting
                         this to 0 will disable that (acting like Win9x where
                         we just wait for a bit (See EXEC_CHILDWAITTIME).  The
                         default value of this is 1.
  EXEC_CHILDWAITTIME   = (time to wait in milliseconds, this parameter is
                         only used on Win9X unless EXEC_USEWAITFORIDLE is
                         set to 0. The default value is 500 (1/2 second)
  EXEC_WAITFORIDLETIME = (time to wait in milliseconds, only used on 
                         Windows NT/2K/XP unless EXEC_USEWAITFORIDLE=0).  The
                         default value for this is 2000 (2 seconds)
