Ancient Version History of Tectite FormMail.
This information was originally included inside the formmail.php
download.
Version history for versions 7 and upward can be found here:
http://www.tectite.com/fmdoc/version_history.php
**Version 6.02: 17-Mar-2005
*
* Added system error message to the alert that's sent when a check file
* cannot be created.
*
* Added the "null" filter.
*
* Added new configuration setting ZERO_IS_EMPTY.
*
* Renamed "fm_modules" to "fmmodules".
*
* Implemented "and" for "conditions" testing.
*
**Version 6.01: 11-Mar-2005
*
* EMAIL_NAME now includes '-', so you can use this to match email
* addresses like "jack-smith@somesite.com".
* The Upgrade Wizard will put in the new value and discard your
* previous setting.
*
* Added some more comments/examples for Windows Servers.
*
* Added new filter options "KeepInLine". If you use the Attach option,
* you can also specify KeepInLine. KeepInLine causes the filtered
* results to be kept in the body of the email as well as being attached
* according to the Attach option. KeepInLine is ignored if Attach is
* not specified.
*
**Version 6.00: 20-Feb-2005
******* MAJOR UPGRADE *******
*
* Added support for new FMCompute module. This creates new special
* fields called "fmcompute" or "fmcompute1...N", and "fm_modules".
* Adds new configuration $MODULEDIR to hold the directory for
* modules.
* Added GeoIP module support via FMCompute. Adds new configuration
* $GEOIP_LIC to hold your MaxMind license code.
* Created IncludePath functions.
*
**Version 5.03: 31-Jan-2005
*
* Workaround a problem with empty file uploads on some
* servers and/or PHP versions.
*
**Version 5.02: 19-Jan-2005
*
* Fixed problems with upgrading and copying the $FROM_USER and
* $REAL_DOCUMENT_ROOT configurations. $REAL_DOCUMENT_ROOT has
* been replaced with a setting called "$SET_REAL_DOCUMENT_ROOT".
*
* Added support for Environment Variables and Server Variables
* to be accessed to create derived fields.
*
* Fixed bug in last version when processing FromAddr.
*
**Version 5.00rc1: 10-Dec-2004
******* MAJOR UPGRADE FOR INTERNATIONALIZATION *******
*
* Added support for languages other than English.
*
* FromAddr is now processed with the AT_MANGLE feature...this means you
* can hide this mail_options setting from spam bots too.
*
* Altered some error messages. Socket filter errors are no longer shown
* to the user.
*
**Version 4.10: 9-Dec-2004
*
* Added default setting for $TEMPLATEURL - without it the Upgrade Wizard
* failed to upgrade properly.
* Fixed bug in filtering process. This bug would probably not manifest
* on Unix servers, but may do on Windows servers.
*
**Version 4.09: 8-Dec-2004
*
* Added new configuration options:
* SENDMAIL_F_OPTION, which supersedes the "SendMailFOption" specification
* in "mail_options" in forms
* INI_SET_FROM which allows you to workaround bad PHP
* configurations on Windows servers
*
**Version 4.08: 29-Nov-2004
*
* More changes to set $REAL_DOCUMENT_ROOT correctly. This is now
* also an optional configuration setting.
*
**Version 4.07: 29-Nov-2004
*
* Fixed bugs with handling regular expressions in "conditions" on
* server configurations with magic_quotes_gpc set On.
* With magic_quotes_gpc set On, any backslashes in your regular
* expressions would be stripped, thereby changing the meaning of your
* regular expressions.
*
* Fixed bugs with handling slashes in data. Backslashes were being stripped
* twice on server configurations with magic_quotes_gpc set On.
*
* Also fixes problems with storing CSV data that contains innocuous
* slashes. With LIMITED_IMPORT set to true, backslashes were being
* unnecessarily stripped.
* With LIMITED_IMPORT set to false, backslashes in data could cause the CSV
* file to be unreadable by an intelligent importing program because they
* were not being backslashed. They are now backslased (escaped).
*
**Version 4.06: 26-Nov-2004
*
* Removed unused variable that would cause a warning message
* on some systems.
*
**Version 4.05: 23-Nov-2004
*
* Removed debugging code that could prevent correct setting of
* $REAL_DOCUMENT_ROOT.
* A failure to send an alert message with the "testalert" feature
* now displays an error message.
* Added support for sending mail using PEAR.
*
**Version 4.04: 20-Nov-2004
*
* Disables "magic_quotes_runtime" setting, which breaks just about everything.
*
**Version 4.03: 14-Nov-2004
*
* Added new mail_options setting "FromAddr".
* You can specify an empty value or any email address. If this option is
* used, the sender of form results will be set to the given address
* instead of the value of the "email" field. This feature is necessary
* for certain servers which don't let software specify an arbitrary
* sender address. Yahoo is one such hosting service.
*
**Version 4.02: 28-Oct-2004
*
* Improved to handle PHP sessions for browsers with cookies disabled.
* This is primarily useful with Error Handling (including with our
* FMBadHandler script).
*
**Version 4.01: 16-Oct-2004
*
* Improved setting of $REAL_DOCUMENT_ROOT. This means the standard
* filter setting for "encode" is more likely to work without change
* on any server.
*
* Improved "testalert" feature to include some server variables in the
* email.
*
**Version 4.00: 12-Oct-2004
******* MAJOR UPGRADE *******
*
* This new version provides new features that will be useful to
* users of FormMailDecoder.
*
* Added support for "filter_fields" feature. Your forms can now
* select which fields are to be filtered (encoded). All other
* fields will be shown normally. The behaviour of this feature is
* reasonably logical if you're also using the PlainTemplate and HTMLTemplate
* features. However, if you are using them, we recommend that you
* also specify the Attach feature in "filter_options".
*
* Added support for "filter_options" feature. Allows you to control
* the way a filter operates. Currently, only the "Attach" feature is
* provided:
* Attach if specified, the output of the filter is attached
* to the email instead of being inside the body of the
* message. You must provide the name of the file.
* Some examples:
* Attach=ccard.fmencoded
* Attach=data.txt
*
* See the HOW-TO guide on filtering for more information about these
* new features (http://www.tectite.com/fmhowto/guides.php).
*
**Version 3.01: 22-Sep-2004
*
* Workaround a problem in Microsoft IIS with uploaded files.
*
**Version 3.00: 2-Sep-2004
******* MAJOR UPGRADE *******
*
* Implemented the long-awaited Auto Responder feature! Requires
* version 1.01 of "verifyimg.php".
*
* Improved the "Exclude" mail_option so that "realname" and "email"
* special fields can be excluded from the body of the email.
*
* Added PlainTemplate mail_option feature. You can now create a template
* that will be used for sending you a plain text email. You can use this,
* for example, to put the data into CSV format.
*
**Version 2.17: 31-Aug-2004
*
* When filling templates, values are now converted so that HTML
* special characters in the values cannot break the HTML output.
*
* Alert messages now include the subject from the Form. Thanks
* to Doug Wright for suggesting this.
*
* Added new "template_list_sep" hidden field. If you have list-type
* fields in your form (checkboxes, multi-selection list boxes) and these
* are expanded in a template, then FormMail uses "," to separate the values
* by default. You can specify a different separator with the
* template_list_sep hidden field. For example,
*
* will give you line breaks instead of comma.
*
* Added new mail_options setting "CharSet". Your form can specify the
* character set to be used in emails with this option. For example,
*
* Thanks to Wojtek Linde for requesting this feature.
* The default remains ISO-8859-1.
*
**Version 2.16: 18-Aug-2004
*
* Added new "good_template" hidden field. This defines the template
* to output (and fill) to the browser on successful submission.
*
* Added new "crm_options" hidden field to control processing
* of CRM submissions.
*
* Added support for templates from URLs. This means you can use a
* URL from $TEMPLATEURL instead of a file from $TEMPLATEDIR. This is great for
* dynamically generated web pages. This adds a new configuration variable
* called $TEMPLATEURL.
*
**Version 2.15: 4-Aug-2004
*
* Fixed a bug in testing the PHP version - a couple of lines
* were in the wrong order. This should stop "Undefined offset"
* error form appearing in your php_errors file.
*
* Fixed bug in handling HTML + text emails with file attachments.
* This bug was introduced after version 2.12.
*
* Improved MIME compliance with internal headers when BODY_LF is set
* to something other than "\r\n". Improved to use the HEAD_CRLF
* configuration variable.
*
**Version 2.14: 13-Jul-2004
*
* Fixed problem with using sslencode filter.
* Small redesign in the definition of filters for HTTP and HTTPs access so
* that the FormMail Upgrade Wizard can be used to upgrade FormMail
* to contain these new features.
*
**Version 2.13: 12-Jul-2004
*
* Added support for executing filters via HTTP and HTTPS connections.
* This overcomes the problem on some servers where even CGI-BIN programs
* cannot be executed through PHP's "popen" or "system" functions.
*
**Version 2.12: 25-Jun-2004
*
* Fixed bug in passing array variables to the bad_url via the session.
*
* Added new "SendMailFOption" option for "mail_options". This causes
* FormMail to provide the "-faddr" option when it calls the "mail" function.
* This is needed by certain sendmail server installations.
*
**Version 2.11: 23-Jun-2004
*
* Improved further so that if no email address is provided the From line
* is excluded (having a name only is not valid to RFC822).
* Fixed some typos in comments.
*
**Version 2.10: 21-Jun-2004
*
* Improved creation of email's From line - if neither the email
* or realname is provided, no From line is included in the email.
*
**Version 2.09: 29-May-2004
*
* Fixed bug: mail_options Exclude feature wouldn't allow a single field
* name.
*
* Derived fields can now include arbitrary literal character using
* this ASCII hexadecimal notation: %HH% where HH is two hexadecimal
* characters: for example, 27 is a single quote, 2B is +, 2E is ., etc.
*
* Added simple check for internet spiders....no alert is sent.
*
* Added CONFIG_CHECK feature - currently checks for security
* issues in TARGET_EMAIL patterns.
*
* Improved to destroy session data when no longer needed.
*
**Version 2.08: 23-May-2004
*
* Fixed bug: wasn't handling 'ampm' in derived fields expansions.
*
* Added support for version check on servers that don't provide SERVER_NAME
* (now uses a unique ID derived from $TARGET_EMAIL[0] instead of SERVER_NAME).
*
* Added optional SCRATCH_PAD configuration so that you can specify the
* a directory that FormMail can write to on your server.
*
* Temporary files are now created in SCRATCH_PAD if it's configured.
*
* Alert messages are now filtered if a filter is specified (this is for
* security purposes on the assumption that the filter is an encryption
* program).
*
* Alert messages now use BODY_LF everywhere for line termination.
*
**Version 2.07: 13-May-2004
*
* Fixed incorrect documentation for $CSVOPEN feature introduced
* in v2.06.
*
* Added $CSVLINE configuration. Use this to customize your line
* terminations in CSV files
*
**Version 2.06: 12-May-2004
*
* Added $CSVOPEN configuration. Use this to ensure a text file
* format for your operating system.
*
**Version 2.05: 11-May-2004
*
* Added $CSVQUOTE configuration. This allows you to specify
* the character used for quoting fields in a CSV file. If you don't
* want quotes, you can set it to any empty string.
* Quotes within fields in a CSV file are now swapped to the opposite
* quote of that specified in $CSVQUOTE.
*
**Version 2.04: 10-May-2004
*
* Passes some more information to the bad_url. This information is
* used by fmbadhandler.php.
* Template expansions now treat empty fields as missing.
* Template expansions now put HTML BR tags where any new lines are found.
* Some alerts provide more specific information
* Added ALERT_ON_USER_ERROR configuration.
* Switched off DEBUG mode that was accidentally left on.
* The version check flag file now shows the server name.
* The version check now works even if SERVER_NAME is not available.
*
**Version 2.03: 3-May-2004
*
* Internal release - not generally available.
*
**Version 2.02: 1-May-2004
*
* Fixed a problem that caused empty conditions to generate an alert message.
* Since empty conditions are the default, that's an annoying problem!
* Changed "Revision" to "Version" in this Version History.
*
**Version 2.01: 1-May-2004
*
* Added support for creating date and time fields automatically.
* Fixed some line formatting.
*
**Version 2.00: 1-May-2004
******* MAJOR UPGRADE *******
*
* Several sections re-written to improve consistency and logic checking.
*
* Default FILTERS now includes "fmencoder".
*
* Added support for "cc" and "bcc" addresses. This only have an
* effect if "recipients" have also been specified.
*
* Added support for form checkboxes and multiple-selection lists
* (thanks to Ted Boardman for getting us started on that).
*
* Added a lot more checking and reporting of errors or problems.
*
* Added a special test parameter to confirm that the DEF_ALERT setting
* is working. The DEF_ALERT address is no longer subject to
* verification through TARGET_EMAIL. You can now specify any address
* for DEF_ALERT. ("alert_to" from a form is still tested against
* TARGET_EMAIL).
*
* Added support for file uploads. Note, the form must specify:
* enctype="multipart/form-data" method="post"
* (this is a requirement of file uploading, not FormMail).
*
* Added support for "mail_options" field. This provides
* extra control from the form. Options supported:
* NoEmpty FormMail won't send results for fields that are empty.
* KeepLines fields which contain lines (e.g. TEXTAREA's) keep the
* lines; without this option (i.e. the default) FormMail
* joins the lines together
* AlwaysList don't format as an email even if there's only one
* non-special field. If this option is set, the email is
* always formatted like this:
* name1: value1
* name2: value2
* DupHeader duplicate some header lines in the body of the email;
* this was the default prior to Version 2.00. If you've
* upgraded from 1.XX and you want your emails to look the
* same, include this option.
* StartLine include a --START-- line before the fields. This
* option only works if you also specify BodyHeader.
* If you've upgraded from 1.XX and you want your emails to
* look the same, include this option. The --START-- line
* is useful for some filter programs.
* Exclude a list of fields to exclude from the email (special
* fields cannot be excluded)
* HTMLTemplate name of a template file to use to create an HTML
* formatted email
* PlainTemplate name of a template file to use to create an plain text
* email
* TemplateMissing string to insert for fields that are empty,
* when filling an email template (HTMLTemplate or PlainTemplate)
* CharSet the character set to specify in the Content-Type for
* emails. Default is ISO-8859-1.
*
* CSV file support now provides configurable separators (see
* $CSVSEP, $CSVINTSEP, and $CSVQUOTE).
*
* Improved list processing so that list items can whitespace
* around them (e.g. ).
*
* Added support for derived fields.
*
* Errors are now distinguished between internal and user error. A user
* error is, for example, failure to enter a field. Internal errors are
* now shown as a generic message to the user (since the user can't do
* anything about them).
*
* Generated pages are now XHTML compliant.
*
* Redirects now use several methods to perform the redirect:
* Location header
* JavaScript redirect
* Text for the user: "please click here"
*
* All files that are opened are now subject to special processing to
* prevent security breaches.
*
* All URLs that FormMail will open are now checked against the
* TARGET_URLS setting (security feature).
*
* Added advanced tests in the "required" feature.
*
* Added complex field validations through the new "conditions" feature.
*
* Added new "bad_template" feature for customizing the error page.
*
* Improved "bad_url" handling - more error fields and data is now
* send to "bad_url" so that it can redirect back to the original form.
*
* Added automatic regular check for new version of FormMail.
*
******************************************************************************
*
**Version 1.22: 11-Feb-2004
* Improved filter logic to handle options which might have slashes in them.
* For example, a filter like "/path/to/fmencoder -k/path/to/keyfile.txt"
* would not work (because the directory name was not evaluated correctly).
* Added some more information when reporting filter failures.
*
**Version 1.21: 24-Jan-2004
* Fixed bug: required fields were not being checked if the form
* was not sending email (e.g. if it was just writing to a CSV file).
* Added alert messages for failure to open CSV and LOG files.
* Improved some documentation and added some TARGET_EMAIL example lines.
*
**Version 1.19 & 1.20: 19-Jan-2004
* Added support for missing environment variables: if an environment variable
* isn't in the environment, then FormMail looks in the server variables for it.
*
* Improved support for different server configurations; if SCRIPT_FILENAME
* is not available, PATH_TRANSLATED is used; if one or more isn't available
* no error message is produced (previous version displayed an error message
* depending on the PHP configuration).
*
* Added configuration option for line termination in the email body.
*
* The FormMail version is now displayed in the default error page.
*
**Version 1.18: 13-Jan-2004
* Fixed a problem when mail sending failed; now, FormMail reports the error
* to the user (by going to bad_url or generating the standard error page)
* instead of showing success.
* Added support for GET method of form submission (FormMail automatically
* detects the method from the PHP Server variables).
*
**Version 1.16 & 1.17: 4-Jan-2004 & 5-Jan-2004
* Added support for PHP versions before 4.2.3 (i.e. from 4.0.0 onwards).
*
**Version 1.14 & 1.15: 3-Jan-2004
* Added some more comments.
*
**Version 1.13: 29-Dec-2003
* Added Quick Start section, some more samples, and some more comments.
*
**Version 1.12: 26-Sep-2003
* Replaced use of PATH_TRANSLATED with the more reliable SCRIPT_FILENAME.
*
**Version 1.10 & 1.11: 16-Sep-2003
* Added handling of magic_quotes_gpc setting.
*
**Version 1.9: 5-Sep-2003
* Added ex/vi initialisation string.
*
**Version 1.8: 9-Jul-2003
* Added a workaround for a PHP bug: http://bugs.php.net/bug.php?id=21311
*
**Version 1.7: 19-May-2003
* If a form contains only one non-special field (a "special" field is
* one of the pre-defined ones, like "email", "realname"), then formmail.php
* formats the single field as the email to be sent. This feature allows
* formmail.php to be used for a simple email interface.
* Modified some wordings.
*
**Version 1.4: 13-May-2003
* First released version.