Changes
=======
(The Initials are explained at the end of the text)

V2.0.5.0
- New: hs2:
  - Function Shell(filename, parameter, mode, path, operation) starts
    files/documents with registered extensions. Only the first parameter
    filename is required. Mode allows the same values like the mode-
    parameter in the execute-funktion. An operation is something like
    open, print, explore etc and depends on the file-type. {TGL}
  - The result of the function DecodeToLocalCharset(text, charset) is
    the text converted from charset to local charset. {TGL}
  - Result of HamMainWindow( 2 ) and HamMessage ( 6, 2 ) is 1 if the main
    window is active 0 either. {TGL}
  - Result of HamTrayIcon( 2 ) and HamMessage ( 7, 2 ) is 1 if the trayicon
    is active 0 either. {TGL}
- New: Statusline/Trayicon-hint-variables %UT shows the uptime of Hamster
  formatted as hours:minutes:seconds. {TGL}
- New: Mail/News-score-file: {TGL}
  - To simplify numeric comparations you can use "KB" for kilobyte and "MB"
    for megabyte after the numeber: "Bytes: %>20kb" is equal to "Bytes: %>20480"
    and %<=1MB is equal to %<=1048576
  - When using '' instead of "" the string-pattern is case-sensitive.
- New: Mail-score-file: Warnings are logged for lines with a default-field
  beginning with "any-", "all-", "any_" or "all_" which don't end with
  Sender(s) or recipient(s) to avoid misspelling. {TGL}
- Chg: Actions: The documentation and the implementation for the action for
  incoming postings throug NNTP differed, so both is changed, from this
  version on the action is saved as "news.in.nntp.*" instead of "news.nntp.*".
  {TGL}
- Chg: Conversions between charsets / cnv-files: {TGL}
  - Use new entry hamster.ini [Directories] Charsets= to move cnv-files into
    a subdirectory of your choice.
  - New pattern for cnv-files: cs_unicode_CHARSET.cnv for the conversion Unicode
    to Charset and cs_CHARSET1_CHARSET2.cnv for conversion from Charset1 to
    Charset2.
- Chg: News-score-file: Parsing of file changed to the way of parsing mail-
  score-file, so string-patterns must be included in "" and files, which take
  advantage of some tolerances of the old parser may cause some warnings/errors
  now. {TGL}
- Bugfix: hs2: Expressions using parentheses could be miscalculate. {SS}
- Bugfix: Mail-score-file: "All-senders:" und "all-recipients:" didn't work.
  {TGL}
- Bugfix: Mail/News-score-file: If a string-pattern started with "%" it was
  misinterpreted as a numeric expression. {TGL}
- Bugfix: POP3-client: When the server reported the size of a mail as 0 this
  caused an error and mail was unloadable. {HR}
- Bugfix: Dialog "Edit Dirs":
  - The subject-column showed only the first line of a multi-line-subject.
  - A non-existing mail-directory could cause errors, now Hamster will create
    it automatically if missing. {TGL}
  - When switching between mail- and news-directories sometimes the entries
    didn't fit to the column-captions. {TGL}
  - If there was no entry [EditDirs] ColWidths=... in hamster.ini and the dialog
    was opened Hamster crashed immediately. {TGL}
- Bugfix: hs2: Decodeqp and decodebase64 didn't work. {TGL}
- Bugfix: Status-line/Trayicon-hint-Variables %UH and %UD showed wrong values.
  {TGL}
- Bugfix: NNTP-server: {MG}
  - Command LIST EXTENSIONS was not compatible to NNTP-Draft of IETF (Version 20).
  - Server-answers in case of TLS-errors wasn't in accordance with current
    NNTP-Draft.
- Bugfix: IMAP-server:
  - SEARCH-command didn't work with Client-SW Mulberry {MG}
  - Error in SEARCH-command when searching for flag SEEN {MG}
  - Command LIST reports now, that the creation of subdirs is forbidden for
    folder INBOX. ("\NOINFERIORS") {AP}
  - Saving flags had errors {HS}
  - Many errors when using message-sequence-Sets fixed. {MG}
  - An empty boundary-definition in a multipart-message caused a run-time-error.
    {MG}

V2.0.4.0
- New: Extended support for MIME-header-decoding. Hamster uses now
  special translation files to convert utf7/8 to local codepage and
  other codepages in local codepage. The local codepage is set in
  the general configuration dialog on the last tab. {JW/TGL}
- New: Mail-scorefile:
  - Pseudo-header "Age:" contains the age in days calculated from
    system date and DATE-Header of mail. {TGL}
  - Pseudo-header "All-Senders" concats all sender-fields before testing
    instead of testing the sender-fields in a loop like Any-Sender does.
    {TGL}
  - Pseudo-header "All-Recipients" concats all recipient-fields before
    testing instead of testing the recipient-fields in a loop like
    Any-Recipient does. {TGL}
- New: Action atEveryHour with parameters hour and day of week is executed
  every hour. The action waits until Hamster is idle. {TGL}
- New: local IMAP-server: SEARCH-command completly reprogrammed: {MG}
  - much better performance
  - Logical OR is supported to combine search-patterns
  - paranthesis are supported
  - support for different codepages
- New: Uptime of Hamster (based on system time) can be shown in bottomline or
  Trayicon-hint and used by hs2-scripts. hamster.ini [main] BottomlineFormat=...
  or HintFormat=...: To include uptime use %US, %UM, %UH, %UD for uptime in
  seconds/minutes/hours/days. {JW/TGL}
- New: password-list can be reloaded by menuitem "File / Reload
  passwords". This is useful, if you have entered a wrong password
  when hamster asked for. {HS}
- New: hs2
  - Function utf7toucs16 converts utf7 into 16-bit-unicode {JW}
  - Function utf8toucs32 konvertiert utf8 into 32-bit-unicode {JW}
  - Function decodebase64 decodes base64-coded strings {JW}
  - Function decodeqp decodes quoted-printable-coded strings {JW}
  - Function Testmailfilterline(mail-filter-line) logs the explanation
    how Hamster would interprete the line in the mail-scorefile. {TGL}
  - HamPassReload reloads the password-list. {HS}
  - Use GetUptimeSecs, GetUptimeMins, GetUptimeHours or GetUptimeDays
    to get the uptime of Hamster in seconds/minutes/hours/days. {JW}
- Chg: After installing Hamster 2.0.3.0 all users had automatically
  the group-settings for mailboxtype and newsgroups-access. In this
  version a missing setting for group-override is handled different:
  If group and user-setting is the same, override is deactivated, if
  group and user-settings differs, override is activated. {TGL}
- Chg: Rebuilding of global group list is much faster than before, so
  if the list is not up-to-date, opening "Add news-pull"-dialog auto-
  matically rebuilds the list instead of asking for. {AS2}  
- Chg: Logging of logins. Failed logins as warning, successful logins
  as detail-information. {JW}
- Bugfix: Mail-scorefile: Pseudo-header TOPONLY didn't work if "*" was
  used for the default field. {MR}
- Bugfix: hs2:
  - AtAdd with time mode 2 caused errors if the internal calculation of
    the next activation-time resulted values greater than 23:59. {TGL}
  - A paranthesis in a comment in the definition of a sub could be mis-
    interpreted and cause an error. {TGL}
- Bugfix: local IMAP-server:
  - Saving of mailbox-state failed sometimes. {HS}
  - Parsing strings failed when string contained escaped quotation marks. {MG}
  - "Tagged Response" was logged twice. {MG}
  - SEARCH had some minor bugs {MG} 
- Bugfix: hamster.ini [Directories]: UNC-pathes didn't work. {TGL}
- Bugfix: State for mails/postings to send was sometimes out of date. {HS}
- Bugfix: Dialog "Local user and password":
  - Add Group didn't work correctly. {TGL}
  - Add user: Missing check for "+" as part of the name. {TGL}
- Bugfix: POP3-server: Implementation of Digest-MD5 was incomplete and
  didn't work. {JW}
- Bugfix: Dialog "Edit dirs": If last saved path didn't exist anymore
  errors occured in the log. {TGL}
- Bugfix: Dialogs for news-configuration:
  - Some input fields of the dialog when creating a new NNTP-server had
    invalid values. {TGL}
  - Add new pull: Incorrect regexp adds the error message in the result list.
    Until this version the error message could be subscribed! {JH/TGL}

V2.0.3.0 (10/16/2003)
- New: Support for DIGEST-MD5-Authentification for SMTP- and
  POP3-clients and for local SMTP-,POP3-,IMAP- and RECO-
  server. {JW,OZ}
- New: Usergroups/Accounts: Most account/user-specific settings
  can be set to "default", so you can change user-settings just by
  changing the user-group-default-value(s). {TGL}
- New: NNTP-server:
  - Maximum count fo threads changable in the dialog now. {TGL}
  - Specific settings for special usage like UUCP: {TGL}
    - NNTP-server reducable to "only grouplist" or "pseudo-server",
      so that e.g. pull-jobs for reduced servers are automatically
      thrown away.
    - News.out can be configured for every NNTP-server. If not
      identical to the main news.out the msg-files in this directory
      are not posted by hamster.
    - New button for editing Grouplist-file.
- New: local NNTP-server: Date-header can be automatically generated if
  missing. {JW}
- New: POP3-server: Used authentifcation is configured in the dialog
  now, if not "none" is used, the old prefixes like AUTH:Password
  are ignored. (Server.ini [POP3] ForcedAuthMech=...) {JW/OL}
- New: Mailfilter-notifies: The subject can contain the original From
  and Subject now, changable in Mail-killfile-log-Dialog or hamster.ini
  [Setup] mail.infomail.addheadertosubject=1 {JW}
- New: Mail-killfile-log-dialog: New pages to change settings and to edit
  the mailfilter-file. {TGL}
- New: Mail-scorefile:
  - Pseudo-header TOPONLY is normally like TOP, but contains not more lines
    than defined in Toplines-setting (Default: 20) {TGL}
  - Pseudo-header HEADER contains full header. {TGL}
  - "unless" between action and default-field inverts the result, that means
    the line will word, if the values don't match. {MR/TGL}
- Neu: News-scorefile:
  - "unless" => see above. {JH}
- New: hs2
  - AtAdd: Last parameter Immediate(boolean) is replaced by parameter TimeMode
    with following allowed values:
    0=First Run after first interval (like Immediate=false)
    1=First Run without delay (like Immediate=true)
    2=Runs only when time is exactly firsttime + x * everyminute. (New!) {TGL}
  - HamDialogMailKillfileLog(x) controls the mail-killfile-log-dialog. x=1
    to open, x=0 to close, x=2 to check state. Identical to Message(17, x)
    {TGL}
- Change: Mail- and news-scorefile: {TGL}
  - #!load is replaced with #!include, for the next versions both variants
    will be supported, but #!load generates a warning in the log.
  - If "Include"-depth is greater than 5, the further loading is cancelled
    and is shown as an error in the log.
- Change: NNTP-server:
  - if server-infos are normally not automatically checked on every pull,
    they are checked for servers without group-list now or if one of the
    options "reload groups" or "reload descriptions" is activated. {TGL}
  - When hamster.ini [Setup] local.nntp.feedjunk=1 is used, articles with-
    out From are accepted when feeding, too. {JW}
- Change: POP3-Server: If global POP3-setting LeaveOnServer was activated,
  the POP3-server-specific settings was ignored. Now the POP3-server-specific
  option overrules the global setting, if set to 1 or 0. {TGL}
- Change: The automatic search for deletable mails in the trash is noticable
  faster than in prior versions. {TGL}
- Fix: News-killfile-log: The Score-test showed only line-number, but not
  the filter-lines itself. {TGL}
- Fix: Main-Dialog: Online-menu-entries containing invalid server-names
  are corrected automatically when started, the stripped server-names
  are logged as warnings. {TGL}
- Fix: Dialog "Directories": If the last used path was invalid this caused
  some problems when opening dialog. {TGL}
- Fix: CRAM-SHA1-Authentification didn't work for local POP3- and IMAP-
  server. {AS2}
- Fix: When using context-menuitem "Copy to clipboard" the result in the
  clipboard was a little bit broken. {TGL}    
- Internal: cAccount completly new structured (Object CfgAccounts, used
  for usergroups and users/accounts)
- Internal: Dialog "Directories": Count of mails in the directories restruc-
  tured for better performance. {TGL}

V2.0.2.2 (08/10/2003)
- New: Actions: When using script lines the parameters paramstr(x)
  works now like when using a script. {TGL}
- New: Dialog "Directories": New column "Score" allows sorting for
  score of mails. Notifies of ignore/kills get the score-value of
  the original Mail. {TGL}
- New: Mailfilt.hst:
  - New command Log(...) logs ignored or deleted mails, logoff
    (default) deactivated logging. The logged entries are available
    in the dialog "Settings / Mail: Killfile-Log" and allows to
    retrieve or delete the mail on next connect to the POP3-server.
    The parameter can be "*" for global list or a user-account. {PW}
  - New command "#!load filename" allows to include files. {HS}
  - To compare numeric values you can not only use %>value, %<value
    and %=value but %>=value, %<=value and %<>value, too. {TGL}
  - Use "_" an the end of line to combine it with the following line.
    Trailing spaces/tabs after the "_" in the first line and spaces/tabs
    at the beginning of the second line are trimmed automatically. {TGL}
- Change: Dialog "Directories": Trash is always sorted for filename
  descending for better performance. {TGL}
