MiniVend 3.00:
* A powerful static page building capability is in place.
  This allows completely automated generation of static HTML
  pages based on MiniVend databases.  Use it to build static
  category lists and product pages that will load quickly without
  the necessity of MiniVend parsing them.

* Dynamic page parsing speed is increased by about 30% when
  using the standard syntax.

* Multiple product databases allow the breakout of product lines,
  new-used product separation, multi-vendor order routing, and
  more.  The database an item is ordered from is kept with the
  item in the shopping cart, so items ordered with the same part
  number from different databases will not overwrite each other.

* Database tables are now writeable.  Atomic incrementation is
  supported, which means that reliable inventory counts can be
  kept.  Form-based database updates are expanded to encompass
  all databases, not just mSQL.

* Transactions can be logged to an arbitrary file in an arbitrary
  format with [tag log file]data[/tag].

* Databases can be exported to an ASCII file with the [tag export ...]
  [/tag] construct.

* Shipping is much improved, with built-in subroutine calls, 
  error messages for out of bounds condtions, drop-in UPS zone
  files, configurable handling charges, UPS cost rounding, and
  more regular syntax.

* Item attribute selection greatly improved, with automated building
  of the item attribute selection.  Item attributes can easily be 
  specified at the time of order.

* Item attributes can cause price adjustments on either an
  item basis or attribute basis.

* Uses Data::Dumper's C-based uneval code when available,
  improving session storage speed.

* Database tables are only actually opened when referenced,
  improving speed greatly on systems that have a large number
  of tables in the database.

* Experimental DBI/DBD example interface provided, which
  will allow attachment of supported SQL databases like Solid,
  Oracle, or Sybase. THIS IS EARLY ALPHA SOFTWARE. Use only on
  an experimental basis, never with live data.

* Search engine has improved coordinated matching, with full
  field-independent case-sensitivity, substring matching, and
  negation.

* Search speed greatly improved when doing complex
  field-coordinated searches.

* The FullUrl directive allows different virtual hosts to have
  link programs with the same name, i.e. all named /cgi-bin/shop.

* A new (and still experimental) page syntax allows more regular
  parsing of tags, removing some of the interpolation-order anomalies
  inherent in the old-style tags. It can be invoked on individual
  pages with the [new] tag.

* Mall directive allows separate MV_SESSION_ID cookies for each
  CGI program, enables multiple and separate sessions for stores
  on same server

* Search cacheing is much improved, and searches can be pre-built
  when using the static page build capability.

* Pages can be cached, which especially improves performance of
  large parsed pages. Static build is preferred to cache, but
  with large databases it is not practical to build every item
  in advance.

* Supports Perl 5.004 transparently, making runtime changes to
  affected modules. Removes support for Perl 5.002

* Better security with the NoAbsolute, AdminPage, .access, and
  AdminDatabase tags.

* Improved handling of cookies, with savable sessions and dynamic
  expire times.

* Mailed orders may have MIME attachements. Though the author
  loathes routinely-used MIME, it has value as a way to attach
  an encrypted credit card number for easy processing by an
  order entry workstation.

* Search sorting bugs fixed.

* New $Safe{'cgi'}->{form_value} access in embedded Perl allows
  complex conditional search or order routines to be more
  intelligent with regard to user input.

* New FormIgnore directive allows certain variables to be
  expunged from the user session.

* Runs with taint checking enabled, even when using
  most embedded Perl code.

* INET and UNIX servers run concurrently.

* makecat program now parses httpd.conf (Apache/NSCA style) to
  help determine defaults.

* makecat program is now monolithic, and saves all catalog
  configurations in one file.

* Added [discount-price n*] tag, finds discounted price within
  [item-list].

* Added [item-discount] tag, finds difference between regular and
  discounted price within [item-list].

* mv_click_map and mv_click.action allows mapping of mv_click to any
  <INPUT TYPE=IMAGE ...> submit.

* Added configureable [more-list].

* Changed default CheckoutPage to work without explicitly setting.

* Added FrameFlyPage directive for frames flypage default.

* Documentation changes and improvements.

* Many other minor bug fixes, improvements, and changes.

MiniVend 2.03c - Fix session ID bug introduced in 2.03b.

MiniVend 2.03b - AOL-inspired Cookiehost to avoid proxy
server problems.

MiniVend 2.03a - Sendmail security fix, sort-command security
fix.

MiniVend 2.03 - User reconfiguration and internet-domain server,

* Re-configuring a catalog can now be done on an individual
  basis.  No more server re-starts for a user to change their
  configuration.

* MiniVend no longer requires DBM, though it is still best to use
  GDBM or DB_File if available. There is a file-based session
  storage message mechanism, and product databases can
  be stored in memory.  This is automatically selected if
  appropriate.

* Multi-server mechanism changed completely.  Only one
  server runs when in quiescent state -- it forks additional
  servers as necessary, up to a limit you decide.  This works
  around a memory leak in Safe.pm, the server can now run for
  months on end.

* Runs on just about any Unix operating system with
  no changes, providing Perl 5.002 is available.  This
  includes IRIX, which formerly would not run MiniVend.

* Perl subroutines can now be defined on three levels, and
  directly called from MiniVend pages. Two use the Safe.pm module
  for enforcing security, while an administrator-enabled GlobalSub
  routine can run external programs for complete control.

* mSQL support is now considered stable, and the databases
  can be updated by forms from within MiniVend.

* The link CGI program may now use TCP-based sockets, which
  allows the link CGI to be located on a different machine than
  the MiniVend server.  Be careful of security, though!

* Perl link programs are provided for systems without a C compiler.
  (Solaris still needs a C compiler for File::Lock, unless it is
  already installed on Perl.) Not production quality -- user
  help would be appreciated.

* Search sorting can be done right on the page from returned
  fields, and be sorted by field based on form options.

* The [if ...] conditionals are much improved.  Contained
  HTML can now be deferred until the last interpolation pass
  with the [post] [/post] tag pair.

* New mv_click and mv_check special variables set multiple
  form parameters with a single form button.

* Cookies are only sent once if enabled, preventing annoying
  multiple warnings if the user has them turned on.

* If the user is going through multiple proxy servers (as
  AOL users do), the session will be stable.

* If REMOTE_USER is present, the IP address will not be
  used for the session name, allowing the same user to connect
  to a saved session from any machine.

* Many other minor bug fixes, improvements, and changes.

  - Server now runs on either UNIX-domain or internet domain sockets
  - mSQL arrayhash primitive added
  - More backend support hooks, can be integrated with Cybercash
  - Order quantities optionally fractional
  - Shopping carts can be manipulated by Perl [perl carts]
  - [uniq] and [sort opt] constructs added to search lists
  - Rudimentary search caching
  - Improved demo
  - Fixed [if explicit ...] tag (again)
  - Added TcpHost, TcpPort, HouseKeeping, SearchCache, Password,
	MasterHost, RemoteUser, FractionalItems, GlobalSub, Sub
	directives

MiniVend 2.02 - Multiple Shopping Carts and mSQL
* mSQL support
* Added [msql hash|array|html|param] SQL code [/msql] , [msql list SQL code]
  substitution-list [/msql], [item-param n] tags
* Added MsqlDB, MsqlProducts, CreditCardAuto, SeparateItems,
  Locale catalog directives
* Untrapping of Safe op codes defined in global minivend.cfg with
  SafeUntrap directive  (249 and 148 by default)
* Better credit-card checksum validation, with conditional
  PGP encryption that can be embedded in order email
* Fixed [if explicit ...] tag
* Removed CreditCards directive
* Greatly improved search reliability
* Added search sorting
* Multiple shopping carts (buy/sell)
* Automatic installation of File::Lock module on Solaris
* Improved PGP support 
* Removed standard Des capability
* Improved stop script to kill non-responders (with -f option) and
  clean up sockets/pidfiles
* Configuration bugs fixed (ownership and SampleUrl) 
* Added (if_loop_field) to [loop list], make separate from [item-list]
  still compatible with old
* Loop lists can now be quoted values, still no embedded ]

MiniVend 2.01 - Maintenance Release
* Added modifier variables to user values
* Encapsulated code to prevent dying on catalog config and execution
* Improved makecat scripts
* Corrected silly duplication of files
* Improved [selected] and [checked]
* Fixed minor demo problems
* Changed IRIX locking to flock()
* Changed configure to set ForkSearches to NO on SunOS and OSF/Alpha

MiniVend 2.0 - The ISP release
* Multiple independent and shared catalogs
* Embedded Perl code using Safe.pm (still has memory leak?)
* Range searching in the TextSearch module (add Glimpse)
* Discount policy 
* UPS lookup shipping calculation
* Multiple configurable attributes (size/color, etc)
* Order profiling allows multi-level screens
* New tags [loop item,item...]value[/loop], [modifier-name attribute]
  and [item-modifier attribute]
* Added [else][/else] to [if_field]
* Demo much improved
* Removed MAT
* No option for svend in installation, must install manually
* No option for netstart
* Made Solaris default to full support, still needs File::Lock
* Fixed library ordering problem
* Many reliability improvements