- Change: Sorting of additional menu items (using script-command #!menu)
  ignores "&" now. The log contains now the list of menu items and the
  belonging scripts. {TGL}
- Change: Renaming of "rebuild global lists" to "rebuild (global) group
  list". {TGL}
- Change: Mailfilt.hst: Changed sequence in notify-mails: The most
  important headers are now beforte the applying score-lines. The
  listed filter-lines are now the original lines and not created from
  the rule itself like before. {TGL}
- Change: Filtering mails: POP3-Command "TOP" is only used if the mail
  is bigger than the expected size of the TOP-result. This avoids
  some unnecessary traffic when filtering mails. {JH}
- Fix: Dialog "Directories": Drag'n'Drop to the trash works again. {TGL}
- Fix: Actions: When using script lines instead of script and/or program
  the flag for "wait for end" wasn't saved. {TGL}
- Fix: Dialog "Automatisation": Edit-Button for script works now for
  a script with full path, too. {TGL}
- Fix: Overview-entry for XRef was invalid referring to RFC2980. {OZ}
- Fix: NNTP-Client: If there was an acoount nntpdefault" without correct
  password "*", no account was accessable. {TGL}

V2.0.2.1 (04/18/2003)
- Fix: Scripts containing only #10 instead of #13#10 and with no
  #10 as last char caused Hamster to freeze on start. {HS}
- Fix: Mailfilt.hst: "notifyoff" didn't work. {TGL}
- Fix: Recreating <hamster>\server\alldescs.txt (File/Rebuild global
  lists) didn't work. the new file didn't contain any line feeds, so
  choosing new newspull didn't work, too. {TGL}
- Fix: Runtime-Error 217 or Crash when starting Hamster was caused
  by a test-routine, which wasn't deactivated before release. This
  fix was already done in the second upload from 2.0.2.0. {HS+

V2.0.2.0 (04/16/2003)
- Mailfilt.hst {TGL}
  - New: Scoring: Use SetScore(number) ... or AddScore(number) ... to set
    or change the current score. Use the virtual header-field "Score"
    to react on the current score value. Applied scoring-rules are
    written into the new mail-header "X-Header-Scoring" or are shown
    in the notify-mail if the mail is ignored or deleted.
  - New: Virtual header-field "TOP:" allows rules to test the first lines
    of the body of the mail (see setting "toplines").
  - Chg: notify/notifyoff/default/adddefault allows rules like add/set/...,
    too.
  - Fix: filter-rules in notify had "lost" the ":" behind the default-field.
- Fix: Dialog "Edit Dirs": When some mail were bigger than 1 MB, the sorting
  for KB caused an runtime-error in the log. {TGL}

V2.0.1.3 (04/03/2003)
- Mailfilt.hst {TGL}
  - New: In notify-mails and for the header X-Hamster-Account-Reason
    the used filter-lines includes line-number and comment, too.
  - Chg: Text-patters MUST included in "" now.
  - Chg: Lines, which can't be identified as comment, section or
    filter-rule causes errors in the logfile now.
  - Fix: Default-field and additional headers in pattern can contains
    now all ascii-chars without space and ":".
  - Fix: When there were more than one line with an expire-expression,
    all lines without the first were logged as invalid.
  - Fix: The analysis of the filter-lines didn't check, if it ends
    with invalid states like pattern without correct end-char.
  - Fix: AddAccounts without default-field or with patterns didn't
    cause an error.
  - Fix: Add/delete/postto etc with default-field but no pattern didn't
    cause an error.

V2.0.1.2 (03/31/2003)
- Chg: hs2: The message-functions (new in 2.0.1.0) collides with the
  names of the functions in hmessage.hsm. For better compatibility
  they are renamed to Art (Article): ArtAlloc, ... {TGL}
- Chg: Dialog "Directories": {TGL}
  Del: Ask before and move to trash, if trash active
  Ctrl+Del: No Confirmation and move to trash, if trash active
  Shift+Del: Ask before and delete file!
  Ctrl+Shift+Del: No Confirmation and delete file!
- Fix: Actions: Since 2.0.1.0 actions with sub-actions (account-specific)
  didn't work correctly (mail.in, mail.internal, ...) {TGL}
- Fix: Some detail-messages were only displayed in main log, if external
  logfile logged detail-messages, too. {TGL}
- Fix: If Trash-directory was defined under groups- or server-directory
  the check-for-obsolete-dirs-function reports it as obsolete. {TGL}
- Fix: Mailfilt.hst: Set/add-rules with a IMAP-subdirectory didn't work,
  if the subdirectory contained spaces. {TGL}
  !WARNING! To fix the error the complete analysis of the mail-filter-
  lines is programmed from scratch, new errors are not impossible.

V2.0.1.1 (03/28/2003)
- New: Dialog "Automatisation": Automatic purge of old files in the 
  trash-directory. Default: When older than 28 days, value 0 deactivates 
  the purge.  (hamster.ini [EditDirs] EmptyTrashAfterXDays=...) {TGL}
- Fix: Local NNTP-server: {TGL}
  - Result of command HEAD didn't end with CRLF as necesssary.
  - Result of commands BODY and ARTICLE didn't append CRLF if missing
    like Hamster before 2.0.1.0.
- Fix: Deactivating of trash-bin didn't deactivate trash-function. {TGL}

V2.0.1.0 ()
- New: Online-Menu: New mneu items "All NNTP-server" and "All POP3-
  server". {TGL}
- New: Dialog "Edit Dirs": If Trash is not deactivated (hamster.ini
  [EditDirs] ShowTrash=0) deleted mails and postings are moved into
  it. Only deleting mails and postings in the trash will delete them
  really. 
  The Trash is realized as directory Hamster\trash. To move the trash-
  directory use hamster.ini [directories] trash=... {TGL}
- New: actions: {TGL}
  - An action has now three possibilities: Running an external program,
    an existing script or directly some script lines.
  - New Action news.nntp.in is executed for every incoming posting when
    retrieving news by NNTP. Warning: usage with for example Korrnews
    can slow down the download noticable.
  - New actions DUN.BeforeDial, DUN.DialFailed, DUN.Connected und
    DUN.HangUp
  - New Action SearchMID is executed, when Hamster is asked by a client
    for an unavailable message-ID.
- New: hs2:
  - pre-processor-command #!menu:menuitem=caption extends the menu in the
    Hamster main window. Supported entries for "menuitem": file, config,
    online, local and help. Example:
    #!menu:online=Get/Send Mails and postings
    adds the online-menu with a menuitems called "Get/Send Mails and postings"
    which runs the Script including the line above. The script has to exist
    in the script-path or a subdirectory of it. {TGL}
  - The parameter of a command (print, If, ...) don't need paranthesis anymore:
    print "Hello!" is adequate to print ( "Hello!" ) {TGL}
  - If/else/endif extended to If/elseif/elseif/.../else/endif. {TGL}
  - HamVersion has now an optional parameter. 0 (Default) results the version
    like before, 1 results the product-name ("Classic Hamster"), 2 the maintainer
    and his mailaddress, 3 the homepage of the version and 4 the comments-field.
    This function will be supported in future Hamster playground and Hamster.fr,
    too. {TGL}
  - New function to work with postings/mails: {JH}
    - $Msg = MsgAlloc( [$Text] ): Creates a Msg-object
    - MsgFree ( $Msg ): Release the Msg-object
    - $Text = MsgGetText( $Msg ): Get full text (header+body)
    - $ok = MsgSetText( $Msg, $Text ): Set full text
    - $Hdrs = MsgGetHeaders( $Msg ): Get only header
    - $ok = MsgSetHeaders( $Msg, $Hdrs ): Set header
    - $Body = MsgGetBody( $Msg ): Get only body
    - $ok   = MsgSetBody( $Msg, $Body ): Set body
    - $HdrVal = MsgGetHeader( $Msg, $HdrNam [, $Separate] ): Get distinct
      header, if last parameter is 1 (default=0), the line feeds of an
      multi-line header are in the result and not deleted.
    - $ok = MsgAddHeader( $Msg, $HdrNam, $HdrVal ): Add new headerline.
      Hint: An existing header is not changed or overwritten, in this case
      there are two header with the same headername after that!
    - $ok = MsgSetHeader( $Msg, $HdrNam, $HdrVal [, $XHdrNam] ): Set or
      change a distinct header. if the header existed before and $XHdrNam
      is set, the old value of $HdrNam is saved in the new header $XHdrNam.
      If $XHdrNam existed before, too, his old value is lost.
    - $ok = MsgDelHeader( $Msg, $HdrName ): Delete distinct header.
    - $exists = MsgHeaderExists ( $Msg, $HdrName ): Results 1, if one or
      more headerlines with this name exist, otherwise 0.
    - $ok = MsgLoad ( $Msg, $Filename ): Loads message/mail $filename.
      Result values: 0=ok, -1=file doesn't exists, -2=other error.
    - $ok = MsgSave ( $Msg, $Filename ): Saves the message into the file
      $filename, Result values: 0=ok, -2=error.
- New: OLE: Funktion "hs2AsyncCommand(Command: String): Integer" allows to
  exec any hs2-script lines. {TGL}
- New: Sent mails: Mailout.log now contains the values of the envelope (MAIL
  FROM and RCPT TO) {AH/TGL}
- New: filter mails:
  - Extended Add/Set-rules for IMAP-folder:
    add/set(IMAP-folder\subfolder\subfolder:\Flag1\Flag2...) ...
    instead of only add/set(IMAP-folder) ... {HS}
  - For better tracing of mail filters loaded mails now contains the header
    "X-Hamster-Account-Reason:" and/or "X-Hamster-PostTo-Reason:" containing
    appropriate matching filter-rules. {TGL}
- New: IMAP:
  - IDLE (RFC 2177) (Including some bugfixes for getting Mail while staying
    in the mailbox) (HSR)
  - Literal+ (RFC 2088) (HSR)
  - AUTH=DIGEST-MD5 (JW)
  - ID (RFC 2971) (JW)
  - NC-Brain-Bug (Cyrus-Source) (X-NETSCAPE) (Default: Off)
- Chg: IMAP:
  - For better RFC3501-compatibility connections without SASL/SSL are
    deactivated by default and when activating IMAP without SASL/SSL
    a warning is logged.
  - LOGINDISALBED now everytime declared if IMAP_LoginDISABLED true. (HSR)
  - POP3-Server can't access IMAP-Mailboxes anymore (FIX!) (HSR)
  - SELECT unselect now _before_ checing parameters (FIX!) (HSR)
- Chg: local SMTP-Server: AUTH=LOGIN (Mozilla/NC) is now sended if LOGIN
  is defined anywhere in SASLAuthmechanisms. It should prevent Mozilla
  before 1.3 to not try to login. (HSR)
- Chg: local NNTP-Server: Performance optimized for commands ARTICLE, HEAD
  and BODY. {AS2}
- Chg: Recreating news-history: Performance optimized. {AS2}
- Chg: SMTP-Client: Some SMTP-Servers supports TLS-connections but
  answersn the EHLO incorrect. When TLS-usage is chosen Hamster now always
  tries a TLS-connect. {PW}
- Chg: Setting hamster.ini [setup] mail.SpaceAfterEnvelopeHeader is now
  obsolete. {TGL}
- Chg: POP3-client: Special behaviour for former Telda-server was in objection
  to the RFC and is deactivated now. {JW}
- Chg: If an Action deletes the temp-file (News.Preprocess, News.Gateway,
  news.in.nntp, mail.header und news.local), Hamster deletes the internal
  version, too. On news.preprocess the delivering Client gets the result
  "240 article deleted by news.preprocess". {TGL}
- Chg: In the last versions Hamster used the result of TOP as header
  and the result auf RETR as Body of incoming mails. On some mailservers
  the TOP-command don't work correct, so Hamster will only uses TOP-header,
  if action MailHeader is used and the header was changed by the action.
  {TGL}
- Chg: Some debug-infos when connecting to external servers can cause
  disturbing delays, so the checks for these infos are now only executed,
  when debug-info for save or visual log is activated. {JW}
- Fix: Mailfilt.hst: {TGL}
  - When using an expire-expression directly followed by a remark, the remark
    was interpreted as an additional filter-pattern.
  - Expired entries are now removed when starting hamster and not only when
    date changes.
- Fix: Hamster could only handle the first 32 defined DUN-connections. {TGL}
- Fix: hs2: HamResetCounters didn't work when the correspondencing menu
  items were disabled by user. {TGL}
- Fix: Newsserver/Info-Mail about new groups: When there were more than one
  new group at a time the info-mail showed only the first one. {TGL}
- Bugfix: IMAP:
  - SEARCH (Charset!)  (JW)
  - STORE FLAG (without parenthesis) (MG)
  - IPAccess: ReadOnly of IPAccess works now also for the local IMAP-Server
  - 8/7-Bit (JW)
  - MB-Create/Destroy were not defined for multi-tasking-access (HSR)
  - Folder-Create answers everytime "NO" (HB)
  - Rename should now give out a "NO" if it is selected by any other thread,
    and it should unselect itself (HSR)
  - If the Mailbox doesn't exist yet Hamster now creates the folder at the
    first login of this user. (HSR)
  - Hamster creates it also at MB.Create (HSR)
  - On "HasPOP3Mailbox" (internal) Hamster don't try to delete IMAP-Mailbox
    anymore (HSR)
  - Messages couldn't be stored in IMAP-MB (HSR)
  - After Expunge there were 'negative' counts of messages sometimes. (HSR)

V2.0.0.1 (02/19/2003)
- New: hs2: HamMailExchange has a second optional parameter "Mode":
  0=Default=like before=POP3+SMTP, 1=Only POP3, 2=Only SMTP. {TGL}
- New: Dialog "Directories": {TGL}
  - New Ini-setting hamster.ini [EditDirs] NoMailboxes=test1,test2,...
    allows to suppress chosen mailboxes and overrides the Mailboxes-
    settings, if same mailbox is used in both settings.
  - New Ini-setting hamster.ini [EditDirs] ShowIMAPSubDirs=1/0 decides,
    if all files of an IMAP-account are shown or only root directory.
    Default is 1 for all files.
  - New Ini-setting hamster.ini [EditDirs] ShowTrash=1/0 decides, if the
    trash is visible or not. Default is 1 (visible).
  - The ascpect ratio between file list and preview window is now saved
    automatically (hamster.ini [EditDirs] AspectListToPreview=x).
- New: external POP3-server: if the server returns incorrect data for
  TOP-command, problems are caused with mail-filters and mail-header-
  action. To avoid this, the TOP-command can be disabled for a POP3-Server:
  server.ini [POP3] UseTOPCommand=1/0. If disabled (0) Hamster will always
  retrieve the complete mails before filtering. {JW/PW}
- New: rejected/failed mails: {TGL}
  - For a better differentiation of succesful sent and failed mails the
    archive-message-id of faild mails begins with "failed." instead of
    "archive.".
  - Information mail contains now the rejecting SMTP-Server.
- New: IMAP: If creating/deleting/renaming of mailbox-dirs fails this is
  logged now. {HS}
- Chg: Main window: If copying full log or single log-lines into the clip-
  board the type (sys,war,err...) is inserted like in the log-files. {TGL}
- Chg: Action preprocess: Is executed before checking existens of posting-
  body. {TGL}     
- Chg: Password for SSL-certificate is checked for invalid chars and
  rejected if found at least one. {JW}
- Chg: If SSL-connect to external POP3-server fails, Hamster trys only
  connection-types configured for the server and not all possible like
  before. {JH/JW}
- Chg: To make entries more uniform, the server-specific Timeout-entries
  are changed to [Setup] remote.timeout.command/connect instead of
  remotetimeoutcommand/connect. If Hamster finds old kind of entries but
  not new, the old are converted automatically. {TGL}
- Chg: hs2: Command "int" didn't work correctly, an Int("Hallo") caused
  an error, now it returns 0 like documented. An additional second parameter
  allows to set a default-value, which is used, if the first parameter can't
  be converted to a number. If not set, the default-value is 0. {JH}
- Chg: IMAP: TAGs are forced, but only relevant for Telnet-users. Some minor
  changes and bug-fixes. {HS}
- Chg/Fix: Missing must-parameters caused strange errors, this is fixed now.
  Optional parameters can now be left empty: HamSendMailAuth ( "server", ,
  , , , , 1 ) is allowed, because only the first parameter has to be set.
  {JH/TGL}
- Fix: hs2: "ConstEnum" couldn't be used. {TGL}
- Fix: hs2: If the result of execute(...) was to big an range-check-error
  was caused. Not a negative value is returned. {JW}
- Fix: Insert-Command-buttons supports extended Varset, Const and ConstEnum
  when checking a module for variables. {TGL}
- Fix: Mailrouter: The space after "MAIL FROM:" and "RCPT TO:" when sending
  mails is incorrect when following RFC 2821, so it can be suppressed with
  INI-Option hamster.ini [Setup] mail.SpaceAfterEnvelopeHeader=0 {GD}
- Fix: Overview page of english help didn't work correctly. {JW}
- Fix: Main window: Hiding of menu entries didn't work for killfile-dialog
  and submenu special files. {TGL}
- Fix: POP3-Client supported SASL-command in AUTH-command although SSL was
  deactivated. {JW}
- Fix: Entries in hamster.ini [Directories] caused problems under special
  circumstances. {JW}
- Fix: Dialog "Directories": Splitter between list and preview was unreachable
  when dialog first opened. {TGL}
- Fix: Counter for incoming and outcouming bytes caused error when greater
  than 2 GB, now the limit is increased to ca. 1.844.674.407.371.000.000
  (int64) {HS}.
- Fix: Mail-actions: When sending a mail simultaneous to local and external
  recipients, the false action-type could be triggered. {WJ}

  
V2.0.0.0 (12/24/2002)
==========================================================================
Most significant changes since last stable (1.3.23.4):
  * Direct support for SSL
  * New local ReCo-Server allows remote control
  * New local IMAP-Server for advanced mail-handling
  * Score-After-Load for advanced score possiblilities
  * Main window/dialogs: Advanced settings disabled by default, menu items
    can be disabled by configuration-dialog, many changes/extensions (like
    automatisation-dialog)
Sorted list of major changes since last stable (1.3.23.4):
- Visual
  - Main window:
    - STOP-Button for active threads
    - Insert-Button for hs2-Shell
    - List for waiting news-jobs (only visible if waiting jobs exist)
  - Configuration
    - General settings / Internal groups: Local groups can be created directly, new
      page for log-settings, menu items can be disabled
    - Local accounts: now alpha-sorted, Aliases and forwards are displayed in Edit-
      dialog
    - Edit newsgroup:
      - New type "Gateway" sends postings to chosen mail-address
      - Moderated groups sends postings to the moderator-mail-address, if set
  - Edit scripts/modules: Edit scripts/modules directly in the dialog, pathes can be
    changed from within the dialog
  - New dialog for mail/news-directories: Preview-function, messages/mails can be
    deleted, renamed, moved, copied..., many possiblilities to sort etc
  - New dialog automatisation: Enable/Disable automatic functions when hamster is
    started, edit actions, ...
  - New dialog for history
  - Tray-Icon: Changed reactions when clicked
  - Many changes/updates of several dialogs to support IMAP-server, ReCo-server and
    SSL (OpenSSL-DLLs are needed for SSL-usage!)
- hamster.ini, New keys:
  - [Setup] mail.GateUseHamsterEnvelope, mail.flupforgate, local.nntp.feedjunk,
    FilterNewGroupsInfo, MaxUnknownGroupsInRe, Startup.OLEServer, COMServerName,
    MaxLocalXXXXServersPerIP (XXX=NNTP/POP3/SMTP/RECO), Log.IgnoreConnectionLost,
    local.mail.BounceIfUnknownUser, local.mail.reqnotauth, Main.HideMenuItems,
    nntp.autogetserverinfos, local.mail.LocalMIDFQDN, StartUp.ScriptTimeout,
    log.FormatFileName, local.nntp.XOVERdelCRLF, news2mail.MIDExtension,
    Editor.<Endung>.app/params, news.feededcancel, news.feededsupersedes,
    news.feededcancelverify, news.feededcancelcontrolmsg, nntp.dropresidualjobs,
    News.ScoreFile.ExpiredEntries.Delete, purge.mailinlog.keeplines,
    PurgeMailScorefile.daily, mail.scorefile.expiredentries.delete
    purge.mailoutlog.keeplines, purge.newsoutlog.keeplines, purge.rasdiallog.keeplines
  - [Main] Title, TaskbarTitle, Logs.ShowHints, color.xxx.yyy
  - [EditDirs] Mailboxes, ShowAllFiles, ShowDirectly, news.DefColumnSort,
    news.DefColumnSortUp, mail.DefColumnSort, mail.DefColumnSortUp, ShowFileTypes,
    Preview_Wordwrap, Preview_AllHeader, Preview_FixedPitchFont, Preview_TextAttr,
    Preview_MaxLines, UpdateIntervalms, UseSmallIcons, ColWidths, news.ShowHeaders,
    mail.ShowHeaders, OwnTaskbarEntry
  - [EditScripts] OwnTaskbarEntry
  - [Actions] Timeout.ExecInit, Timeout.ExecRun
- hs1/2
  - hs1 is no longer supported
  - several changes for a better performance
  - hamster checks for un-released resources when a script ends
  - ATTENTION: parameterlist for HamSendMail and HamSendMailAuth is changed!
  - New commands/functions:
    - #!finalize as counterpart to #!initialize
    - Define constants: Const, ConstEnum
    - Control Hamster: HamNNTPServer, HamSMTPServer, HamPOP3Server, HamIMAPServer,
      HamReCoServer, , HamShutdown, HamStopAllTasks, StopThread, HamResetCounters,
      HamMainWindow, HamTrayIcon, HamReloadConfig, HamReloadIPAccess, hamChangePassword
    - Log-file: HamRotateLog, hamaddlog
    - popupbox, HamDialogEditDirs, HamDialogScripts, HamDialogNewsKillfileLog,
      HamDialogAddPull
    - INI-files: IniDelete, IniEraseSection
    - hosts-file: LookUpHostAddr/LookUpHostName
    - Internal state: HamGetStatus(3,8), HamMainFQDN, HamMidFQDN, HamEnvelopeFrom,
      HamPostmaster, HamUsenetAcc, HamRCpath
    - News-jobs: HamNewsJobsCheckActive
    - Internal message-base: HamAddGroup, HamDelGroup, HamAddPull, HamDelPull,
      HamArtLocateMidInGroup, HamArtDeleteMidInGroup, HamArtDeleteNrInGroup
    - DLL-Usage: dllload, dllcall, dlllasterror, dllfree
    - Raw memory: memalloc, memsize, memsetint, memgetint, memsetstr, memgetstr,
      memvarptr, memfree, memforget
    - SSL-Usage: Geänderte Parameterliste für HamFetchMail, HamSendMail(Auth)
    - Scheduler: AtCount, AtSubfunction, AtFrom, AtUntil, AtOnDays, AtEveryMins
    - System: ScriptPriority, EventMultipleWait, SysErrorMessage, ClipRead, ClipWrite,
      RFCTimeZone, DiskFreeKB, GetEnvironment
    - Misc: digest, random, DecodeMIMEHeaderString, listappend
- Scores.hst:
  - Score-After-Load: Loadad articles can be scored based on any header or body. If
    original score + Score-after-load is less than 0, the article is deleted. To
    use Score-After-Load the score-rules must begin with "?".
- Mailfilt.hst:
  - Invalid lines are reported on startup
  - New command AddDefault
  - Expire:JJJJMMDD allows automatic date-based delete of lines
- Server
  - NNTP:
    - NEWNEWS-command supported
    - MODE CANCEL supported
  - POP3:
    - SASL-encryption supported
    - CAPA-command supported (RFC2449)
  - SMTP:
    - SASL-encryption supported
  - New server "Remote Control"
  - New server IMAP
  - OLE:
    - can be disabled, OLE-name changable
    - New commands:
      - ControlGetStatus (3,8)
      - SSL: ControlRunFetchMailTLS, ControlRunSendMailTLS, ControlRunSendMailAuthTLS
      - DUN-Network: RasDynGetConnection, RasGetIP, RasListEntries
      - Control Hamster: ControlAddGroup, ControlDelGroup, ControlAddPull, ControlDelPull,
        ControlRotateLog
    - This commands are no longer supported:
      - SSL: SendMailSSL, FetchMailSSL, FetchMailAuthSSL, OpenSSLTunnel, CloseSSLTunnel
- Clients
  - POP3
    - SASL-encryption supported
    - Automatic disconnect and connect after getting x mails: Server.ini [pop3]
      GetMaxMailsPerSession=x
  - SMTP
    - SASL-encryption supported
    - Some changes because of RFC 2821
- Actions
  - New actions
    - startup, shutdown, mail, mail.getheader, news, news.local, news.preprocess,
      news.gateway, TrayIcon.click, trayicon.doubleclick, trayicon.middleclick,
      trayicon.middledoubleclick, Status.click, Status.doubleclick
    - (mail-)account-specific actions
  - scripts can be executed directly now
- Mixed
  - Changes for better support of Windows XP
  - Not installed RAS-Network is no problem anymore
  - Local and feeded Cancels/Supersedes can be execute automatically
  - Extended checks to avoid errors, additional tests when starting hamster
  - Language-files have extended possibilities
==========================================================================
Details changes since 1.3.23.210:
- New: Edit Dirs: File/Move to = Strg+M allows some kind of drag'n'drop
  with the keyboard. {TGL}
- Change: Header X-Hamster-Info: ScoreLoad and ScoreSave (like Hamster PG)
  instead of Score1 und Score2. {TGL}
- Change: Edit Dirs: Different icons for msg, err and bak-files, other files
  without icon. {TGL}
- Change: Warning in log if a MBOX-file with invalid format is imported. {PW}
- Change: hs2: Result of HamArtDeleteNrInGroup changed for last time: 0
  if successful (1 in .210), -1 if function can't be done and -2 (0 in .210)
  if article doesn't exist. {TGL}
- Change: Local servers: maximum count of client-connections=0 means no
  limit now instead of no connection allowed. {TGL, thx to Ulrich F.
  Heidenreich}  
- Fix: mailserver-security: When connect to external server with APOP and
  external server doesn't support APOP, Hamster has no fallback to plain
  POP anymore. {JW}
- Fix: IMAP-Server:
  - result for Body.Size was wrong, so mails with attachment were not loaded
    completly by NC/Mozilla. {HS}
  - Parsing of Multiparts didn't work when "Boundary" was uppercase. {HS}
- Fix: Edit Dirs: Widhts of columns was only saved if user switched between
  a mail- and a news-directory. {TGL}
- Fix: RE_PARSE raised an exception if the string was parsed completely. {TGL}
- Fix: Very long log-lines could crash Hamster, now they are automatically shorten
  in the main-window-log (but not in the log-files!). {AS}
- Fix: CRAM-SHA1-Authentification didn't work. {JH}

V1.3.23.210 (vom 18.11.2002)
- New: X-Hamster-Info contains now the added score (Score=), the score
  from overview-filter-rules (Score1=) and from after-load-score-rules
  (Score2=) {TGL}
- New: hs2:
  - HamScoreTest has an additional parameter: After groupname, text of
    article and the variable to get the filterlines the fourth parameter
    supports following values: 1 = only score for overview-filter-rules,
    2 = only score for after-load-filter-rules or 0 for the added value
    (Default) {JH}
  - hamChangePassword(AccountName, OldPW, NewPW) allows to change the 
    password for an account like OLE-function ControlChangePassword.
    Result means: 0=false old PW, 1=OK, 2=error {TGL}
- Chg: Dialog "Directories": {TGL}
  - keys left/right/Del/Enter in the file-list only works without modifiers
    Shift/Ctrl/Alt pressed.
  - Delete: If no file is selected, the focussed file will be deleted.
  - Shift+Strg+Del delete files WITHOUT confirmation!
  - Option "Small icons" now really change the icons: No icon, if there is no
    msg-file in the directory, yellow circle if there are files.
  - The title of the Icons for the directories now counts the files in it.
  - The widths of the columns are now saved automatically.
- Chg: hs2: HamArtDeleteNrInGroup results 1 if succesful, 0 if article doesn't
  exist and -1 if function ist disabled (Purging, Archieve-Mode) {TGL}
- Chg/Bugfix: IMAP-Server: Extended logging, APPEND caused range-check-error,
  missing initialization on COPY {MG/HS}
- Bugfix: Shutdown of Hamster didn't shutdown IMAP-server correctly. {JW}
- Bugfix: Dialog "Directories": Trash worked as root-directory. {TGL}
- Bugfix: Mail-score-file: An empty file caused an "access violation". {TGL}
- Bugfix: NNTP/SMTP-server: If the default-server was deleted, the value for
  the default-server wasn't cleared. {TGL}
- "Rollback": regular expressions: Compiler-options changed {JH}, IMAP-server: 
  longWord back to LongInt.  

V1.3.23.205 (10/18/2002)
- New: Language-file allows to enable new menuitem Help/FAQ {TGL}
- New: Mail-filter-file:
  - On starting Hamster an existing mailfilt.hst is tested for invalid
    entries. {TGL}
  - If there's no search-pattern behind the default-field of an rule,
    the line is invalid and will be ignored. {TGL}
- New: General settings: New Button "Visible menuitems" opens Dialog for
  easy access to hamster.ini [Setup] HideMenuItems. {TGL}
- New: hs2: HamDialogAddPull(x) / HamDialogAddPull(16,x): x=2 checks,
  if the dialog is already opened (1) or clodes (0). {TGL}
- Chg: Dialog "Edit dirs": IMAP-accounts are visible again, but delete,
  copy and move is suppressed to avoid damage of internal structures.
  Mail in subdirs of IMAP-accounts are now visible, too. {TGL}
- Chg: mail.scorefile.expiredentries.delete works for Mailfilt.hst like
  news.scorefile.expiredentries.delete for the news-score-file. {TGL}
- Chg: Actions: When running an external application the work dir for the
  application is extracted from the path of the application itself. {TGL}
- Chg: Hotkey for "All servers" is changed from Ctrl+A to Shift+Ctrl+A.
  {TGL}
- Chg: General settings: The checkboxes to enable/disable log-levels have
  now the same color like the lines in the log-tab of main window. {TGL}
- Chg: Reload configuration (F5) checks news- and mail-score/filter-file
  for errors now. {TGL}
- Chg: Improved logging, minor changes for internationalisation etc
- Fix: IMAP:
  - Command APPEND ignored mails ending with whitespaces {HB}
  - Invalid boundary caused problems {MG}
  - More chars supported. {MG}
  - Errors when delete mails were ignored {MG}
  - More detailed logging {MG/HS}
  - Error when mailreader asked for mails from 0 to 4294967295. {MG}
- Fix: General settings / Logs: Buttons to edit logs started the false
  logs. In addition buttons for non-existing (main-)logs are now dis-
  abled. {TGL}
- Fix: After closing dialog "General settings" most entries from the
  Online-menu disapeared. {TGL}
- Fix: Logs: if setting for max. logs was 5, Hamster kept log 0 to 5
  instead of 0 to 4. {TGL}
- Fix: Actions: The third parameter was never set when running a script
  for an specific account. {TGL}
- Fix: OLE/hs2: The status-command didn't work like documented for parameters
  greater than 3,8 {TGL}
- Fix: hs2: DLLCall caused an Range-Check-Error with negative parameters. {AS}
- Fix: Scorefile: Spaces after "%>" caused problems in .200 {TGL}
- Fix: hamster.ini [Main] color.detail.text/brush works now, too. In addition
  you can use color.else.brush to set the background of empty lines in the
  log. {TGL}

V1.3.23.200
- New: OLE-Server: ControlAddGroup, ControlDelGroup, ControlAddPull,
  ControlDelPull and ControlRotateLog works like the hs2-HamAdd/DelPull/Group
  commands. {TGL}
- New: Dialog "Edit Dirs" {TGL}
  - Preview of msg/err-files works when "all files" are activated, too.
  - hamster.ini [EditDirs] Mailboxes=... allows to sort and select the
    mailboxes in the upper area of the window. Use Mailboxes=user1,user3,user7
    to show only user1, user3 and user7, if one of the mailboxes doesn't exist
    or is no pop3-mailbox, it is simply ignored.
- New: Dialog "General settings": New page "Logs" allows easy access to the log-
  files and to define the purge-settings (in lines) for the logs. {TGL}
- New: hamster.ini
  - [Setup] News.ScoreFile.ExpiredEntries.Delete=1/0. When 1 expired entries
    are deleted in the score-file else the entries are converted to comments.
    Default is 0, the settings works for news- and mail-score-file. if an
    expired entry is killed or commented out, this is logged. {TGL}
  - [Main] color.xxx.yyy=value changes the colors used for the logfile in the
    main window. xxx can be debug, info, system, warning or error, yyy can be
    text or brush. Value can be a Delphi-constant (like clBlack, clWhite,
    clBlue, clWindowText...) or a hex-value like $A0A0A. {TGL}
- New: Purge is used for several log-files, too. Every log-file has an ini-
  setting (Default 0=no purge), which defines, how many lines are allowed,
  if the file is bigger, the oldest lines are deleted. When running the hs2/OLE-
  purge-command, you can include or exclude purging of log-files with the numeric
  parameter. In the following list you find the filename of the log-file, the
  value for the purge-command and the key-name for hamster.ini [Setup]:
  - MailIn.log,   16/$10, purge.mailinlog.keeplines
  - MailOut.log,  32/$20, purge.mailoutlog.keeplines
  - NewsOut.log,  64/$40, purge.newsoutlog.keeplines
  - RasDial.log, 128/$80, purge.rasdiallog.keeplines
- New: Mail-Score-File: {TGL}
  - Expire:YYYYMMDD works in the same way like in the news-score-file. You can
    insert this condition at the end of the rule or between any elements of
    it, but it doesn't work after the beginning of a comment. Examples:
    =Ignore() Expire:20031231 ~From: "John Doe"
    =Add(spam) ~Subject: {^ADV} Expire:20031111
  - hamster.ini [Setup] PurgeMailScorefile.daily=1/0. If 1, the mail-score-file
    is tested for expired entries once per day, Default is 1.
- New: Local IMAP-Server: Setting to allow or forbid LOGIN/SASL-authentification
  in the setting-dialog, too. {TGL}
- New: Actions: When running an application, you can decide, if it is shown or
  hidden. The setting can be changed by the dialog "configuration/automation"
  or directly in the hamster.ini: [Actions] Actiontyp.ExeStartType=0/1 (normal,
  hidden), Default 0. {TGL}
- New: language-file allows to set help-topics directly for menu items:
  Hamster_xx.dat [HelpIDs] TFormname/Menuname=Help-ID
- New/Bugfix: Local server / Edit IPAccess: Access to IMAP-server can be defined
  now, MAIL means now POP3+IMAP+SMTP. {TGL}
- New/Bugfix: hs2: "dump" ignores constants (were shown as variables), if you want
  to see them now, you have to use dump(1). {TGL}
- Chg: hs2: "Enum" is exchanged by "ConstEnum".
- Chg: When creating a new pop3-server, the possibility of an alias-extension
  is shown, the automatic numeric alias is not supported anymore. {TGL}
- Chg: Feeding: if a peer rejects the offered articles with '480 no permission',
  this is logged as warning and the feed-job is stopped immediatly. {JW/HS}
- Chg: Mailrouter: Special X-Resent header for mails, which are redirected to
  an external address. {JW}
- Chg/Fix: Dialog "History" is now a normal window (topmost before) and the
  search-dialog is usable although the hamster-main-window is closed. {TGL}
- Change/Bugfix: Interal function FileExists2 didn't work correctly if file names
  started with an ".". {TGL}
- Chg/Fix: Interal function DirExists2 didn't work correctly if there was an
  "\" after the directory-name and was restructured, too. {TGL}
- Fix: IMAP-server: Data in literal-format was handled incorrectly, local timezone
  was ignored and some minor bugs are fixed, too. {MG/HS}
- Fix: Local server: Errors on sending data produced endless error-messages in the
  log-file. {MS}
- Fix: When executing the mail-score-file, empty headers werde handled as non-existing
  headers. Because filters on non-existing headers are skipped, you couldn't filter
  on an empty subject for example. {TGL}
- Fix: hs2/OLE: HamGetStatus/ControlGetStatus(3,x) are documented and programmed
  different for 1.3.23.100 and 1.3.23.170. The correct functions for x>7 are:
  3,8 counts the articles which are (re)loaded by message-id, 3,9 counts the
  error-lines and 3,10 the warning-lines (which means the warning/error-page
  on the main-window and not the main-log. {HS}
- Fix: hs2: return() wasn't handled correctly in special cases like inside a
  loop in a sub-routine. {TGL}
- Fix: The internal function to decode MIME-Headers crashed Hamster when decoding
  an empty string. This could be caused by using the hs2-function
  DecodeMimeHeaderString or a Mailfilter like "~Subject:". {TGL}
- Fix: News-Score-File: Syntax-errors like missing blank between score-value or a
  "+" at the end of the line could crash Hamster. {TGL}
- Fix: Local User: An group without name but with description could be created
  but not deleted by the dialog. {TGL}
- Fix: When using NEWNEWS there were date-related problems, so Hamster sets
  a Received-date for received articles now. {JH}
- Fix: GUI: Checking for double newsserver-names could be fooled by different
  port-entries. {TGL}
- Fix: Dialog "Edit Dirs": errors when handling msg-files for preview-function
  are now treated by the dialog itself. {MS}
- Fix: If [Setup] Main.HideMenuItems was used to suppress menuitems mnuPullSingleXXXX,
  "Configuration / Reload Configuration" made them visible again. {TGL}
- Fix: Dialog "Edit Dirs": Now only mailboxes for existing users with pop3-access
  are visible. {TGL}
- Fix: Hamster-mail for executed cancels contains the text of the cancel again. {TGL}

V1.3.23.191
- Chg: The own taskbar-entry for Dialog "Edit dirs" and "Scripts and Modules"
  has to be activated by hamster.ini, because under special circumstances the
  main window can lost his taskbar-entry. Use [EditDirs] OwnTaskbarEntry=1 for
  Dialog "Edit dirs" and [EditScripts] OwnTaskbarEntry=1 for scripts. {TGL}
- Chg: If a all threads for a newsserver fail you can now configure if the
  remaining jobs should be deleted or left in the job-list: Use the configuration
  dialog for News or hamster.ini [Setup] nntp.dropresidualjobs=1/0 {TGL}
- Fix: Passwords didn't work in .190 if the setting of encyption-base was not
  system+user. {JH}
- Fix: hs2-command HamSendMail() didn't work. {MB}
- Fix: Menuitem "Configuration / Killfile-Log/Settings" didn't work. {MB}
- Fix: RFC2822 says that header "Return-Path" should contain the address in
  <>, this brackets are now set. {MB}
- Fix: IMAP: Account-specific actions worked only for POP3-mail-accounts. {MB}

V1.3.23.190
- New: hs2:
  - Use "Const ( $variable, value )" to declare real constants. {TGL}
  - Use "enum ( $Var0, $Var1, ..., $Var99 )" to define constants with 
    increasing values - $Var0 is 0, $Var1 is 1, ... {TGL}
  - HamAddGroup ( groupname ) creates a new local group, result=0 if
    successful else -1. {TGL}
  - HamDelGroup ( groupname ) deletes a group and all existing pull
    jobs for the group, result=0 if successful else -1. {TGL}
  - HamAddPull ( servername, groupname ) adds a new pull result=0 if 
    successful else -1. If the group doesn't exist before it'll be 
    automatically created, if the servername is unknown, the function
    will fail. {TGL}
  - HamDelPull ( servername, groupname ) deletes an existing pull, result
    = 0 if  successful else -1. {TGL}
  - DiskFreeKB(drive) results the free disk-space in kilobytes (1024 bytes)
    for the drive. If an error occurs, the result is -1. {JW}
  - GetEnvironment(variable) or GetEnv(...) results the value for the given
    environement-variable. GetEnv("WinDir") for example will result the
    main-windows-directory. {JW}
  - HamRotateLog begins a new logfile. {TGL}
  - The message-commands exists now in a more remarkable form: {TGL}
    - HamShutdown ( <delay in ms> ) quits Hamster
    - HamStopAllTasks stops all active threads
    - HamResetCounters( <x> ) resets counters and/or clears the logs, x=0 for
      all, x=1 resets only counters, x=2 clears logs only, x=3 clears warning/
      error-log only, default-value for x is 0.
    - HamNNTPServer(x), HamSMTPServer(x), HamPOP3Server(x), HamIMAPServer(x)
      and HamReCoServer(x) controls the local servers: x=0 stops server,
      x=1 starts server, x=2 re-starts server and x=3 results, if server
      is running (1=active, 0=stopped).
    - HamMainWindow(0/1) closes/opens main window
    - HamTrayIcon(0/1) hides/shows tray-icon
    - HamReloadConfig(1) reloads all settings, if no configuration-dialog is
      open, HamConfigReload(0) results if any configuration-dialog is open
      (1=yes, 0=no).
    - HamReloadIPAccess reloads IPAccess.hst
    - HamDialogEditDirs(x) controls the dialog "Edit dirs". x=1 opens, x=0 
      closes, x=2 results state (1=open, 0=closed)
    - HamDialogScripts(x) controls the dialog "Edit Scripts/Modules". x=1 opens,
      x=0 closes, x=2 results state (1=open, 0=closed)
    - HamDialogNewsKillfileLog(x) controls the dialog for the news-killfile-log.
      x=1 opens, x=0 closes, x=2 results state (1=open, 0=closed)
    - HamDialogAddPull(x) controls dialog for new news-pulls, x=1 opens.
- New: Actions {TGL}
  - When running an external application you can use %0 in the parameter-field to
    hand over the name of the action itself. 
  - New actions trayicon.middleclick und trayicon.middledoubleclick to support 
    click with the middle mouse-button on the tray-Icon.
- New: hamster.ini
  - You can change the caption of the taskbar when main-window is open:
    [Main] TaskbarTitle=..., Default is "Hamster", the wildcards for [Main] 
    Title=... are useable here, too. {TGL}
  - In addition to the default-editor you can define different editors for
    speical file-extensions: To use a seperate editor for all ".msg"-files
    you have to set following entries: [Setup] Editor.msg.app=exe-file 
    and Editor.msg.params=parameter {TGL}
- Chg: If dialogs "Edit Dirs" or "Edit Scripts/Modules" are open, they have their
  own entry in the windows-taskbar now. {AS}
- Chg: Values for new HamMessage-functions are changed: {TGL}
  12,x Dialog "Edit Dir(s)", x=1 opens, 0 closes, 2 results state (1=open, 0=closed)
  13,x Dialog "Edit Scripts/modules", x=1 opens , 0 closes, 2 results state
  15,x Dialog "Killfile-Log", x=1 opens and waits until closed, x=0 closes if already
       open, x=2 for state (1=open, 0=closed)
  16,1 opens Dialog "Add News-Pull".
- Chg: Client-Threads like pulling news/mails are now stoppable, too. {TGL}
- Chg: (Shift+)Strg+Tab works now in dialog "history" and the history-list
  gets the focus when dialog is opened. {TGL}
- Chg: if a symbolic port is incorrected (ntp for example) this results in a error
  message in the log. {JW}
- Chg: Dialog "Local server" / Tab "NNTP": Settings for cancel/supersedes. {TGL}
- Chg: Execution of (feeded) Cancels: If Message-ID is unknown and no verify is
  activated the Message-ID will be marked as "drop away, if article with message-id
  follows". {HB}
- Chg: mailaddress and homepage of Luu Tran. {Thx to Sebastian Brocks}
- Chg result values of several functions: {TGL}
  - The result of belonging OLE- and hsc-functions differed and the results of the
    OLE-functions were dokumented false in the help, so from now on the OLE-functions
    have the same results: 0=ok and (mostly) -1 for error.
  - hs2: IniWrite, IniDelete, IniEraseSection and StopThread results 0 for ok and
    -1 in any other case.
- Chg: If a all threads for a newsserver fail the remaining jobs are now deleted from
  the job-list but showed as warnings in the log. {AS}
- Fix: When running mail-jobs and HamNewsPost/HamNewsPull-commands simultaneous this
  could cause in a freeze of Hamster. {JH}
- Fix: If IP-binding for IMAP- or ReCo-server were changed, this changes werde not
  directly executed. {MG}
- Fix: OLE-function NewsScoreTest always resulted 0. {HR}
- Fix: Imap-server used incorreced numbers when more than 255 mails were in a mailbox.
  The old state-file Mailbox.dat is automatically converted to Mails.dat for technical
  reasons. {MG}
- Fix: hs2-function "ListBox" caused "dead" window-threads. {JH}
- Fix: Internal function DirExists2 had a windows-ressources-leak and the result-value
  was sometimes incorrect. {MB/JW}
- Fix: NNTP-Server: SSL-connections didn't work correctly (timeout) {MG}
- Fix: XRef-Header contained gateway-groups. {JW}
- Fix: When running "Help / History" and no history-file exists, there will be an
  understandable error-message in the log. {TGL}
- Fix: Dialog "Edit dir(s)": Click on "Trash!" caused an error-message and after this
  the dialog didn't show any files until closed and opened again. {TGL}
- Fix: When deleting a POP3/SMTP-server the directory itself couldn't be deleted, if
  bak-files of the server-files still exist. {TGL}
- Fix: Search for unknows MIDs didn't work if the group itself didn't exist in 
  Hamster. {TGL}
- Fix: Dialog "Configuration / Automation": Titles in the action-tree were sometimes 
  showed bold. {MB}
- Fix: Dialog "Configuration / News": You could add the same newsserver-name multiple
  times. {AS}
- Fix: Under special conditions a new thread was closed directly after started. {AS}

V1.3.23.185
- New: Cancels and supersedes from incoming news can be executed automati-
  cally, see configuration / local servers / NNTP / cancel-messages. Cancels
  and supersedes in local groups are always executed, if sender/from of
  cancel-message is equal to sender/from of cancelled message. {HB/TGL}
- New: Dialog "Edit dirs": {TGL}
  - Different icons for empty and filled mailboxes.
  - Update-interval of dialog is changable now: hamster.ini [EditDirs]
    UpdateIntervalms=..., Default 1000 (milliseconds).
  - New option "Use small icons" for directory-list (hamster.ini [EditDirs]
    UseSmallIcons=0/1).
- Change: "Stop all scripts" doesn't create error-messages anymore. {TGL}
- Change: If a thread is stopped this is logged now. {TGL}
- Change: If score-log, news-score-file or mail-score-file are used, the
  menuitems are visible althoug special settings are disabled. {TGL}
- Bugfix: IMAP-Server: OE didn't show INBOX correctly. {HS}
- Bugfix: RAS-connections couldn't be started. {TGL}
- Bugfix: Main window: {TGL}
  - Log "Single thread" was always empty since 1.3.23.180.
  - Buttons above thread-log are only enabled if usable now.
- Bugfix: Dialog "Edit Dirs": GPF if double-click and no file in list. {MB}

V1.3.23.180
- New: Stop of single threads via Thread-ID:
  - use the button "Stop thread" in the main-window
  - use new hs2-command StopThread ("ID") (1=successful)
  - use remote control: TASK STOP ThreadID
  Attention: Not every thread will stop immediately! (for example:
  purging, hs2-scripts with AtExecute...) {HS/TGL}
- New: Timeout (in seconds) for external programs called by an Action:
  hamster.ini [actions] Timeout.ExecInit/Timeout.ExecRun, 0 for no
  timeout, defaults: 60/180. {HS/TGL}
- New: Dialog "Select news-pulls for (server)": If the mouse cursor
  moves over a group, the tagline is shown as a hint. {TGL}
- New: SMTP/POP3-server: The useable authentification methods can be
  chosen in the dialog now. {TGL}
- New: Dialog "Killfile-Log": "Show details" asks, if the details should
  be copied into the clipboard. {TGL}  
- New: hs2:
  - If "execute" fails the error-message is logged, too. {JH}
  - New function "RFCTimeZone" results the current timezone. {JW}
  - New command "HamArtDeleteNrInGroup (ArtNo, group)" kills article #ArtNo
    in chosen group without change of news-history. {TGL}
- New: Dialog "Edit Hamster-Account" shows "forwards", if exists. {TGL}
- New: Dialog "Edit dirs": {TGL}
  - hamster.ini [EditDirs] Preview_MaxLines=x decides, how much lines are
    shown in the preview-window, default is 300.
  - Additional column "KB" (for "Kilobytes")
- New: Dialog "Settings for automation": Added setting to filter messages
  about new groups. {TGL}
- New: OLE: Some new commands: {TGL}
  - RasDynGetConnection: String => title of current RAS-connection
  - RasGetIP: String => IP of current RAS-connection
  - RasListEntries: String => list of available RAS-connections, separator
    is CRLF.
- New: NNTP: To avoid same message-ID if you post an article in normal
  and gateway-groups, message-IDs of gateway-articles are extended at
  the beginning: Use [Setup] news2mail.MIDExtension=... to change the
  extension, default is "n2m-g.", if the value is empty, the function
  is disabled and the message-ID won't be changed. {TGL}
- New: Own Dialog for the Hamster-History with Search-function and
  automatically generated Overview. If there are history-files in
  multiple languages they can be chosen by tabs on the condition
  that they are named like "Changes_XX.txt". {TGL}
- Change: Dialog "Edit Hamster-Account": The list of aliases isn't
  generated from the saved list anymore but from the current list in the
  dialog itself, so that you can test the result of changes in the
  alias-list without closing the dialog before. {TGL}
- Change: NNTP: Failed nntp-default-authentifications are logged now. {JW}
- Change: Dialog "Edit dirs": {TGL}
  - List of mailboxes is now sorted by name.
  - Better performance when open first
- Change: Action "Headertest" changes the header of the mail not
  only for the mailfilter but permanent. {JW}
- Change: NNTP: Local cancels checks Sender-Header, too {JW}
- Fix: IMAP-Server: Some special chars caused problems (" and /),
  LIST and LSUB didn't work properly ... {HS/MG}
- Fix: NNTP: When feeding articles the PATH-Header was changed in an
  incorrect way: "Path: Path: ..." {JW}    
- Fix: If some internal commands worked too fast, there could be
  an GPF. {JH}
- Fix: In the archieve-copies of sent postings the newsgroups-information in
  the first line was again incorrected. {MB}
- Fix: Dialog "Edit dirs": Sort by date didn't work correctly. {TGL}
- Fix: Main-Window: Thread-log showed garbage after scrolling. {TGL}
- Fix: Local NNTP-Server: STAT-command ended with "." {GLG}
- Fix: OLE-function RasIsConnected had incorrect results. {TGL}
- Internal: TMultiReadExclusiveWriteSynchronizer => TReaderWriterLock. {JH}
- Internal: Event-commands serialized now. {JW}   

V1.3.23.170
- New: hs2:
  - New command listappend ( Listhandle, filename ) appends the list-text
    to the file if exists else it creates the file automatically. {OJB}
  - hamgetstatus(3,8) counts the error-lines and hamgetstatus(3,8) the warning-
    lines in the warning/error-log in the main-dialog. If this log is 
    closed, both functions results 0. {TGL}
  - The Width and Height of Inputbox and Listbox is now increased. An
    double-click on an entry of the listbox works now like the ok-button
    and the height of the listbox is changable (default is 220 pixels):
    hamster.ini [Setup] Script.Listbox.Height=Height in pixels {TGL}
  - Varset allows initialization of multiple variables instead of one. All
    parameters without the last has to be the new variables, which are
    initialized with the value of the last parameter. {TGL}
  - hammessage(9,1) updates the menu-entries of the main window, too. {TGL}
  - iniwrite, inidelete and inierasesection will result, if there was an
    error: 1 for no error, 0 for any error. {TGL}
  - If listload, listsave or listappend failed, the error-message itself
    will be logged automatically as a normal entry in the log. {TGL}
- New: Configuration / Automation / Load Articles by MID: Button "Add MIDs
  from clipboard..." checks the clipboard for message-IDs and inserts 
  the found MIDs into the lists of every newsserver. {TGL}
- New: Local/Open Dir(s): The interpretation of *bold*, /italic/ and _under-
  line_ in the preview is now optional (Preview/Textattributes). {TGL}
- New: Title of main window is changable: hamster.ini [Main] Title=..., 
  following "wildcards" are supported: %Hamster% for product name ("Hamster
  classic"), %Version% for version number and %Readonly% (only used, if
  read-only-mode activated). Default: "%Hamster% V%Version% %Readonly%" {TGL}
- New: Server.ini contains now some statistic information about the success 
  of connect-trys: Absolute Count of successful/failed connects, date
  of last successful/failed connect and how often the last state has happened
  in a row.  {TGL}
- New: hs2/OLE: New Hamster-messages: {TGL}
  - HamMessage(12,3) opens dialog News-Kill-Logfile and waits until user has closed
  - HamMessage(13,3) closes an opened dialog News-Kill-Logfile.
  - HamMessage(12,4) opens dialog "select news-pulls".
- New: Configuration / Accounts & passwords:
  - Listbox users: The User in a group are now ordered alphabetically {HS}
  - In the dialog "edit hamster-account" you can see the list of aliases for the
    user. {HS}
- New: Killfile/log: ESC closes the dialog, last sorting-order (if ascending
  or descending) will be restored automatically. {TGL}
- Chg: The script examples (vbs/pl/hsc) will be distributed in a ZIP-file
  and the hamster-icons, too, so that the hamster-maindir will not be filled
  up so much in future versions. {TGL}
- Chg: Default-Timeout for local servers decreased from 60 to 15 minutes. {JW}   
- Chg: The internal order if a Mail is received from the local SMTP-Server is
  changed, so that the Mailcounter is increased before the mail.out-action 
  is executed. {TGL}
- Chg: Increased compatibility of the local SMTP-Server to RFC 2821: {JW}
  - Envelope-addresses without <> are not allowed anymore
  - Source-Routes are deleted
  - RCTP- and Mail-commands has to be equal or shorter than 510 Bytes.
  - Envelope-addresses has to be equal or shorter than 256 Bytes.
- Chg: You can end hamster now, although a configuration dialog is open. {TGL}
- Chg: The script-menu and submenus are now sorted in following way: First all
  entries without subitems in alphabetic order and then the entries with submenus
  in alphabetic order. The alphabetic order is not case sensitive and the 
  underline-char (&) has no effect, too. {TGL}
- Chg: If you activate the main window from the trayicon, hamster-dialogs will
  be set to foreground. {TGL}    
- Fix: The check, if a mail goes to an external address could be fouled with 
  quotions marks around the address. {GW/HS}
- Fix: No more flickering when updating the Threads-log in the main window or when
  filling the user-list in the User&Password-dialog. {HS}
- Fix: The groupsnames in the newshistory were handled case-sensitive in some 
  parts and case-insensitive in other parts - now they are handled always case-
  insensitive, so that there should be no problems with deleting messages
  in the future, if the history is rebuild once. {OJB}
- Fix: Local IMAP-server: False result of command "LSub" in some cases, (FETCH) 
  ENVELOPE has false result (CRLF) and there were problems with the addresses.
  Furthermore the "Greeting"-result works now like all other local servers. {HS}
- Fix: In the archieve-copies of sent postings the newsgroups-information in
  the first line was missing since some beta-versions. {MB}
- Fix: Edit Dir(s): Preview added/deleted empty lines before/after lines with
  text-attributes (*bold*, ...) {TGL}
- Fix: SASL-Timeout was calculated incorrectly. {JH}
- Fix: A timeout in the client-thread could produce an GPF. {JH}
- Fix: Configuration / local server / general / encrypt MID worked only, if
  FQDN for special header was set. Now it only needs a FQDN for Message-ID
  again. {JW}
- Fix: The menu "help" in the main-windows started the help directly instead of 
  showing the menuitems above. {TGL}
- Fix: hs2-command HamSendMail created an unnecessary directory. {TGL}
- Fix: Destroy-method of some internal Thread-Objects had a bad internal order
  (inherited BEFORE freeing internal objects / added lines to log). {HS}
- Fix: If a mail in mail.out could not be opened, the other mails were not
  sent out. {HS}
- Fix: More detailled error message, if internal writing in a newsgroup 
  failed. {OJB}  

V1.3.23.161
- New: Configuration / local server: Authentification methods can be changed
  directly and not only in the hamster.ini. {TGL}
- Chg: The type of gateway-groups isn't changed to "moderated" anymore, if   
  OLE-command NewsGrpInformation is used. {TGL}
- Fix: Access to local SMTP-server only worked, if the client uses SMTP-AUTH. {JW}
- Fix: Access to local POP3-server failed for several values of the pop3-timeout. {JH/JW}
- Fix: Access to local ReCo-Server failed in some cases (Timeout). {JW}
- Fix: An empty header in a message/mail could produce a GPF. {MB}
- Fix: User-ID was missing in the Received-header of mails {JW}
- Fix: log.IgnoreConnectionLost was not supported for the local NNTP-server {Till Meyer}
- Fix: Edit Dir(s): Highlight of text attributes worked not always correct. {TGL}

V1.3.23.160
- New: Configuration / Automation: {TGL}
  - General contains well known settings from the local server-dialog (autostart
    for local servers and automatic purge every day). Furthermore the user can
    decide, if the daily statistic should be created and if the tests for obsolete
    directorys should be done.
  - Actions: Now the actions can set not only in the hamster.ini and there's a
    small information for every action.
  - Editing of the GetMids.txt for the external NNTP-server
- New: local IMAP-server. Settings can be found unter Configuration/local server/
  IMAP. This server is "alpha" and will need time until it is stable, so use it
  carefully. {HS/MG}
- New: Dialog Edit Dir(s): The preview supports highlighting of text attributes
  like *bold*, /italic/ and _underlined_. {HS/TGL}
- New: POP3-server supports special error-token in the results for compatibility
  to RFC 2449 and RFC 3206. CAPA-command has now the properties RESP-CODE 
  and AUTH-RESP-CODE. {JW}
- New: NNTP-extension "mode cancel" similar to the mode in INN, which allows 
  effective local cancels in the database, if the user has the permission. {HS}
- New: hs2:
  - Function ClipRead results the text-content of the clipboard {GLG}
  - ClipWrite(value) copies the value as text into den clipboard. {GLG}
    ATTENTION: Scripts for public use should avoid ClipWrite, because
    the clipboard is defined for the use of the user and can contain
    very important content!
  - Function HamRCpath results the script-path for the local ReCo-server. {JW}
- New: [Actions]: mail.getheader.* allows to edit the header of an incoming mail
  before the mailfilter of hamster is used. {JW/TGL}
- New: hwindows.hsm contains the function "RasErrText", which results the error
  message to an error number of an RAS-error. {JH}  
- Chg: All internal Delphi-error-messages are now in English. {TGL}
- Chg: Very big mailfilters are now executed faster. {HS}
- Chg: menuitem "advanced configuration" now with dynamic caption instead of 
  checked or not checked. {TGL}
- Chg: If an user has limited access to the newsgrouplist, the search for Message-
  ID won't find messages in the forbidden groups, too. {HS}
- Chg: If there's no server-directory for an local POP3/SMTP/NNTP-server, it won't 
  be created to save the Greeting.txt anymore. {TGL}
- Chg: More compatibility for mails with unusual headers: The space behind the ":"
  is not needed anymore, if there's a TAB it will be handled like an space. {TGL}
- Chg: The main-window-hotkey for the script-dialog is now F4 instead of F2. 
  ESC minimizes the window (or clears the content of the hs2-shell, if it is 
  not empty) {TGL}
- Chg: Default-value for [Setup] local.nntp.XOVERdelCRLF is now 1 (true), so that 
  the behaviour is like Hamster 1.3.23.4 and before. {TGL}
- Chg: If an mail received from an POP3-Server has no body, it automatically gets
  an empty body to avoid later errors. {JW}
- Fix: Check for obsolete server/group-directories didn't ignore system-dirs like
  news.out or news.err. {TGL}
- Fix: GPF/errors when closing dialog "Edit Dir(s)" shouldn't happen anymore. {TGL}
- Fix: Local servers could be started, if there was no correct certificate although
  "Required TLS" was set. {MG}
- Fix: hs2
  - Order of initialization of used modules were not correct. {TGL}
  - hamsendmailauth: The parameters for user and password were ignored. {JW}
  - Result when waiting for mutliple objects with "eventwait" was incorrect. {JW}
- Fix: Internal access to an message with multiple header results the last instead 
  of the first header. {HS}
- Fix: Groupflag "g" for "Gateway" is a speciality of Hamster, so that newsclients 
  like Gravity ignored such a group in the grouplist, so these groups are now labeled 
  as "m" (moderated) when a NNTP-clients asks the server for the grouplist. {TGL}
- Fix: The From-entry in the info-mails had no space between name and address. {JW}
- Fix: SSL-login-settings for POP3 were loaded from the false ini-file. {JW}
- Fix: When using POP3-server with alias-name (pop.gmx.de/2) Hamster created a
  directory for the original POP3-server-name. {TGL}
- Fix: Dialog "Edit Dir(s)":
  - Rot13 raised an error if the whole message was selected. {TGL}
  - When showing News.out/News.err there were no news-specific columns. {TGL} 
- Fix: Menuitem News-Killfile-Log wasn't enabled/disabled correctly. {MB}
- Fix: Configuration / News: ... : Reseizing worked not properly. {TGL}
- Fix: OLE-command NewsGrpInformation used false INI-file, the groupname was 
  missing and gateway-groups are now labelled as moderated. {HS}
- Fix: Login-timeout of local reco-Server corrected. {JW}
- Fix: The quoted part in Cancel-reports didn't contain carriage returns. {JW}

V1.3.23.150
- New: Score after load allows scoring of all headers and the (raw) body. The
  Score-after-load-entries in the Scores.hst starts with an "?" before the 
  real entry, you can filter on every possible header and not only to the known 
  calculated headers ("Bytes", "XPost", "Number" and "Age") but additional on
  "Header", "Body" und "Article" (article=header+body). Examples:
   ?+10 Supersedes: *
   ?=-9999 Body: "Merkens"
  Body, header and article are always "raw" which means there is no decoding
  with "~" supported and "quoted-printable", "base64" and "UTF-8"-articles
  is resulted without change. {code destilled from Haibles playground}
- New: "Configuration / advanced configuration" en/disables advanced settings,
  "big" dialogs allows to toggle this directly. {TGL}
- New / hs2:
  - Function DecodeMIMEHeaderString(String[,Variable]) decodes MIME-coded
    headers, if the second parameter is used, it must contain a variable,
    which contains the name of the used charset after decode. Attention:
    There's no conversion between the charset of the header and the
    charset, which is used by windows, it's only decoding to 8-bit. {JW}
  - Function SysErrorMessage(number of error) results the error message to 
    the error number for an windows-system-error. {TGL}
  - Function ScriptPriority(Priority) allows to set the priority of the 
    script-thread itself. 0=no priority, 1=very low priority, 2=low priority,  
    3=normal priority, 4=more priority, 5=high priority, 6=highest priority
    (which needs admin-rights under NT&Co), see windows.hsm for so named 
    variables. {JW}
- New: SSL - special Cipher-settings can be defined for a server: Server.ini,
  [NNTP] SSLCiphers=... {MG}
- New: When reset a group you can cleared the INI-file, too. If you allow 
  this, the group will be handled as completly new on next news-pull. {TGL}
- New / hamster.ini [Setup]
  - Setting for timeout when handing over parameters to a running hamster,
    0 deactivates the timeout: StartUp.ScriptTimeout=..., Default 30000 = 30s {JW}
  - local.nntp.XOVERdelCRLF=0 (Default) decides, what happens to CR/LF in 
    headers. If "0", they are converted to spaces, if "1" they are killed.
    "1" is highly recommend if using Forte Agent or XNews, because they get
    the subject from the XOver and includes false spaces in such cases.
- New/Chg: Dialog Edit Dir(s): {TGL}
  - ESC closes the preview or - if preview already closed - the dialog itself.
  - (Again) context-menu for filelist
  - New context-menu for preview
  - New options for preview: Fixed/variable-pitch-font, wordwrap, all header
  - New preview-functions: Rot13 und copy to clipboard
- New: When starting hamster, the server-path is checked for obsolete directories
  and these are logged as warnings. {TGL}
- New: OLE-Server can be activated/deactivated with "Local Server", but the change 
  has no effect till hamster is restarted because of technical reasons. {TGL}
- New: language-files (hamster_xx.dat) can contain lines to modify size and 
  position of controls and to change the used font for every single dialog. {TGL}   
- Chg: SSL-settings for local server are always reachable, if the use of SSL is 
  actived, but not possible, Hamster will warn you or show an error when 
  starting. {TGL}  
- Chg: More detailled log-entries for SSL / local verify. {JW/MG}
- Chg: Configuration / Local Servers: Option "Bounce to Sender" now found under
  SMTP-tab instead of POP3-tab. {TGL}
- Chg: No Hotkey for remote control anymore, because it is to easy to start it
  without purpose. {TGL}
- Chg: Optimized internal structure for the Mailaliases, lines beginning with ";" 
  or "#" are sorted out as commentary. {TGL}
- Chg: Internal routine for sending postings to newsserver and main-procedure of
  mailrouter is revisioned, there should be no perceptible change for the user
  without more detailed log-entries, if anything failed. {JW/TGL}
- Chg: For internal handling of messages there existed to different classes
  (TArticle and TMess), which are replaced by a complete new written class
  (TArticle), so that there were many, many small changes throughout the whole
  program, but i hope, that there are no or only minor new bugs... {TGL}
- Chg: NewMail-Function (hs2/OLE): error when From/To was missing, extended
  log-entries. {JW}
- Chg: if OLE-command ControlChangePassword failes (incorrect old PW) this will
  automatically be logged as a warning. {TGL}
- Chg: Dialog Edit Scripts opens with the last used page. {TGL}
- Fix: modules were initializated in incorrect order. {TGL}
- Fix: hs2-Befehl HamSendMailAuth worked only like HamSendMail {JW}
- Fix: Incorrect result of local POP3-Server when mailbox was locked  (+ERR 
  instead of -ERR). {JW}
- Fix: The shortcuts of hidden menuitems (hamster.ini/Setup/Main.HideMenuItems) 
  could still be used. {TGL}
- Fix: Info-Mails to external addresses worked incorrectly if the given address 
  contained a name, too. {JW}
- Fix: If SMTP-client failed, it produced much more errors than necessary. {JW}
- Fix: Setting for killing oversized mails didn't work because an incorrect ini-key 
  was used (mail.filter.mailsize.kill instrad of mail.filter.mailsize.delete) {JW}
- Fix: the message, that the last access to the group list was too long ago, was
  confusing, because it says, that the last access was in the future. {TGL}
- Fix: The parameter for HamSendMails to filter by the recipient(s) still didn't
  worked properly. {TGL}

V1.3.23.141
- Fix: The prior version .140 produces a cpu-load of 100%. {TGL}

V1.3.23.140
- New: Native SSL build in, several dialoges (General settings, local server,
  external news/mailserver) are updated for this, you need libeay32.dll snd 
  libssl32.dll (old versions won't work). All old SSL-functionality is 
  thrown away, so that there are some changes: The SSL-commands (OLE and hs2!)
  SendMailSSL, FetchMailSSL, FetchMailAuthSSL, OpenSSLTunnel and CloseSSLTunnel 
  are not supported anymore, the new commands are: ControlRunFetchMailTLS, 
  ControlRunSendMailTLS und ControlRunSendMailAuthTLS. If SSL ist working
  properly, hamster uses the SSL-librarys to get random values in several
  places instead of the Object-Pascal-Random-Functions, because the SSL-
  librarys results "real" random values. {Martin Germann}
- New: Configuration/local server/POP3: Mails to unknown local receipients 
  can be bounced. (hamster.ini [setup] local.mail.BounceIfUnknownUser=0/1) {JW}
- Neu: Configuration/local server/SMTP: You can allow, that mails to local
  receipients doesn't need authentification, although SMTP-AUTH is activated.
  This helps to avoid unwished Relaying when the SMTP-server can be used from
  internet. (hamster.ini [Setup] local.mail.reqnotauth), Default: 0. {JW}
- New Messages (HamMessage): 12,2=Open script-dialog, 13,1=Close Edit 
  Dir(s)-dialog, 13,2=Close script-dialog. {TGL}
- New actions: {TGL}
  - Status.click.* is executed on a left mouse-click on the statusbar. (This 
    action is executed, too, if a double-click is done!)
  - Status.doubleclick.* is executed on a double-click on the statusbar. If 
    not used, the dialog Edit Dir(s) is opened. {TGL}
  - TrayIcon.click.* is executed on a single (or double-)click on the tray-
    icon. If not used, the main-window is shown or set in the foreground.
- New: Action "news.gateway.*" works for mails, which are posted into a newsgroup,
  because a postto-rule in the mailfilter. So the action "news.local.* is now only 
  used for postings in local groups. if  "news.local.*", "news.gateway.*" or 
  "news.out.*" is not used, but "news.*", the news.*-action will be executed. {TGL}
- New: To hide menuitems in the mainwindow, you can use hamster.ini, [Setup], 
  Main.HideMenuItems=Menuitem,Menuitem,... . You must use the internal names of
  the menus, which you can find in the language-files (hamster_xx.dat 
  [THamsterMainWindow/Form] MI.Menuitem=...), the "MI." must be stripped. {TGL}
  Example: Main.HideMenuItems=mnuFilePurge, mnuFileRebuild
- New: hs2:
  - To free resources you can use an section #!finalize as counterpart to the section
    #!initializate. The section must be at the end of the module-file or end with an
    return-command. {JH}
  - HamNewsJobsCheckActive tests the newsserverinfos (new groups), which makes sense,
    if the automatic check is disabled in the configuration dialog or directly in
    the hamster.ini [setup] nntp.autogetserverinfos=0 {JW}
  - MID-Functions for one group instead of all groups: If HamArtLocateMidInGroup 
    ( MID, Gruppenname, Variable ) is succesfull, it returns 0 and fills the variable 
    with the article-number of the MID in the newsgroup, else the result is -1.
    HamArtDeleteMidInGroup ( MID, Gruppenname ) kills the article with the Message-ID
    only in the chosen group and results 0 if succesful else -1. {TGL}
- New: if the FQDN for message-IDs is no local domain, it can be excluded for the
  check, if an mail-address is local or not. Use Configuration / local server / 
  general or hamster.ini [Setup] local.mail.LocalMIDFQDN=0 {JW}
- New: Language file (hamster_xx.dat) contains now settings for the dialog-fonts, one 
  set of settings for the variable-pitch-font and one for fixed-fitch-font. {TGL}
- New: hamster.ini [main] Logs.ShowHints=0 deactivates the hints when moving the
  mouse over the log-file in the main window. {TGL}
- New: If news-history must recreate at hamster-start, the wait-dialog now shows 
  little information about the progress. {TGL}
- New: Logfile: {TGL}
  - Hamster kills now old logfiles (if numbering has no gaps), if there exits logfiles
    with higher numbers than the maximum for logfiles allows.
  - hamster.ini [Setup] log.FormatFileName= defines the filenames for the logfiles.
    The format-string must contain an "%d" or "%.xd" as wildcard for the current 
    number where x stands for the width of the number. Example: Ham_%.4d.log
- New: Dialog Edit Dir(s): {TGL}
  - hamster.ini [EditDirs] ShowHeaders=... decides, which header are shown in the 
    preview window.
  - Default-sorting order can be saved seperated for mails and news
  - Buttons and context-menu is replaced by a normal menu
  - New file-functions Copy/Rename
  - Links (like mailto:..., http:...) in the preview can be started or copied in the 
    clipboard. {HS/TGL}
- Chg: Temporary files, which are used by the actions news.local and news.preprocess
  are now saved in the Temp-file of windows. {TGL}
- Chg: Language-files - Changes in the hamster_xx.dat are noticed every time,
  if you open a dialog, changes are saved directly, the reaction, if entries are
  obsolete, can be set separatly for any language-file. {TGL}
- Chg: Invalid or non-existing pathes in hamster.ini [Directories] creates warnings/
  errors in the log. {TGL}
- Chg: hs2: preprocessor-commands works now with leading spaces, too. {TGL}
- Chg: if a hamster sends his parameter to another running hamster, there is now a
  timeout to avoid a dead-lock. {JW}
- Chg: Actions are reloaded on "Reload configuration", too. {TGL}
- Chg: Local POP3-Server denies additional authentification commands, if 
  the authentification was already succesful to avoid DOS-attacks. {JW}
- Chg: A Cancel in a local group doesn't delete the history-entry anymore, to
  avoid reload of the cancelled article by mistake. {Jens Kordilewski}
- Chg: Logtype-Token in the saved logs are now identical to the playground {TGL}  
- Fix: log-files in the log-directory were uncomplete, numbering worked 
  incorrect. {TGL}
- Fix: Parameter for HamSendMails to filter on receipients didn't work. {TGL}
- Fix: hs2: Und special circumstandes the initialization of modules was
  executed multiple times, the order of intiialization was incorrect and
  in case of an error in the initialization the errormessage showed an
  incorrect filename. {JH}
- Fix: New created User-groups had incorrect settings for group access: "" instead
  of ".*" {TGL}
- Fix: Receiving mails could be aborted because the internal timeout was not set
  correctly. {JW}
- Fix: If an article was killed, not all history-entries were deleted. {Jens Kordilewski}
- Fix: hs2-Function EventMultipleWait resulted -2  -  ever! {Hubert Kotzler}
- Fix: hs2-commands MemGetStr and MemSetStr faild when length-parameter was set to
  "0" and MemSetStr ignored the maximum length. Furthermore MemSetStr adds an #0
  behind the string itself for safety. {JH}

V1.3.23.130
- New: Dialog "Edit Dir(s)": Preview for messages with the most important headers
  and coloured quotes. {TGL}
- New: Hamster-message (12, 1) opens dialog Edit Dir(s) {TGL}
- New: New [Actions]: {TGL}
  - trayicon.doubleclick.* is executed if there's a double-click on the tray-icon.
  - startup.* is executed when hamster has started and full initialization is done.
  - shutdown.* is executed when hamster is ended.
  - news.preprocess.* is executed for all outgoing (local and external) postings
    before hamster examines destination groups etc
- New: The protocols in the main windows supports not hints to allow reading very
  long log-lines without reseize hamster-window. {TGL}
- New: More detailed error if NNTP-Client-authentification fails. {Michael Gebert}
- New: If explorer crashes, hamster supports auto-recreation of trayicon on newer
  windows-versions. {Jan Henrik Sylvester}
- New: Hamster.ini [Setup] Log.IgnoreConnectionLost=1 hides warning "Connection lost",
  which is produced by bad written client-software like OE. {WJ}
- Chg: [Actions] news.local.* is not only executed for "normal" local postings, but
  for mails, which are posted into groups (mailfilter postto), too. {Chip Verde}
- Chg: hs2-Funktion ListLoad/ListSave supports extended results: -1 for false list 
  handle, -2 if load/save failed, -3 (only for ListLoad) if file not exists. {JW}
- Chg: Help / System-Information asks now, if the infos should be copied into the
  clipboard, in earlier versions it was done without hint and question. {TGL}
- Chg: Internal access to language-files changed, it should be noticeable faster 
  than before. {TGL}
- Chg: Parameter with blanks is possible if quoting is used (for HamRC) {JH}
- Fix: RunScript with wait=true could produce a GPF. {Andreas Spangenberg/JH}
- Fix: if a script was started from windows, the actual logfile changed. {TGL}
- Fix: XOver is generated in a way, that works with XNews. {JH}
- Fix: Setting for max. count of logfiles was ignored. {TGL}
- Fix: Account-specific Settings worked incorrectly. {TGL}
- Fix: Login with CRAM-MD5 for ReCo-Access now compatible to Playground {JH}
- Fix: hs2-command "PopUpBox" ignored MB_TOPMOST/MB_SYSTEMMODAL and the
  Close-Button is now only available, if Cancel-Button ist set. {WJ}
- Fix: SMPT-server: Authentification-Prompts (PLAIN:, SASL:, ...) were not stripped
  before real login, so the login couldn't work. {JW}
- Fix: Unter special circumstances hamster started with an "empty page". {TGL}
- Fix: Peering didn't work with articles without body. {HS}
- Fix: if hs2-command HamGroupOpen failed, the handle still had to be freed. {JW}
- Fix: News=>Mail-gateway added sometimes a second X-Posting-Agent-Header {JW}   

V1.3.23.120
- New: "Actions" (hamster.ini) with extended features: {TGL & WJ & Chip Verde}
  - new action news.local for postings in local groups
  - if there's no news.out.* or news.local.*-entries, but news.*-Entries, 
    these will be used instead.
  - Same for mail: if there's no mail.subtype.*-entries, mail.* is used
  - Account-specific settings for mail-actions, which have priority before the
    normal mail-entries. Example: If a mail for account "abc" arrives, first 
    existing action in the following list will be executed: mail.in.abc.*,
    mail.abc.*, mail.in.* and mail.*.
  - Extended syntax for entries: Type.exec and Type.pars works like before, 
    Type.script runs a hs2-script, ParamStr(1) is used for the action-type
    and ParamStr(2) for filename or groupname or so (depends on the action).
    If both is used, first the program is started and then the script.
    Type.wait allows waiting: 0=no wait (Default), 1=wait for both, 
    2=wait for program only, 3=wait for script only. Some actions like news.local
    will ignore this setting for technical reasons and use always wait=1.
- New: Dialog Edit Dir(s): State of "all" is saved, double-click on icon runs 
  explorer for directory, no doubled window-title when re-activate, buttons
  from lower toolbar now combined with upper toolbar. {TGL}
- New: "Configuration / Edit hamster.ini" and "Configuration / Reload Settings",
  Shortcuts for some menuitems (F2, F3, F5, F6-F9). {TGL}
- New: hs2: Check Sheduler-entries: AtCount, AtSubfunction(Nr), AtFrom(Nr),
  AtUntil(Nr), AtOnDays(Nr), AtEveryMins(Nr) {JW/TGL}
- New: Add warning to log, if an execute-command fails. {TGL}
- New: Limit for count of connections from one IP was build in .110 with a fix
  value of 4, now the limit can be changed in the dialog Configuration / local
  server or hamster.ini [Setup] MaxLocalXXXXServersPerIP, XXXX means POP3, SMTP,
  NNTP or ReCo, value 0 to disable the limit. values greater than the common
  limit for this server ([Setup] MaxLocalXXXXServers) make no sense. {TGL/JW}
- Chg: HS2-BEFEHLE HAMSENDMAIL and HAMSENDMAILAUTH! New parameter after the 
  FromSelect-parameter: The To-Select-Parameter allows filtering on the RCPT-To-
  headers, the following SSL-Entries are moved behind this. {TGL}
- Chg: Log-files (0.log, ...) contains an additional pattern between Timestamp
  and Thread-ID, which defines the kind of entrie: ERR=error, WAR=warning, 
  Sys=system, Inf=info, Det=detail, deb=debug und sta=state. {HS}
- Chg: Export with "ham export" of very big articles noticeable faster. {OJB}
- Chg: Settings for Default-script-language removed, because hs1 is not supported
  since last version. {TGL}
- Fix: Hamster-Message 5,x changed POP3- instead of SMTP-server {TGL}
- Fix: SMTP-AUTH didn't work with Netscape Communicator anymore. {JW/JH}
- Fix: NNTP-Group-command results now exact count of articles. {JH}
- Fix: Hamster didn't work correctly, if DUN was not installed. {JH}
- Fix: Online-Menu didn't work correctly, if a servername was unequivocat,
  so that for example the SMTP- and the POP3-server has the same name. {TGL}
- Fix: An user cound send mail although setting "Send Mail" was disabled for 
  him. {TGL}
- Fix: If the user had unusual desktop-theme (like white on black), the entries 
  in the dialog killfile and about were unreadable. {TGL}
- Fix: "WaitForEnd"-Flag didn't work, if the script was run from the ReCo-
  Server. {JH}
- Fix: Execution of an postto-mailfilter-entry had problems with an incorrect 
  "Bytes"-Header {WJ}    

V1.3.23.110
- New: local ReCo(=Remote Control)-server, configuration / local server / ReCo
  to change settings, usage with telnet or special programs (HamRC from JH),
  separated script directory ([Directories] ScriptsRC).
  {From JHs Playground, build in: TGL, SASL-Authentification: JW}
- New: Dialog for User revisioned, new test-button to check, if the group-access
  work as wished. {TGL}
- New: Support for SASL-Authentification for clients and server (POP3/SMTP/telnet), 
  additional patterns for pop3-authentification: Now you can not only use 
  APOP:password, but CRAM-MD5:password, PLAIN:password, LOGIN:password, 
  SASL:password, AUTH:password and CRAM-SHA1:password, too. Ask your mail-provider,
  which authentification-methods are supported... {JW}
- New: Get mails in smaller "portions", which is helpful, if there are connection-
  problems and many mails waiting, because if the connection is not closed correctly
  after getting the first 50 mails, all the mails are still on the server. Use
  Server.ini of the POP3-server, [pop3] GetMaxMailsPerSession=x, Default=0, which
  means, that the mails are loaded in one session. {TGL}
- New: OLE-server can be disabled (hamster.ini [Setup] startup.OLEServer=0), the
  name of the OLE-server can be changeed, too: hamster.ini [Setup] COMServerName=..., 
  Default "Hamster"). But on technical reasons there is still only one Hamster-
  server possible. {JW}
- New: hs2-insert-command.buttons includes the names of all servers and of the
  DUN-connections. {TGL}
- New: mailfilter: command "AddDefault" appends the Default-User of the POP3-server
  (Default: admin). Usage: AddDefault {TGL}
- Chg: Internal adaptions to the Hamster Playground: 
  - NO FURTHER SUPPORT FOR HS1-SCRIPTS ANYMORE!
  - script-speed optimized, ressources can not be "lost" anymore etc  {TGL}
  - Server-Base-classes changed, locking for password and configuration-object changed, 
    several changes in main.pas and to the NNTP/SMTP/POP3-server-objects itself. {TGL/JW}
- New hs2-commands:
  - hamaddlog ( Text, Type [, Show Scriptname] ), same like "addlog"
  - digest ( 0/1/2, value [, return as hex-value? ] ): Int/Str, usable for checksums,
    0=CRC32, 1=MD5, 2=SHA. {JH}
  - functions to use DLL-Functions: (Examples see hw_*.hsm) {JW}
    - dllload (DLL-Name): handle
    - dllcall (Funktionsname, Par1 ... Par11 )
    - dlllasterror: Int 
    - dllfree(handle): Int
  - functions to use "raw" memory: {JH}
    - memalloc(size in bytes): handle
    - memsize(handle): size
    - memsetint(handle, value): value
    - memgetint(handle): value
    - memsetstr(handle, String): String
    - memgetstr(handle): String
    - memvarptr(variable)
    - memfree(handle) 
    - memforget(handle)
  - random(x): random number between 0 and x-1 {JH}
  - EventMultipleWait( [ Objekt1 .. Objekt10 ] ): -1=Timeout {JH}
  - Check settings for local servers: HamMainFQDN, HamMidFQDN, HamEnvelopeFrom, 
    HamPostmaster, HamUsenetAcc {JW}
- Chg: Mailfilter (MailFilt.hst) is a more tolerant, following lines are no 
  accepted, too: Add(user) without field will be executed ever. Spaces between
  command and "(" or within "( ... )" are now accepted and if there's a space
  between the "fieldname:" and the "fieldvalue" in the condition, it's ok. {TGL}
- Chg: Script-Dialog revised: First page allows changing of pathes, the module
  for the hs2-Shell can be edited, too, "edit directly" is saved and the size
  of the window is changeable. {TGL}
- Chg: Dialogs for user and user-groups revised to integrate the additional
  settings. {TGL}
- Chg/Fix: The Insert-Key to insert commands in the hs2-shell disabled the system-
  keys Ctrl-Insert and Shift-Insert. {TGL}
- Chg/Fix: POP3-help-command of local POP3-server updated. (auth and capa) {JW}
- Fix: if hamster.ini was readonly or the user has no rights to change, the hamster
  crashed in some cases.  {JW}
- Fix: If a mail in mail.out can not be loaded, an error is logged, now. {JW}
- Fix: Some changes for better compatibility to Windows XP, especially the
  perception of another running Hamster and the code for the Hamster-Events
  didn't work correct. {JW}
- Fix: If any line is saved into an logfile or another text-file, this action
  is synchronized to avoid double-access from different code. {JH}
- Fix: Online-menu: Access to the POP3-server worked only with server-names
  without uppercase letters. {TGL}
- Fix: Log-Popup-menus in main-window didn't worked correctly. {TGL}
- Fix: When searching files there was a windows-ressources-leak. {JW}
- Fix: When using Gateway-Newsgroups the shortend Newsgroups-header overwrote
  any other header line. {TGL}

V1.3.23.100
- New: Moderated newsgroups have now a moderation-address and postings to
  this group are send as mail to this address, if no approved-header is
  set. This works for crosspostings too, if there is at least one moderated
  group included. If there are two or more moderated newsgroups in the 
  crossposting, only the first is used. {JW/TGL}
  Hint: hamster.ini [Setup] mail.GateUseHamsterEnvelope=1/0 defines, which
    is the source of the Envelope-From of these mails, mail.flupforgate=1/0 
    defines, if a F'up2-header bei should be set when a mail is converted to
    a posting.
- New: Gateway-newsgroups, postings to these kind of groups are always send as 
  mail, if a crossposting contains such a group, the mail is send with adjusted 
  headers and the groupname is removed from the newsgroups-header. {JW/TGL}
- New: Script-Dialog: Scripts and modules can now be edited directly. {TGL}
- New: Insert-Command-Button for hs2-Shell and edit-memo in the script-dialog
  for comfortable insert of all kind of commands and functions of Hamster,
  to insert variables and functions from modules in scripts and so on. You
  can use INSERT as shortcut. {TGL}
- New hs2-commands:
  - popupbox ( Text, Title, Typeflags, Timeout in seconds until dialog is 
    closed automatically, result if timeout) {WJ}
  - inidelete (Inifile, section, key) delete the Ini-key {TGL}
  - inierasesection (Inifile, section) deletes the whole section {TGL}
  - LookUpHostAddr(<hostname>) / LookUpHostName(<IP-address>): Find the corres-
    ponding IP-address for the hostname vice versa. {JW}
- New: Counter for articles which are loaded because of GetMids-entries. To
  show it in the statusbar use the wildcard %NM, to get the value in a hs2-
  script use HamGetStatus ( 3, 8 ) and to get it via OLE you can use 
  ControlGetStatus (3,8). {HS}
- New: Local NNTP-server supports NEWNEWS-command. This function must be
  actived for the user. {JH}
- New: Dialog "Edit Dirs" {TGL}
- New: If there are one or more newsjobs waiting for execution, there's a new
  tab on the main-window, where the list can be cleared, single jobs can be 
  deleted and where the priority of single jobs can be changed to some
  default-values. {TGL}
- New: localer POP3-server supports CAPA-command (RFC2449) {HS}
- New: Information about new groups can be filtered with a regular expression:
  hamster.ini, [Setup] FilterNewGroupsInfo=<regexp>, Default: .* {TGL}
- New: Configuration / General / Internal groups: Local Groups can be created 
  directly. {TGL}
- New: Configuration / News / Groups: Multiple selection of groups {TGL}
- New: Configuration / News / Pulls: Multiple selection  {TGL}
- New: hs2: Add error to log if an unknown servername is used by HamNewsPull, 
  HamNewsPost, HamNewsJobsPullDef or HamNewsJobsPostDef. {TGL}
- New: hamster.ini [Setup] local.nntp.feedjunk=1 allows feeding of articles from
  groups, which are unknown to importing Hamster. These articles are sorted
  in the internal group for postings with unknown newsgroups-header. {JW}
- Chg: Left-click on trayicon = Hamster is shown, right-click or double-click on 
  trayicon = Popupmenü. On an double-click the menuitem "Show" is invisible, 
  because it makes no sense. The new menuitem "Minimize" is the counterpart of
  "Show". {TGL}
- Chg: Script-Dialog is no longer modal. {TGL}
- Chg: While purging some hs2-commands aren't executed anymore with a warning in
  the log-file: HamNewsjobsstart, HamArtDeleteMID, HamArtImport, HamGroupOpen, 
  HamNewsPull and HamNewsPost. {TGL}
- Chg: Online-menu doesn't create nonsense-jobs (mailjob for newsserver and so on)
  anymore. {TGL}
- Chg: hamster.ini [Setup] MaxUnknownGroupsInRe=x defines, how much unknown groups
  are allowed in a crossposting with F'up2. The default is 2, values higher than
  10 are ignored. {TGL}

V1.3.23.4
- Fix: Any For-loop ignored since 1.3.22.2 the step-value. {TGL}
- Fix: Continue didn't work properly in For-loops since 1.3.22.2. {TGL}
- Fix: hs2-command "hamnewsjobsdelete" could not be used.{JW}

V1.3.23.3
- Fix: Configuration / News / Groups: Reset could produce a GPF. {WJ}
- Fix: SMTP-Auth didn't work with Netscape, if login-name and PW were different. {JH}
- Fix: The english language-file contains a nonsense-text when receiving articles. {TGL}

V1.3.23.2
- New: Configuration / News / Groups: Button "Reset" allows resetting a group 
  with correct handling of news history etc. {WJ}
- New: Most threads have now an ending-message to avoid something like "Purging is
  started..." for the next hour in the first line of the log, if nothing else
  happens after ending the purge. {TGL}
- Chg: Greeting of local SMTP-server is changed to work around a bugs of Netscape 6
  ("AUTH" in two versions) {Heiko Rost}
- Fix: If there was already a User-Agent-Header, an "index-error" happens. {JW}
- Fix: hs2: For-loops didn't work correctly when used in recursive subs. {TGL}
- Fix: Script-menu: If there was a script with name foo.hsc and a subdirectory
  foo in the same directory, they were build up to one menuitem with
  subitems, which starts the script automaticly. {TGL}
- Fix: When changing settings of newsserver "BAR", settings of newsserver
  "fooBAR" was changed, too. {TGL}
- Fix: IP-Access: Setting "ALL" made problems (error-messages). {TGL}
- Chg: Increased compatibility to Delphi 6 (PE) - Synchronization of Input-Dialog 
  and Parameters for scripts didn't work properly. {JH}

V1.3.23.1
- New: Configuration / Local Server: Setting "Purge daily" {TGL}
- New: Default-Group for internal postings is now changable in the General-
  Configuration-Dialog, too. {TGL}
- Chg: Killfile-Log: Shortcut Ctrl+X for close is removed, because it
  competed with the shortcut for the clipboard. The font for the scorefile
  is changed to Courier New 10 Pt. {TGL}
- Chg: Script-Dialog: Default-Texts now on one page and with scrollbars. {TGL}
- Chg: Killfile-Log: Increased speed when using "Watch Thread" if the Scorefile 
  is very large. {TGL}
- Fix: Trayicon-menu: Local server-menuitems didn't work. {TGL}
- Fix: Dialup via DUN with the Online-Menu freezed Hamster until success and
  doubled Dial-In is denied now. {TGL}  
- Fix: When changing language-file, the setting for the position of the hs2-shell
  was erased. {TGL}
- Fix: If the headline of a For/While/...-loop was separated over two or more 
  lines (with _ at the end), an error was reported. {TGL}
  
V1.3.23.0
- New: Submenu "Local server / Open mails.in" allows direct access to the mail-
  folders. {TGL}
- Chg: Module hamster.hsm contains several more consts. {JW}
- Chg: hs2-command runscript allows now relative pathes and if the extension
  is missing, ".hs2" is added automatically. {TGL}
- Chg: When creating a new NNTP/POP3/SMTP-server, every kind of servertype at 
  the beginning like "nntp://" or "news://" is stripped automatically. {TGL}
- Chg: Killfile/Log: <Del> works again {TGL}
- Chg: Compatibility to RFC 977 if there's no Message-ID: Instead of an
  error-message the Pseudo-MID <0> is given. {JH}
- Fix: If !MAIL FROM or !RCPT-TO contains a name part, it will be stripped
  to the mail address only. {JW/TGL}
- Fix: Greeting of local POP3-Server was incomplete {WJ}
- Fix: Killfile/Log: Large Scores.hst couldn't be loaded. {TGL}
- Fix: Mailalias-check reported alias-settings to external addresses as
  invalid. {TGL}
- Fix: If FQDN for special headers was unused, but setting "Set Path-Header"
  active, posting to Hamster were recejected with the errormessage "FQDN 
  not set" {TGL}
- Fix: Killfile/log: When a thread was "killed", the entries were additional
  added to the GetMids.txt-files. {TGL}
- Fix: Changes of settings for POP3/SMTP-Server "BAR" changed the settings for
  a POPS3/SMTP-Server "fooBAR", too. {TGL}
- Fix: Dialog for SMTP-Server-Setting: Input fields for timeouts were 
  completly hidden because of the SSL-settings. {TGL}

V1.3.22.104
- New: Split of "Configuration / Local" into "Account&Passwords" and "Local 
  server". The dialog "local server" has a new page to edit the IPAccess.hst 
  and allows to change the binding of the local servers. The Dialog 
  "Accounts&Passwords" allows to edit the mailalias.txt. {TGL}
- New: Local bindings allow more security. A binding to 127.0.0.1 allows
  only access from the server itself, a binding zu the network-card only 
  from the local network. Only 0.0.0.0 allows access from everywhere like
  older Hamster-versions. Default: 127.0.0.1 {JW}
- New: When creating new user, you can enter "accountname,full name" 
  directly. {TGL}
- New: Configuration / News / Newsserver / Pulls: In prior versions a pull
  for a group, which doesn't exists anymore, was hidden, now these pulls
  are visible in a special list and can be deleted. {TGL}
- New: Hamster-Counter without special meaning. Use can show them in
  the statusline with the wildcard %X0 to %X9. Functions to use the 
  counters with hs2: Value=XCounter(Nr), ClearXCounter(Nr[,ToNr]), 
  SetXCounter(Nr, value), IncXCounter(Nr [, value]) and DecXCounter(Nr 
  [, value]). Functions to use the counters with OLE: value = XCounter(Nr), 
  ClearXCounter(FromNr, ToNr), SetXCounter(Nr, value), IncXCounter(Nr, 
  valueWert) and DecXCounter(Nr, value). Nr goes from 0 to 9. {TGL}
- New: Killfile/Log revised: Changes on GetMids.txt-files and the scorefile
  are cached until Save is used. Entries from context-menu now via Main 
  menu available, Scorefile can be edited directly. {TGL}
- New: Mailfilter: Use new command "notifyoff" to undo "notify". {WJ}
- New: Additional information when loading newsgroups in parts (splitted
  overview) {WJ}
- New: Feed: Add warning to log, if the newsgroups-header of a feeded 
  article contains no known newsgroup. {JW}
- New: Feed: Check for existing path in incoming articles can bei disabled:
  hamster.ini [Setup] local.nntp.checkpath = 0/1, Default 1 {JW}  
- Chg: Feed: If an incoming article has no Subject- or no valid From-header,
  the article is not rejected anymore. {JW}
- Fix: Purging had some internal bugs, which could kill some articles in rare
  circumstances. {WJ u.a.}
- Fix: local NNTP-Server: Result of NEXT-command now compatible to RFC 977. {JH}
- Fix: When loading descriptions from external newsserver for the new groups,
  there was no check, if the newsserver supports this. (see also: Server.ini,
  [NewGroups], LoadDescs=0/1/2). {JH}
- Fix: Archieve copies of posted articles had no PATH-Header {JW}
- Fix: A missing Path-Header was not set by the Mail2News-Gateway {JW}
- Fix: Newsgroup-dialog: Flickering of slider to reload postings stopped. {WJ}
- Fix: $HAM_EV_RASCONNECTED was not set correctly. {JW}
- Fix: hs2-command RasLastError was not available. {WJ/JW}
- Fix: When creating a new user-group, an comma in the input results in an
  error, now the right part is interpreted as group-description. {TGL}
- Fix: Aliaslist: {TGL}
  - Automatic check for invalid aliases and hidden users with warnings/errors, 
    if problems are detected. 
  - If a new user with the same name like an existing alias is created, the 
    alias can be commented out automatically.
  - If necessary aliases/users (role accounts) are deleted, these are aliases
    are recreated automatically.
- Fix: "hamster.ico" is used for the main-window-icon, too. {TGL}
- Fix: Hamster didn't test, if a X-Hamster-Info still exists before adding 
  a (new) one. {JW}
- Fix: hs2-Engine crashed when using Pascal-like-quoting-marks. {JH}  

V1.3.22.103
- New: If there's an icon-file called "hamster.ico" in the hamster-directory,
  it is used for the main-window and the application itself. {TGL}
- New: New wildcard %NE for statusline and trayicon-hint shows the count of
  postings in news.err {TGL}
- New: hs2/OLE: Use HamGroupNameByHandle (hs2) and NewsGrpNameByHandle (OLE) to
  get the group name for the group handle. {HS}
- New: hs2: Use HamCheckPurge to check, if database is purging. {JW}
- New: hs2/OLE: Use HamGetStatus(4,1) / ControlGetStatus (4,1) to get the
  setting for the loglevel of the main window and (4,2) for the loglevel
  for the logfile. {HS}
- New: hs2-Shell has now a permanent history with max. 100 entries. To disable
  this history you can use Hamster.ini [Main] ShellHist.Log=0. If you want to 
  run more than one command in the hs2-shell you can use Ctrl+T as CRLF. {TGL}
- New: When opening any dialog, the mouse-cursor is changed to the wait-icon
  until the dialog is ready. {TGL}  
- Chg: Authentification of the client to an ESMTP-Server is now compatible to
  RFC 1869. {JW}
- Chg: The setting "Max. size in lines" for local servers worked not so, 
  like it was described, so you can change it in the future only directly in
  the hamster.ini. The settings doesn't mean, how much lines are allowed, but
  the maximum count of chars in _one_ line. The default 1000 should work in
  most cases. {TGL}
- Fix: if there are too many entries in the Killfile there's now a warning 
  instead of an internal error message in the log. {TGL}
- Fix: hamster-generated Dates were incorrect (local time instead of GTM-
  time) {JH/JW}
- Fix: Some possible security-holes eleminated. {JW}

V1.3.22.102
- New: OLE-XOver contains now Score-Header (X-Hamster-Info), too. {HS}
- New: hs2: Function DeleteHostsEntry(IP, Hostname) allows to kill entries in 
  the hosts-file of windows. {JW}
- New: Drag&Drop works for assigning local users to a user-group. {HS}
- New: Configuration / local: News setting for maximum count of simultaneous 
  client-connections at one time available. {TGL}
- Chg: (Optional) Hamster-generated "received"-Header now contains servername
  (Hamster) and current version. {JW}
- Chg: In contrast to older versions the additional headers "User-Agent" and 
  "X-Posting-Agent" can not be used simultaneous, if both are set, only "User-
  Agent" is used. "User-Agent" is the default when installed new, too. {TGL}
- Chg: if a FQDN is set, it is used for the "Helo"-string instead of the 
  DNS-name of the computer to avoid windows-specific problems with the 
  DNS-name. {JW}
- Fix: Help / System info now knows WinME and Win2000. {JH}
- Fix: If hamster is started with an incorrect script, the loading of the 
  settings failed. {TGL, Thanx to Frank Ledwon to reproduce the error}
- Fix: The unused file "KillsStat.log" is not filled up/created anymore. {TGL}    
- Fix: Help-buttons worked as "Cancel"-buttons, too {AS/TGL}
- Fix: Several shortcuts for labels didn't work correctly. {AS/TGL}
- Fix: hs2-commands SetHostsEntry_ByName und SetHostsEntry_ByAddr worked only
  unter Win9X correctly, now the host-file is searched in System\drivers\etc 
  (WinNT), too. {WJ/Andreas Spangenberg)
- Fix: Some options which depends, if the special FQDN is set, were disabled,
  if the MID-FQDN was not set. {TGL}
- Fix: In the language-file defined help-file was ignored, help always 
  started hamster_de.hlp {TGL}
- Fix: parameters for hamster was not correctly interpreted. {JW}

V1.3.22.101
- Fix: hs2: Server-parameter in "HamNewsPull" was ignored. {JW}
- Fix: Access-rights for local POP3-server were used for NNTP-server, too {JW}
- Fix: Incorrect authentification for RAS: User/User instead of User/PW {WJ+JW}
- Fix: Message-ID was not alsways generated. {JW}
- Fix: When news-client searched for an Message-ID unknown to hamster, the auto-
  generated entries in the getmids.txt could posssible get the article from
  multiple servers instead from the first which has the article. {TGL}
- Fix: local mails started a mail.out-action instead of a mail.local-action (JW}
- Chg: List of default-Mailaliases extended, to get a correct mailaliases you have
  to add them automatically or kill the old to generate a new. {JW}
- Chg: Check for correct FQDN-Input optimized. {TGL}

V1.3.22.100
- Visual changes:
  - New: Script-dialog to manage scripts and modules, subdirectories can be used to 
    sort the scripts. {TGL}
  - New: Settings for task-delimiter now in Configuration / General {TGL}
  - New: Settings for splitting overview now in Configuration / News {TGL}
  - New: Dialog newsgroup-settings allows reload of old articles with a slider for
    every available newsserver for this group. {TGL}
  - New: Optional hs2-shell for direct input of hs2-commands, disabled by default, use
    Configuration / General to enable. If "hs2shell.hsm" exists, it is used 
    automatically when executing commands from hs2-shell. {TGL}
  - New: Script-language default can be set, if a script-file begins with #!hs1, it 
    is executed as hs1-script. {TGL}
  - New: Help-buttons in the dialogs which calls the belonging help-page, if
    help-file and language-file are prepared for this. {TGL}
  - New: Setting "LOCAL_ONLY_ADMIN" {HSR}
  - New: SMTP-Server-dialog revised - SMTP-Auth and user/PW-settings {TGL}
  - Chg: Now there's two different FQDN: One for message-IDs and one for all other
    purposes (PATH-header, Received-header and so on). {TGL}
  - Fix: statusbar was truncated after 127 chars and the vertical scrollbars were 
    removed.  {Jens Kordilewski}
  - Fix: Incorrect thread-log in main-window. {JW}
  - Fix: Add newspull-dialog: If windows-setting "big fonts" was set, some buttons 
    were invisible. The division between group and server-list is now automatically
    set, if the dialog is resized. {TGL}
  - Fix: The FQDN in local configuration is checked for nonsense-entries. {TGL}
- Technical changes:
  - New: Hamster runs from CD-ROM now, Readonly-mode can be forced with parameter 
    /ro and suppressed with /rw. If both parameters are ununsed, hamster looks, if
    the files in the main-directory are all readonly. In Readonly-mode all writing
    fnctions (hs2 and OLE inclusive) doesn't work, needed INI-settings are saved
    in <windir>\hamster.ini, many menuitems und settings in the dialogs are 
    hidden. {TGL}
  - New: Mailaliases (MAlias.hst) can contain the wildcard "%FQDN%", which is 
    internally replaced by the FQDN, if set. if no FQDN is set, these aliases are
    automatically ignored. default-file is changed. {TGL}
  - New: postmaster account und newsmaster account (hamster.ini) {JW}
  - New: local NNTP-server: LIST-command optional available without login. {JW}
  - Chg: Hamster needs less time to start (statistic is created in own thread and
    priorities of groups are calculated with less internal work) {JH}
  - Chg: First access to local servers needs less ressources, so that DOS-attacks
    should be more complicated. {JW}
  - Chg: Separate setting for incoming mails, if received-header is generated. {JW}
  - Chg: local POP3-server: Shorter Greeting.
  - Chg: HELO-String is tested for invalid chars (_"_,_ _) {JW} "Helo"
  - Fix: Load by number could create "blind" articles. {JAWO}
  - Fix: Full name for Info-Mails is quoted now. {JW}
  - Fix: Feeder: Incoming news are tested for too long lines and if they are too 
    big, in both cases the feeder aborts the download. {JW} {HadLineTooLong}
  - Fix: Bug on XOver-command, only one article is considered. {HS}
  - Fix: Hamster didn't log the User-ID in the Received-header {JW} {CurrendUserID}
  - Fix: Connect-problems with remote servers, when their authentifications depends
    on the Reader|Slave-mode. {JW}
  - Fix: When converting mail to news, a date-header is set, if missing. {JW}
  - Fix: To avoid problems with some special chars, new accounts with these chars are
    not accepted anymore and old accounts are corrected automatically. To allow
    compatibility, the access to these old names is furthermore possible, because
    there is the same conversion used. {TGL}
- hs2/OLE-commands:
  - New: HamMessage(9,1) reloads MAilias.hst, too. {JW}
  - New: OLE-command "ControlGetNewsErrPath" / hs2-command "HamNewsErrPath" {TGL}
  - Neu: OLE-command "NewsGrpInformation": Gets informations about a group, similar
    to an XOver for news. {HSR}
  - Chg: When missing some header on OLE-Import there's only a warning in the log now. {JW}
  - Chg: If a newsserver is not found (OLE/Script), there's a warning added to the log
    and additional a detail-message to the log. {JW}
  - Fix: hs2: Explicit error-message if return()-parameter is undefined instead of an
    internal error. {JW}
- News-Scorefile
  - New: Automatic check for invalid lines and deleting expired entries. {TGL}
  - New: Use "Expire:yyyymmdd" at the end of an filter line for temporary entries. {TGL}
  - New: A space between fielname and fieldvalue is tolerated now. {TGL}

V1.3.22.2 vom 21.1.2001
- New: hs2-function "RasLastError" (no parameter, numeric result) {Joern Weber}
- Chg: Local POP3-server accepts an empty password now, too. {Joern Weber}
- Chg: Additional informations when there are invalid entries on purging a newsgroup {WJ}
- Fix: There was an error in the code for the login-timeout {JW}

V1.3.22.1 vom 17.1.2001
- New: buttons for "=> Log: Thread", because many users overlook the context-menu 
  and the double-click. {TGL}
- New: Using wildcard %M:User% for statusline or trayicon-hint-formatstring shows the
  count of mails in the mailaccount of User. {TGL}  
- Chg: Username and password were stripped from leading or trailing blanks before
  DUN-connection is opened. {JW}
- Chg: All message-dialogs are now created with the windows-function instead of the
  Delphi-function, because the windows-function uses localized buttons. {TGL/AS}
- Fix: When server-threads pull the same group, the double-load of the same articles
  should now be avoid in most cases. {Heiko Rost} 
- Fix: Interpretation of Hamster-parameters had some bugs. {JW/WJ/TGL}
- Fix: StopScripts stopped scripts in all running hamster-instances {JW}
- Fix: When ending hamster, there are more informations added to the log and the
  "hamster is busy and can't be stopped" should prevent lost of data. {JW}
- Fix: Access to internal counter now thread-safe {Joern Weber}
- Fix: Internal mails activated the mail.out-action {Konstantin Seiler/AS}
- Fix: When closing the thread-log in the main window, sometimes the log changed 
  to an "empty log". {TGL}
- Fix: hs2-command Beep didn't work correct in any cases. {JW}
- Fix: The "maximum" internal priority could be smaller than a newsgroup with >=100.000 
  articles Artikeln, so this value is now much higher. {JW}
- Fix: The question, if grouplist should be rebuild, came more often than needed. {JH}
- Fix: Problems mit double login {HS}
- Fix: SMTP-AUTH option didn't force SMTP-AUTH {JW}
- Fix: Invalid Hamster-parameter are now ignored {WJ}
- Chg/Fix: Separate login-timeouts for the differnt kind of local servers. 
  ([Setup] local.xxxx.timeout.login=time in miliseconds) {JW}
- Fix: Timestamp for Received-header was incorrect. {Philipp Kern}
- Chg: Different Actions for internal and local mails. {WJ}
- Fix: "Purge after x days" purged after x+1 days {HS}
- Chg/Fix: If login with authinfo failed, the local NNTP-server closes the
  connection. To avoid this reaction you can use hamster.ini [setup]wird
  local.authreq.closeiffalse=0 {JW}
- New: Local part of Hamster-generated message-IDs kan be 'encrypted' to hide
  the fact, that it is a hamster-MID, what windows-version is used (9x or NT)
  and how late it was. hamster.ini [Setup] crypt.mid=1 {JW}

V1.3.22.0 vom 18.11.2000
- [New] Context-menu for logs with menu items "Show single thread", "copy to clipboard",
  "clear logs"{TGL}
- [New] Menu item: Scripts / New / Script/Module {TGL}
- [New] Tab "Warnings & Errors": Caption contains count of errors/warnings, color
  is yellow for warnings only and red for one or more errors, the error-log can be
  cleared without change of the normal log and you can enable the automatic
  activation of the error-log. {TGL}
- [New] Colors for caption of tab "Error & Warnings" can be configured in the
  hamster.ini, section [main]: {TGL}
  ColoredTabs=0/1 ; 0 = no colors
  ; Set your own colors, if you don't like yellow and red (format of colors=$BBGGRR):
  TabColorErrorText/TabColorErrorBrush/TabColorWarningText/TabColorWarningBrush=<Color>
- [Fix] A posting for one or more local group and one or more unknown groups created
  the unknown groups automaticly as local groups. {TGL, Bug was found from Wolfgang Jaeth}
- [New] Number of days to keep entries in mail-history now editable in the dialog
  "Local Settings" {TGL, Idea Klaus Fischer}
- [New] Different Hamster-tray-icons, if warning(s) or error(s) occurs {TGL}
- [New] Original Hamster-tray-Icons are replaced automaticly, if there are files like
  "Hamst_xy.ico" in the main directory. x means: 1=no jobs running, 2=one or more jobs
  running. y means: a=no warning/error, b=one or more warning(s), c=one or more
  error(s). {TGL}
- [Fix] An news-score-entry like "~From" results in a "blue screen", if the "From"-
  Header was empty. {TGL}
- [New] Postings, which couldn't be potested, are moved into the new Hamster-error-Path.
  The default for the hamster-error-path is "<Hamster>\Groups\News.err", you can change
  the path in the Hamster.ini, Section [Directories], Key "News.err=...". {TGL}
- [Chg] Speed-Up for support of other languages. {TGL}
  Hamster.ini / [Setup] / Language.cached=x => x=1 (Default): Language file is loaded
  at Startup or change of language only, x=0 (for developers): Language file is
  updated, if necessary, changes in the language file works immediatly.
  Hamster.ini / [Setup] / Language.Update.en.dat=1 => Hamster_en.dat is updated, too.
- [Fix] news-score-file: Warning instead of blue screen, if there's a blank after
  an "~". {Joern Weber}
- [Chg] ListGetTag/ListSetTag (HSC) now allocate entries dynamically
  like ListGet/ListSet already did. {JH}
- [Fix] "DirCurrent" (HSC) returned path without trailing backslash. {JH}
- [Fix] hs2-scripts: Double Quotemarks ("") worked not in every case like they
  should. {TGL/Alessandro Sebastianutti}
- [Chg] MailIn-logfile: Second line for every entry with more detailed infos for
  the mail. {TGL, Wish Sven Flister}
- [Chg] Improved handling of invalid "Date:" headers.{JH}
- [New] hs2-function "beep (x)" plays system-sounds. Following constants
  are included in the hamster.hsm: $SIGNAL_STOP, $SIGNAL_QUESTION,
  $SIGNAL_EXCLAMATION and $SIGNAL_ASTERISK. {Joern Weber}
- [New] HamMessage ( 2, 3 ) clears the log "Warnings & errors" only. {TGL]
- [Fix] hs2-function FileExists works with "*.*" and search for directories now.
  {Joern Weber}
- [Fix] hs2-function ParamStr(0) doesn't work in every case. {Wolfgang Jaeth}
- [New] Killfile-log: A second click on a column header sorts descending. {TGL}
- [Chg] If Hamster is started with parameter "/svc", it will not be
  closed if (Windows-) user logs off. {JH}
- [New] Maximum attempts for sending mails and the option, if failed mails
  should be deleted, are now changeble with "Settings / Mail(server)". {TGL}

V1.3.21.120 vom 22.10.2000
- [Fix] A tabulator between filters or comments in the scroe file
  doesn't bother Hamster and spaced or tabulators between %> and the
  number itself are possible now. {Wolfgang Jaeth}
- [New] The button "Pull Now" in the group dialog allows you to pull
  one single group. {TGL, Idea from Sniet}
- [New] You can configure how often you want the log to be updated.
  (Between 0.1 and 1.5 seconds), new layout of the first register.
  {TGL}
- [Chg] Hamster updates the counters for outgoing mail & news if you
  change from another application to hamster. {TGL}
- [Chg] Calling of scripts with parameters and wait flags is now
  complte:
  - Hamster execution: hamster.exe [-w] script [param1] [param2] ...
  - hs2 call: RunScript (script, param list, wait)
  - OLE call: ControlRunSkript (script, param list, wait)
  {Wolfgang Jaeth}
- [Chg] The critical menu items (Killfile, Purge, Rebuild global lists
  and Rebuild history) are disabled while jobs are running. {TGL}
- [Fix] The hs2 command "Listfiles" didn't work correctly.
  {Heiko Rost}
- [Chg] The register "Warnings & Errors" is only visible
  if there is at least one errors. Furthermore the caption is
  highlighted. {TGL}
- [Fix] Group handles opened by modules won't be closed while the
  script is running. {Joern Weber}
- [Fix] Lists opened by scripts but not released will be closed
  automatically. {Joern Weber}
- [Fix] hamster_xx.dat files are supposed to be in the main path, not
  in the EXE path. {TGL}
- [Fix] Hamster failed to fetch mails from itself by menu "Online"
  or script-command "HamMailExchange".
  Note: This fix should also allow fetching mails again, while H.
  is still loading new mails. {JH}
- [Fix] Hamster failed to fetch mails from itself by menu "Online" or
  script-command "HamMailExchange". Note: This fix should also allow
  fetching mails again, while H. is still loading new mails. {JH}
- [Fix] Very long changes.txt files can be viewed in the About dialog
  now. {TGL}
- [Chg] Params can contain quotation marks. You simply need to
  duplicate them.
  i.e. "Hello ""Bill""!" will be changed to 'Hello "Bill"!'. In this
  section, internally a lot has been changed. {Wolfgang Jaeth}
- [New] Purging of single groups is possible via scripts and OLE: {Joern Weber}
  - hs2: HamPurge ( option [, group name ] )
  - OLE: ControlRunPurgeGroup ( group name )
- [Chg] Return value of HamMessage( 9, x) adjusted. {Wolfgang Jaeth}
- [Fix] A manually set "LastGMT=Never" was overwritten when realoading
  the group list. {Heiko Rost}
- [Fix] To avoid problems with some mail servers, the POP3 help
  command is now deactived. {JH}

V1.3.21.112 vom 15.10.2000
- [Fix] Sometimes the version .110 freezed, this problem should be fixed now {JH}

V1.3.21.110 vom 6.10.2000
- [New] Timeouts for single server editable {Joern Weber}
- [Fix] POP3-Server: You can add aliases now without close and reopen the dialog
  after every new alias. {TGL}
- [Fix] If a scrip opened some groups without closing them before end of script,
  these groups were closed automaticly by Hamster {Joern Weber}
- [Fix] Mail-NOOP-command is now only reachable after authentification to avoid
  DoS-attacks. {JH}
- [Fix] Hint for icon in tray was'nt set correctly {JH}
- [Fix] If more then one Hamster is started, you had problems with earlier versions
  of Hamster to decide, which hamster runs started scripts. {Joern Weber}
- [Chg] No further messages "suspended newsjob" {JH}
- [New] Thread-window has special messages now to show progresses (getting mail etc),
  the settings, which messages are displayed in the log, is now ignored by the
  thread-window. {Konstantin Seiler}
- [New] Scripts can now interprete Parameters and a script can run annother script now:
  - New hs2-Function "runscript (Scriptname [, Parameter [, WaitFlag ] ] )"
  - New hs2-Function "paramcount"
  - New hs2-Function "paramstr (Nr)" (Nr between 1 and ParamCount)
  {Wolfgang Jaeth}
- [New] hs2- and OLE-functions to ask for special infos:
  - HamGetStatus(1,n) returns 1, if local server is active
  - HamGetStatus(2,n) returns the count of connections for the local server
    - n => 1=Local NNTP-Server, 2=Local POP3-Server, Local SMTP-Server
  - HamGetStatus(3,n) returns infos about incoming/outgoing News & Mails
    - n => 1=New articles, 2=Loaded articles, 3=Known (History) articles,
           4=Deleted articles, 5=outgoing articles,
           6=New mails, 7=outgoing mails
  {Joern Weber}

V1.3.21.100
- [New] Supported Language: Italian, but without italian help-file
  {Alessandro Sebastianutti}
- [Fix] Under special circumstances multiple changes of the current language could
  exchange the english texts through texts of the last foreign language.
  {TGL, Hinweis von Alessandro Sebastianutti}
- [New] Configuration / Local: Changes on "Max. Script-PW" shorts or expands the list
  of passwords directly, if you leave the edit-field. {TGL, Idea: Wolfgang Jaeth}
- [Fix] Configuration / Mail: Double use of same SMTP-Server-name isn't allowed anymore.
- [Fix] Configuration / Mail: There were some problems with pop3-server-aliases - so
  you had to restart hamster, before you could change the settings of an new alias.
  {TGL, Hinweis von Patrick Cornelissen}
- [Chg] Configuration / News: Before an newspull is deleted, you have to confirm it now.
  Changes on Servers, Groups and so have an additional info, that they are not reversibel
  with the "Cancel"-button. {TGL}
- [Chg] Configuration / news / Add new pull: Search-mode "Initials" changed: "rp" founds
  now rec.pets.dogs too {Alessandro Sebastianutti}
- [Chg] If any script ends, the history will be flushed automaticly {Joern Weber}
- [Chg] GetListCommand for mailserver accepts now, if no list is send back. {JH}
- [Chg] Username is shown on some log-entries (gettings mails) and in the dialog
  for configuration of mail {Wolfgang Jaeth & TGL}
- [Chg] To avoid problems with fast computers, the hs2-command "ControlMessage(1,x)"
  uses his second parameter - x stands for the delay in milliseconds, which will be
  executed, before hamster ist ended. If x is lower than 100, x will be set to 100
  automaticly. {Joern Weber}
- [New] Configuration / News / group: New setting "Post-Server"
  {TGL, Idea: Damir Kucerauer}
- [New] Configuration / News: If a group is moderated or read-only, this will be
  shown in the grouplist {TGL, Idea: Jürgen Denzler}
- [Neu] Configuration / News: If an server ist read-only, the entry in the serverlist
  is green now and the entries in the pulllist for this server too. {TGL, Idea:
  Jürgen Denzler}
- [New] Information-mails for delete or ignore of mail through filters informs now
  about the size of the deleted/ignored mails (in bytes) too. {TGL, Idea: Wolfgang Jaeth}
- [New] Mailfilt.hst: With $xxx$ you can use the value of the header xxx
  for comparations. Example: "kill() From:$TO$" deletes mail, where the From-Header
  contains the To-Header {Hendrik Friedel}
- [New] Added hs2-command "InputPW", Syntax like "InputBox", but hidden input
  (asterix instead of the real key) {TGL, Idea: Thomas Rachel}
- [New] Added hs2-command "AddLog (Text, Type [, ShowScriptName] )". Adds a new
  line to the hamster-log with the given text. For "Type" see the OLE-command
  "ControlAddLog". "ShowScriptName" decides, if the filename of the script will
  bei inserted before the text. For infos and warnings you can use the commands
  "text" and "warning" instead. {TGL, Idea: Andreas Heim}
- [New] Added parameter for hs2-command HamFetchMail:
  HamFetchMail ( <server>, <port>, <user>, <pass>, <destuser>, <filter>, <LeaveOnServer> )
  If LeaveOnServer is "1", mails will be left on the server, "0" deletes them, any
  other value uses the settings of the server or - if not set - the default setting.
  {TGL, Idea: Jürgen Denzler}
- [Fix] Local SMTP-server can now receive big mails (>5 mb) - there were problems
  under win9x, if the mails were bigger. {TGL}
- [New] hs2-command "Message (2, x)" uses the second parameter now: 0 clears Log and
  Counter, 1 counter only, 2 log only. {TGL, Idea: Wolfgang Jaeth}

V1.3.21.90 (17 Sep 2000)
- [New] SMTP-mailserver: dialog for configuration, username/PW and SMTP-Auth editable {TGL}
- [Fix] POP3-mailserver-dialog: non-existing sections will be created automaticly {TGL}
- [Chg] Add pulls: search newsserver with regexp or choose by list {TGL}
- [Fix] now the following function works: If a client search an Message-ID which is not 
  in the history, Hamster adds the Message-IDs directly to all "GetMids.txt"-files for all 
  NNTP-servers. You can deactive the function in the "local"-dialog. {TGL}
- [Fix] An empty path in hamster.ini ([Directories]/Main=) don't make problems anymore {TGL}
- [Chg] Spaces behind or after "#!hs2" in first line of a hs2-script are ignored now {TGL}
- [Fix] hs2-script: "HamNewsPull (serverlist)" works now without additional ";" before and
  after the serverlist. {TGL}
- [Fix] Choose pulls for single server: Subscribtions out of a filtered grouplist subscribes the
  correct groups now. {TGL}
- [New] hamster.ini / [actions] / group.doubleclick.exec/pars allows an external program,
  which will be activated on every doubleclick on a group in the news-configuration. {TGL}
- [Fix] Choose pulls for single server: taglines will be shown now, double groups will bei
  eleminated. {TGL}
- [Neu] Mailfilter erlauben den Vergleich mit Headerinhalten bsp. ... @From:$To$ vergleicht,
  ob From und To gleich sind. Somit steht {} für regex, "" für direkte Vergleiche und $$ für
  Headerfelder. {Hendrik Friedel}

Vr. 1.3.21.80 (14 Sep 2000)
- [New] Splash-Screen at start of Hamster {TGL}
- [New] Support for additional languages, German ist now supported. {TGL}
- [Chg] Dialog "Add Pulls": Additonal Search-Options like "contains", "begins with" and
  "Initials". The filtering for servers was simplified - instead of regexp you can
  choose the server with a simple combobox. {TGL}
- [New] Log "Warnings & errors" now coloured. {TGL}
- [New] If a client search an Message-ID which is not in the history, Hamster adds
  the Message-IDs directly to all "GetMids.txt"-files for all NNTP-servers. {TGL}
- [New] Directories for outgoing Mail and News are configurable in hamster.ini {TGL}
- [New] Menuitems under "Local" added: Open Mail.Out / News.Out {TGL}
- [Neu] Additional pathfunctions: {TGL}
  hsc2: HamHscPath, HamHsmPath, HamLogsPath, HamServerPath, HamGroupsPath, HamMailPath,
        HamNewsOutPath and HamMailsOutPath
  OLE:  ControlGetHscPath, ControlGetHsmPath, ControlGetLogsPath, ControlGetServerPath,
        ControlGetGroupsPath, ControlGetMailsPath, ControlGetNewsOutPath and ControlGetMailsOutPath
- [New] additional log-Page "Single Thread" is opened by double-click on any normal log-entrie.
  It shows all log-entries for the choosen thread. The result is static e.g. log-entries, 
  which are created later, aren't shown on this page automaticly. {TGL}
- [Chg] Result of HamPath/ControlGetPath-Function contains the "main"-directory, which can
  differ from the hamster.exe-directory. {TGL}
- [Chg] The log-entries for the POP3/SMTP-threads shows the current serverlist. {TGL}
- [New] The old Settings-dialog was splitted into several dialogs an has an own main menu 
  entry. {TGL}
  - General: The handling of the "Online"-menu-tab was optimized, the options for internal
    groups and the default editor are editable, you can change the language, there are new
    options for Splash-Screen and "aks, if outbox full".
  - News: The pulls for a single server are now editable, user and password can be changed
    directly for every server and a single groups can be purged now. 
  - Mails: User and password can bei changed directly for every server, the POP3-Server is
    now configurable in an own dialog, where you can configure the local user for this account
    and the used section in den mail-score-file. You can now install the same POP3-Server multiple
    times (an /x is appended to differ them) and you can edit size-filter from different types
    now without edit the hamster.ini.
  - Local: The maximum count of Script-User/Pws ist changeble, the base for the passwort-encrytion
    ist changeble, you can simply deactivate the additonal "X-Posting-Agent"-Header for outgoing
    news and mails und the maximum size for mails and news for the local Servs are directly editable.
- [New] Submenu RAS-Dialing. {TGL}
- [Fix] The speed of the group search in the dialog "Add Newspull" is increased. {TGL}
- [Änd] The daily group statistic contains a grouplist sorted by article-number now and a list of
  groups, which aren't uses from the newsclient for more than a week. {TGL}
- [New] OLE-Funktion ControlAddLog (String, x) allows creating log-entries by external programs.
  x means the type of the message: 1=Debug, 2=Detail, 3=Info, 4=System, 5=Warning, 6=Error. 
  // Idea from Martin Kuhlmann
- [New] OLE-Funktion ControlChangePassword(AccountName, OldPW, NewPW): Smallint, Results:
  0: False old PW, 1: PW changed, 2: Error // Programmed by Phillip Kern
- [Fix] Some memory-holes // Konstantin Seiler and Jürgen Haible
- [Add] New message-number "9" for HamMessage. purpose: ask only/reload
  configuration. Remark: This function will be executed only, if the configuration
  window is closed (return value '0'). Otherwise nothing will be done, and the value
  '1' will be returned. 'Ask' means: nothing will be done at all, it returns only
  wheater or not it would be possible (i.e. configuration is closed). 
  // Programmed by Wolfgang Jaeth
- [New] Actions in hamster.ini with section [Actions]: xxx.exec means the name of the exe
  and xxx.pars means the parameter for the program. If they are set, Hamster executes the
  programm for the chosen action. Allowed actions (xxx): news.out for outgoing news, 
  mail.out for outgoing mails, mail.in for incoming mails and mail.internal for mail,
  which are generated by Hamster. {TGL}
- [Fix] Only HSC und HSM-files are shown in the script-menu now, extension like HSCRIPT 
  are ignored. // Idea by ??? 

Vr. 1.3.21.0 (06 Aug 2000; see also 1.3.20.10/.20 below)
- Chg: List of new groups now reflects changes immediately to the client. {JH}
- Fix: Rounding problem converting Delphi to Unix time (encodetime/HSC). {JH}
- New: HSC: RasGetIP {JH}

Vr. 1.3.20.20 (source update only):
- Fix: Keep current view of logfile lines as long as possible if "[ ] Auto-
       Scroll" is disabled. {JH}
- Fix: Decimal value of thread-ID in "X-Hamster-Trace"-line was reported as
       signed value (i.e. negative). {JH}
- Fix: Wrong group description was used for new groups, if server does not
       support "LIST NEWSGROUPS wildmat". {JH}
- Fix: Optional server list was not treated correctly on some of the script
       commands (HamNews...). {JH}
- Fix: Disabled Delphi5's .AutoHotkeys ('&' in dynamic menu-items). {JH}
- New: Path settings can now be changed in section [Directories] of file
       Hamster.ini. {TGL}
- New: New checkbox "Find pulls immediately" on selection window for adding
       new news-pulls. {TGL}
       // added session persistence {JH}
- New: New page "Errors+Warnings" on main window, which shows all logged
       errors and warnings since Hamster was started. {TGL}
       // shift list after ~30K entries {JH}
- New: The sub-menu to run available scripts was removed and replaced by
       entries within the script-menu. {TGL}
- New: Menu item "Script/Edit Modules" to edit available modules. {TGL}
- New: The status-line of Hamster's main window and the hint-text of its
       tray-icon can now be changed in Hamster.ini ([Main] BottomLineFormat,
       HintFormat). {TGL}
       // changed placeholders to %XX; use also for internal default {JH}

Vr. 1.3.20.10 (source update only):
- Chg: Sources can now be compiled with Delphi5 without modifications. {JH}
- Chg: Version ressources "ProductName", "Maintainer" and "Download" are now
       used for About-page. {JH}

PLEASE NOTE: Hamster is now Open Source / New maintainer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Starting with version 1.3.20.0, Hamster's sourcecode was released as Open
  Source: http://home.t-online.de/home/juergen.haible/hamsrc.htm
- "Hamster-Classic" is a successor of it, and the addition "Classic" was used
  to distinguish it from other successors.
- The authors or "Hamster-Classic" are:
  {JH}  Juergen Haible, <juergen.haible@t-online.de>
  {TGL} Thomas G. Liesner, <tgl@gmx.de>
  and many other.

Vr. 1.3.20.0 (22 Jul 2000)
See also: Changes of test versions 1.3.19.100/1.3.19.200 noted below.
- Fix: Error "Zugriffsverletzung bei Adresse ...":
       00443015 (Vr. 1.3.18.0), 00450E5D (Vr. 1.3.19.0).
- Fix: Invalid HELP-reply (SMTP server).
- Chg: Removed XHAMSTER-commands (NNTP/POP3/SMTP server).
- Fix: AUTH failed if used with SMTP-after-POP3 (SMTP server).
- Chg: Removed "[X] Full"-selections for logfiles.

Vr. 1.3.19.200 (09 Jul 2000) BETA
- Chg: Modified (unified) former functions used to save articles.
       This change affects: pulling news, get news by Message-ID,
       import articles, local posting of H.-generated articles.
- New: Report GROUP-errors when pulling news (e.g. outdated groups)
       in internal.misc (Hamster.ini: internalgroup.pullerrors=...).
- New: HSC: HamFlush
- New: OLE: ControlFlush
- Chg: Ham.exe: Flush history after importing articles.
- Chg: File '.\Server\(servername)\newgrps.txt' is not used any more.
- New: Note time when group- or description-list was reloaded (file
       Server.ini: [Pull] ReloadGroupsLast=/ReloadDescsLast=).
- New: "Auto-scroll"-checkbox on Log-page.
- New: "Leave mails on server" can now be enabled for a specific
       server (Server.ini, [POP3], LeaveOnServer=1).
- New: Optionally add trace-header to posted articles (Hamster.ini:
       [Setup] news.addxhtrace).
- Chg: Hamster timed out if a pulled article contained any ASCII-0
       character (fix for problems with msnews.microsoft.com?).

Vr. 1.3.19.100 (02 Jul 2000) BETA
- Fix: POP3-LIST timed out with specific providers (telda, uunet).
- New: Added POST-result to archive-copies of posted news.
- Fix: Invalid group-handles caused Hamster to "die" instead of just
       returning an error-value (scripts).
- Chg: Various minor changes (additional logfile-entries, enhanced
       error-checking etc.)
- Chg: Report message-number in NewsOut.log.
- Chg: Modified entries in MailOut.log and NewsOut.log (add message
       number; omit path).
- Fix: Tray-icon did not disappear after starting Hamster by OLE.
- Fix: Number of jobs left shown as tray-hint was wrong.
- New: SMTP server now supports EHLO and authentication with AUTH LOGIN.
       If authentication is required, it has to be enabled under:
       "File / Configuration / Local servers / SMTP / [X] SMTP AUTH".
- New: SMTP client now supports authentication with AUTH LOGIN. It has
       to be enabled separately for each server, that requires it (add
       a line "AUTH=1" under "[SMTP]" in server's file "Server.ini").
- New: HSC: HamSendMailAuth
- New: OLE: ControlRunSendMailAuth

Vr. 1.3.19.0 (12 Jun 2000) BETA
- Chg: Modified history to handle chunk-files concurrently.
- Chg: Replaced old handler for news-jobs with a new one.
- New: Show number of remaining jobs in the status-line (again).
- Chg: Removed former pull- and post-threads and replaced them with
       a "news-jobs"-thread, which handles all transfers to and from
       newsservers. Former pull- and post-commands are now simulated
       to make use of this new thread-type, where "post-jobs" always
       have a higher priority than "pull-jobs".
- New: HSC: HamNewsJobs*
- New: OLE: NewsJobs*
- Chg: New default for number of pull-jobs per server is now 1.
- Chg: Same naming convention of *.msg-files for news as with mails
       (unique/growing numbers, no leading zeros).
- Chg: Running scripts are not counted as "active tasks" any more, so
       HamThreadCount (hsc) and ControlThreadCount (OLE) might return
       lower values than in former Hamster-versions.
- Chg: Replaced former MD5-implementation with a new one (especially
       used for history-entries).
- Chg: Replaced former Blowfish-implementation with a new one (used
       for coding stored passwords).
- Chg: Updated to PCRE Vr. 3.1 (regular expressions), which is used
       with a new interface.
- Chg: Replaced former tray-icon-component with direct API calls.
- Chg: Client-threads (i.e. transfers to/from remote servers) now use
       blocking socket-connections.
- New: Menu "File / Refresh menu items"
- Chg: Scripts to start were moved to new sub-menu "Script / Run".
- New: Menu "Script / Edit", "Script / Stop all scripts"
- Chg: The question for "Rebuilding global lists now?" is now asked
       (and executed) when adding new pulls.
- New: Show currently connected clients in "Threads"-list.
- New: Add and expand "Path:"-header in posts to local groups (note:
       "local group" = not pulled from other servers).
- Fix: "crazy endwhile"-effect (HSC; loop-stack was filled with wrong
       instruction-pointer when used in conjunction with function-calls)
- New: AtAdd (HSC) now supports times round midnight ("23.00"-"01.00")
- Fix: SMTP multiline reply was treated wrong (-> GMX's HELO-reply).
- Chg: Special "nntpdefault"-account is not related with MODE READER
       (NNTP) any more. MODE READER is just ignored (again).
- Chg: Replaced former header-decoding (QP, Base64) with a new one
       (used with "~"-filters and to display killfile-log).
- Chg: Internal groups used by Hamster (hamster.misc/.posted/.errors)
       were renamed and replaced by a single group: "internal.misc".
       This new group is automatically created when starting Hamster,
       the old ones will be retained but will not be used any more.
       The name(s) of the internal groups may now be changed with
       settings in Hamster.ini. 
- Fix: Bug in operator precedence in conjunction with parens (HSC).

Vr. 1.3.18.0 (07 May 2000) BETA
- Chg: If no password is set for a given server, it is assumed now,
       that none is needed (providers which auth. by dialup-IP).
- Fix: HSC: HamSendMail (3rd par), HamMessage (2nd par), Parser
	    (WSP and parens in function-calls/-declarations)
- Chg: HSC: IniRead/IniWrite now use current directory by default,
	    use "HScripts.ini" if no file is given and use "[Common]"
	    if no section is given.
- New: HSC: HamMessage(8), HamArtTextExport, HamArtDeleteMid,
	    HamArtLocateMid, HamScoreList, HamScoreTest, DirWindows,
	    DirSystem, VarSet, Sgn, For, Assert, ListBox, RE_Match,
	    RE_Extract, RE_Parse, RE_Split, FileSize, FileTime,
	    ListRasEntries, ErrCatch et.al.
- New: OLE: ControlMessage(8)

Vr. 1.3.17.0 (29 Apr 2000) BETA
- Chg: "RasHangup" (OLE) and "ras.hangup" (.hsc) now also terminate
       connections not initiated by Hamster.
- New: New script-engine activated by "#!hs2" in the first line of a
       .hsc-script (see helpfile for details). Old .hsc-scripts are
       still supported [til end of year?] but cannot be mixed with
       new-style scripts.
- Fix: Hamster could become completely unresponsive if its password-
       option "?" (=ask when needed) was used.
- Chg: Mailfilter "postto" now adds "Followup-To: poster" to every
       mail redirected to a newsgroup (former: only if mail had a
       "Mailing-List:"-header).
- Chg: "LIST EXTENSIONS" (local NNTP) to make NetScape 6 work?

Vr. 1.3.16.0 (16 Apr 2000) BETA
- Fix: If multiple mailfilters matched, resulting recipients- and
       newsgroups-lists could contain duplicate entries.
- Chg: Modified startup-behaviour to avoid some problems when starting
       scripts or "clicking" around while Hamster has not finished its
       initialization.
- Chg: Disabled Full-Log-setting under "File/Configuration/Settings".
       If you save a new Log-setting, a prior "[X] Full"-setting is
       removed.
- Chg: "Remaining Pull-Jobs"-display removed, as its interpretation
       requires a good knowledge on how Hamster works internally and
       the value shown was not the value one would expect.
- Chg: File ".\Server\allpulls.txt" introduced in Vr. 1.3.15.0 is
       neither created nor used any more - just delete it.
- Chg: File ".\Server\alldescs.txt" is now always used when selecting
       new news-pulls. It is only rebuild automatically, when Hamster
       is started and the file is missing.
       If you select "File/Configuration" and Hamster has noticed, that
       the file should be rebuild (e.g. groups- or description-lists
       were reloaded or new groups were reported from one of the news-
       servers), you are asked to rebuild the file.
- Chg: There are now two steps when selecting new pulls. First step is
       to select the wanted groups in the upper part of the window by
       groupname and description. Second step is to find and select
       newsservers, which carry the selected groups.
- Chg: If a newsserver reports new newsgroups, the corresponding
       descriptions are now loaded immediately and are added (e.g.)
       to the "New groups"-message posted to "hamster.misc".

Vr. 1.3.15.0 (09 Apr 2000) BETA
- Fix: "notify"-command (mail-filters) without given recipients did not
       send notification-messages to determined recipients in all cases.
- Fix: ControlWaitIdle-command (OLE) with a timeout-value greater than
       zero returned immediately.
- New: Added matching kill-/ignore-lines of mailfilters to notification-
       messages.
- New: Display number of remaining "Pull-Jobs" while pulling groups.
       Note: Current design does not allow to show an exact value here.
- Fix: Local groups could be added more than once.
- Chg: Default startup-mode is now "show as window" and not "as icon".
- New: Added "[X] Minimize on close"-setting.
- New: Killfile-Log: Added "Exit" to context-menu.
- New: Killfile-Log: Last sort-order is now saved.
- New: Killfile-Log: Set/save sort-sequence for two additional fields.
- Fix: Hide input when entering passwords.
- Fix: After certain "minimize"-actions, Hamster could be left in an
       unresponsible state (e.g. Hamster-icon ignores mouse-clicks).
- Chg: Don't start "purge" for groups with "days to keep" of "0". This
       also disables error-detection and -correction for such groups,
       so they remain really "untouched" when purging.
- Chg: Delay and skip groups on purging if they are currently "in use".
- New: Added Newsserver-settings, which allow reloading the list of
       available newsgroups and (re-) loading the list of available
       newsgroup-descriptions.     
       Note: Unlike group-list, descriptions are NOT loaded by default.       
- New: Menu "File/Rebuild global lists" creates (by now) two new files:
       - .\Server\allpulls.txt: Available groups of all servers.
       - .\Server\alldescs.txt: All groups with their descriptions.
       These lists are also build automatically when starting Hamster,
       if they are missing or not up to date any more. They can also be
       rebuild immediately by scripts using "news.rebuildgloballists"
       (.hsc) or by "ControlRunRebuildGlobalLists" (OLE).
- New: When adding new "News-Pulls", the newsgroup-descriptions are now
       displayed and may be used for finding, if "[X] Descriptions" is
       marked. If no descriptions were loaded or none are available, a
       question-mark is shown instead.

Vr. 1.3.14.0 (25 Mar 2000) BETA
- New: Mail-filters (see "MailFilt.hst" in helpfile for details).
       Additional notes for 1.3.13.100-betatesters:
       - Fix: "postto" additionally generated a mail-message.
       - Fix: "notify"-command overwrote recipient-list.
       - New: settings in Hamster.ini ("mail.filter.*"):
	      - number of TOP-lines to load for notification-msgs
	      - global size-filters (without pre-loading of headers)
       - Chg: Only one notification should be generated now, if "ignore
	      already loaded mails" is enabled and server supports UIDL.
       - Fix: Add "Followup-To: poster"-header on "postto", if mail
	      contains a "Mailing-List:"-header.
- New: Added support for newsgroup-types "y" (posting allowed), "n"
       (no posting allowed) and "m" (moderated).
       Restrictions:
       - the types have to be set manually under "File/Configuration/
	 Newsgroups/Settings" (default is always "y")
       - "m" has no special meaning yet, it works like "y"
- New: Added (yellow) warning if logfile-setting "[X] Full" is enabled.
- New: "call"-command for internal .hsc-scripts.
- New: Settings in Hamster.ini:
       - password.codebase=2
	 A value of 2 now disables usage of OS-specific values completely.
       - purge.mhistory.keepdays=14
	 Number of days to keep entries in mail-history (default: 14).

Vr. 1.3.13.0 (15 Feb 2000) BETA
- Fix: Listbox-entries were partly unreadable when using 'large fonts'.
- Fix: Since 1.3.12, overview-values for lines and bytes returned from
       Hamster's NNTP-server were wrong (mostly too low).
- Chg: Usage of APOP is now controlled by the given password. If it is
       preceded by "APOP:", APOP is used, USER/PASS otherwise. To force
       USER/PASS, a password may be preceded with "PASS:".
- Fix: Colors in lists were not updated immediately in some cases and
       were wrong, if a server was set to be readonly.
- New: The length of a line and the size of the complete text sent to
       Hamster's local servers is now limited by default to prevent
       from DoS-attacks. If one of the limits is exceeded, connection
       will be terminated. The defaults (1000/2MB) may be changed in
       Hamster.ini under "[Setup]"; a value of 0 disables the limit:
	  local.limit.linelen.(nntp|pop3|smtp)=1000
	  local.limit.textsize.(nntp|pop3|smtp)=2097152
- Fix: If authentication failed (get news/mails), Hamster nevertheless
       tried to continue in some cases.
- Fix: Starting of a .hsc-script by command-line failed, if parameter-
       string contained a path, so association of file-type ".hsc" to
       "Hamster.exe" failed.
- Fix: A mail got different Message-IDs if sent to internal accounts
       and external recipients at the same time.

Vr. 1.3.12.0 (06 Feb 2000) BETA
- New: Mark already selected news-pulls blue when selecting new pulls.
- New: Mark local groups blue in newsgroup-list.
- New: Use APOP instead of USER/PASS if remote POP3-server supports it.
- New: Additional logfile named "RasDial.log", which contains an entry
       for each connection initiated by Hamster.
- New: Added support for newsgroup-descriptions. The descriptions are
       loaded when the group is pulled. For local groups or if the
       newsserver doesn't support it, the descriptions can be changed
       under "File/Configuration/Newsgroups/Settings".
- Fix: Newsgroups currently in use can't be "deleted" any more.
- Chg: When pulling news, articles are additionally stored in the
       current group, even if this group is not listet in Newsgroups-
       header of the article (e.g. control-messages in control.*).
- Fix: After timeouts a (useless) QUIT-command was sent, causing an
       additional delay until QUIT timed out, too.
- New: To allow access for dynamically assigned IP-addresses (dial-up,
       DHCP), a special "LOCAL"-setting was added to "IPAccess.hst".
       The default-setting is "ALL,NA,LOCAL,127.0.0.1", which treats
       ALL local IP-addresses like "127.0.0.1".
- Fix: New subscribed groups should be pulled first again.
- New: Added new ControlMessage-numbers (OLE+.hsc) to hide/show main-
       window and tray-icon.
- New/Chg: If a mail could not be delivered by SMTP for any reason:
       - Sender (or at least "admin") will get a notification by mail.
       - Delivery is tried again later for a given number of times.
	 -> Hamster.ini: [Setup] sendmail.attempts.max=10
       - If all attempts fail, the undeliverable mailfile is finally
	 renamed to "*.err" (.del=0) or deleted (.del=1).
	 -> Hamster.ini: [Setup] sendmail.attempts.del=0
       - If only some of the given recipients are not accepted by the
	 SMTP-server, the mail is now immediately send to the accepted
	 ones. These recipients will be commented out in the mailfile
	 ("!X-OK: ..."), so they will not get additional copies of the
	 mail on further attempts.
       - If it's possible to reset the remote SMTP-server after an
	 error occured, Hamster does not disconnect from server any
	 more but tries to send additional waiting mails.
- New: Disable Hamster's "Received:"-header for mails by setting
       "mail.addreceived=0" under "[Setup]" in Hamster.ini.
- Chg: Some commands of local NNTP-server (especially XOVER) should
       now be faster in groups with large articles.
- Fix: "Preferred Post-Server"-setting did not work as a "preference"
       when selecting a post-server for a given group. The group was
       somewhat (and unintentional) "fixed" to this specific server.
- Chg: The yellow hint-window on tray-icon now shows a few items from
       the current status-line.

Vr. 1.3.11.0 (11 Jan 2000) BETA
- Fix: Error "NNTP.LoginUser-Exception #4: Zugriffsverletzung bei
       Adresse 004710F1 in Modul 'Hamster.exe'  Lesen von Adresse
       00000000" could finally be reproduced by me and (hopefully)
       be fixed.
- New: To disable the automatic retrieval of new newsgroups from
       still not Y2K-compliant newsservers, change the "LastGMT="-
       setting in the appropriate Server.ini to "LastGMT=NEVER".
- Chg/Dbg: Use Message-ID of article for additional history-lookup
       and -entry (was: Message-ID of XOVER-reply).

Vr. 1.3.10.0 (03 Jan 2000) BETA
- Chg: NEWGROUPS (local NNTP) now also supports broken "YMMDD"- and
       "1YYMMDD"-dates.
- Chg: Options which can only be set manually by editing .ini-files:
       - Server.ini: [Newgroups] 4-Digit-Years=0
	 If set to 1, NEWGROUPS-command for this server is invoked
	 with format "YYYYMMDD ...".
- Fix: Connections to remote-servers were not terminated in all cases
       after timeouts (especially after XOVER/ARTICLE).
- New: Two new levels for log-files named "Details" (=commands sent
       to remote-servers and their replies) and "Full" (=complete
       communication including article-/mail-data).
       Default for new installations was changed to also save more
       communication-"[X] Details".
- Dbg: "Additional logfile-entries in client-auth..." part XIV.

Vr. 1.3.9.0 (18 Dec 1999) BETA
- Dbg: Disabled caching of client-threads.
- Dbg: Additional logfile-entries in client-authentication, if
       "[X] Debug" is enabled.

Vr. 1.3.8.0 (05 Dec 1999) BETA
- Chg: Additional log-entries for local (NNTP-/POP3-) authentication.
- Chg: Removed one possible reason for "... Lesen von Adresse 00000000"-
       exceptions.
- Fix: "wait.delay" (internal scripts) did not work any more.
- Chg: Removed "experimental", additional lookup of IP-address.
- New: Confirmation-message if starting "Rebuild history" by menu.
- New: Split long Received-header into two lines (local SMTP).
- Fix: Deleting newsserver now also deletes its news-pulls.
- Chg: "start.wait" (internal script) now always sets Hamster's root-
       directory as the "working directory" for the started program.

Vr. 1.3.7.0 (28 Nov 1999) BETA
- Fix: "ham import" tried to import "directories", not only files ...
- New: Added "[X] Ignore already loaded mails, i.e. do not load them
       again"-setting to prevent from loading mails more than once, if
       deleting of mails is disabled.
       For this function to work, a history for mail-UIDLs was added
       (file: mails\mhistory.dat) and the purge-function was enhanced
       accordingly (period is by now fixed to 14 days).
- New: Added "[X] Start as icon"-setting.
- Chg: Note destination-newsgroups in hamster.posted-intro.
- Fix: An active 'wait.delay' (internal script) could not be stopped.
- Chg: HELO (local SMTP) is now optional.
- Fix: Files and directories were not removed when deleting servers.
- Chg: Added warning, if directory could not be deleted when deleting
       a server or a newsgroup (mostly due to non-Hamster-files).
- Fix: Pull-thread for a given server was not stopped on timeouts, so
       download of different groups could become mixed up "a little",
       if answer for abandoned group still arrived when Hamster was
       already working with the next group. Additionally, a more
       detailed check for GROUP-reply was implemented.
- Chg: Added consistency-checks based on file-sizes to recognized and
       delete damaged index-entries when purging articles.
- Fix: Hamster is now able [again *sigh*], to detect and automatically
       rebuild missing newsgroup-indexfiles.
- Chg: Added some log-entries to trim down some reported problems, which
       I could not reproduce here.
- New: Added a new score-field named "Age", which is based on the Date:-
       header and gives the age of the article in days (e.g. to ignore
       all articles older than 14 days, use "=-9999 age %>14").
- New: OLE-function: NewsLocateMID2 (with Variant-pars for VBScript).
- New: Mark last client-usage of a group in group's Data.ini ("[Info]
       LastClientRead=<timestamp>").
- Chg: Original "Xref"-header is now saved in "X-Old-Xref"-header.

Vr. 1.3.6.0 (24 Oct 1999) BETA
- Fix: "history.chunkbits"-setting had no effect yet.
- Fix: Definable items of "Online"-menu did not work if called by
       tray-icon.
- Chg: "Color" of tray-icon now depends on "Threads=..."-count instead
       of RasDial-state.
- Fix: Invalid reply on HELO (SMTP) without domain-name.
- Fix: Local dupes on concurrent downloads.
- Fix: "ham import" created invalid Date:-header with option "-x".
- Chg: Start internal script by command-line even if Hamster is already
       running. Already running tasks will be terminated in this case.
- Chg: Accept non-RFC cancel-message of NetScape ...

PLEASE NOTE: New file-format for news-history
   Starting with version 1.3.5, a new file-format is used for the
   history. If you are upgrading an older version of Hamster, the new
   files will be created automatically when starting the new Hamster
   for the first time. The old history-file "History.dat" in "Groups"-
   directory may (and should) be deleted manually.

Vr. 1.3.5.0 (17 Oct 1999) BETA
- New: The file-format of history-file has changed. New history-files
       will be created automatically when starting the new Hamster for
       the first time.
- New: The new "[Setup] history.chunkbits=4"-setting in Hamster.ini
       controls, how many files will be used for history.
- Chg: A small "Please wait"-window is displayed if history is rebuild
       automatically due to missing files.
- Chg: More effective handling of groups-indexfiles (data.idx).
- New: If an account with username "nntpdefault" and password "*" is
       created, its NNTP-settings will be used, if user accesses the
       local NNTP-server without prior authentication. This "auto-login"
       takes place, when client issues a "mode reader"-command.
- Fix: Passwords in error-messages replaced by "[...]" in logfile.
- New: Menu-item "File/Clear counters+log"
- New: "~"-scoreentries now support base64-encoded headers.
- Chg: Misleading reply on NNTP-POST if hdr/body-separator was missing.
- Chg: POST-replies (NNTP) with recommended and finally used M-ID.
- Fix: Indexfiles and history-files were saved too often and even if
       content has not changed (experimental-1.3.4.100 only).
- New: New and enhanced functions for OLE- and internal scripts:
       - ControlMessage, message: Initiates some special functions
	 like start/stop local servers, reset counters, exit.
- New: When Hamster is started or minimized now, its main-window and
       taskbar-entry will be hidden. It is replaced by an icon in the
       taskbar notification area (system-tray).
       Double-click with left mouse-button restores the window, single
       click with right mouse-button displays menu.

Vr. 1.3.4.0 (25 Sep 1999) BETA
- Fix: When adding new groups with "News-Pulls", the groups were not
       generated and saved in all cases.
- Chg: Modified article-parsing in a way, that Hamster is also able to
       load news from servers running "NNTP Service Microsoft® Internet
       Services 5.5" ...
- Chg: Removed misleading connection-thread from thread-list.
- Chg: Display local server replies as "Info" now, not as "Debug".
- New: Display number of loaded mails. Slightly modified the format
       of the status-line to keep it small.
- Chg: Additionally show name of winsock-errors (e.g. WSAETIMEDOUT).
- Chg: Additionally show description of RAS-errors.
- Chg: Stop further download of mail/news, if save to file fails (e.g.
       when disk is full).
- Chg: Replaced APOP-digest (POP3) in logfile with "[...]".

PLEASE NOTE: No access to NNTP/POP3 without authentification! 
   Starting with version 1.3.3, it's not possible any more to access
   Hamster's NNTP- and POP3-servers without prior authentication. If
   you are upgrading an older version of Hamster, you have to enter a
   password for the default-account "admin" under "File/Configuration/
   Accounts" and use these settings for authentication in your news-
   or mail-client (i.e. "admin" as username and the password chosen).

Vr. 1.3.3.0 (19 Sep 1999) BETA
- Chg: Removed "Authentication [X] required" for NNTP- and POP3-server,
       as this is default from now on. Renamed SMTP's "Authentication
       [X] required" to "SMTP-after-POP3".
- New: Added "[X] Allow POST to unknown groups"-setting (disabled by
       default and not recommended for multiuser-environments).
- New: Definition for local domains. Mails sent to addresses with
       these domains via local SMTP-server will be delivered locally.
- New: Assign specific mail-addresses to local accounts. Mails sent to
       these addresses via local SMTP-server will be delivered locally.
- New: "General purpose"-passwords ($x) now work with RasDial too.
- Chg: Added some date-related tests before loading new groups and
       log used NEWGROUPS-values in signature of announcements in
       hamster.misc.
- Chg: New configuration page "Local servers". Former "Accounts"-page
       renamed to "Local accounts".
- Fix: Removed "OK"- and "Cancel"-buttons on configuration-window, as
       they did not work as [you ;-)] expected. Some pages got a "Save"-
       button instead, changes on other pages are saved immediately.
- Fix: Deleting account now deletes mailbox, if it's empty.
- Fix: "admin"-mailbox can't be deleted any more.
- Fix: Some valid groupnames (e.g. trailing "+"-sign like in "c++")
       were rejected due to a faulty syntax-check.
- Fix: "ham import": mbox-format now triggers on "From " (case-dep.)
- Fix: Mark missing headers with '(none)' on XHDR (NNTP). (Agent)
- Chg: Changed "misleading" UIDL-format (only used internally).

Vr. 1.3.2.0 (05 Sep 1999) BETA
- New: Added user-accounts (-> File/Configuration/Accounts), which will
       be used, if "Authentication: [X] required" is activated for the
       local servers (-> File/Cfg./Settings).
       If authentication is enabled, the behaviour of the local servers
       changes as follows:
       - NNTP: user-specific group-selection for reading and posting;
	       (cross-) postings to unknown groups are rejected, even
	       if a valid Followup-To is set
       - POP3: separate mailboxes per account, but so far, they can only
	       be filled by the new script-commands mentioned below
       - SMTP: only connections with prior POP3-authentication are
	       accepted ("SMTP-after-POP3")
- New: "General purpose"-passwords (-> File/Cfg./Passwords) to be used
       in scripts, which avoids the need to write them in clear text.
- New: New and enhanced functions for OLE- and internal scripts:
       - ControlSetLogin, setlogin: support for new "general purpose"-
	 passwords mentioned above
       - ControlRunFetchMail, fetchmail: fetch mails from a given server,
	 optionally store the mail in a given account-mailbox
       - ControlRunSendMail, sendmail: send mails to a given server,
	 optionally based on Envelope-From of message
- Chg: Passwords used to log into local servers are also replaced by
       "[...]" now in the logfiles.
- New: Support for APOP-authentication (local POP3-server).
- Fix: Add missing Date:-header in archive-copy of posted article (XNews).
- Fix: Order of mail-numbers could change after RSET (POP3).
- Fix: Mailbox-locking (concurrent POP3-sessions of same user).
- Chg: Regex-selection under "News-Pulls/Add" now includes servername.
- Fix: Missing history-entry for messages stored in hamster.posted.
- Fix: XPAT (NNTP) without params returned 500 instead of 501 (slrn).
- Chg: Optimized range-selection for XPAT (NNTP)

Vr. 1.3.1.0 (22 Aug 1999) BETA
- New: Group-selection on "News-Pulls/Add" with regular expression.
- New: Select more than one group on "News-Pulls/Add".
- New: Internal scripts: Added "start.wait" and "start.nowait" to start
       external programs.
- New: Removed menu-item "Online/Script: Default.hsc" and added a
       separate "Script"-menu containing all available *.hsc-files.
- New: Added menu-item "Online/Single Server" to start transfer to/from
       one of the defined servers.
- Fix: Group-selection with ["pattern"] in scorefile did not work.
- Chg: "Lines:"-value in Hamster's XOVER-reply is not based on the given
       Lines:-header of the article any more.
- Chg: Local cancel failed, if "From:"-header of cancel was not exactly
       the same as that of the article to cancel (slrn).
- Fix: NEWGROUPS (NNTP) mostly returned all or none groups ...
- Chg: If connection was lost during posting, a misleading 340-reply was
       generated.
- New: OLE-function: NewsImport
- New: Import messages into Hamster's database with "ham import".
- Chg: Remember last selected page on main-window and reselect it on
       startup.
- Fix: Already known Message-IDs were not deleted in "getmids.txt"
       ("Mark for retrieval"-function).
- New: If a Message-ID in "getmids.txt" is preceded with "!", it will be
       pulled, even it is marked as "known" in history-file.
- New: Hamster.ini: [Setup] local.timeout.quitdelay=100
       Delay in milliseconds before local servers close a connection
       after client's final QUIT (Agent).
- Chg: Hamster.ini: [Setup] remote.timeout.connect/.command=120
       Default timeouts raised from 60 to 120 seconds.
- Fix: Crosspost-restrictions could not be turned off by setting a
       "Followup-To:"-header.
- New: Start internal script by command-line ("hamster.exe doit.hsc").
       Note: This only works, if Hamster is not running yet.
- New: Killfile-Log: "Select all (Ctrl-A)"
- Chg: Archive-copies of posted articles in hamster.posted now get a
       unique Message-ID and a correct "Newsgroups:"-header (original
       values will be preserved in "X-Post-..."-headers). To avoid
       confusions, the article is also marked an "archive-copy" in the
       body-text of the article.
- Fix: Scorelines with a leading '=' stopped further scoring, but did
       not adjust the resulting score-value.
- Chg: When deleting a "Newsgroup", all corresponding "News-Pulls" will
       be deleted also.
- Chg: SMTP-HELO now uses a/the hostname, not "localhost".

Vr. 1.3.0.42 (11 Jul 1999) BETA
- Fix: "Preferred Post-Server" was ignored.
- Chg: Removed STAT when pulling mails.
- Chg: Changed naming convention for mailfiles created by Hamster
       (*.msg, IN and OUT): Number in decimal without leading zeros;
       numbers will only be reset to 1 when 99.999.999 is reached.
- Chg: Options which can only be set manually by editing .ini-files:
       - Server.ini: [Setup] ReadOnly=0
	 If set to 1, the given newsserver will not be used to post
	 articles.
- Chg: Added further log-messages.

Vr. 1.3.0.40 (04 Jul 1999) BETA
- Fix: A group was not recognized as "known", if its spelling was
       different from that in Hamster's group-list (upper-/lower-
       case). Articles were loaded but not saved in this case.
- Fix: NEWGROUPS (NNTP) now returns data in same format as LIST.
- Fix: Automatically ignore scorefile and load articles by number,
       if newsserver does not support XOVER.
- Chg: Additional warning- and error-messages in some "critical"
       (support- ;-) situations.
- Chg: If loading of newsgroups-list fails, no dummy-list containing
       the error-messages will be saved any more, so the list will
       be loaded automatically after solving the problem (e.g. wrong
       username/password).
- Chg: Turned (yellow) warnings of thread-limiter into (b/w) infos.
- Fix: Articles were not posted immediately if "preferred post-
       server" was not in the list of selected servers. Now it will
       be posted to one of the given servers, if the group is pulled
       from it.
- Chg: Don't start more (useless) pull-threads than there are jobs
       to do for a given server.

Vr. 1.3.0.38 (27 Jun 1999) BETA
- New: OLE-functions: NewsDeleteByMID
- New: Execute cancel-messages (local groups only; identical From;
       notification in hamster.misc).
- New: Improved version of "ham.exe":
       - "delete": Delete article by Message-ID in Hamster's database.
- Chg: Some minor performance-optimizations (less group-reopens when
       pulling news; less serialization when accessing group-files
       and adding log-entries).
- New: Added a short connection-info after closing RAS-connection.
- Fix: Final "." could be missing on TOP-command (local POP3-server).
- Fix: Internal errors in protocol-handling of local servers were
       only treated as "Debug"-infos instead of more "visible" and
       correct "Errors" (like in TOP/POP3-situation above).
- Fix: Invalid characters were accepted when setting FQDN.
- Chg: Added some syntactical checks when posting articles.
- Chg: Additional checks on purge to detect and remove "damaged"
       articles in database-files.
- New: Options which can only be set manually by editing .ini-files:
       - Hamster.ini: [Setup] password.codebase=0
	 Defines how the keyword is built for encoding the entries in
	 password-file. If set to 1, the user-name is not used for it
	 (e.g. on NT, if Hamster is used with different logins).
	 Note: You have to restart Hamster and set all passwords
	       again after changing this value!
- Fix: Check for valid newsgroup-name when adding a local group.

Vr. 1.3.0.36 (19 Jun 1999) BETA
- Fix: Scores on "Xref" and "Xpost" were ignored.
- Chg: "Scorefile-Test" in Killfile-Log could be rather slow.
- Chg: Additional error-handling for POP3-server.
- New: Hamster could not be started/used, if RAS was not installed.
       The RAS-DLLs are now loaded dynamically only when needed.
- New: "rasapi32.dll" added to "Help/System Informations".
- New: Options which can only be set manually by editing .ini-files:
       - Hamster.ini: [Setup] remote.timeout.connect=60
		      [Setup] remote.timeout.command=60
	 Seconds after which remote-servers have to answer (when
	 connecting/after sending a command) before a 'no response
	 from server' is assumed (in seconds; default: 60).
- Chg: Options which can only be set manually by editing .ini-files:
       - Server.ini: [Pull] Threads=2
	 The new limit for concurrent threads per server is now a
	 GNKSA-compliant 4 threads per server, default is still "2".
	 Note: The usage-policy for some servers might order you not
	 to use higher values than 1, 2 or 3. The default-value of
	 "2" should be OK for most servers, but if in doubt, ask your
	 newsmaster, how many concurrent connections ("sockets") are
	 allowed on his server.
	 Note: The thread-limit per server is now "strict" and can't
	 be "workarounded" by starting additional tasks by menu or
	 scripts as in former versions. If additional tasks are
	 started, they will be suspended until another thread for the
	 given server has finished (in most cases they will do just
	 nothing, as the jobs are already done by the other threads).
- Chg: Optimized history (insert-time for pulled articles).
- Chg: Priority for large and currently unused groups when pulling
       news. This avoids ineffective pulls and "delayed" groups at
       the end of transmission, when only a few threads are left.

Vr. 1.3.0.34 (13 Jun 1999) BETA
- Chg: Limitation on max. 10 concurrent online-threads removed.
- New: Generate Xref-headers.
- Chg: Lowered restrictions when crossposting to too many [unknown]
       groups, IF Followup-To is set.
- Chg: Disabled "[Setup] news.removemids=".
- Chg: Add missing Lines:-header when archiving in .posted/.errors.
- Fix: Group-specific purge-range was ignored.
- New: If a score-pattern is surrounded by '{' and '}', it is treated
       as a PCRE-style regular expression, e.g.:
       -1 From {no@?spam}
       Regex-matching is not case-sensitive, but this can be changed
       in a pattern with a leading "(?-i)" or with "(?-i:XXX)", e.g.:
       -1 Subject {(?-i)HELP} {(?-i:URGENT)}
- New: To mix scores for different header-fields on a single line, a
       pattern may be qualified with ('@'+headerfield+':'), e.g.:
       -1 Subject {[!?]{3}} "help" "urgent" -@From:"me@home" -";-)"
- New: OLE-function: NewsScoreTest
- New: Improved version of "ham.exe":
       - "scoreview": Show scorelines used for a given group.
       - "scoretest": Show score-value and matching score-lines for
		      a given article.
- New: "Scorefile-Test" in Killfile-Log shows the scorelines, which
       match on the selected article.

Vr. 1.3.0.32 (05 Jun 1999) BETA
- New: Menu "Help / System-Informations".
- Chg: Default inactivity-timeout for local servers raised to 60 min.
- New: Add missing Date:-header if article is posted to or archived
       in local groups.
- New: OLE-functions: NewsLocateMID, ControlRunRebuildHistory.
- Chg: Separate settings for the generation of Message-IDs for news
       and mails.
- Chg: Posted articles with "unknown" groups will be accepted, if at
       least one of it is "known" and at most two are "unknown".
- Fix: Articles without Message-ID in hamster.posted/.errors.
- Fix: Upper range of available articles in a group could be set to
       a lower number on purge, if article with the highest number
       was purged, or even be set to 0, if all articles were purged.
- New: Options which can only be set manually by editing .ini-files:
       - Server.ini: [Pull] Threads=2
	 Number of threads started when pulling news (default: 2,
	 valid range: 0-9)
       - Hamster.ini: [Setup] local.timeout.inactivity=60
	 Minutes after which local servers disconnect inactive
	 clients (default: 60).
       - Hamster.ini: [Setup] mail.addxhamster=1
			      news.addxhamster=1
	 Disable Hamster's "X-Posting-Agent"-header for mail and/or
	 news (default: 1=enable; 0 to disable).
       - Hamster.ini: [Setup] mail.removemids=FQDN1,FQDN2,...
			      news.removemids=
	 Remove Message-ID from messages posted to local NNTP-server
	 (POST) and/or sent to local SMTP-server, if its FQDN is one
	 of the given FQDNs in the list.
	 Message-IDs for news-articles will NOT be removed, if an
	 article contains a Path:-header or is marked as "known" or
	 "MID already removed earlier" in history-file. Additionally,
	 if history-check fails, the article will be refused, i.e. it
	 will not be accepted again (history-range is raised to at
	 least 14 days, if "news.removemids" is set).
- New: Improved version of "ham.exe":
       - "locate" article by Message-ID
       - "type" and "export" specific article (option: "-number")
       - directly "grep" in groups with regexp-patterns
       - group-selection with one or more regexp-patterns
       (see "ham help" or "ham help all" for more^Wdetails).

Vr. 1.3.0.30 (31 May 1999) BETA
- Fix: Local servers ...
- New: POP3/NOOP

Vr. 1.3.0.29 (30 May 1999) BETA
- Fix: Client-connection was "used" to early, which caused a
       misleading "no posting allowed"-message when connecting.
- Chg: Added "X-Posting-Agent"-header in sent mails.

Vr. 1.3.0.28 (29 May 1999) BETA
- Chg: [Local-servers] Initial greeting-message was sent before
       client-connection was completely initialized. This could
       cause Hamster or client to "die" and a "lost" connection.
- Chg: [Local-servers] Show (yellow) warnings when connection is
       lost or closed by Hamster.
- Chg: Additional debug-logs for passwordfile-usage.
- Chg: When decoding of username/password fails, Hamster now uses
       "ask for the values" as default.
- Chg: Width of horizontal scrollbar adjusted ...

Vr. 1.3.0.27 (27 May 1999) BETA
- New: Additional extensions for local NNTP-Server:
       "LIST ACTIVE [wildmat]", "LIST ACTIVE.TIMES",
       "XPAT header range wildmat [wildmat...]"
- Fix: Reject articles posted with missing or unknown newsgroup.
- Fix: Enable crossposting in local groups.
- Chg: (path)\Hamster.exe can only be started once.
- Chg: Accept empty "empty list" on POP3/LIST (telda.net?)
- Chg: Local servers: separate threads per client-connection.

Vr. 1.3.0.24 (15 May 1999) BETA
- Fix: Generate Message-ID for mails. Service-Pack 1. ;-)

Vr. 1.3.0.23 (15 May 1999) BETA
- Chg/Fix: Redesign of local-servers which solves some issues like:
       - Hamster could "die" and/or cause unpredictable results, if
	 connections to local-servers were closed immediately after
	 a "QUIT"-command.
       - Similar effects, when connection was lost during sending
	 or receiving data.
       - SMTP-envelope of mails sent to SMTP-server could get lost
	 under certain conditions (don't panic, mail-delivery would
	 have failed with "red" errors in this case).
       - Error-handling, in general, was really B.A.D.
- Fix: Errors on external-connections were noted but not handled
       correctly and mostly caused Hamster to "die".
- Chg: Additional ("visible") warning when posting of article fails.
- Fix: Articles loaded by "mark for retrieval" were counted under
       "Load", but not under "All".
- Chg: "wait.until" (internal script) now waits til next minute
       before it starts checking the given timepoints.
- New: Show number of articles/mails in outbox on main-window.
- New: Generate Message-ID for mails if enabled for news.

Vr. 1.3.0.22 (10 May 1999) BETA
- Chg: Modified behaviour when clients connect to local-servers.
- Chg: Modified error-handling for client-connections to local-servers.
- Chg: Additional checks and warnings for invalid scorefile-entries.
- Chg: Increased width of configuration-window.

Vr. 1.3.0.21 (09 May 1999) BETA
- New: Start new session-logfile when date changes.
- Fix: "news.purge" (internal script) did ... nothing.
- Fix: Empty lines sent to local servers caused error-message.
- Chg: Improved concurrent news-pulls from different servers.
- Fix: "wait.until" (internal script) did ... nothing.
- New: "LIST EXTENSIONS" (NNTP), "AUTH" (POP3) and "EHLP" (SMTP) are
       "known" now, but still give a "not implemented"-response.
- Fix: Improved behaviour on "lost" connections to local-servers.
- Chg: Increased width of selection-window for news-pulls.

Vr. 1.3.0.20 (06 May 1999) BETA
- New: Allow or refuse connections to the local servers based on the
       IP-address of the connecting client. By default, only addresses
       127.0.0.1 and 192.168.0.0-192.168.255.255 are accepted. To
       modify this default, you have to generate a file named
       "IPAccess.hst" with appropriate settings (see "IPAccess.hst").
- New: Added Win32-event named 'evtHamster.IsIdle', which is signaled,
       when Hamster is in idle-state, and unsignaled, when there are
       active tasks like purge, pulling news etc. (see "Events").
- Chg: The detection of "first pull" was changed from "no articles in
       group" to a real "no articles loaded from server yet".
- Chg: Additional checks and warnings for invalid scorefile-entries.
- New: "wait.until" (internal script) with multiple timepoints.
- New: "restart" (internal script) restarts script from beginning.
- New: "Del"- and "Ctrl+M"-shortcuts for functions in killfile-log.
- Fix: Unpredictable change of sort-order in killfile-log after
       deleting and/or marking for retrieval.
- Fix: Local servers: Closing connection after "QUIT"-command from
       client could sometimes cause a ... dead Hamster.
- Fix: Local servers: Sending large amount of data to clients (like
       big articles or many overview-lines) was not safe and could
       cause gaps in transmitted data-stream (similar to "large
       mail"-effect fixed in 1.3.0.12).
- Fix: Local servers: Initial greeting message from Hamster was
       assigned to (ooops) wrong socket-event, which could "disturb"
       dataflow (seldom effect, mostly after loading hundreds of
       overview-lines: Agent displays "200 Hamster-NNTP Vr. ..."
       as Subject).

Vr. 1.3.0.16 (25 Apr 1999) BETA
- Chg: if scoreline contains an unquoted ';' or '#', the rest of the
       line is ignored (i.e. treated as a comment)
- New: additional functions for OLE-automation (see list in helpfile)
- Chg: built-in scripts modified to use OLE-automation-functions
- Fix: script-command "setlogin" had no effect

Vr. 1.3.0.15 (18 Apr 1999) BETA
- Fix: invalid dates were displayed (and sorted) in killfile-log
- New: included OLE-interface to access Hamster from other programs;
       by now, only a few functions were implemented for testing-
       purposes; the "Hamster.App"-object is registered automatically
       when Hamster.exe is started
- New: commandline-utility "Ham.exe" to test the new OLE-interface;
       type "ham help" to get a short helptext for the functions,
       e.g. "ham export de.comm.software.forte-agent > dcsfa.txt"
- Chg: optimized behaviour when pulling a group which is already in
       use by another thread (group-pull is not delayed or skipped
       when "in use" is just a short "saving a crossposted article")

Vr. 1.3.0.13 (release-date intentionally left blank) BETA
- New: an interface to Hamster from other programs :-)
- Chg: removed this &*(§$&])!-interface :-(
- Fix: cool down, relax, insert new coin ... ;-)

Vr. 1.3.0.12 (09 Apr 1999) BETA
- Fix: number of kept logfiles was always 10 regardless of cfg.-value
- Chg: improved the automatic detection of new article-ranges on server
       (e.g. reinstalled server with new article-numbers)
- Chg: when adding group+server at "Configuration/News-Pulls", the
       referenced group is now created automatically if it does not
       exist already
- Chg: removed (obsolete) "Add/Select"-button at "Configuration/Groups"
- New: list of active threads on main window
- Fix: "large" mails could not be sent

Vr. 1.3.0.10 (07 Apr 1999) BETA
- New: added "Xpost" to allow scoring on crosspostings
       (e.g.: "-1 Xpost %>3" -> posted in more than 3 groups)
- New: 'score.loglimit' can now be set on scorefile-editwindow
- Chg: disabled internal cache for local article-ranges (min./max. no.)

Vr. 1.3.0.9 (06 Apr 1999) BETA
- Fix: "stop all tasks" could (still) cause one corrupted article/mail
- Fix: "corrupted" articles could cause (unpredictable) side-effects
- Fix: the reverse-lookup of the domain connecting to the local servers
       caused Windows to dial, even if it was "localhost" defined in
       local "HOSTS"-file ... [dirty comments of author snipped] ... the
       logfile now only contains the IP-number of the connecting station

Vr. 1.3.0.8 (05 Apr 1999) BETA
- Fix: back to connection-behaviour of Vr. 1.3.0.3 due to problems
       when connecting to local-servers
- Chg: added "///BETA/// Renumber triggered: ..."-warning with additional
       informations when renumbering of articles on newsserver is detected

Vr. 1.3.0.7 (04 Apr 1999) BETA
- New: added "Lines:"-header for info-postings in hamster.misc
- Chg: replaced username and password in logfile with "[...]"
- Chg: additional debug-log entries to make support- and bugfix-life
       easier (like article-ranges before downloading)
- Chg: completely rewritten news-pull (e.g. two threads for each
       each server by default; pull-list per server not per thread)
- Fix: interrupted news-pull could cause one corrupted article
       (i.e. saved only with lines loaded before interruption)
- Chg: default log-length in debug-mode doubled to first 120 byte
       of received data
- New: To get a complete log: close Hamster, change "log.file.mask=FFFF"
       under "[Setup]" in Hamster.ini and restart Hamster; this megabyte-
       eating setting is disabled when using "Configuration" again.
- New: to identify server-related issues, the initial server-message
       is now stored in file ".\Server\(servername)\Greeting.txt"
- Chg: (try to ;-) handle "peculiar" end of POP3-LIST from Germanynet
- Fix: error when exceeding 32K matching groups in group-selection
- Fix: no postserver found with trailing whitespace on "Newsgroups:"
- Fix: error(s) when Windows wants to auto-dial (?) for a localhost-
       connection (???), but confirmation-box is cancelled
- Fix: Hamster was not initialized until it became "visible" (e.g.
       local-servers not active when started "minimized")
- Chg: save/load last position of main- and scoreedit-window
- Chg: added horizontal scroll for messages in main-window
- Fix: listbox-entries were too low when using 'large fonts'
- New: articles with a score of less than "score.loglimit="-setting
       under "[Setup]" in Hamster.ini are not logged in killfile-log
       (default: "score.loglimit=-10000", i.e. log all)

Vr. 1.3.0.3 (29 Mar 1999) BETA
- Fix: POP3-maildownload stopped after the first mail was loaded,
       stored and (if enabled under 'Settings') deleted from server.
       No mails were lost due to this issue.

Vr. 1.3.0.2 (22 Mar 1999) BETA
- Fix: error when Hamster was about to send out mails with SMTP
       (situation: no preferred smtp-server set AND transfer was
       startet with one of the definable menu-items)
- Fix: error when starting transfer without "Scores.hst"-file
- Fix: error when starting script without "Default.hsc"-file
- Fix: error when selecting group and groupfile was not loaded yet
- Chg: default-username and -passwort for new servers was changed
       from "ask when needed" (="?") to "not needed" (="")
- Chg: the article-count in reply to "GROUP"-command of newsserver
       was changed from "exact" to "estimated" due to performance
       issues
- New: configuration-setting to delete mails on server after loading
       them by POP3. default value is: "[X] Leave mails on server,
       i.e. do not delete them."
- Chg: hide separator-line in online-menu if no var.-items defined

Vr. 1.3.0.1 (21 Mar 1999) BETA
- New: online-help added (Hamster.hlp).

Explanation of Initials:
~~~~~~~~~~~~~~~~~~~~~~~~
AH  = Andreas Heim
AS  = Alessandro Sebastianutti
AS2 = Arne Schloh
GD  = Graham Drabble
GLG = Gildas Le Gouic
GW  = Günter Wukoutz
HB  = Hendrik Brummermann
HR  = Heiko Rost
HS  = Heiko Studt
JH  = Jürgen Haible
JW  = Jörn Weber
MB  = Michal Bartoszkiewicz
MG  = Martin Germann
MS  = Max Sanzharov
OJB = Obbe-Jan Bakker
PW  = Philipp Wendler
TGL = Thomas G. Liesner