MiniVend 1.03 - Multiple servers and disconnected searching
* Multiple servers can be run for the same catalog
* Searches are forked so single-server installations will
  not see delays while searching
* Cookie support
* Quantity price breaks
* Revamped demo yet again
* Order lists can be displayed anywhere
* Nameable order and search pages
* Accessories feature
* Added TaxShipping, NonTaxableField, PriceField, DescriptionField,
  AlwaysSecure, ExtraSecure, HammerLock, MultiServer, PageCheck,
  PriceBreaks, MixMatch, Cookies, Specialpage, Database directives
* Searches are now independent on database field
* Fixed bugs in match paging
* Arbitrary table-like text formatting with [row] [column] elements
* Vend variables available with [if][else][/else][/if]
* Configuration script now handles multiple installs, and
  GCC is recognized
* Code somewhat modularized
* Pages are checked for fatal errors before server starts???
* Static mode will be almost unusable unless the Apache
  Perl_fast mode is used (not supported or explained)
* MAT now displays error logs???
* Unlimited databases
* Special pages are mapped
* [data database field key] tag added

MiniVend 1.02 - SSL Security
* Revamped demo to have fewer frames
* Added CreditCards, EncryptProgram, FrameOrderPage, SecureOrderMsg,
  SecureURL directives to configuration
* Added __secure suffix to target of [pagetarget] element, allows secure
  transmission of arbitrary pages
* Added [process-target target secure] element
* Added [secure-order] element
* Improved "match exactly" search, removed bug that could crash
  program (not the system)
* Added Imagemap behavior for forms, uses the mv_todo.map
  variable to pass "client-side" maps
* Added TCP-based link program and Server.pm.tcp to allow
  TCP-based communication (no auto installation). THIS IS A
  SECURITY HOLE IF USING SSL AND DES
@ Fixed bug causing session close if bad quantity entered

MiniVend 1.01 - Extensive changes 
* Added [salestax], [subtotal] tags
* Added CustomShipping, DefaultShipping, Backend, SalesTax,
  and Tracking directives
* Added backend order entry in the tracking DBM database
* Added order archiving in the tracking DBM database
* Added page stats in the tracking DBM database
* Added custom shipping charges with shipping.asc file
* Added sales tax calcuation with salestax.asc file
* Changed name of vendadm/avend to MAT
* Documented all of the above
* Added example backend order entry programs (bin/entord and
  bin/trackrpt)

MiniVend 1.0a - Fixed minor configuration and catalog bugs 2/13/96

MiniVend 1.0 - Extensive changes to the documentation 2/11/96
and programs to change the name.
* Added [random] element and Random directive for random
  messages embedded in pages
* Added [help item] element and Help directive for inline
  help messages

Version 0.2m8
* Added [body n] element and Mv_Background, Mv_TextColor, 
  Mv_BgColor, Mv_LinkColor, and Mv_VlinkColor directives
  for user-customizeable appearance
* Added [buttonbar n] element and ButtonBars directive for canned
  button bars

Version 0.2m7
* Added Server.pm and Http.pm support, now much faster when
  running in server mode
* Made locking more portable by using Vend::lock.pm module
* Changed configure script to support server mode
* Added VendRoot/etc dir to hold socket, pidfile, and conf files
* Docs still don't discuss all this, next version

Version 0.2m6	Splinter version by Mike Heins - February 3, 1996
* Added client-side imagemap support
* Added tags
	[areatarget page target]
	[area page]
* Added comma prices with PriceCommas directive
* Configuration utility for installation
* Improved documentation for all
* Added frames demo
* Deleted [search][/search] tag
* Regularized variables over vendadm.pl, vendpage, vend.pl
* Added password check on vendadm.pl
* Changed default file names to make ready for NT version

Version 0.2m5	Splinter version by Mike Heins - January 26, 1996
* Added frame support
* Add tags	[pagetarget page frame][/pagetarget]
	      	[frames-on]
	      	[frames-off]
* vendadm(8L) utility added to help administer Vend

Version 0.2m4	Splinter version by Mike Heins - December 28, 1995
* Subdirectory capabilty added ('/' added to $codere)
* Search engine added to search product index (ASCII)
* Search engine added to search page tree (glimpse, untested)
* Add tags	[search][/search]
	      	[search-list][/search-list]
			[item-link]
* Product codes put in dbm files, with makedb command to make them
  from ASCII source
* Fourth field (page location) added to product file
* vendpage(8L) utility added to help maintain tree

Version 0.2
  svend.c cleaned up
  configuration directives now get correct default values

Version 0.1
  initial release