Änderungen:
===========
(Hinweis: Die Namenskürzel sind unten erläutert!)

V2.0.5.0
- Neu: hs2:
  - Die Funktion Shell(Dateiname, Parameter, Modus, Pfad, Operation)
    erlaubt den Aufruf von Dokumenten über die in der Registry definierte
    Verknüpfung. Bis auf Dateiname sind alle Parameter optional, der Modus
    entspricht dem von Execute, der Pfad wird mit der Pfadangabe des Datei-
    namens vorbelgt, wenn nicht benutzt, mit Operation sind Angaben wie
    "open", "print", "explore" gemeint, welche außer "open" funktionieren,
    ist von dem Dateityp abhängig. Der Aufruf funktionierte, wenn der Rückwert
    größer als 32 ist. {TGL}
  - Die Funktion DecodeToLocalCharset(Text, Zeichensatz) gibt den vom
    übergebenen Zeichensatz zum lokalen Zeichensatz konvertierten
    Text zurück. {TGL}
  - HamMainWindow( 2 ) bzw. HamMessage ( 6, 2 ) gibt zurück, ob das
    Hauptfenster sichtbar ist (1=Ja, 0=Nein) {TGL}
  - HamTrayIcon( 2 ) bzw. HamMessage ( 7, 2 ) gibt zurück, ob das
    Tray-Icon aktiv ist (1=Ja, 0=Nein) {TGL}
- Neu: Statuszeilen/Trayicon-Hint-Variablen %UT zeigt die Uptime in der
  Form Stunden:Minuten:Sekunden an. {TGL}
- Neu: Mail/Newsfilter: {TGL}
  - Numerische Vergleiche können jetzt "Einheiten" angehängt bekommen:
    "Bytes: %>20kb" entspricht "Bytes: %>20480" und %<=1MB entspricht
    %<=1048576
  - Durch Verwendung von '' statt "" können einfache Stringvergleiche
    mit Beachtung von Groß/Kleinschrift gemacht werden.
- Neu: Mailfilter: Warnung für Zeilen, deren Default-Feld mit any- oder all-
  (bzw. any_ oder all_) anfängt, aber nicht einem der vier definierten
  Sonderfelder entspricht - zum Abfangen von Tippfehlern gedacht. {TGL}
- Änderung: Bei der Action für per NNTP reinkommende Postings unterschied sich
  Dokumentation und Programmrealität, zukünftig gilt "news.in.nntp" statt
  "news.nntp", falls schon verwendet, muß hamster.ini entsprechend angepasst
  oder die Action neu eingerichtet werden. {TGL}  
- Änderung: Zeichensatzkonvertierung / cnv-Dateien: {TGL}
  - Per hamster.ini [Directories] Charsets= können sie in ein eigenes Ver-
    zeichnis gepackt werden.
  - Neuer Namensaufbau: cs_unicode_CHARSET.cnv für die Konvertierung Unicode
    => Zeichensatz und cs_CHARSET1_CHARSET2.cnv für die Konvertierung von
    Zeichensatz 1 in Zeichensatz 2.
- Änderung: Newsfilter: Umbau des Parsers analog zum Mailfilter, somit sind
  String-Pattern nur noch in Anführungsstrichen zulässig, ein intensiver Test,
  ob alles noch wie gewünscht funktioniert, ist noch nicht erfolgt. {TGL}
- Änderung: Remote Server: Bei fehlender Zeichensatzunterstützung im Zusammenhang
  mit SASL DIGEST-MD5 wird jetzt der fehlende Zeichensatz genannt. {JW}
- Bugfix: hs2: Geklammerte Ausdrücke wurden nicht korrekt berechnet. {SS}    
- Bugfix: Mailfilter: Pseudoheader "All-senders:" und "all-recipients:"
  funktionierten noch gar nicht. {TGL}
- Bugfix: Mail/News-Filter: Ein % konnte am Anfang eines String-Patterns
  bislang nicht verwendet werden, da es als Zahlenvergleich interpretiert wurde,
  auch wenn das Pattern in Anführungsstrichen stand. {TGL}
- Bugfix: POP3-Client: Wenn die vom Server gemeldete Mail-Länge 0 war, gab es
  einen Divisionsfehler und das Laden wurde abgebrochen. {HR}
- Bugfix: Verzeichnis-Dialog:
  - Mehrzeilige Header wurden in der Spaltenübersicht auf die erste Zeile gekürzt.
  - Wenn ein Mail-Verzeichnis nicht existierte, kam es zu Fehlermeldungen, jetzt
    wird es ggf. automatisch erzeugt. {TGL}
  - Beim Umschalten zwischen Mail- und Newsordnern wurden Spalten teilweise
    falsch gefüllt. {TGL}
  - Ein fehlender Eintrag [EditDirs] ColWidths=... führte beim Aufruf des
    Dialoges zu einem finalen Absturz des Hamsters. {TGL}
- Bugfix: hs2: Decodeqp und decodebase64 waren unkorrekt implementiert. {TGL}
- Bugfix: Statuszeilen/Trayicon-Hint-Variablen %UH und %UD zeigten falsche
  Werte an. {TGL}
- Bugfix: NNTP-Server: {MG}
  - Befehl LIST EXTENSIONS war laut NNTP-Draft der IETF (Version 20) unkorrekt
    implementiert: Bindestrich nach 202 musste weg, STARTTLS wurde nicht aufgeführt
    und die Leerzeichen am Anfang waren falsch.
  - Server-Antworten bei TLS-Fehlern waren nach aktuellem NNTP-Draft falsch.
- Bugfix: IMAP-Server:
  - Fehler beim SEARCH-Befehl im Zusammenhang mit Client-SW Mulberry {MG}
  - Fehler beim SEARCH-Befehl mit Flag SEEN behoben {MG}
  - Der Befehl LIST weist jetzt darauf hin, daß das Erzeugen von Unterverzeich-
    nissen im Ordner INBOX verboten ist. ("\NOINFERIORS") {AP}
  - Fehler beim Speichern von Flags {HS}
  - Div. Korrekturen bzgl. Message-Sequence-Sets: "*" liefert immer die letzte
    Message, Ergebnis von "sequence range" unabhängig von Reihenfolge der Grenzen,
    ungültige Sequenznummern werden stillschweigend verworfen (ohne laut RFC
    auch optionale BAD-Antwort), Beschleunigung bei Anforderung nichtexistenter
    Mails, Verwendung der Funktion "JoinMessageSets" verhindert Überlappungen (lt.
    RFC optional) und spart Code, Logging deaktiviert. {MG}
  - Eine leere boundary-Zuweisung bei einer Multipart-Message führte zu einem
    Laufzeitfehler. {MG}

V2.0.4.0
- Neu: Erweiterte Zeichensatz-Unterstützung für Headerdekodierung zwecks
  besserer Filterung und korrektere Anzeige im Verzeichnisdialog. utf-7
  und utf-8 werden als Abbildung auf den 8-Bit-Systemzeichensatz unter-
  stützt, ebenso die Übersetzung eines 8-Bit-Zeichensatzes in den 8-Bit-
  Zeichensatz, sofern jeweils passende Dateien im Hamsterhauptverzeichnis
  existieren. Den aktuellen 8-Bit-Systemzeichensatz stellt man in den
  allgemeinen Einstellungen auf der letzten Seite ein. {JW/TGL}
- Neu: Mailfilter:
  - Pseudoheader "Age:" analog zum Newsfilter verfügbar. {TGL}
  - Pseudoheader "All-Senders" prüft nicht alle Senderfelder einzeln, son-
    dern - mit Zeilenvorschub (#13#10) getrennt - auf einmal, somit kann
    man auch mit Negationen sinnvoll arbeiten. {TGL}
  - Pseudoheader "All-Recipients" prüft nicht alle Empfängerfelder einzeln, son-
    dern - mit Zeilenvorschub (#13#10) getrennt - auf einmal, somit kann
    man auch mit Negationen sinnvoll arbeiten. {TGL}
- Neu: Action atEveryHour mit den Parametern Stunde und Tag der Woche
  startet stündlich, wobei das Ende aktiver Threads abgewartet wird.
  {TGL}
- Neu: lokaler IMAP-Server: Komplett überarbeiteter SEARCH-Befehl: {MG}
  - wesentliche Beschleunigung
  - Suchausdrücke können mittels OR kombiniert werden
  - Unterstützung von geklammerten Ausdrücken
  - Korrekte Handhabung von 8-Bit-Zeichensätzen
- Neu: Uptime vom Hamster auf Basis der Systemzeit anzeigbar bzw. per Skript
  abfragbar. Für die Anzeige können für hamster.ini [main] BottomlineFormat=...
  bzw. HintFormat=... die Platzhalter %US, %UM, %UH, %UD für Uptime in
  Sekunden/Minuten/Stunden/Tagen verwendet werden. {JW/TGL}
- Neu: Passwordliste während der Laufzeit per Menüpunkt unter Datei neu
  einlesbar, als beabsichtigter Nebeneffekt vergisst Hamster die bis
  dahin per Nachfrage eingegebenen Passworte. {HS}
- Neu: hs2
  - Funktion utf7toucs16 konvertiert utf7 in 16-Bit-Unicode {JW}
  - Funktion utf8toucs32 konvertiert utf8 in 32-Bit-Unicode {JW}
  - Funktion decodebase64 dekodiert Base64-verschlüsselte Texte {JW}
  - Funktion decodeqp dekodiert Quoted-Printable-verschlüsselte Texte {JW}
  - Die Funktion Testmailfilterline(Filterzeile) erlaubt die Anzeige der
    internen Interpretation einer Zeile für die Mailfilter-Datei. {TGL}
  - HamPassReload liest die Password-Datei neu ein {HS}
  - Die parameterlosen Funktionen GetUptimeSecs, GetUptimeMins,
    GetUptimeHours und GetUptimeDays liefern die (abgerundete) Zeit seit
    Start des Hamsters in Sekunden/Minuten/Stunden/Tagen. {JW}
- Änderung: Die Vor-Beta setze automatisch alle Gruppen-Override-Ein-
  stellungen auf aktiv, so daß ggf. die meisten Benutzereinstellungen
  einmal nachkorrigiert werden mußten. In dieser Version wird bei
  fehlenden Override-Werten überprüft, ob Gruppen- und Benutzerwerte
  passen oder nicht und Override nur gesetzt, wenn es passt. {TGL}
- Änderung: Die Neuerstellung der globalen Gruppenliste ist deutlich
  schneller geworden, die Nachfrage beim Dialog "Neuer Ladeauftrag"
  entfällt, bei Änderungen wird die Gruppenliste automatisch neu
  erzeugt. {AS2}  
- Änderung: Detailliertere Erfassung von erfolgreichen (Protokollebene
  Details) und gescheiterten (Protokollebene Warnung) Anmeldeversuchen.
  {JW}
- Bugfix: Mailfilter: Pseudoheader TOPONLY arbeite nicht, wenn Multi-
  Header-Auswertung aktiv war. {MR}
- Bugfix: hs2:
  - AtAdd mit TimeMode 2 führte zu Fehlern, wenn die interne Berechnung
    der nächsten Uhrzeit einen Wert größer als 23:59 ergab. {TGL}
  - Wenn ein Kommentar nach einem Prozedurkopf Klammern enthielt, wurden
    diese als Teil der Prozedurdefinition fehlinterpretiert. {TGL}
- Bugfix: lokaler IMAP-Server:
  - Probleme beim korrekten Speichern des Mailboxstatus sollten zumindest
    deutlich seltener vorkommen. {HS}
  - Stringparser hatte Probleme mit Anführungsstrichen im String. {MG}
  - Doppeltes Logging einer "Tagged Response" {MG}
  - Diverse Kleinfehler beim Befehl SEARCH {MG} 
- Bugfix: hamster.ini [Directories]: Netzwerkpfade wurden fälschlicher-
  weise mit einer Laufwerksangabe ergänzt. {TGL}
- Bugfix: Abfrage nach Anzahl zu verschickender Mails und Postings ergab
  u.U. nicht mehr aktuelle Werte. {HS}
- Bugfix: Konfigurationsdialog "Benutzerverwaltung und Passworte":
  - Das Anlegen von Benutzergruppen klappte nicht mehr korrekt. {TGL}
  - Bei der Eingabe eines Benutzernamens konnte ein "+" eingegeben
    werden. {TGL}
- Bugfix: POP3-Server: Zugriff mittels Digest-MD5 war noch unvollstän-
  dig implementiert und somit nicht funktionsfähig. {JW}    
- Bugfix: Verzeichnisdialog: Ein nicht mehr gültiger Pfad vom letzten
  Aufruf führte immer noch zu einer Fehlermeldung, jetzt wird in dem
  Fall auf news.out gewechselt. {TGL}
- Bugfix: News-Konfigurations-Dialoge:
  - Beim Anlegen eines neuen NNTP-Servers wurden die Standardeinstel-
    lungen nur teilweise in den Dialog übernommen. {TGL}
  - Bei der Auswahl neuer Newsladeaufträge führen fehlerhafte regexp-
    Ausdrücke zur Fehlermeldung in der Liste, diese Einträge waren genauso
    auswählbar wie korrekte Suchergebnisse. Jetzt sind nur noch echte Such-
    ergebnisse auswählbar. {JH/TGL}

V2.0.3.0 (16.10.2003)
- Neu: DIGEST-MD5-Unterstützung (Anmeldeverfahren) für SMTP- und
  POP3-Clients und für die lokalen SMTP-,POP3-,IMAP- und RECO-
  Server. {JW,OZ}
- Neu: Benutzergruppen/Accounts: Die meisten Account-spezifischen
  Eigenschaften können auf Gruppen-Default gesetzt werden. {TGL}
- Neu: NNTP-Server:
  - Threadanzahl per Dialog änderbar {TGL}
  - Spezielle Einstellungen für Nutzungen a la UUCP: {TGL}
    - NNTP-Server per Servertyp "kastrierbar", beim Füllen der
      Newsjobsliste werden automatisch alle Einträge verworfen, die
      mit dem eingestellten Servertyp nicht möglich sind.
    - Ausgangsverzeichnis auf NNTP-Serverbasis einstellbar, sofern
      nicht mit News.out identisch, werden die dort gespeicherten
      Postings vom Hamster nicht weiter beachtet.
    - Bearbeitung der Gruppenliste per Button im Einstellungsdialog
      erreichbar.
- Neu: lokaler NNTP-Server: Optional kann ein Date-Header generiert
  werden, wenn noch nicht vorhanden. {JW}
- Neu: POP3-Server: Verwendetes Anmeldeverfahren statt über Prefixe
  (auth:...) jetzt über Dialogauswahl erzwingbar. Speicherung in
  Server.ini unter [POP3] ForcedAuthMech=... mit den erlaubten
  Werten none, pass, auth, apop und sasl. Falls ungleich "none"
  überschreibt diese Einstellung eventuell genutzte Prefixe. {JW/OL}
- Neu: Mailfilter-Notifies: Optional kann das Subjekt einer Kill/
  Ignore-Benachrichtigung jetzt auch das originale From und Subject
  enthalten, Umstellung per Mail-Killfile-Protokoll oder hamster.ini
  [Setup] mail.infomail.addheadertosubject=1 {JW}
- Neu: Mail-Killfile-Protokoll: Enthält jetzt auch Zugriff auf
  spezielle Mailoptionen und die Mailfilter-Datei. {TGL}
- Neu: Mailfilter:
  - Pseudoheader TOPONLY filtert ausschliesslich auf die per Toplines
    (Default: 20) festgelegten ersten Zeilen, auch wenn mehr Zeilen
    zur Verfügung stehen. {TGL}
  - Pseudoheader HEADER filtert auf den gesamten Header-Block incl. der
    Headernamen. {TGL}
  - Mit "unless" zwischen Aktion und Default-Feld wird die Bedingung
    umgekehrt d.h. die Zeile wird wirksam, wenn der Ausdruck nach unless
    NICHT zutrifft. {MR/TGL}
- Neu: Newsfilter/Scorefile:
  - Mit "unless" zwischen Aktion und Default-Feld wird die Bedingung
    umgekehrt d.h. die Zeile wird wirksam, wenn der Ausdruck nach unless
    NICHT zutrifft. {JH}
- Neu: hs2
  - AtAdd: Der Parameter Immediate(boolean) ist ersetzt durch den Parameter
    TimeMode mit folgenden erlaubten Werten:
    0=Erste Ausführung nach Ablauf des ersten Intervalls (wie Immediate=false)
    1=Erste Ausführung sofort (wie Immediate=true)
    2=Ausführung nur exakt zu den Minuten, die sich aus Anfangszeit und Minu-
      tenabstand ergeben. (Neu!) {TGL}
  - HamDialogMailKillfileLog(x) bezieht sich auf den Dialog zum Bearbeiten
    des Mail-Killfile-Logs. x=1 zum Öffnen, x=0 zum Schließen, x=2 zur
    Statusabfrage. Alternativ funktioniert auch Message(17, x) {TGL}
- Änderung: Mail- und News-Filter: {TGL}
  - Die Anweisung #!load wird durch #!include ersetzt, vorläufig sind
    beide Anweisungen gültig, aber #!load erzeugt eine Warnmeldung.
  - Wenn die "Include"-Tiefe 5 überschreitet, wird das Laden wie bisher
    nicht nur abgebrochen, sondern auch ein Fehler im Log vermerkt.
- Änderung: NNTP-Server:
  - Auch wenn das automatische Holen von Server-Infos deaktiviert ist,
    werden bei einem Server ohne Gruppenliste (=neuer Server) oder bei
    entsprechendem Nachlade-Häkchen automatisch die Server-Infos
    abgerufen. {TGL}
  - Bei Nutzung von hamster.ini [Setup] local.nntp.feedjunk=1 werden jetzt
    auch Artikel ohne From beim Feeden zugelassen. {JW}
- Änderung: POP3-Server: Falls die globale Einstellung LeaveOnServer aktiv war,
  wurde die POP3-Server-spezifische Einstellung ignoriert. Zukünftig hat die
  POP3-Server-spezifische Einstellung grundsätzlichen Vorrang vor der globalen
  Einstellung, ein "?" oder das Fehler der Einstellung steht dann für die
  globale. {TGL}
- Änderung: Mülleimer leeren: Das Suchen nach zu löschenden Dateien
  geht jetzt bedeutend schneller. {TGL}
- Bugfix: Newsfilterlog: Der Score-Test zeigte nur noch die Zeilen-
  nummer, aber nicht mehr die Zeile selber an. {TGL}
- Bugfix: Hauptfenster: Online-Menü-Einträge mit (inzwischen) ungültigen
  Server-Einträgen werden beim Aufruf automatisch von diesen bereinigt,
  pro entferntem Server gibt es eine Warnung im Log. {TGL}  
- Bugfix: Verzeichnisdialog: Bei einem (inzwischen) ungültigen gemerkten
  Pfad gab es Probleme. {TGL}
- Bugfix: Authentifizierung per CRAM-SHA1 funktionierte beim POP3- und
  IMAP-Server nicht korrekt. {AS2}
- Bugfix: Beim Kopieren des Thread-Fensters in die Zwischenablage wurden
  die Zeilen fehlerhaft "umgebaut". {TGL}    
- Intern: Komplette Neustrukturierung von cAccount (Objekt CfgAccounts,
  Verwaltung der Benutzer und Benutzergruppen)
- Intern: Verzeichnisdialog: Interner Umbau verhindert unnötiges
  Nachzählen der Mails in den verschiedenen Postfächern. {TGL}

V2.0.2.2 (10.08.2003)
- Neu: Actions: Die Parameter sind jetzt auch bei direkter Eingabe der
  Skriptzeilen nutzbar (ParamStr(1)=Actionsname, ParamStr(2)+ParamStr(3)
  enthalten die Action-spezifischen Parameter) {TGL}
- Neu: Verzeichnisdialog: Neue Spalte "Score" erlaubt Sortierung nach
  dem Score von Mails, Notify-Nachrichten bzgl. Ignore/Kill bekommen
  den Score-Wert der ignorierten/gelöschten Mail zugewiesen. {TGL}
- Neu: Mailfilter:
  - Die Anweisung Log(...) erlaubt das Mitloggen von Mails, die von einem
    Filter ignoriert oder gelöscht werden, logoff schaltet das Loggen
    wieder ab. Die Log-Einträge lassen sich per "Einstellungen/Mail:
    Killfile-Log" bequem dazu nutzen, ignorierte Mails endgültig zu
    löschen oder nachzuladen. Als Parameter wird entweder wie bei Notify
    ein oder mehrere User oder * für die globale Liste angegeben. {PW}
  - Die Anweisung "#!load Dateiname" erlaubt das Auslagern von Teilen
    des Mailfilters in eine separate Datei. Eine Verschachtelung bis
    zu fünf Dateien ist zulässig, weitere werden ignoriert, die Anzahl
    von load-Anweisungen innerhalb des Mailfilters ist egal, intern wird
    alles in eine Liste zusammengezogen. {HS}
  - Bei Vergleichen sind jetzt neben %>Zahl, %<Zahl und %=Zahl auch
    %>=Zahl, %<=Zahl und %<>Zahl zulässig. {TGL}
  - Überlange Zeilen können jetzt unterteilt werden, wenn eine Zeile mit
    einem Unterstrich "_" endet, wird die Folgezeile intern direkt an-
    gehängt, führende Leerzeichen/Tabs werden dabei entfernt, Leerzeichen/
    Tabs hinter dem "_" ebenfalls. Die Trennung selber kann dabei auch
    mitten in einem Ausdruck stehen. {TGL}
- Änderung: Verzeichnis-Dialog: Beim Anklicken des Mülleimers wird aus
  Performancegründen automatisch nach Dateiname/absteigend sortiert, auch
  wenn die Defaultsortierung für Mail/News eine andere ist. {TGL}
- Änderung: Beim Sortieren von zusätzlichen Menüeinträgen (per Skript-
  anweisung #!menu) wird "&" automatisch ignoriert. Zudem werden die
  Zuordnungen Menüeintrag/Skript im Log angezeigt. {TGL}
- Änderung: Menüpunkt und Log-Ausgaben von "Globale Listen neuerzeugen"
  zu "Gesamtgruppenliste neu erzeugen" geändert. {TGL}
- Änderung: Mail-Scoring: Der Block Scoring und der Block der wichtigsten
  Header in Notfiy/Kill-Mails sind jetzt vertauscht, die Filterzeilen
  selber sind jetzt die originalen Zeilen und nicht die nachgebauten. {TGL}
- Änderung: Mail-Filtern: Nur noch für Mails, die größer als ein durch-
  schnittliches Ergebnis von TOP sind, wird TOP benutzt. {JH}
- Bugfix: Verzeichnisdialog: Drag'n'Drop auf Mülleimer funktionierte
  nicht mehr. {TGL}
- Bugfix: Actions: Bei ausschliesslicher Nutzung der Skriptzeilen wurde der
  Status vom "Warten auf Ende" nicht gespeichert. {TGL}
- Bugfix: Dialog "Automatische Abläufe": Falls einer Action ein Skript mit
  komplettem Pfad zugewiesen war, funktionierte der Edit-Button nicht
  korrekt. {TGL}
- Bugfix: Overview-Eintrag für XRef war bzgl. RFC2980 inkorrekt. {OZ}
- Bugfix: NNTP-Client: Falls ein Benutzer "nntpdefault" ohne passendes
  Passwort "*" existierte, funktionierten auch sonstige Benutzeranmel-
  dungen nicht. {TGL}

V2.0.2.1 (18.04.2003)
- Bugfix: Bei Skripten mit nur #10 als Zeilenwechsel und ohne Zeilen-
  vorschub am Ende blieb Hamster schon beim Starten stehen. {HS} 
- Bugfix: Mailfilter: "notifyoff" wurde nicht mehr erkannt, es wurde
  nach notfiyoff geschaut. {TGL}
- Bugfix: Gesamtgruppenliste (server\alldescs.txt): Beim Neuerzeugen
  dieser Datei wurden keine Zeilenumbrüche eingebaut, so daß beim
  Abbonieren neuer Gruppen die Auswahl komplett unbrauchbar war. {TGL}
- Bugfix: Schutzverletzungen uä beim Hamster-Start: Eine Testroutine
  war versehentlich noch aktiv, dieser Bugfix war in einer zweiten
  Fassung von 2.0.2.0 schon enthalten. {HS+
    
V2.0.2.0 (16.04.2003)
- Mailfilter {TGL}
  - Neu: Scoring: Per SetScore(Zahl) ... und AddScore(Zahl) ... kann der
    aktuelle Score gesetzt bzw. geändert werden und als Pseudo-Header
    "Score:" in folgenden Filterzeilen gezielt ausgewertet werden. Die
    Bedingung hinter Add/SetScore(...) wird analog zu Add/Set/Postto etc
    gebildet. Die passenden Score-Zeilen werden im Header der Mail als
    X-Header-Scoring: verewigt bzw. erscheinen in der entsprechenden
    Notify-Mail.
  - Neu: Pseudo-Header "TOP:" kann zur Prüfung der übertragenen Body-
    Zeilen verwendet werden.
  - Änderung: Auch notify/notifyoff/default/adddefault dürfen mit
    Bedingungen verknüpft werden.
  - Bugfix: Anzeige von Filterzeilen gibt wieder den Doppelpunkt nach
    dem Default-Feld aus.
- Bugfix: Verzeichnis-Dialog: Sortieren nach KB führte zu einem Laufzeit-
  fehler bei Werten ab 1000 KB. {TGL}

V2.0.1.3 (03.04.2003)
- Mailfilter {TGL}
  - Neu: Bei Notify-Mails und bei X-Hamster-Account-Reason wird
    jetzt für jede Zeile auch die Zeilennummer und ein eventuell
    vorhandenes Kommentar mit angezeigt.
  - Änderung: Text-Pattern MÜSSEN jetzt in Anführungsstriche
    gesetzt werden.
  - Änderung: Zeilen, die kein Kommentar, kein Abschnitt und
    keine gültige Filterzeile sind, werden jetzt als fehlerhaft
    gemeldet.
  - Bugfix: Im Default-Field und zusätzlichen Header-Angaben
    (@Header:pattern) sind jetzt alle Zeichen laut RfC zulässig.
  - Bugfix: Bei mehr als einem Expire-Eintrag wurden die entspre-
    chenden Zeilen als fehlerhaft abgelehnt.
  - Bugfix: Es fehlte die Überprüfung auf nicht-beendete Pattern
    und ähnliche ungültige Zustände
  - Bugfix: Bei AddAccounts kam kein Fehler, wenn Defaultfield
    fehlte oder Pattern angegeben waren.
  - Bugfix: Bei add/delete/postto etc kam kein Fehler, wenn Default-
    field angegeben war, aber kein Pattern.
  
V2.0.1.2 (31.03.2003)
- Änderung: hs2: Die mit 2.0.1.0 eingeführten Msg*-Funktionen zur
  Handhabung von Mails und Postings sind jetzt umbenannt zu Art*,
  um Kollisionen mit den schon vorhandenen Msg-Funktionen im Modul
  hmessage.hsm zu vermeiden. {TGL}
- Änderung: Verzeichnis-Dialog: {TGL}
  Entf: Mit Nachfrage und Verschieben in Mülleimer, sofern aktiv
  Strg+Entf: Ohne Nachfrage und Verschieben in Mülleimer, sofern aktiv
  Shift+Entf: Mit Nachfrage und direkte Löschung!
  Strg+Shift+Entf: Ohne Nachfrage und direkte Löschung!
- Bugfix: Actions: Seit 2.0.1.0 funktionierten Actions mit Unter-
  actions nicht d.h. mail.in, mail.internal, ... {TGL}
- Bugfix: Einige Detailausgaben waren an die Erstellung der Protokoll-
  datei gebunden, jetzt werden sie auch ausgegeben, wenn "nur" das
  Sicht-Log Detailangaben enthalten soll. {TGL}
- Bugfix: Beim Suchen überflüssiger Verzeichnisse wurde das Müllver-
  zeichnis ggf. nicht als Systemverzeichnis erkannt und daher als
  überflüssig gemeldet. {TGL}
- Bugfix: Mailfilter: IMAP-Zuweisung mit Set/Add-Regeln in Subordner,
  die Leerzeichen enthalten, funktionierten nicht korrekt.
  !ACHTUNG! Zur Umgehung des Problems ist die komplette Erkennung der
  Mail-Filterzeilen neu programmiert worden, entsprechend sind frische
  Fehler durchaus möglich! {TGL}

V2.0.1.1 (28.03.2003)
- Neu: Automatisches Löschen alter Dateien (unabhängig von der
  Endung!) aus dem Mülleimer-Verzeichnis. Default: Nach 28 Tagen,
  Einstellung 0 deaktiviert die Funktion. Änderung über Einstel-
  lungen/Automatische Abläufe oder hamster.ini [EditDirs]
  EmptyTrashAfterXDays=... {TGL}
- Bugfix: Lokaler NNTP-Server: {TGL}
  - Beim Befehl HEAD fehlte am Ende ein notwendiger Zeilenvorschub
  - Beim Befehl BODY und ARTICLE wurde ein am Ende notwendiger Zei-
    lenvorschub nicht wie in Fassungen vor 2.0.1.0 bei Bedarf ergänzt.
- Bugfix: Trotz abgeschaltetem Mülleimer wurden manuell gelöschte
  Mails/Postings in diesen verschoben statt wie dokumentiert direkt
  gelöscht. {TGL}

V2.0.1.0 (25.03.2003)
- Neu: Online-Menu: Neue Menüpunkte "Alle NNTP-Server" und "Alle POP3-
  Server". {TGL}
- Neu: Verzeichnis-Dialog: Sofern der Mülleimer nicht abgeschaltet ist
  (hamster.ini [EditDirs] ShowTrash=0) wirkt Löschen von Mails und
  Postings nicht mehr endgültig, da diese erst mal im Mülleimer landen.
  Löschungen im Mülleimer sind dann dagegen endgültig.
  Als Mülleimer wird standardmäßig das Verzeichnis Hamster\trash ver-
  wendet, Änderung über hamster.ini [directories] trash=... möglich.
  {TGL}
- Neu: Actions: {TGL}
  - Actions können jetzt nicht nur mit einem Programmaufruf und einem
    existierenden Skript verknüpft werden, sondern auch mit direkt
    eingegebenen Skriptzeilen.
  - Action news.nntp.in zwecks Reaktion auf per NNTP reinkommende
    Artikel. Achtung! Nutzung z.B. per Korrnews kann das Laden von
    Artikeln DEUTLICH verlangsamen!
  - Actions DUN.BeforeDial, DUN.DialFailed, DUN.Connected und DUN.HangUp
    erlauben automatische Reaktionen bei Aufrufen der DFÜ-Netzwerk-
    Funktionen.
  - Action SearchMID erlaubt eine direkte Reaktion darauf, daß eine per
    NNTP angeforderte Message-ID im Hamster nicht verfügbar ist.
- Neu: hs2:
  - pre-processor-Direktive #!menu:hauptmenü=Bezeichnung erlaubt das Ein-
    binden von Skripten in die normale Menüstruktur des Hauptfensters.
    Für Hauptmenü sind folgende Einträge zulässig: file, config, online,
    local und help. Beispiel:
    #!menu:online=Hole/Sende Mails und Postings
    erweitert das Online-Menü um den Eintrag "Hole/Sende Mails und Postings",
    der dann das Skript startet, welches obige Zeile enthält. Das Skript
    muß im Skriptpfad bzw. einem Unterverzeichnis enthalten sein. {TGL}
  - Die Parameter eines Befehls (print, If, ...) müssen nicht mehr geklam-
    mert werden: print "Hallo!" entspricht print ( "Hallo!" ) {TGL}
  - If/else/endif zu If/elseif/elseif/.../else/endif aufgebohrt. {TGL}
  - HamVersion hat einen optionalen Parameter, bei 0 (Default) wird
    wie bisher die Versionsnummer zurückgeliefert, mit 1 der Produktname
    (Hier: "Classic Hamster"), mit 2 der Maintainer incl. Mailadresse, mit
    3 die URL der zugehörigen Hamster-Homepage und mit 4 das Kommentar-
    Feld, ab dieser Fassung entweder mit "beta" oder "stable" belegt. {TGL}
  - Neue Funktionen für die Arbeit mit Postings und Mails: {JH}
    - $Msg = MsgAlloc( [$Text] ): Erzeugt ein Msg-Objekt, Text kann
      direkt gesetzt werden.
    - MsgFree ( $Msg ): Freigabe des Objektes
    - $Text = MsgGetText( $Msg ): Kompletten Text (Header+Body) holen
    - $ok = MsgSetText( $Msg, $Text ): Kompletten Text setzen
    - $Hdrs = MsgGetHeaders( $Msg ): Nur Header holen
    - $ok = MsgSetHeaders( $Msg, $Hdrs ): Nur Header setzen
    - $Body = MsgGetBody( $Msg ): Nur Body (Textkörper) holen
    - $ok   = MsgSetBody( $Msg, $Body ): Nur Body setzen
    - $HdrVal = MsgGetHeader( $Msg, $HdrNam [, $Separate] ): Bestimmten
      Header holen, falls der letzte Parameter ungleich Null ist (default
      ist 0), werden bei mehrzeiligen Headern auch Zeilenvorschübe zurück-
      gegeben.
    - $ok = MsgAddHeader( $Msg, $HdrNam, $HdrVal ): Neuen Header anfügen.
      Sollte der Header schon existieren, existiert er anschliessend
      doppelt.
    - $ok = MsgSetHeader( $Msg, $HdrNam, $HdrVal [, $XHdrNam] ): Bestimmten
      Header setzen. Sofern $XHdrNam nicht leer ist und ein Header $HdrName
      schon existiert, wird dessen Inhalt unter dem Headernamen $XHdrName
      gesichert, bevor er mit $HdrVal überschrieben wird.
    - $ok = MsgDelHeader( $Msg, $HdrName ): Header löschen.
    - $exists = MsgHeaderExists ( $Msg, $HdrName ): Liefert 1, wenn (min-
      destens) ein solcher Header existiert, sonst 0.
    - $ok = MsgLoad ( $Msg, $Filename ): Lädt aus angegebener Datei, Rück-
      werte: 0=ok, -1=Datei existiert nicht, -2=Sonstiger Fehler.
    - $ok = MsgSave ( $Msg, $Filename ): Speichert in die angegebene Datei,
      Rückwerte: 0=ok, -2=Fehler.
- Neu: OLE: Funktion "hs2AsyncCommand(Command: String): Integer" erlaubt den
  Aufruf von Skriptbefehlen, die nicht als OLE-Befehl verfügbar sind. Ein
  direkter Rückwert der aufgerufenen hs2-Funktion ist nicht möglich. {TGL}
- Neu: Verschickte Mails: Mailout.log enthält jetzt auch Angaben über
  Absender und Empfänger (nur Mailadressen) {AH/TGL}
- Neu: Mailfilter:
  - Erweiterte Add/Set-Anweisung für IMAP-Zielfächer:
    add/set(Postfach\Unterordner\Unterordner:\Flag1\Flag2...) ...
    statt nur add/set(Postfach) ... {HS}
  - Zwecks Nachvollziehbarkeit der Mailfilter-Datei erhalten Mails jetzt die
    Zusatz-Header "X-Hamster-Account-Reason:" und/oder "X-Hamster-PostTo-Reason:",
    sofern entsprechende Mailfilteranweisungen auf die Mail zutrafen. {TGL}
- Neu: IMAP:
  - IDLE (RFC 2177) (incl. einiger Korrekturen um Probleme zu vermeiden, wenn
    beim Abholen neuer Mails die Mailbox im Zugriff ist) (HSR)
  - Literal+ (RFC 2088) (HSR)
  - AUTH=DIGEST-MD5 (JW)
  - ID (RFC 2971) (JW)
  - NC-Brain-Bug (Cyrus-Source) (X-NETSCAPE) (Default: Aus) (HSR)
- Änderung: IMAP:
  - Analog zum neuen RFC3501 werden IMAP-Verbindungen ohne SASL/SSL default-
    mäßig nicht mehr angeboten und bei IMAP-Aktivierung ohne SASL/SSL eine
    entsprechende Log-Warnung erzeugt.
  - LOGINDISALBED immer deklariert, solange IMAP_LoginDISABLED aktiv. (HSR)
  - POP3-Server kann jetzt keine IMAP-Mailbox mehr abfragen, ein entspre-
    chender Doppelzugriff führte zu diversen Problemen. (HSR)
  - SELECT unselektiert nun _vor_ dem prüfen der Argumente (FIX!) (HSR)
- Änderung: lokaler SMTP-Server: AUTH=LOGIN (Mozilla/NC) wird nun (nur noch)
  gesendet, wenn LOGIN als möglicher SASL-Zugriffsmechanismus aktiviert ist.
  Ohne diesen Fix hat Mozilla vor Version 1.3 Probleme mit der Hamster-
  Einwahl. (HSR)
- Änderung: lokaler NNTP-Server: Geschwindigkeits-Optimierung bzgl. der
  Kommandos ARTICLE, HEAD und BODY. {AS2}
- Änderung: Neuerstellung der News-History: (leichte) Geschwindigkeits-Opti-
  mierung. {AS2}
- Änderung: SMTP-Client: Auch bei SMTP-Servern, die bei EHLO nicht die
  Möglichkeit einer TLS-Verbindung nennen, wird jetzt bei entsprechender
  Einstellung versucht, eine TLS-Verbindung aufzubauen. Sollte das klap-
  pen, wird auf diese Server-Fehlkonfiguration im Log hingewiesen. {PW}
- Änderung: Der Schalter in der hamster.ini [setup] mail.SpaceAfterEn-
  velopeHeader wird nicht mehr benutzt, das überzählige Leerzeichen
  wird direkt beim Verschicken der Mail entfernt, ob im Mailverzeichnis
  ein Leerzeichen hinter dem Doppelpunkt der Envelope-Angaben ist oder
  nicht, spielt keine Rolle mehr. {TGL}
- Änderung: POP3-Client: Die Sonderbehandlung für den ehemaligen Telda-
  Server widersprach dem einschlägigen RFC und wurde mit dieser Version
  deaktiviert. {JW}  
- Änderung: Wenn eine Action mit Zwangswarten (d.h. News.Preprocess,
  News.Gateway, news.in.nntp, mail.header und news.local) die Datei
  löscht, wird die Mail oder das Posting automatisch auch gelöscht.
  Im Falle eines geposteten Artikels wird an den Newsreader "240 ar-
  ticle deleted by news.preprocess" zurückgeliefert. {TGL}
- Änderung: Bei kaputtem TOP-Befehl des Mailservers wurde der Header von
  Mails zerstört, da der Header aus TOP mit dem Body aus RETR vereint
  wurde. Da dies nur im Zusammenhang mit der Action atMailHeader nötig
  ist, wird zukünftig der Header und Body aus RETR zurückgeliefert, sofern
  die Action atMailHeader nicht benutzt wird oder der Header unverändert
  geblieben ist. {TGL}
- Änderung: Die detaillierten Verbindungsangaben im Hamster-Protokoll bei
  Stufe Debug können je nach Konfiguration zumindest zu unnötigen Warte-
  zeiten führen, daher werden sie jetzt nur dann abgefragt, wenn der Log-
  Level (Datei oder Hauptfenster) die Stufe Debug beinhaltet. {JW}
- Bugfix: Mailfilter: {TGL}
  - Wenn hinter dem Expire-Ausdruck noch ein Kommentar folgte, wurde dieses
    als (zusätzliches) Filtermuster fehlinterpretiert.
  - Abgelaufene Einträge wurden nur beim Datumswechsel und nicht wie beim
    News-Score-File auch beim Programmstart entfernt.
- Bugfix: Es wurden maximal 32 DFÜ-Netzeinträge im Hamster angezeigt/
  verwaltet. Diese Grenze ist jetzt ersatzlos gestrichen. {TGL}
- Bugfix: HamResetCounters funktionierte nur, wenn die entsprechenden
  Menüpunkte nicht gesperrt waren. {TGL}
- Bugfix: Nesserver/Neue Gruppen: Wenn mehr als eine neue Gruppe gleich-
  zeitig festgestellt wurde und diese Meldungen über die entsprechende
  Option gefiltert wurden, wurde nur die erste passende Gruppe in der
  Benachrichtigungsmail genannt. {TGL}
- Bugfix: IMAP:
  - SEARCH (Zeichensatz!)  (JW)
  - STORE FLAG (ohne Klammern) (MG)
  - IPAccess: Eigenschaft Nur-Lesen wird jetzt auch für den lokalen IMAP-
    Server unterstützt.
  - 8/7-Bit (JW)
  - Threadfestigkeit bei MB-Create/Detroy (HSR)
  - Erzeugen von Ordnern liefert immer "NO" zurück (HB)
  - Kommando "Rename" liefert nun "NO" zurück, wenn schon von einem anderen
    Thread ausgewählt und nimmt die Auswahl automatisch zurück. (HSR)
  - Sofern die Mailbox noch nicht existiert, wird der notwendige Ordner auto-
    matisch bei der ersten erfolgreichen Benutzereinwahl angelegt. (HSR)
  - Automatische Ordner-Erzeugung ebenfalls bei MB.Create (HSR)
  - Bei "HasPOP3Mailbox" (interne Funktion) versuschte Hamster bislang, die
    IMAP-Mailbox zu löschen. (HSR)
  - Unter umständen wurden Mails nicht in der Mailbox gespeichert werden. (HSR)
  - Nach Ausführung von "Expunge" lieferte Hamster als Nachrichtenzahl unter
    Umständen einen negativen Wert zurück. (HSR)

V2.0.0.2 ()
- Bugfix: Mailfilter => siehe 2.0.1.0

V2.0.0.1 (19.02.2003)
- Neu: hs2: HamMailExchange hat einen zweiten optionalen Parameter "Modus":
  0=Default=bisheriges Verhalten=POP3+SMTP, 1=Nur POP3, 2=Nur SMTP. {TGL}
- Neu: Verzeichnisdialog: {TGL}
  - Neuer Ini-Schalter hamster.ini [EditDirs] NoMailboxes=test1,test2,...
    erlaubt als Gegenstück zu Mailboxes eine gezielte Unterdrückung von
    Postfächern in der Anzeige.
  - Neuer Ini-Schalter hamster.ini [EditDirs] ShowIMAPSubDirs=1/0
    entscheidet, ob bei IMAP-Ordnern alles oder nur das Hauptverzeichnis
    angezeigt werden soll, Default ist 1.
  - Neuer Ini-Schalter hamster.ini [EditDirs] ShowTrash=1/0 erlaubt das
    Abschalten des Schredders, Default ist 1.
  - Die zuletzt benutzte relative Breite des Vorschaufensters wird jetzt bei
    Größenänderungen des Fensters und auch wieder beim nächsten Start ver-
    wendet (hamster.ini [EditDirs] AspectListToPreview=x).
- Neu: externe POP3-Server: Manche Server liefern beim Kommando TOP falsche
  Angaben, so daß man im Zusammenhang mit der Mailheader-Filter-Action und
  Mailfiltern fehlerhafte Ergebnisse erhalten kann. Der neue Ini-Schalter
  server.ini [POP3] UseTOPCommand=0 schaltet den Zugriff auf das Kommando ab,
  hat dabei aber den Nachteil, daß jede Mail garantiert komplett geholt wird,
  auch wenn ein Kill-Filter anschliessend durchgeführt wird. {JW/PW}
- Neu: Archivierte Artikel: Bislang wurden Kopien sowohl erfolgreich verschickter
  als auch vom externen Server abgelehnter Postings gleich archiviert (Message-ID:
  archive.Alte-Message-ID / 1. Zeile: "[Hamster: archive-copy of posted article...",
  nun bekommen Kopien abgelehnter Postings die Message-ID failed.Alte-Message-ID
  und die Einleitung "of rejected article". {TGL}
- Neu: Unverschickbare Mails: Die Benachrichtigungsmail benennt jetzt auch
  den SMTP-Server. {TGL}
- Neu: IMAP: Log-Eintrag, falls Erzeugen/Löschen/Umbenennen einer Mailbox
  fehlschlägt. {HS}
- Änderung: Hauptfenster: Der Tab für die noch zu erledigenden Newsjobs
  ist jetzt permanent sichtbar. {TGL}
- Änderung: Hauptfenster: Beim Kopieren von Protokollzeilen in die
  Zwischenablage werden wie beim gespeicherten Protokoll die Art der
  Meldung als Text nach der Zeitangabe eingefügt. {TGL}
- Änderung: Action preprocess: Wird jetzt vor der Kontrolle ausgeführt,
  ob das Posting einen Body hat. {TGL}     
- Änderung: Passwort für SSL-Zertifikat wird bzgl. ungültiger Zeichen
  überprüft und ggf. zurückgewiesen. {JW}   
- Änderung: Sofern der externe POP3-Server keine SSL-Verbindung zuläßt,
  werden nur noch die in der Serverauswahl zulässigen Verfahren versucht
  und nicht mehr automatisch alle technisch möglichen. {JH/JW}
- Änderung: Zwecks Vereinheitlichung mit der allgemeinen Konfiguration
  heißen die Server-spezifischen Timeout-Einträge jetzt auch [Setup]
  remote.timeout.command/connect statt remotetimeoutcommand/connect,
  die alten Schlüssel werden bei Nichtexistenz der neuen noch berück-
  sichtigt, nach Aufruf des Konfigurationsdialoges für einen Server
  sind die Einträge automatisch umgestellt. {TGL}
- Änderung: hs2: Anweisung "int" funktionierte nicht wie dokumentiert, bei
  einem Stringausdruck als Parameter kam es zu einem Fehler. Zusätzlich
  kann jetzt optional ein Default-Wert angegeben werden, der im Fehlerfall
  als Rückwert genommen werden soll, dies kann auch ein String sein. {JH}
- Änderung: IMAP: TAGs werden erzwungen, nur für Telnet-Benutzer relevant.
  Zudem diverse Klein-Korrekturen. {HS}  
- Änderung/Bugfix: Fehlende Parameter führten z.T. zu unverständlichen
  Fehlermeldungen, zukünftig gilt folgende Regelung: Bei Muss-Parametern
  wird ein Unassigned-Fehler gemeldet, bei optionalen der Default-Wert
  verwendet. {JH/TGL}
- Bugfix: hs2: Anweisung "ConstEnum" war nicht verfügbar. {TGL}
- Bugfix: hs2: Falls der Rückgabewert eines per Execute gestarteten Pro-
  zesses den Wertebereich eines Integers überschreitet, gab es einen Range-
  Check-Error, in Zukunft wird eine negative Zahl zurückgeliefert. {JW}
- Bugfix: IMAP: Fix im HandleCommand. {HS}  
- Bugfix: Befehls-Einfüge-Button für hs2: Mittels erweitertem Varset, Const
  oder ConstEnum definierte Konstanten wurden bei der Anzeige von Variablen
  eines Moduls noch nicht berücksichtigt. {TGL}
- Bugfix: Mailrouter: Das Leerzeichen nach "MAIL FROM:" und "RCPT TO:" im
  Header von versendeten Mails ist laut RFC 2821 unzulässig und kann daher
  mittels INI-Option hamster.ini [Setup] mail.SpaceAfterEnvelopeHeader=0
  zukünftig verhindert werden. {GD}
- Bugfix: Die Übersicht der englischen Hilfe verwies noch auf hamster.hlp
  statt hamster_en.hlp, korrigierte hamster_en.cnt im ZIP {JW}
- Bugfix: Hauptfenster: Verstecken von Menüeinträgen klappte bei dem
  Killfile-Protokoll und den speziellen Dateien noch nicht. {TGL}
- Bugfix: POP3-Client bot im AUTH-Kommando SASL-Mechanismen trotz abge-
  schaltetem SSL an. {JW}
- Bugfix: Einträge in hamster.ini [Directories] mit Pfadangaben wurden
  falsch behandelt, ggf. wurde beim Zurückschalten auf den Default-Pfad
  auch kein "\" hinten angehängt. {JW}
- Bugfix: Verzeichnisdialog: Der Trenner zwischen Liste und Vorschau war beim
  ersten Öffnen der Vorschau nicht korrekt benutzbar. {TGL}  
- Bugfix: Counter für ein- und ausgehende Bytes konnte nur 2 GB erreichen,
  die Grenze wurde auf ca. 1.844.674.407.371.000.000 erhöht (int64) {HS}.
- Bugfix: Mail-Actions: Bei gemischten lokalen und externen Empfängern wurde,
  sofern der letzte Empfänger in der Empfängerliste ein lokaler Account war,
  der falsche Action-Typ für den externen Empfänger aufgerufen. {WJ}


V2.0.0.0 (vom 24.12.2002)
==========================================================================
Hauptänderungen seit der letzten Stable (1.3.23.4):
  * SSL direkt integriert
  * ReCo-Server für Fernsteuerung des Hamsters
  * IMAP-Server für erweiterte Mailhandhabung
  * Score-After-Load für erweiterte Filterung geladener Artikel
  * Oberfläche: Erweiterte Einstellungen jetzt standardmäßig ausgeblendet,
    Menüpunkte gezielt ausblendbar, diverse Umbauten/Ergänzungen (Automati-
    sierung etc)
Sortierte Liste der (größeren) Änderungen seit der letzten Stable (1.3.23.4):
- Oberfläche
  - Hauptfenster:
    - STOP-Button für laufende Aktivitäten, bis zum Ende der Aktivität kann es je
      nach Aktivitätsart trotzdem ein wenig dauern.
    - Einfügebutton für die hs2-Shell erlaubt einfaches Einfügen von den verfügbaren
      Befehlen/Funktionen.
    - Automatische Einblendung von noch wartenden News-Jobs.
  - Einstellungen
    - Grundeinstellungen / Interne Gruppen: Lokale Gruppen direkt anlegbar, neue
      Unterseite für Einstellungen bzgl. der diversen Protokolle, Menübefehle
      gezielt ausblendbar.
    - Benutzerverwaltung: Alphabetische Sortierung, Anzeige der Aliase und Forwards
    - Newseinstellungen / Gruppen und Ladeaufträge: Multiple Auswahl möglich
    - Newsgruppen
      - Neuer Typ "Gateway" schickt Postings an ausgewählte Mailadresse
      - Moderierte Gruppen haben Moderationsadresse
  - Skript/Modul-Dialog: Direkte Bearbeitung von Skripten und Modulen möglich,
    Pfade direkt dort einstellbar.
  - Neuer Dialog für Mail/News-Verzeichnisse mit Vorschaufenster, Löschfunktion, freier
    Sortierung und diversen anderen Komfortfunktionen.
  - Neuer Dialog Automatisierung erlaubt die bequeme Bearbeitung der inzwischen deutlich
    umfangreicheren "Actions", die Bearbeitung der Message-ID-Nachladelisten und vereint
    die Einstellungen, welche Server gestartet werden sollen und u.a. auch, welche
    Aktivitäten beim Hamster-Start ablaufen sollen.
  - Neuer Dialog für Hamster-History
  - Icon: Geänderte Reaktionen auf diverse Klickvarianten
  - Diverse Dialog/Menüergänzungen zur Konfiguration des IMAP- und Reco-Servers
  - Diverse Anpassungen durch die direkte Implementierung von SSL (OpenSSL-DLLs sind
    zusätzlich erforderlich!)
- hamster.ini, Neue Einträge:
  - [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 wird nicht mehr unterstützt
  - diverse Optimierungen für verbesserte Performance
  - Kontrolle bzgl. der von einem Skript nicht freigegebenen Resourcen
  - ACHTUNG: Parameterliste für HamSendMail und HamSendMailAuth geändert!
  - Neue Befehle:
    - #!finalize als Gegenstück zu #!initialize
    - Konstanten definieren: Const, ConstEnum
    - Hamster-Steuerung: HamNNTPServer, HamSMTPServer, HamPOP3Server, HamIMAPServer,
      HamReCoServer, , HamShutdown, HamStopAllTasks, StopThread, HamResetCounters,
      HamMainWindow, HamTrayIcon, HamReloadConfig, HamReloadIPAccess, hamChangePassword
    - Log: HamRotateLog, hamaddlog
    - Interaktion/Ausgabe: popupbox, HamDialogEditDirs, HamDialogScripts,
      HamDialogNewsKillfileLog, HamDialogAddPull
    - INI-Dateien: IniDelete, IniEraseSection
    - hosts-Datei: LookUpHostAddr/LookUpHostName
    - Interne Abfragen: HamGetStatus(3,8), HamMainFQDN, HamMidFQDN, HamEnvelopeFrom,
      HamPostmaster, HamUsenetAcc, HamRCpath
    - News-Jobs: HamNewsJobsCheckActive
    - Artikelbestand: HamAddGroup, HamDelGroup, HamAddPull, HamDelPull,
      HamArtLocateMidInGroup, HamArtDeleteMidInGroup, HamArtDeleteNrInGroup
    - DLL-Nutzung: dllload, dllcall, dlllasterror, dllfree
    - Speicherverwaltung: memalloc, memsize, memsetint, memgetint, memsetstr, memgetstr,
      memvarptr, memfree, memforget
    - SSL-Nutzung: Geänderte Parameterliste für HamFetchMail, HamSendMail(Auth)
    - Scheduler: AtCount, AtSubfunction, AtFrom, AtUntil, AtOnDays, AtEveryMins
    - System: ScriptPriority, EventMultipleWait, SysErrorMessage, ClipRead, ClipWrite,
      RFCTimeZone, DiskFreeKB, GetEnvironment
    - Sonstiges: digest, random, DecodeMIMEHeaderString, listappend
- Scores.hst:
  - Score-After-Load erlaubt das Löschen von Artikeln nach dem eigentlichen Laden
    anhand von beliebigen Headerzeilen oder dem Textbody, entsprechende Filterzeilen
    müssen mit "?" beginnen.
- Mailfilt-hst:
  - Fehlerhafte Zeilen werden beim Programmstart angezeigt
  - Neue Regel AddDefault
  - Verfallsdatum mittels Expire:JJJJMMDD möglich
- Server
  - NNTP:
    - Unterstützung des NEWNEWS-Befehl auf Benutzerebene freizuschalten
    - Unterstützung für mode cancel a la INN
  - POP3:
    - Unterstützung von SASL-Verschlüsselung
    - Unterstützung des CAPA-Befehls (RFC2449)
  - SMTP:
    - Unterstützung von SASL-Verschlüsselung
  - Neuer Server "Remote Control"
  - Neuer Server IMAP
  - OLE:
    - jetzt bei Bedarf abschaltbar, OLE-Name änderbar
    - Neue Befehle:
      - Interne Abfragen: ControlGetStatus (3,8)
      - SSL: ControlRunFetchMailTLS, ControlRunSendMailTLS, ControlRunSendMailAuthTLS
      - DFÜ-Netzwerk: RasDynGetConnection, RasGetIP, RasListEntries
      - Steuerung: ControlAddGroup, ControlDelGroup, ControlAddPull, ControlDelPull,
        ControlRotateLog
    - Nicht mehr unterstützte Befehle:
      - SSL: SendMailSSL, FetchMailSSL, FetchMailAuthSSL, OpenSSLTunnel, CloseSSLTunnel
- Clients
  - POP3
    - Unterstützung von SASL-Verschlüsselung
    - Stückweises Mail holen: Server.ini [pop3] GetMaxMailsPerSession=x
  - SMTP
    - Unterstützung von SASL-Verschlüsselung
    - Anpassungen an RFC 2821
- Actions
  - Neue Aktionen
    - startup, shutdown, mail, mail.getheader, news, news.local, news.preprocess,
      news.gateway, TrayIcon.click, trayicon.doubleclick, trayicon.middleclick,
      trayicon.middledoubleclick, Status.click, Status.doubleclick
    - Account-spezifische Actions
  - Direkte Aufrufmöglichkeit für ein Skript, Warten unabhängig einstellbar
- Sonstiges
  - Anpassungen bzgl. Windows XP
  - Nicht installiertes DFÜ-Netzwerk jetzt unproblematisch
  - Cancels/Supersedes lokal und per Feed automatisch ausführbar
  - Erweiterte Fehlerprüfungen an diversen Stellen, zusätzliche Tests beim Programmstart
  - Möglichkeiten der Sprachdateien deutlich erweitert
==========================================================================
Detailänderungen seit 1.3.23.210:
- Neu: Verzeichnis-Dialog: Datei/Verschieben nach bzw. Strg+M erlauben ein
  Verschieben in die sinnvollen Zielverzeichnisse. {TGL}
- Änderung: Header X-Hamster-Info: In Anlehnung an Playground jetzt
  ScoreLoad und ScoreSave statt Score1 und Score2. {TGL}
- Änderung: Verzeichnis-Dialog: Unterschiedliche Icons für msg, err und bak-
  Dateien, sonstige Dateien ohne Icon. {TGL}
- Änderung: Warnmeldung, wenn zu importierendes MBOX-File ein ungültiges
  Format aufweist. {PW}
- Änderung: hs2: HamArtDeleteNrInGroup hat nochmal geänderte Rückwerte: 0
  für korrekte Ausführung (statt 1 wie in .210), weiterhin -1 wenn die
  Funktion nicht ausführbar ist und -2 (statt 0 wie in .210), wenn der
  Artikel nicht existiert. {TGL}
- Änderung: Sofern keine Einschränkung bzgl. maximaler Verbindungen (ins-
  gesamt oder von einer IP) gewünscht sind, mußte bislang ein Riesenwert
  eingetragen werden, ab dieser Version wird die Einstellung 0 als nicht
  limitiert interpretiert analog zu anderen Größenbeschränkungen. {TGL,
  Dank an Ulrich F. Heidenreich für den Hinweis}  
- Bugfix: Sicherheit beim Mailserver-Zugriff: Bei Anmeldung per APOP
  wurde bei Nicht-Unterstützung von APOP seitens des externen Servers
  kommentarlos auf Klartext-Verfahren zurückgeschaltet. {JW}
- Bugfix: IMAP-Server:
  - Falscher Rückgabewert bei Body.Size, daher wurden Mails mit Attachments
    in NC/Mozilla nicht komplett geladen. {HS}
  - Parsen von Multiparts scheiterte an großgeschriebenem "Boundary". {HS}
- Bugfix: Verzeichnis-Dialog: Speicherung der Spaltenbreiten funktionierte
  nur bei einem Wechsel zwischen Mail- und News-Verzeichnis. {TGL}
- Bugfix: RE_PARSE brachte eine Exception, wenn als Reststring nur ein
  Leerstring übrig blieb. {TGL}
- Bugfix: Bei überlangen Protokollzeilen stürzte Hamster ab, diese werden ab
  jetzt (nur in der Anzeige, nicht in der Log-Datei!) automatisch gekürzt. {AS1}
- Bugfix: CRAM-SHA1-Anmeldung bei den diversen Servern: Range-Check-Fehler,
  zudem Fehler bei der internen Prüfroutine. {JH}

V1.3.23.210 (vom 18.11.2002)
- Neu: X-Hamster-Info gibt jetzt zusätlich zum Gesamt-Score eines Artikels
  (Score=...) auch die Anteile an: Score1=... enthält den Wert der Over-
  view-Filter, Score2=... den Wert der "?"-Filter. {TGL}
- Neu: hs2:
  - optionaler vierter Parameter für HamScoreTest: Zusätzlich zu Gruppen-
    name, Artikeltext und (optional) Variable für passende Filterzeilen
    kann mit dem vierten Parameter das Score-Ergebnis ausgewählt werden:
    1 = Nur Overview-Score, 2 = Nur After-Load-Score (Filterregeln mit
    "?" am Anfang) oder 0 für die Kombination (Default) {JH}
  - Funktion hamChangePassword(AccountName, OldPW, NewPW) erlaubt analog
    zur bestehenden OLE-Funktion das Ändern des Passwortes eines Accounts.
    Rückgabewert: 0=falsches altes Passwort, 1=ok, 2=Fehler {TGL}
- Änderung: Dialog "Verzeichnisse": {TGL}
  - Tasten Links/Rechts/Entf/Return funktionieren in der Dateiliste nur
    noch, wenn Shift/Strg/Alt nicht gedrückt sind.
  - Löschen funktioniert jetzt auch, wenn eine Datei nur den Focus hat
    und nicht explizit markiert wurde.
  - Shift+Strg+Entf löscht Dateien OHNE Rückfrage
  - Kleine Icons schaltet die verwendete Icon-Liste jetzt so um, daß es
    entweder kein Icon oder ein gelber Punkt anzeigt wird, letzterer dann,
    wenn (im Hauptverzeichnis) mindestens eine msg-Datei liegt.   
  - Der Titel unter den Verzeichnis-Icons gibt jetzt auch die Zahl der msg-
    Dateien im Verzeichnis an.
  - Änderungen an der Spaltenbreite sind jetzt permanent. 
- Änderung: hs2: HamArtDeleteNrInGroup liefert im Erfolgsfall 1 zurück,
  sonst 0 (falls Nummer falsch) oder -1 (wenn Löschen nicht erlaubt) {TGL}
- Änderungen/Bugfix: IMAP-Server: Erweiterte Protokollierung, APPEND gegen
  Range-Check abgesichert, fehlende Initialisierung bei COPY {MG/HS}
- Bugfix: Beim Beenden des Hamsters wurde der IMAP-Server nicht korrekt
  heruntergefahren. {JW}
- Bugfix: Dialog "Verzeichnisse": Shredder zeigte Dateien aus Root-Ver-
  zeichnis an. {TGL}
- Bugfix: Mail-Filter: Eine leere Filter-Datei führte zu einer Fehler-
  meldung vom Typ Access violation. {TGL}
- Bugfix: NNTP/SMTP-Server: Wenn der Server, der als Standardserver ausgewählt
  war, gelöscht wurde, blieb er trotzdem der Standardserver. {TGL}
- Rückanpassungen: Reguläre Ausdrücke: Übernahme von JHs Compileroptionen;
  IMAP-Server: longWord wieder zu LongInt.  

V1.3.23.205 (vom 18.10.2002)
- Neu: Direkter Menüpunkt zum Aufruf der FAQ {TGL}
- Neu: Mailfilter:
  - Beim Starten wird eine existierende Mail-Filter-Datei auf fehlerhafte
    Einträge überprüft. {TGL}
  - Falls hinter dem Default-Feld einer Regel kein Auswahlmuster folgt, wird
    die Zeile als fehlerhaft erkannt und ignoriert. {TGL}
- Neu: Grundeinstellungen: Bearbeitungsdialog per Button für hamster.ini [Setup]
  HideMenuItems erreichbar. {TGL}    
- Neu: hs2: HamDialogAddPull(x): x=2 kann jetzt analog zu den anderen
  Dialogaufrufen genutzt werden, um abzufragen, ob der Dialog
  offen (1) oder geschlossen (0) ist. {TGL}
- Änderung: Verzeichnisdialog: IMAP-Mailfächer sind wieder sichtbar, aber
  Löschen, Kopieren und Verschieben ist aus technischen Gründen nicht
  möglich. Mails in Unterordnern des IMAP-Mailfachs werden incl. Pfadangabe
  angezeigt. {TGL}  
- Änderung: mail.scorefile.expiredentries.delete funktioniert analog zu
  news.scorefile.expiredentries.delete und erlaubt die Einstellung eines
  von der News-Einstellung unabhängigen Verhaltens bei ausgelaufenen
  Mail-Score-Einträgen. {TGL}
- Änderung: Actions: Beim Aufruf von externen Programmen wird automatisch
  das Verzeichnis des externen Programmes zum aktuellen Verzeichnis für den
  Aufruf gemacht (sinnvoll z.B. für Morver in der aktuellen Version) {TGL}
- Änderung: Hotkey für "Alle Server" von Strg+A auf Shift+Strg+A geändert.
  {TGL}  
- Änderung: Grundeinstellungen: Die Farbwahl für die Protokollanzeige-
  optionen (Fehler-Debug) richtet sich jetzt nach den entsprechenden ini-
  Einstellungen fürs Hauptfenster. {TGL}
- Änderung: Konfiguration neuladen (F5) prüft zusätzlich News- und Mail-
  filterdatei auf Fehler. {TGL}  
- Änderung: Kleine Überarbeitungen bzgl. Logging, Sprachunterstützung u.ä.
- Bugfix: IMAP:
  - Befehl APPEND ignorierte Mails, die mit Whitespaces enden {HB}
  - Probleme mit leicht Fehlerhaften boundary {MG}
  - Zeichenvorrat erweitert {MG}
  - Fehler beim Löschen von Mails wurden ignoriert {MG}
  - erweiterte Protokollierung {MG/HS}
  - Zahlenbereich für Nachrichtenzahl, UID etc an OE angepasst. {MG}  
- Bugfix: Grundeinstellungen / Protokolle: Die Protokollbuttons riefen die
  falschen Protokolle auf: "Aktuelles" das vorletzte, "Datei 2" das davor
  etc. Zudem sind jetzt die Buttons für nicht-existente Haupt-Protokolle
  abgeschaltet. {TGL}
- Bugfix: Nach einem Aufruf der Grundeinstellungen wurden die meisten Menü-
  einträge unter Online versteckt. {TGL}
- Bugfix: Bislang behielt Hamster eine Log-Datei zu viel, bei 5 erlaubten
  existierten die Logs 0 bis 5 statt 0 bis 4. Als Nebeneffekt umfasst die
  Löschroutine nicht nur die exakten Folgenummern ab der erlaubten Höchst-
  nummer, sondern löscht auch dann, wenn bis zu zwei Zwischenprotokolle
  fehlen. {TGL}
- Bugfix: Actions: Beim Aufruf eines Skripts per Action wurde der dritte
  Parameter bei Account-spezifischen Actions nicht gesetzt. {TGL}
- Bugfix: Je nach Zugriff (OLE/hs2) differierten die Ergebnisse der Status-
  funktionen ab 3,8 {TGL}
- Bugfix: hs2: DLLCall erzeugte bei negativen Parametern einen Range-Check-
  Error (Bereichsprüfungsfehler) {AS1}
- Bugfix: Scorefile: Leerzeichen nach "%>" waren seit .200 nicht mehr erlaubt,
  können ab jetzt wieder benutzt werden. {TGL}
- Bugfix: hamster.ini [Main] color.detail.text/brush fehlte noch bei den Farb-
  definitionen für die Anzeige des Protokolls. Zudem wird color.else.brush
  jetzt auch für die leeren Protokollzeilen verwendet. {TGL}

V1.3.23.200
- Neu: OLE-Server: Analog zu den passenden Skriptbefehlen gibt es jetzt auch
  ControlAddGroup, ControlDelGroup, ControlAddPull, ControlDelPull und
  ControlRotateLog. {TGL}
- Neu: Verzeichnisdialog {TGL}
  - Erlaubt jetzt auch Vorschau für msg und err-Dateien, wenn alle Dateien
    angezeigt werden.
  - per hamster.ini [EditDirs] Mailboxes=... kann die Anzeige der Mailfächer
    beeinflusst werden. Wenn z.B. Mailboxes=fach1,fach2 verwendet wird, werden
    nur diese zwei Fächer angezeigt und zwar in der angegebenen Reihenfolge.
- Neu: Dialog Grundeinstellungen: Neue Seite "Protokolle" erlaubt den Aufruf
  der diversen Protokolle und das Einstellen der maximal zu speichernden Zeilen
  je Protokoll. {TGL}
- Neu: hamster.ini
  - [Setup] News.ScoreFile.ExpiredEntries.Delete=1/0 bestimmt, ob abgelaufene
    Filtereinträge gelöscht (1) oder nur auskommentiert (0) werden sollen,
    letzteres setzt ein "# Expired! # " vor die Originalzeile. In beiden Fällen
    wird ein Eintrag in die Logdatei gemacht. Default: 0 {TGL}
  - [Main] color.xxx.yyy erlaubt das Einstellen der Farben für die Log-File-
    Darstellung im Hauptfenster. xxx steht für debug, info, system, warning
    oder error, das yyy für text [Vordergrundfarbe) oder brush (Hintergrund-
    farbe). Als Farbwerte sind die Delphi-Konstanten (clBlack, clWhite, clBlue,
    clWindowText...) oder Hexwerte (a la "$BBGGRR" ohne Anführungsstriche)
    erlaubt. Bei fehlerhaften Angaben werden die Default-Werte verwendet. {TGL}
- Neu: Beim Aufräumen werden jetzt auch diverse Log-Dateien behandelt: Für jede
  Datei gibt es ein Zeilenlimit, bei dessen Überschreitung die ersten Zeilen
  gelöscht werden, ein Limit von 0 verhindert jede Löschung. Per Parameter kann
  beim hs2/OLE-Aufruf von Purge auch gezielt ein Einzel-Aufräumen gestartet
  werden. Im folgenden Dateiname, HamPurge-Parameter, zugehöriger Eintrag in
  hamster.ini [Setup] und Default-Wert für ini-Eintrag: {TGL}
  - MailIn.log,   16/$10, purge.mailinlog.keeplines, 0
  - MailOut.log,  32/$20, purge.mailoutlog.keeplines, 0
  - NewsOut.log,  64/$40, purge.newsoutlog.keeplines, 0
  - RasDial.log, 128/$80, purge.rasdiallog.keeplines, 0
- Neu: Mail-Filter-Datei: {TGL}
  - Per Expire:JJJJMMDD können jetzt auch dort Einträge mit Verfallsdatum versehen
    werden. Der Expire-Eintrag kann ab der eigentlichen Filterregel an beliebiger
    Stelle in der Definition eingesetzt werden d.h. vor/nach dem Filterfeld/einem
    Filterausdruck, sofern zumindest ein Leerzeichen Abstand eingehalten wird.
    Beispiel: =Ignore() Expire:20031231 ~From: "Heiner Dämlich"
  - Per hamster.ini [Setup] PurgeMailScorefile.daily=0/1 wird die tägliche Löschung/
    Auskommentierung der ausgelaufenen Einträge abgeschaltet/eingeschaltet, Default
    ist 1.
- Neu: Lokaler IMAP-Server: Die Einstellungen zum Verbieten von LOGIN/SASL-Anmel-
  dung sind jetzt auch per Einstellungsdialog erreichbar. {TGL}
- Neu: Actions: Beim Aufruf eines externen Programmes kann dieses versteckt im
  Hintergrund aufgerufen werden, Einstellung mittels Dialog Automatisierung oder
  per [Actions] Actiontyp.ExeStartType=0/1 (normal, versteckt), Default 0. {TGL}
- Neu: Menüpunkte im Hauptfenster haben jetzt teilweise einen direkten Hilfe-
  verweis (d.h. Menü aufklappen und F1 drücken führt zur Erläuterung in der Hilfe),
  Einbau durch Hamster_xx.dat [HelpIDs] TFormname/Menüeintragsname=Hilfe-ID
- Neu/Bugfix: Lokale Server / IPAccess-Bearbeitung: Zugriff auf IMAP-Server jetzt
  auch per Dialog konfigurierbar, MAIL umfasst jetzt POP3+IMAP+SMTP. {TGL}
- Neu/Bugfix: hs2: "dump" ignoriert jetzt standardmäßig Konstanten (wurden als
  Variablen angezeigt), mit neuem optionalen Parameter 1 werden diese
  wahlweise doch angezeigt. {TGL}
- Änderung: hs2: Das Schlüsselwort "Enum" heißt zukünftig "ConstEnum".
- Änderung: Beim Anlegen eines POP3-Servers Hinweis auf Alias direkt im Eingabe-
  dialog, kein automatischer numerischer Alias mehr vorgesehen. {TGL}
- Änderung: Feeding: Verweigert ein Peer die Annahme von Beiträgen und gibt
  als Grund dafür Fehlercode '480 no permission' an, erfolgt zusätzlich ein
  Log-Eintrag als 'Warnung' und der Feedjob wird abgebrochen. {JW/HS}
- Änderung: Mailrouter: Eindeutiger X-Resent Header für Mails, die an externe
  Adressen umgeleitet werden. {JW}
- Änderung/Bugfix: Dialog Versionsgeschichte ist jetzt normales Fenster
  (statt immer im Vordergrund), das Suchfenster ist auch dann nutzbar,
  wenn das Hamster-Hauptfenster geschlossen ist. {TGL}
- Änderung/Bugfix: Die interne Funktion FileExists2 kam mit Dateien nicht
  zurecht, die mit einem Punkt beginnen. {TGL}
- Änderung/Bugfix: Die interne Funktion DirExists2 bekam Probleme, wenn
  hinter dem Verzeichnisnamen noch ein "\" stand und war unnötig kompliziert
  geschrieben. {TGL}
- Bugfix: IMAP-Server: Daten im Literal-Format wurden falsch verarbeitet, die
  lokale Zeitzone wurde ignoriert, sowie diverse Kleinfehler. {MG/HS}
- Bugfix: Lokale Server: Fehler beim Senden von Daten konnten zu unzähligen
  Fehlereinträgen im Protokoll führen. {MS}
- Bugfix: Bei Mailfiltern wurden leere Header genauso wie nicht vorhandene
  Header interpretiert, so daß ein Filter a la "kill() ~Subject: {^$}" nicht
  mehr funktionieren konnte, da Filterzeilen, die sich auf leere Header
  beziehen, automatisch komplett ignoriert werden. {TGL}
- Bugfix: hs2/OLE: HamGetStatus/ControlGetStatus(3,x) sind bzgl. Hamster-Version
  1.3.23.100 und .170 widersprüchlich dokumentiert und programmiert worden.
  Korrekter Stand: 3,8 gibt den Counter für die per Message-ID nachgeladenen
  Artikel an, 3,9 die Anzahl der Fehlerzeilen und 3,10 die Anzahl der Warnungs-
  zeilen. {HS}
- Bugfix: hs2: return() innerhalb von Schleifenkonstrukten in einer Sub wurde
  nicht korrekt behandelt und man konnte in einer Sub prinzipiell Schleifen
  verlassen, die man im aufrufenden Programmteil gestartet hat. {TGL}
- Bugfix: Die interne zum Dekodieren von MIME-Headern verwendete Funktion
  sorgte für einen Absturz, wenn ein Leerstring übergeben wurde, was z.B.
  bei der hs2-Funktion DecodeMimeHeaderString oder einem Mailfilter mit
  "~Subject:" passieren kann. {TGL}
- Bugfix: News-Score-File: Syntax-Fehler wie fehlendes Leerzeichen hinter
  dem Score-Wert oder ein einsames "+" am Zeilenende führten zu Abstürzen oder
  Startfehlern beim Hamster selber. {TGL}
- Bugfix: Lokale Benutzer: Es konnte eine Gruppe mit leerer Bezeichnung einge-
  geben werden (sofern man ein Komma und ggf. eine Beschreibung eintippte),
  diese aber nicht mehr per GUI gelöscht werden. {TGL}
- Bugfix: Bei Nutzung von NEWNEWS gab es Datums-technische Probleme, daher
  setzt Hamster jetzt ein Received-Datum bei erhaltenen Artikeln. {JH}
- Bugfix: GUI: Doppelte Newsservereinträge werden jetzt auch dann verhindert,
  wenn unterschiedliche Port-Adressen angegeben werden. {TGL}
- Bugfix: Verzeichnisdialog: Fehler beim Zugriff auf Dateien (Vorschau)
  werden jetzt abgefangen und nicht mehr im Hamsterprotokoll gemeldet. {MS}
- Bugfix: Unterdrückung der Menüpunkte mnuPullSingleXXXX per hamster.ini,
  [Setup] Main.HideMenuItems konnte durch "Einstellungen/Konfiguration neu
  laden" umgangen werden. {TGL}
- Bugfix: Verzeichnis-Dialog: Bislang wurden auch Postfächer angezeigt, für die
  kein Benutzereintrag (mehr) existiert, welche auf IMAP-Zugriff gesetzt sind
  oder bei denen der Benutzer gar kein Postfach hat. {TGL}   
- Bugfix: Die Bestätigungsmail bzgl. ausgeführten Cancels enthielt nicht mehr
  den Text der Cancel-Nachricht selber. {TGL}  

V1.3.23.191
- Änderung: Die Dialoge für Verzeichnisse und Skript-Bearbeitung haben nur
  noch dann einen eigenen Taskbareintrag, wenn dies gezielt gewünscht wird:
  hamster.ini [EditDirs] OwnTaskbarEntry=1 für Verzeichnisdialog und hamster.ini
  [EditScripts] OwnTaskbarEntry=1 für Skript-Verwaltungs-Dialog. {TGL}
- Änderung: Das automatische Verwerfen von Newsjobs nach Scheitern aller laufenden
  Threads für den Newsserver ist jetzt per News-Einstellungen oder hamster.ini
  [Setup] nntp.dropresidualjobs=0 abschaltbar. {TGL}  
- Bugfix: Passwörter funktionierten nicht mehr, wenn eine Einstellung für die
  Verschlüsselung gewählt war, die nicht dem Default entspricht. {JH}
- Bugfix: hs2-Befehl HamSendMail() funktionierte nicht mehr. {MB}
- Bugfix: Dialog "Killfile-Log/Einstellungen" war per Menü nicht mehr erreich-
  bar. {MB}
- Bugfix: Laut RFC2822 hat der Header "Return-Path" die Adresse in <> zu enthal-
  ten, dies war bislang nicht der Fall. {MB}
- Bugfix: IMAP: Account-spezifische Aktionen funktionierten nur mit POP3-Mail-
  boxen. {MB}    

V1.3.23.190
- Neu: hs2:
  - Mittels "Const ( $variable, Wert )" sind Konstanten definierbar, der
    Versuch, eine Konstante nachträglich zu ändern, führt zu einem
    Skriptfehler. {TGL}
  - Mit "enum ( $Var0, $Var1, ..., $Var99 )" können einfach Statuskonstanten
    o.ä. definiert werden, die erzeugten Konstanten bekommen automatisch
    aufsteigende Werte beginnend mit 0. {TGL}
  - HamAddGroup ( Gruppenname ) legt eine lokale Gruppe an, Rückwert 0, wenn
    erfolgreich, sonst -1. {TGL}
  - HamDelGroup ( Gruppenname ) löscht eine Gruppe im Hamster incl. aller
    eventuell existierender Ladeaufträge für diese Gruppe, Rückwert 0, wenn
    erfolgreich, sonst -1. {TGL}
  - HamAddPull ( Servername, Gruppenname ) legt einen neuen Ladeauftrag an,
    Rückwert 0, wenn erfolgreich bzw. Ladeauftrag schon existent, sonst -1.
    Falls die Gruppe vorher noch nicht existierte, wird sie automatisch
    angelegt. {TGL}
  - HamDelPull ( Servername, Gruppenname ) löscht einen bestehenden Ladeauftrag,
    Rückwert 0, wenn erfolgreich, sonst -1. {TGL}
  - DiskFreeKB(Laufwerksbuchstabe) gibt den freien Speicherplatz auf dem
    angegebenen Lauferk in Kilobytes (1024 Bytes) zurück. Bei fehlerhaftem
    Parameter wird -1 zurückgegeben. {JW}
  - GetEnvironment(Variablenname) bzw. GetEnv(...) gibt die aktuelle Belegung
    der übergebenen Umgebungsvariable wie z.B. "WinDir" zurück, falls die
    Variable nicht existiert, wird ein Leerstring zurückgegeben. {JW}
  - HamRotateLog sorgt dafür, daß ein neues Logfile begonnen wird. {TGL}
  - Die Message-Befehle sind jetzt auch in merkbarerer Form vorhanden:
    - HamShutdown ( <Verzögerung in ms> ) beendet den Hamster
    - HamStopAllTasks stoppt alle laufenden Aktivitäten.
    - HamResetCounters( <x> ) setzt die Zähler/Protokolle zurück, x=0 für
      Protokolle und Zähler, x=1 nur Zähler, x=2 Nur Protokolle, x=3 nur
      Fehler/Warnungs-Protokoll, bei Weglassen des Parameters gilt x=0.
    - HamNNTPServer(x), HamSMTPServer(x), HamPOP3Server(x), HamIMAPServer(x)
      und HamReCoServer(x) steuern die lokalen Server: x=0 stoppt den Server,
      x=1 startet den Server, x=2 startet den Server neu und x=3 erlaubt die
      Abfrage, ob der Server läuft (1=an, 0=aus).
    - HamMainWindow(0/1) schließt/öffnet das Hauptfenster
    - HamTrayIcon(0/1) verbirgt/zeigt das Trayicon
    - HamReloadConfig(1) lädt die Einstellungen neu, sofern kein Einstellungs-
      dialog offen ist, mit HamConfigReload(0) kann überprüft werden, ob ein
      Einstellungsdialog offen ist (Rückwert 1=Ja, 0=Nein).
    - HamReloadIPAccess lädt die Datei IPAccess.hst noch mal neu.
    - HamDialogEditDirs(x) bezieht sich auf den Verzeichnisdialog. x=1 zum
      Öffnen, x=0 zum Schließen, x=2 zur Statusabfrage (1=offen, 0=geschlossen)
    - HamDialogScripts(x) bezieht sich auf den Dialog zum Verwalten/Ändern von
      Skripten und Modulen. x=1 zum Öffnen, x=0 zum Schließen, x=2 zur Status-
      abfrage (1=offen, 0=geschlossen)
    - HamDialogNewsKillfileLog(x) bezieht sich auf den Dialog zum Bearbeiten des
      Killfile-Logs. x=1 zum Öffnen, x=0 zum Schließen, x=2 zur Statusabfrage.
    - HamDialogAddPull(x) bezieht sich auf den Dialog zum Abbonieren neuer News-
      gruppen, zur Zeit nur x=1 zum Öffnen unterstützt.
- Neu: Actions {TGL}
  - Beim Aufruf eines Programmes als Reaktion auf eine Action kann neben %1 für
    den Parameter (Dateiname o.ä.) auch noch der Wildcard %0 für den Action-Typ
    (in Kleinschrift) verwendet werden.
  - Die actions trayicon.middleclick und trayicon.middledoubleclick erlauben eine
    Reaktion auf Mausklicks mit der mittleren Maustaste auf das Tray-Icon.
- Neu: hamster.ini
  - Die Bezeichnung für den Taskbareintrag bei aktivem Hamsterfenster
    ist jetzt einstellbar: [Main] TaskbarTitle=..., Default ist "Hamster",
    die WildCards für [Main] Title=... sind benutzbar. {TGL}
  - Auf der Endung basierend können verschiedene Editor-Aufrufe definiert
    werden, falls kein spezieller Aufruf definiert ist, wird der Standard-
    Editoraufruf verwendet. Um z.B. für die Endung ".msg" einen separaten
    Editor zu nutzen, sind die beiden Folgeeinträge verwendbar:
    [Setup] Editor.msg.app=Anwendung und Editor.msg.params=Parameter {TGL}
- Neu: SSL: Unterstützung von AES für OpenSSL-Versionen ab 0.9.7 über
  erweiterte SSL-Einstellungen an/abschaltbar. Default: aktiviert. {MG}    
- Änderung: Verzeichnis- und Skriptdialog haben jetzt einen eigenen Eintrag
  in der Windows-Taskbar {AS1}
- Änderung: Die neuen HamMessage-Funktionen wurden umsortiert: {TGL}
  12,x steht für den Verzeichnisdialog, x=1 => Öffnen, 0=>Schließen, 2=>
       Status (1=offen, 0=geschlossen)
  13,x steht für den Skriptdialog, x=1 => Öffnen, 0=>Schließen, 2=>Status
  15,x steht für den Dialog Killfile-Log, x=1 öffnet und wartet, bis er ge-
       schlossen ist, x=0 schließt ihn, sofern offen, x=2 für Status
  16,1 öffnet den Dialog "Ladeauftrag hinzufügen".
- Änderung: Abbrechen von Threads ist jetzt auch in Client-Threads (Laden
  von News oder Mails) möglich. {TGL}
- Änderung: (Shift+)Strg+Tab funktioniert jetzt in der History, das
  eigentliche Historyfenster bekommt jetzt direkt den Focus. {TGL}
- Änderung: Eine fehlerhafte logische Port-Angabe (ntp o.ä.) führt jetzt
  zu einer Fehlermeldung im Log. {JW}
- Änderung: Umbau der Einstellungen zur Ausführung von Cancels und Super-
  sedes, um zum einen Fehlinterpretationen zu verhindern und schon alles
  vorbereitet zu haben, wenn auch beim NNTP-Zugriff Cancels unterstützt
  werden. Auch die Ini-Keys wurden leicht geändert, vorläufig werden folgende
  unterstützt: news.feededcancel, news.feededsupersedes, news.feededcancelverify
  und news.feededcancelcontrolmsg. {TGL}
- Änderung: Ausführung von (gefeedeten) Cancels: Sollte die Message-ID nicht
  vorliegen und keine Überprüfung des Cancels aktiv sein, wird die Message-ID
  als "automatisch verwerfen" gekennzeichnet. {HB}
- Änderung: Mailadresse und Homepage-Eintrag von Luu Tran in deutscher und
  englischer Sprachdatei korrigiert. {Hinweis von Sebastian Brocks}
- Änderung Funktionsrückwerte: {TGL}
  - OLE- und hsc-Funktionen hatten zum Teil unterschiedliche Rückwerte, da
    diese bei OLE in der Hilfe eh falsch dokumentiert waren, wird zukünftig
    0 für ok und (meistens) -1 für Fehler zurückgemeldet.
  - hs2: IniWrite, IniDelete, IniEraseSection und StopThread geben zukünftig
    0 bei fehlerfreier Ausführung zurück und -1 sonst.
- Änderung: Wenn alle laufenden Newsserver-Jobs scheitern, werden die restlichen
  Jobs automatisch aus der Jobliste entfernt. Die nicht ausgeführten Jobs er-
  scheinen als Warnungszeilen im Log. {AS1}
- Bugfix: Das Hängenbleiben des Hamsters im Zusammenhang mit paralleler
  Ausführung von Mailjobs und HamNewsPost/HamNewsPull-Befehlen sollte jetzt
  nicht mehr auftreten können. {JH}
- Bugfix: Änderungen der IP-Bindung beim IMAP- oder ReCo-Server wurden
  erst nach manuellem Stop/Start des Servers bzw. einem Neustart vom Hamster
  wirksam. {MG}
- Bugfix: OLE-Funktion NewsScoreTest funktionierte nicht mehr (immer Rückwert
  0) {HR}
- Bugfix: IMAP-Server
  - Sicherheit: Mit "../" konnte man aus dem Mailverzeichnis "ausbrechen". {HS}
  - Vergab falsche Nummerierung bei mehr als 255 Mails je Mailbox. Aus techni-
    schen Gründen wird die bisherige Statusdatei Mailbox.dat dabei (automatisch)
    nach Mails.dat konvertiert. Die alte Mailbox.dat kann anschliessend gelöscht
    werden. {MG}
  - LIST und LSUB-Befehl: Wildcards in Pfaden wurden nur teilweise interpretiert.
    {HS/MG}
- Bugfix: Jeder Aufruf des hs2-Befehls "ListBox" hinterliess einen toten
  Thread. {JH}
- Bugfix: Fehler in interner Funktion DirExists2 sorgte für einen (kleinen)
  Ressourcenschwund in Windows und lieferte ggf. einen falschen Rückwert.
  {MB/JW}
- Bugfix: NNTP-Server: SSL-verschlüsselte Verbindungen wurden nicht korrekt ge-
  handhabt (keine Dekodierung, somit Timeout) {MG}
- Bugfix: XRef-Header beinhaltete auch Gruppen, die als Mailgateway definiert
  sind. {JW}
- Bugfix: Aufruf von Hilfe / History zeigt jetzt eine vernünftige Fehler-
  meldung im Log, wenn keine passenden Dateien auffindbar sind. {TGL}
- Bugfix: Verzeichnis-Dialog erzeugte Fehlermeldung, wenn man auf den
  Schredder klickt. {TGL}
- Bugfix: Beim Löschen eines POP3/SMTP-Servers konnte das Verzeichnis selbst
  nicht gelöscht werden, wenn noch bak-Dateien der Server-Dateien existierten.
  {TGL}
- Bugfix: Beim suchen nach unbekannten MIDs wurde seit einigen Versionen
  das gefundene Posting mit der Gruppenliste abgeglichen, was bei unbekannten
  Gruppen zu unsinnigen Ergebnissen führte d.h. keinen Zugriff auf den Artikel
  erlaubte, diese Funktionalität ist erst mal wieder komplett entfernt. {TGL}
- Bugfix: Dialog Einstellungen / Automatische Abläufe: Im Aktionsbaum wurden
  auch Titel sinnloserweise teilweise fett dargestellt. {MB}
- Bugfix: Dialog Einstellungen / News: Man konnte denselben Newsserver(namen)
  mehrfach eingeben. {AS1}
- Bugfix: Unter Umständen wurden neue Aufträge/Tasks automatisch wieder geschlossen,
  wenn sie die Thread-ID eines schon mal gestoppten Jobs bekommen haben. {AS1}
- Intern: Beim Öffnen von Gruppendateien stört ein paralleler Lesezugriff auf die
  .dat-Datei nicht mehr. {HS}

V1.3.23.185
- Neu: Optional können jetzt Cancels und Supersedes von eingehenden News
  automatisch ausgeführt werden, sofern diese per Feed geholt werden.
  Konfiguration über Lokale Server/NNTP.
  Lokal werden jetzt neben Cancels auch automatisch Supersedes ausgeführt,
  sofern Sender/From mit der Original-Nachricht übereinstimmt. {HB/TGL}
- Neu: Verzeichnis-Dialog: {TGL}
  - Visuelle Anzeige, ob Mailbox msg-Dateien enthält oder nicht
  - Update-Intervall der Anzeige in Millisekunden einstellbar: hamster.ini
    [EditDirs] UpdateIntervalms=..., Default 1000
  - Darstellung der Verzeichnisse per Menü zwischen großen und kleinen
    Icons umstellbar (hamster.ini [EditDirs] UseSmallIcons).
- Änderung: Das Anhalten von Skripten mittels "Alle Skripte beenden" erzeugt
  jetzt nur noch System- statt Fehlermeldungen. {TGL}
- Änderung: Das Stoppen eines Threads/Auftrags führt jetzt zu einer System-
  Meldung im Log. {TGL}
- Änderung: Die Menüpunkte für Score-Log, Mailfilter und Newsfilter sind
  auch bei Deaktivierung der speziellen Einstellungen erreichbar, sofern
  die zugehörigen Dateien vorhanden sind und eine Größe über 0 Bytes
  aufweisen. {TGL}
- Bugfix: IMAP-Server: OE zeigte INBOX nicht korrekt an. {HS}  
- Bugfix: Wählen von DFÜ-Netzverbindungen per Online-Menü krachte. {TGL}
- Bugfix: Hauptfenster: {TGL}
  - Log-Fenster "Einzelner Auftrag" war seit 1.3.23.180 immer leer.
  - Die Buttons über dem Thread-Log waren z.T. noch ereeichbar, wenn kein
    Eintrag aktiv war.
- Bugfix: Verzeichnis-Dialog: Schutzverletzung beim Doppelklick in die
  Dateiliste, wenn keine Datei im Verzeichnis vorhanden. {MB}    
    
V1.3.23.180
- Neu: Gezieltes Beenden eines Threads/Auftrags über seine ID
  - per Oberfläche (Button über Thread/Auftrags-Log)
  - per hs2-Befehl StopThread ("ID") (1=erfolgreich)
  - per remote control: TASK STOP ThreadID
  Hinweis: Im Zusammenhang mit Aufräumen oder hs2-Skripte mit
  AtExecute-Schleifen u.ä. kann es durchaus etwas dauern, bis der
  Thread wirklich beendet wird. {HS/TGL}
- Neu: Timeout für externe Programme, welche per "Actions" aufgerufen
  werden: hamster.ini [actions] Timeout.ExecInit und Timeout.ExecRun,
  Angaben jeweils in Sekunden, 0 für "unendlich". Default: 60 und
  180 (Sekunden) {HS/TGL}
- Neu: Dialog "Ladeaufträge für Server": Sobald der Mauszeiger auf eine
  Gruppe geht, wird Gruppenname und Tagline als Hint eingeblendet. {TGL}
- Neu: SMTP/POP3-Server: Erlaubte Anmeldeverfahren jetzt auch per
  Einstellungsdialog erreichbar. {TGL}
- Neu: Dialog "Killfile-Log": "Zeige Details" erlaubt jetzt auch das
  Kopieren der Details in die Zwischenablage. {TGL}
- Neu: hs2:
  - Befehl "execute": Neben der Fehlernummer wird jetzt auch die
    zugehörige Klartextmeldung in's Log geschrieben. {JH}
  - Neue Funktion "RFCTimeZone", liefert z.B. für Deutschland je nach
    Sommer/Winterzeit "+0200"/"+0100" zurück. {JW}
  - Der neue Befehl HamArtDeleteNrInGroup (ArtNr, Gruppe) erlaubt das
    Löschen einzelner Artikel ohne Beachtung von MID und ohne Anpassung
    der News-History. {TGL}
- Neu: Einstellungsdialog für Benutzer: Zusätzlich zu den Aliasen werden
  auch "forwards" (benutzer=...) aufgelistet, die Anzeige selber wurde
  leicht geändert (Kommaliste statt eine Zeile pro Eintrag) {TGL}
- Neu: Verzeichnis-Dialog: {TGL}
  - hamster.ini [EditDirs] Preview_MaxLines=x legt fest, wieviele Zeilen
    einer Nachricht maximal angezeigt werden, Default ist 300.
  - Zusätzliche Spalte KB (für Kilobytes) incl. Sortiermöglichkeit nach
    dieser Spalte.
- Neu: Automatisierungs-Dialog: Einstellung zum Filtern von Newsgroups-
  Meldungen jetzt per Dialog erreichbar. {TGL}
- Neu: OLE: Einige weitere hs2-Befehle gibt es jetzt auch für OLE: {TGL}
  - RasDynGetConnection: String => Name der aktuellen DFÜ-Netzverbindung
  - RasGetIP: String => IP der aktuellen DFÜ-Netzverbindung, sonst
    Leerstring
  - RasListEntries: String => Alle zur Verfügung stehenden DFÜ-Netzver-
    bindungen, jeder Eintrag endet mit CRLF.
- Neu: Um parallele Message-IDs bei Beiträgen, die sowohl per Gateway
  in Mailinglisten als auch in "echte" Gruppen gehen, zu verhindern,
  wird die Message-ID zukünftig vorne ergänzt, die Ergänzung läßt
  sich über hamster.ini [Setup] news2mail.MIDExtension=... ändern,
  Default ist "n2m-g.", wenn man keinen Wert zuweist, bleibt die MID
  unverändert. {TGL}
- Neu: Die Hamster-History hat jetzt einen eigenen Dialog incl. Such-
  funktion, automatisch erstelltem Verzeichnis und der Möglichkeit,
  alle Sprachvarianten zu erreichen. Zudem gilt ein neues Namensschema
  für History-Dateien: Changes_XX.txt, XX analog zu hamster_XX.dat
  und HamsterCmd_XX.dat. {TGL}
- Änderung: Die Liste der Aliase im Bearbeitungsdialog von lokalen
  Nutzern wird nicht aus der gespeicherten Liste generiert, sondern
  aus der aktuell bearbeiteten. Sollten mehr als ca. 8 Einträge
  existieren, wird ein Scrollbalken eingeblendet. {TGL}
- Änderung: Fehlerhinweis im Log, wenn nntp-Default-Anmeldung
  scheitert. {JW}
- Änderung: Verzeichnis-Dialog: {TGL}
  - Sortierung der Mailboxen jetzt alphabetisch und nicht mehr
    nach dem Zeitpunkt der Account-Einrichtung.
  - Der Erstaufbau sollte jetzt deutlich schneller sein.
- Änderung: Die Action "Headertest" für Mails ändert die Header
  nicht mehr nur temporär für die Filterung sondern dauerhaft. {JW}
- Änderung: Lokale Cancel prüfen - sofern vorhanden - jetzt auch
  auf den Sender-Header und nicht nur auf den From-Header. Dieses
  Verhalten entspricht RfC 1036, Abschnitt 3.1 {JW}
- Bugfix: IMAP-Server: Fehlverhalten bei bestimmten Sonderzeichen
  (" bzw. /), Probleme bzgl. LIST und LSUB, kleinere Anpassungen
  an die entsprechenden RFCs u.ä. {HS/MG}
- Bugfix: Beim Feeden von Artikeln konnte der PATH-Header vermüllt
  werden zu "Path: Path: ..." {JW}
- Bugfix: Unter bestimmten Umständen konnten Befehle wie z.B.
  HamRebuildGlobalLists zu schnell beendet sein, so daß die
  hs2-Script-Engine abstürzen konnte. {JH}
- Bugfix: In den Archivkopien von eigenen Postings fehlte immer noch
  die korrekte Angabe der Newsgruppe(n) in der ersten Zeile. {MB}
- Bugfix: Verzeichnis-Dialog: Sortierung nach Datum funktioniert jetzt
  korrekt und nicht mehr per Stringvergleich. {TGL}
- Bugfix: Thread-Fenster zeigte beim Scrollen optischen Müll an. {TGL}
- Bugfix: Lokaler NNTP-Server: STAT-Befehl sendete am Ende eine
  unnötige Zeile (".") {GLG}
- Bugfix: OLE-Befehl RasIsConnected ergab andere Werte als der
  entsprechende hs2-Befehl. {TGL}
- Intern: Austausch von TMultiReadExclusiveWriteSynchronizer durch
  eigene Klasse TReaderWriterLock, da erstere Ursache von Deadlocks sein
  kann, bzgl. der Performance sollte es kaum eine Änderung geben. {JH}
- Intern: Serialisierung aller Event-Befehle {JW}   

V1.3.23.170
- Neu: hs2:
  - Der neue Befehl listappend ( Listenhandle, Dateiname ) ersetzt im
    Gegensatz zu listsave nicht die alte Datei, sondern hängt den
    Listeninhalt an die bestehende Datei an. Existiert die Datei noch
    nicht, wird sie automatisch angelegt. {OJB}
  - hamgetstatus(3,8) zählt die Fehlerzeilen und hamgetstatus(3,8) die
    Warnungszeilen im Hauptfenster. Durch Schliessen des Fehlerlogs wird
    die Anzahl wieder auf 0 zurückgesetzt. {TGL}
  - Inputbox und Listbox sind jetzt größer dimensioniert. Bei der
    Listbox sorgt ein Doppelklick auf einen Eintrag jetzt für die direkte
    Auswahl, die Höhe der Listbox ist ggf. über die hamster.ini einstellbar:
    [Setup] Script.Listbox.Height=Höhe in Pixeln (Default 220) {TGL}
  - Varset erlaubt jetzt die Initialisierung von beliebig vielen Variablen,
    wobei der letzte Parameter den Wert enthält und die anderen Parameter
    die neuen Variablen sind. {TGL}
  - hammessage(9,1) aktualisiert jetzt auch die Menüeinträge. {TGL}
  - Fehler bei iniwrite, inidelete und inierasesection werden sicherheits-
    halber abgefangen, Rückwert 1 falls ohne Fehler, Rückwert 0, wenn
    Fehler. {TGL}
  - Fehler bei listload/listsave/listappend bewirken einen Logfile-Eintrag
    mit der Fehlermeldung von Windows. {TGL}
- Neu: Einstellungsdialog Automatische Abläufe: Neuer Button erlaubt jetzt
  das Einfügen von Message-IDs in die MID-Nachlade-Listen aus der Zwischen-
  ablage. Der Inhalt der Zwischenablage wird dabei automatisch aufbereitet,
  so daß nur die Message-IDs selber ausgefiltert werden. {TGL}
- Neu: Verzeichnisfenster: Hervorhebung der Textattribute optional incl. der
  Option, die eigentlichen Zeichen zu unterdrücken (Default). {TGL}
- Neu: Hauptfenstername änderbar: hamster.ini [Main] Title=..., folgende
  Platzhalter sind zulässig: %Hamster% für Produktname, %Version% für
  Versionsnummer und %Readonly% für Nur-Lese-Modus. Default bei Nichtangabe:
  "%Hamster% V%Version% %Readonly%" {TGL}
- Neu: In der jeweiligen Server.ini werden diverse statistische Daten bzgl.
  der Verbindungsversuche geführt - Anzahl erfolgreicher/gescheiterter Ein-
  wahlen, Letzte erfolgreiche/gescheiterte Einwahl und die Anzahl Versuche
  mit dem gleichen Ergebnis. Eine Darstellung über die Oberfläche ist noch
  nicht möglich. {TGL}
- Neu: hs2/OLE: Neue Hamster-Nachrichten: {TGL}
  - HamMessage(12,3) öffnet das News-Kill-Logfile (und wartet, bis es wieder
    vom Benutzer geschlossen wird)
  - HamMessage(13,3) schliesst ein schon geöffnetes News-Kill-Logfile.
  - HamMessage(12,4) öffnet den Dialog zum Abbonieren neuer Gruppen.
- Neu: Benutzerverwaltung
  - Innerhalb einer Benutzergruppe sind Einträge jetzt alphabetisch sortiert {HS}
  - Im Bearbeitungsdialog eines Benutzers wird die Liste seiner direkten
    Aliase angezeigt. {HS}
- Neu: Killfile/log: ESC als Hotkey zum Beenden, letzte Sortierungsreihenfolge
  (abwärts/aufwärts) wird beim Öffnen automatisch wiederhergestellt. {TGL}
- Änderung: Die Beispiel-vbs/pl/hsc-Dateien sind in Zukunft als ZIP-Datei
  mitgeliefert, um das Hauptverzeichnis etwas übersichtlicher zu gestalten,
  selbiges gilt für die Hamster-Icons. {TGL}
- Änderung: Default-Timeout für lokale Server von 60 auf 15 Minuten
  reduziert. {JW}   
- Änderung: Reihenfolge beim Mailempfang des lokalen SMTP-Servers so geändert,
  daß der Mailcounter vor Abarbeitung der Action erhöht wird. {TGL}
- Änderung: Erhöhte Kompatibilität des lokalen SMTP-Servers zu RFC 2821: {JW}
  - Envelope-Angaben ohne spitze Klammern werden zurückgewiesen
  - Source-Routen werden entfernt
  - Limit für Länge der RCTP- und Mail-Kommandos (510 Byte netto) wird überprüft.
  - Limit für Länge der Envelope-Adressen (256 Byte) wird überprüft.
- Änderung: Ein offener Konfigurationsdialog verhindert kein Beenden des
  Hamsters mehr. {TGL}
- Änderung: Skripthauptmenü und Untermenüs werden jetzt so sortiert, daß
  Einträge mit Untereinträgen als Block hinter den Direktaufrufen stehen und
  beide Blöcke unter Nicht-Beachtung von Groß/Kleinschrift und Unterstreichungen
  mittels "&" alphabetisch sortiert sind. {TGL}
- Änderung: Das Aktivieren des Hamsterhauptfensters per Trayicon holt eventuell
  noch offene Dialoge in den Vordergrund. {TGL}    
- Bugfix: Per Anführungsstriche konnten Mails an externe Adressen geschickt
  werden, auch wenn nur lokale Auslieferung zulässig war. {GW/HS}
- Bugfix: Das Flackern bei der Threadanzeige und beim Aufbau der Benutzer-
  Liste im entsprechenden Konfigurationsdialog ist beseitigt. {HS}
- Bugfix: Newshistory behandelte Gruppennamen mit Großbuchstaben inkon-
  sistent, so daß Löschungen nicht möglich waren. Ggf. muß sie einmal
  neu aufgebaut werden. {OJB}
- Bugfix: Lokaler IMAP-Server: Befehl "LSub" lieferte falsches bzw gar kein
  Ergebnis zurück, (FETCH) ENVELOPE hatte falsche Rückgabe (CRLF) und es gab
  Probleme bei den Adressen, die "Greeting"-Rückgabe entspricht nun den Angaben
  der anderen lokalen Server. {HS}
- Bugfix: In den Archivkopien von eigenen Postings fehlte die Angabe der
  Newsgruppe(n) in der ersten Zeile seit einigen Betaversionen. {MB}
- Bugfix: Verzeichnisfenster: Vorschau verschob bei Zeilen mit Textattributen
  die Zeilen drumherum. {TGL}
- Bugfix: Timeout bei SASL wurde fehlerhaft berechnet. {JH}
- Bugfix: Ein Timeout im Clientthread konnte eine allgemeine Schutzverletzung
  auslösen. {JH}
- Bugfix: Verschleierung der Hamster-generierten Message-ID funktionierte
  nur, wenn ein zusätzlicher FQDN gesetzt war, jetzt ist der MID-FQDN ent-
  scheidend. {JW}
- Bugfix: Das Hilfemenü im Hauptfenster funktioniert wieder korrekt. {TGL}
- Bugfix: hs2-Befehl HamSendMail legte automatisch ein unnötiges Server-
  verzeichnis an. {TGL}
- Bugfix: Diverse Freigaben von internen Thread-Objekten waren vom technischen
  Ablauf her falschherum (inherited VOR sonstigen Freigaben/Log-Befehlen). {HS}
- Bugfix: Eine nicht öffnenbare Mail in Mail.out verhindert nicht mehr das
  Senden der übrigen Mails. {HS}
- Bugfix: Wenn bei Schreiben in eine Newsgruppe ein Fehler auftritt, wird dieser
  detaillierter gemeldet. {OJB}

V1.3.23.161
- Neu: Konfiguration lokale Server: Erlaubte Anmeldeverfahren auch per Dialog
  änderbar. {TGL}
- Änderung: OLE-Befehl NewsGrpInformation meldet Gateway-Gruppen doch wieder
  als solche anstatt als moderiert. {TGL}
- Bugfix: SMTP-Server-Zugriff funktionierte dank falschem Timeout nur bei
  Einloggen mit Anmelden. {JW}
- Bugfix: POP3-Server-Zugriff funktionierte bei diversen Nicht-Default-Werten
  für das Timeout nicht mehr. {JH/JW}
- Bugfix: ReCo-Server war wegen Timeout ggf. nicht erreichbar. {JW}
- Bugfix: Bei Zugriff auf leere Header konnte eine Exception auftreten. {MB}
- Bugfix: User-ID fehlte im Received-Header von Mails {JW}
- Bugfix: log.IgnoreConnectionLost wurde beim NNTP-Server nicht beachtet {Till Meyer}
- Bugfix: Verzeichnisdialog/Vorschau: Hervorhebung von *fett* und Co funktionierte
  nicht immer und es wurde ein Leerzeichen verschoben. {TGL}
- Sonstiges: Aktualisierung der Hilfeverweise. {TGL}

V1.3.23.160
- Neu: Configurations-Dialog "Automatiken": {TGL}
  - Allgemeines: Passende schon bekannte Einstellungen (welche lokalen Server
    starten, automatisches Purgen) zusammengefasst, die Statistik wird nur noch
    auf Wunsch erstellt und die Tests beim Programmstart sind jetzt teilweise
    abschaltbar.
  - Actions: Editor für Bearbeitung des entsprechenden hamster.ini-Abschnitts
    incl. Erläuterungen pro Action und Anzeige, welche genutzt werden.
  - Einfache Kontrolle/Änderung der GetMids.txt-Dateien der externen NNTP-Server
- Neu: lokaler IMAP-Server incl. entsprechender Konfigurationsseite. Dieser
  ist noch in der Testphase, somit sollte er noch nicht im Produktivumfeld
  ernsthaft eingesetzt werden, bis zur 1.3.24.0 ist ein akzeptabler Reifegrad
  anvisiert, somit sind Testberichte an Heiko und Martin sehr erwünscht. {HS/MG}
- Neu: Dialog Mail/News-Verzeichnisse: Vorschau unterstützt jetzt auch Pseudo-
  Auszeichnungen für *fett*, /kursiv/ und _unterstrichen_ {HS/TGL}
- Neu: POP3-Server unterstützt in Anlehnung an RFC 2449 und RFC 3206 spezielle
  Fehlertoken in seinen Rückantworten, der CAPA-Befehl wird entsprechend um
  die Eigenschaften RESP-CODE und AUTH-RESP-CODE erweitert. {JW}
- Neu: NNTP-Erweiterung "mode cancel" a la INN integriert, erlaubt lokale
  Cancel ohne großen Overhead bei entsprechend berechtigtem User. {HS}
- Neu: hs2:
  - Funktion ClipRead gibt den Text-Inhalt der Zwischenablage wieder {GLG}
  - ClipWrite schreibt den übergebenen String in die Zwischenablage. {GLG}
    HINWEIS: Skripte für den allgemeinen Gebrauch sollten die ClipWrite-
    Funktion vermeiden oder deutlich auf die Verwendung hinweisen, da der
    Inhalt der Zwischenablage üblicherweise vom Anwender und nicht von Programmen
    verändert zu werden hat!
  - Funktion HamRCpath liefert den Skriptpfad für den ReCo-Server zurück. {JW}
- Neu: [Actions]: mail.getheader.* erlaubt die Bearbeitung der Header vor
  Ausführung der eigentlichen Mailfilter. {JW/TGL}
- Neu: hwindows.hsm enthält jetzt die Funktion "RasErrText", welche den Klartext
  zur übergebenen Fehlernummer zurückgibt. {JH}  
- Änderung: Original-Delphi-Fehlermeldungen jetzt in Englisch. {TGL}
- Änderung: Geschwindigkeits-Optimierung beim Filtern von Mails {HS}
- Änderung: Menüpunkt "erweiterte Einstellungen" jetzt mit dynamischem Text statt
  Häkchen, in den Dialogen ist der Text zu "Temp. erw. E." geändert, um das Zusam-
  menspiel zu verdeutlichen. {TGL}
- Änderung: Die Einstellungen, welche Gruppen der Nutzer lesen darf, wirken sich
  jetzt auch beim Suchen per Message-ID aus. {HS}
- Änderung: Keine automatische Erzeugung eines Server-Ordners zwecks Ablage der
  Greeting.txt mehr (betrifft POP3, SMTP und NNTP). {TGL}
- Änderung: Erhöhte Toleranz beim Suchen nach Headern: Das Leerzeichen hinter dem
  Doppelpunkt ist optional, ein TAB dort wird wie ein Leerzeichen behandelt. {TGL}
- Änderung: Hauptfenster - Shortkey für Skripte jetzt F4 statt F2, ESC minimiert
  Fenster (bzw. löscht bei aktiver hs2-Shell erst die aktuelle Eingabe) {TGL}
- Änderung: Default-Wert für [Setup] local.nntp.XOVERdelCRLF jetzt auf 1 (true),
  was dem Verhalten des Hamsters in 1.3.23.4 entspricht. {TGL}
- Änderung: Per POP3 empfangene Mails ohne Textbody bekommen jetzt automatisch
  einen Standard-Textbody, um Probleme bei der Weiterverarbeitung zu vermeiden. {JW}
- Bugfix: Test auf ungültige Server/Gruppen-Verzeichnisse meldet jetzt keine System-
  verzeichnisse mehr. {TGL}
- Bugfix: Abstürze/Fehlermeldungen beim Beenden des Mail/News-Dialoges sollten jetzt
  nicht mehr möglich sein. {TGL}
- Bugfix: Lokale Server waren trotz "Required TLS" startbar, wenn kein korrektes
  Zertifikat verfügbar war. {MG}
- Bugfix: hs2
  - Initialisierungsreihenfolge der Module war falsch herum. {TGL}
  - hamsendmailauth: Die Parameter für User und Passwort wurden nicht beachtet. {JW}
  - Rückwert beim Warten auf multiple Objekte mit "eventwait" nicht korrekt. {JW}
- Bugfix: Beim Zugriff aus mehrfach vorkommende Header wurde der letzte statt der
  erste Header zurückgeliefert. {HS}
- Bugfix: Das Gruppenflag "g" ist eine Hamsterspezialität, die zumindest bei Gravity
  zum Ignorieren entsprechender Gruppen in der Gruppenliste führt, jetzt wird eine
  entsprechende Gruppe im "Newgroups" als moderiert ("m") aufgeführt. {TGL}
- Bugfix: Mailadresse bei Infomails hatte kein Leerzeichen zwischen Namen und Mail-
  adresse. {JW}
- Bugfix: SSL-Logineinstellungen bzgl. POP3 wurden aus falscher Datei ausgelesen. {JW}
- Bugfix: Alias-POP3-Server führen nicht mehr zur Anlage von Ordnern für den originalen
  POP3-Server. {TGL}
- Bugfix: Dialog Mail/News-Verzeichnisse:
  - Rot13 einer komplett markierten Nachricht führte zu einem Laufzeitfehler. {TGL}
  - Auch bei Anzeige von News.out/News.err kamen Mail-spezifische Spalten. {TGL}
- Bugfix: Sperrung des Menüpunktes Killfile-Log/Einst. wurde beim Öffnen des Dateimenüs
  statt beim Öffnen des Einstellungs-Menüs durchgeführt. {MB}
- Bugfix: Configurationsdialog News: Anpassungen bei Größenänderung fehlerhaft {TGL}
- Bugfix: OLE-Befehl NewsGrpInformation griff auf falsche INI-Datei zu und enthielt
  noch nicht den Gruppennamen, Gateway-Gruppen werden als moderiert gemeldet. {HS}
- Bugfix: Login Timeout für Reco-Server korrigiert. {JW}
- Bugfix: u.a. bei Cancelreports fehlten die Zeilensprünge im zitierten Teil {JW}

V1.3.23.150
- Neu: Nachträgliches Filtern von Postings nach dem eigentlichen Laden erlaubt
  das Bewerten anhand aller Header und anhand des (rohen) Bodys. Die Einträge
  in Scores.hst für nachträgliches Filtern beginnen mit einem zusätzlichen "?",
  die filterbaren Header sind nicht eingeschränkt, zusätzlich zu den bekannten
  Pseudo-Headern "Bytes", "XPost", "Number" and "Age" kommen noch: "Header",
  "Body" und "Article" (enthält Header UND Body). Beispiele:
   ?+10 Supersedes: *
   ?=-9999 Body: "Merkens"
  Body, Header und Article sind grundsätzlich im Rohformat d.h. Dekodierung mit
  "~" wird nicht unterstützt, Quoted printable, Base64 und UTF-8-Artikel sind
  entsprechend schlechter filterbar. {Übernahme aus JHs Playground durch TGL}
- Neu: Per "Einstellungen / Erweiterte Einstellungen" können Einstellungen ober-
  halb der Basis-Einstellungen gezielt aktiviert bzw. deaktiviert werden, die
  relevanten Dialoge lassen sich mittels Checkbox ggf. direkt umstellen. {TGL}
- Neu / hs2:
  - Funktion DecodeMIMEHeaderString(String) bzw. DecodeMIMEHeaderString
    (String, Variable) erlaubt das Dekodieren von MIME-Headerzeilen, sollte der
    zweite Parameter gesetzt sein, bekommt die Variable den dekodierten Zeichen-
    satz zugewiesen. Hinweis: Es findet keine Konvertierung zwischen dem im
    Header benutzten Zeichensatz und dem Systemzeichensatz statt! {JW}
  - Funktion SysErrorMessage(Fehlernummer) gibt den Klartext zur übergebenen
    Windows-System-Fehler-Nummer zurück. {TGL}
  - Funktion ScriptPriority(Priorität) erlaubt das Festlegen der Priorität des
    Skript-Threads: 0=keine Priorität, Skript wird ausgeführt, wenn System unbe-
    schäftigt, 1=sehr geringe Priorität, 2=geringe Priorität, 3=normale Priorität,
    4=erhöhte Priorität, 5=hohe Priorität, 6=höchste Priorität, unter NT&Co Admin-
    Rechte nötig, entsprechende Konstanten sind in hamster.hsm zu finden. {JW}
- Neu: SSL - individuelle Cipher-Einstellungen je Server möglich: Server.ini,
  [NNTP] SSLCiphers=... {MG}
- Neu: Wahlweise kann beim Zurücksetzen von Gruppen auch die INI-Datei bereinigt
  werden, so daß die Gruppe beim nächsten Pull auch als neu betrachtet wird. {TGL}
- Neu / hamster.ini [Setup]
  - Einstellung für Timeout bei Übergabe von Parametern an laufende Hamsterinstanz, 0
    für Verzicht auf Timeout: StartUp.ScriptTimeout=..., Default 30000 = 30s {JW}
  - Einstellung, wie der XOver-Befehl auf Zeilenwechseln in Headern reagieren soll.
    local.nntp.XOVERdelCRLF=0 (Default) wandelt in Leerzeichen, =1 löscht CR/LF,
    was zumindest beim Forte Agent oder XNews zu empfehlen ist, da diese das Subject
    aus dem XOver holen und in Sonderfällen mit der Standardvariante ein falsches
    Antwort-Subject erzeugen. {TGL}
- Neu/Änderungen Mail/News-Verzeichnis-Dialog: {TGL}
  - ESC schließt Previewfenster bzw. - falls bereits geschlossen - den Dialog selber
  - (Wieder) Kontextmenü für Dateiliste
  - Kontextmenü für Vorschau
  - Optionen für Vorschau: Proportional/Festbreitenschrift, Wordwrap, Alle Header
  - Neue Vorschau-Funktionen: Rot-13 und Kopieren in Zwischenablage
- Neu: Beim Starten wird getestet, ob im Serverpfad Verzeichnisse sind, die zu
  keinem Server gehören und ggf. entsprechende Meldungen ausgegeben, zudem
  werden beim Löschen von einem Server ggf. auch bak-Kopien der Dateien gleich
  mit gelöscht. {TGL}
- Neu: OLE-Server per Menü "Lokale Server" an/abschaltbar, Wirkung der Änderung
  aber aus technischen Gründen erst nach einem Neustart. {TGL}
- Neu: Die Sprachdateien können jetzt auch Größen/Positionsänderungen an den
  Dialogen vornehmen, bei Setzen eines anderen Fonts dürften jetzt praktisch
  alle Dialoge drauf reagieren. {TGL}   
- Änderung: SSL-Einstellungen für lokale Server immer umstellbar, Warnung bzw.
  Fehler beim Starten vom Hamster, wenn SSL für Server aktiviert aber nicht
  nutzbar. {TGL}  
- Änderung: Detailliertere Log-Einträge bzgl. SSL / local verify. {JW/MG}
- Änderung: Option für "Bounce to Sender" im lokalen-Server-Dialog von POP3 nach
  SMTP verschoben, da bislang falsch eingeordnet. {TGL}
- Änderung: Hotkey für Remote Control eleminiert, da zu leicht versehentlich
  anschaltbar. {TGL}
- Änderung: Interne Mailalias-Struktur optimiert, Zeilen, die mit ";" oder "#"
  anfangen, werden automatisch als Kommentar aussortiert. {TGL}
- Änderung: Die Routinen bzgl. Posten von News und Mailrouter wurden intern
  überarbeitet, für die Benutzer sollte sich nichts merkliches ändern, außer daß
  einiges mehr protokolliert wird. {JW/TGL}
- Änderung: Die internen Objekte TArticle und TMess sind zu einem komplett neu
  programmierten Object zusammengelegt worden (TArticle), was etliche Klein- und
  Kleinständerungen über das gesamte Programm verteilt bedingt hat, ggf. sind
  dabei auch einige neue Fehler entstanden. {TGL}
- Änderung: NewMail-Funktion (hs2/OLE): Fehler bei fehlenden From/To-Headern,
  erweitertes Logging {JW}
- Änderung: Falls OLE-Befehl ControlChangePassword mißlingt (falsches altes PW)
  wird eine Warnung in die Log-Datei geschrieben. {TGL}
- Änderung: Der Skript/Modul-Dialog startet mit der zuletzt aktivierten Unter-
  seite. {TGL}
- Bugfix: Die Initialisierungen von Modulen liefen falsch herum ab, so daß bei
  geschachtelten Modulen Zugriffe im Initialisierungsteil auf Variablen von
  Untermodulen zu Fehlern führten. {TGL}
- Bugfix: hs2-Befehl HamSendMailAuth funktionierte nur noch wie HamSendMail {JW}
- Bugfix: Fehlerhafte Rückmeldung des lokalen POP3-Servers bei gesperrter
  Mailbox (+ERR statt -ERR). {JW}
- Bugfix: Das Sperren von Menüpunkten per hamster.ini konnte durch Nutzung
  der Shortcuts umgangen werden. {TGL}
- Bugfix: Bei Info-Mails an externe Adressen konnte es bei einem Adresse
  incl. Name zu Problemen kommen. {JW}
- Bugfix: Der SMTP-Client erzeugte unter Umständen sinnlos viele Fehlermeldungen {JW}
- Bugfix: Die Option zum Löschen übergroßer Mails funktionierte nicht, da ein falscher
  Ini-Schlüssel (mail.filter.mailsize.kill statt mail.filter.mailsize.delete) ein-
  gelesen wurde. {JW}
- Bugfix: Die Meldung, daß der letzte Zugriff auf die Gruppenliste in der Zukunft
  liegt, wurde auch dann ausgegeben, wenn der letzte Zugriff zu lange her war, ab
  jetzt sind das getrennte Meldungen. {TGL}
- Bugfix: HamSendMails Prüfung per Empfänger-Regexp funktionierte immer noch
  nicht {TGL}

V1.3.23.141
- Bugfix: Die .140 erzeugte durch die neue OnIdle-Routine 100% Rechenlast. {TGL}

V1.3.23.140
- Neu: SSL direkt eingebaut, diverse Dialoge (Generelle Einstellungen, lokale
  Server, Newsserver/Mailserver-Dialoge) sind entsprechend angepasst, zur
  Nutzung sind die DLLs libeay32.dll und libssl32.dll in entsprechend neuen
  Versionen Voraussetzung. Die alte SSL-Funktionalität ist komplett entfernt,
  dadurch kommt es noch zu folgenden Änderungen: Die SSL-Befehle (incl. OLE-
  Schnittstelle) SendMailSSL, FetchMailSSL, FetchMailAuthSSL, OpenSSLTunnel
  und CloseSSLTunnel sind nicht mehr vorhanden, dafür aber die neuen Befehle
  ControlRunFetchMailTLS, ControlRunSendMailTLS und ControlRunSendMailAuthTLS.
  Sofern SSL aktiv ist, wird für die Zufallsfunktionalität (Random) auf die
  SSL-Funktionalität zurückgegriffen, da diese "echtere" Zufallswerte liefern
  kann als der Delphi-Pseudo-Zufallsgenerator. {Martin Germann}
- Neu: Mails an unbekannte lokale Empfänger können jetzt "gebouncet" werden.
  Aktivieren über Lokale Server / POP3 oder hamster.ini [setup]
  local.mail.BounceIfUnknownUser=1 {JW}
- Neu: Unteroption für "SMTP-Auth" beim lokalen SMTP-Server erlaubt das Senden von
  Mails an lokale Empfänger auch ohne Authentifizierung (hamster.ini [Setup]
  local.mail.reqnotauth), Default: 0. {JW}
- Neu: Messages erweitert (HamMessage): 12,2=Skript-Dialog öffnen, 13,1=Mail/
  News-Verzeichnis-Dialog schliessen, 13,2=Skript-Dialog schließen. {TGL}
- Neue Actions: {TGL}
  - Status.click.* erlaubt eine Reaktion auf einen Einfachklick auf die Status-
    zeile. Diese Aktion wird auch dann aufgerufen, wenn man einen Doppelklick auf
    die Statuszeile ausführt.
  - Status.doubleclick.* erlaubt eine individuelle Reaktion auf einen Doppelklick
    in die Statuszeile. Sofern nicht gesetzt, ruft ein Doppelklick den Mail/News-
    Verzeichnis-Dialog auf. {TGL}
  - TrayIcon.click.* erlaubt eine Reaktion auf ein einfaches Anklicken des Tray-
    Icons, fehlt diese Reaktion, wird das Hamsterfenster angezeigt, bei einem
    TrayIcon-Doppelklick wird diese Aktion logischerweise ebenfalls vorher
    ausgeführt.
- Neu: Action "news.gateway.*" erlaubt eine Unterscheidung von Postings in lokale
  Gruppen (weiterhin per "news.local.*") und mittels postto in Postings umgewandelte
  Mails (ab jetzt "news.gateway.*"). Sofern "news.local.*", "news.gateway.*" oder
  "news.out.*" nicht gesetzt sind, aber "news.*", wird für die entsprechende Aktion
  die "news.*"-Action-Einstellung ausgeführt. {TGL}
- Neu: Um einzelne Menüpunkte im Hauptfenster zu deaktivieren, kann die Einstellung
  hamster.ini, [Setup], Main.HideMenuItems verwendet werden. Die Namen der auszu-
  schaltenden Menüpunkte müssen mit Komma getrennt sein und den internen Menünamen
  entsprechen, die man am einfachsten durch Nachschauen in der hamster_de.dat,
  [THamsterMainWindow/Form] finden kann: Einfach das MI. davor wegnehmen. {TGL}
  Beispiel: Main.HideMenuItems=mnuFileRebuildGlobalLists, mnuFilePurge, mnuFileRebuild
- Neu: hs2:
  - Zum Freigeben von Resourcen in Modulen gibt es als Gegenstück zu #!initializate
    jetzt auch #!finalize, der entsprechende Abschnitt muß entweder am Modulende
    kommen oder durch einen Return()-Befehl beendet werden. {JH}
  - HamNewsJobsCheckActive ruft gezielt die Newsserverinfos ab (neue Gruppen),
    mittels Konfigurationsdialog oder hamster.ini [setup] nntp.autogetserverinfos=0
    kann das automatische Abfragen im Zusammenhang mit normalen Newsjobs abgeschaltet
    werden. {JW}
  - MID-Funktionen auf Gruppenbasis: HamArtLocateMidInGroup ( MID, Gruppenname, Variable )
    liefert in Variable die Artikelnummer der MID innerhalb der Gruppe und als Rückwert
    0 zurück, falls der Artikel nicht gefunden wird, ist der Rückwert -1.
    HamArtDeleteMidInGroup ( MID, Gruppenname ) löscht den Artikel mit der Message-ID
    in der Gruppe und liefert im Erfolgsfall 0 zurück. {TGL}
- Neu: Wenn der FQDN für Message-IDs keine lokale Domain ist, kann die entsprechende
  Überprüfung für Mailadressen über den Lokalen-Server-Dialog oder die hamster.ini
  [Setup] local.mail.LocalMIDFQDN=0 deaktiviert werden. {JW}
- Neu: Sprachdatei enthält gewünschte Schriftart und Schriftgröße getrennt nach
  Proportional- und Fixed-Pitch-Font, ggf. für Einzeldialoge speziell einstellbar.
  Dadurch ist eine breitere Sprachunterstützung möglich. {TGL}
- Neu: Mittels hamster.ini [main] Logs.ShowHints=0 kann die Anzeige der Hints beim
  Überfahren des Logs per Maus deaktiviert werden. {TGL}
- Neu: Rudimentäre Fortschrittsanzeige, falls zum Programmstart die History neu
  erzeugt werden muß. {TGL}
- Neu: Logfile: {TGL}
  - Hamster löscht jetzt auch (lückenlos aufsteigende) Altprotokolle oberhalb der
    aktuellen Maximalzahl für Protokolle.
  - Mittels hamster.ini [Setup] log.FormatFileName= kann jetzt das Dateinameschema
    für die Haupt-Logdateien eingestellt werden, der String muß dabei "%d" für die
    Nummer bzw. "%.xd" enthalten, wobei x für die Anzahl der Stellen steht, die
    ggf. mit Nullen aufgefüllt werden. Beispiel: log.FormatFileName=Ham_%.4d.log
- Neu: Mail/News-Dialog: {TGL}
  - Per hamster.ini [EditDirs] ShowHeaders=... können die Header ausgewählt werden,
    die in der Vorschau von Mails/News angezeigt werden.
  - Default-Sortierung getrennt nach Mail und News per Menüpunkt änderbar
  - Buttons und Kontextmenü durch Hauptmenü ersetzt
  - Neue Funktionen Copy/Rename
  - Links in der Vorschau aufrufbar bzw. in die Zwischenablage kopierbar {HS/TGL}
- Änderung: Die Temporärdateien, die für die Actions news.local und news.preprocess
  angelegt werden, verwenden jetzt das Temp-Verzeichnis und erzeugen somit auch
  keine neuen "Löcher" in der Numerierung. {TGL}
- Änderung: Sprachdateienhandling - On-the-fly-Änderungen in der hamster_xx.dat
  werden beim Aufruf des nächsten Dialoges direkt beachtet, Änderungen praktisch
  sofort gespeichert, das Verhalten bzgl. obsoleter Einträge ist jetzt je Sprach-
  datei einstellbar. {TGL}
- Änderung: Falsche Pfadangaben bzw. (noch) nicht existente Pfade, auf die in
  hamster.ini [Directories] verwiesen wird, werden mit entsprechenden Log-Warnungen
  bzw. Fehlern bedacht. {TGL}
- Änderung: hs2: Präprozessor-Kommandos funktionieren jetzt auch, wenn führende
  Leerzeichen vorhanden sind. {TGL}
- Änderung: Zusätzliches Timeout bei Übergabe der Daten von einer zur anderen
  Hamster-Instanz vermeidet einen Dauerhänger beider Instanzen, wenn der angesprochene
  Hamster aus irgendwelchen Gründen nicht antwortet. {JW}
- Änderung: Actions werden bei "Einstellungen/Konfiguration neu laden" jetzt eben-
  falls nachgeladen. {TGL}
- Änderung: Der POP3-Server erlaubt Anmeldebefehle nur nich bis zur ersten erfolg-
  reichen Anmeldung um DOS-Angriffe (DOS=Denial of Service) zu erschweren. {JW}
- Änderung: Cancels in lokalen Gruppen behalten den History-Eintrag bei, um ein
  versehentliches Nachladen des gecancelten Artikels zu vermeiden. {Jens Kordilewski}
- Änderung: Logtyp-Kürzel in Logdateien ensprechen jetzt der Playground-Version {TGL}  
- Bugfix: Protokolle im Log-Verzeichnis waren unvollständig, Nummern wurden über-
  sprungen. {TGL}
- Bugfix: HamSendMails Prüfung per Empfänger-Regexp funktionierte nicht. {TGL}
- Bugfix: hs2: Unter Umständen kam es zu Mehrfachinitialisierungen von Modulen,
  die Initialisierungsreihen war exakt andersrum als zu erwarten, Angabe eines
  falschen Modulnamens bei Initialisierungs-Fehlern. {JH}
- Bugfix: Neu angelegte Benutzergruppen hatten fehlerhafte Einstellungen für die
  Gruppenzugriffsrechte ("" statt ".*") {TGL}
- Bugfix: Beim Abholen von Mails konnte es zu Abbrüchen kommen, da das entspre-
  chende Timeout im Hamster nicht korrigiert wurde. {JW}
- Bugfix: Das Löschen eines Artikels lies History-Einträge stehen, sofern man es nicht
  in einer Schleife aufrief, bis die Funktion false zurückgab, obwohl schon beim Erst-
  durchlauf die eigentlichen Artikelinkarnationen gelöscht werden. {Jens Kordilewski}
- Bugfix: hs2-Funktion EventMultipleWait lieferte immer -2 zurück. {Hubert Kotzler}
- Bugfix: hs2-Befehle MemGetStr und MemSetStr waren gegen Längenangaben mit "0"
  nicht geschützt, MemSetStr beachtet jetzt zudem die Maximallänge und setzt sicher-
  heitshalber ein #0 ans Stringende. {JH}

V1.3.23.130
- Neu: Dialog für News.out, Mail.out & Co: (Abschaltbare) direkte Vorschau auf
  Mails/Postings, sofern eins ausgewählt ist, nur die wichtigsten Header
  werden angezeigt, Zitate werden farblich als solche gekennzeichnet. {TGL}
- Neu: Hamster-Message (12, 1) öffnet den Dialog für News.out & Co {TGL}
- Neu: Neue [Actions] benutzbar: {TGL}
  - trayicon.doubleclick.* erlaubt eine individuelle Reaktion auf einen
    Doppelklick auf das Hamstericon
  - startup.* einen Aufruf direkt nach Initialisierung (und ggf. Aufräumen
    der Datenbank)
  - shutdown.* wird vor dem endgültigen Beenden des Hamsters aufgerufen
  - news.preprocess.* wird vor der eigentlichen Verarbeitung ausgeführt für
    alle lokalen und ausgehenden Postings
- Neu: In den Protokollen im Hauptfenster wird die Zeile unter dem Mauscursor
  als Hint eingeblendet, dies erlaubt das Lesen von überlangen Protokoll-
  zeilen ohne Fenstervergrößerung. {TGL}
- Neu: Differenziertere Fehlermeldung bei Fehlerhafter NNTP-Client-Anmeldung
  (Greeting wird ggf. genutzt) {Michael Gebert}
- Neu: Bei Absturz des Explorers wird das Tray-Icon auf neueren Systemen
  automatisch wieder neu erzeugt, sobald der Explorer wieder gestartet
  wurde. {Jan Henrik Sylvester}
- Neu: Über die Hamster.ini-Einstellung [Setup] Log.IgnoreConnectionLost=1 kann
  die Warnung "Connection lost/Verbindung verloren", die speziell bei OE massiv
  auftritt, gezielt deaktiviert werden. {WJ}
- Änderung: [Actions] news.local.* wirkt jetzt nicht nur auf "normale" lokale
  Postings, sondern auch auf Mails, die per PostTo-Regeln in Gruppen
  umgeleitet worden sind. {Chip Verde}
- Änderung: hs2-Funktion ListLoad/ListSave hat ggf. neue Rückwerte: -1 für
  ungültiges handle, -2 für gescheitertes Laden/Speichern, -3 bei ListLoad,
  wenn die Datei nicht existiert. {JW}
- Änderung: Aufruf der System-Information über Hilfe kopiert Infos nur nach
  Rückfrage in Zwischenablage. {TGL}
- Änderung: Zugriff auf Sprachdatei geändert, um 64kb-Grenze zu umgehen und
  die Geschwindigkeit zu optimieren {TGL}
- Änderung: Anpassung an HamRC: Parameter mit Leerzeichen mittels Quoting
  ermöglicht. {JH}
- Bugfix: RunScript mit wait=true konnte ggf. eine Exception hervorrufen
  {Andreas Spangenberg/JH}
- Bugfix: Ein Skriptstart über eine Verknüpfung wechselte das verwendete
  Logfile. {TGL}
- Bugfix: XOver wird "XNews-freundlicher" generiert {JH}
- Bugfix: Aktuelle Einstellung für Anzahl Logfiles wurde ignoriert {TGL}
- Bugfix: Account-spezifische Einträge funktionierten nicht korrekt {TGL}
- Bugfix: Login per CRAM-MD5 für Telnet-Server kompatibel zum Playground {JH}
- Bugfix: Der hs2-Befehl "PopUpBox" reagiert jetzt auch auf MB_TOPMOST oder
  MB_SYSTEMMODAL (inhaltliche Bedeutung beider Flags identisch) und der
  Schließen-Button wird jetzt - analog zur normalen Message-Box - nur bei
  einem gesetzten Cancel-Button verfügbar gemacht. {WJ}
- Bugfix: Die neuen Präfixe bei der SMTP-Einwahl (PLAIN:, SASL:, ...) wurden
  vor dem eigentlichen Login im Server nicht entfernt. {JW}
- Bugfix: Unter bestimmten Umständen startete Hamster mit einer "Leerseite" {TGL}
- Bugfix: Peering funktioniert jetzt auch mit Artikel ohne Body. {HS}
- Bugfix: hs2-Befehl HamGroupOpen - wenn das Öffnen einer Gruppe fehl schlug,
  wurde trotzdem eine Freigabe des Handles erwartet. {JW}
- Bugfix: News=>Mail-Gateway produzierte ggf. einen doppelten X-Posting-Agent-
  Header {JW}   

V1.3.23.120
- Neu: "Actions" per hamster.ini haben erweiterte Funktionalität:
  - Zusätzlich zu den bisherigen Aktionen mail.out, mail.in, mail.internal,
    mail.local, news.out und group.doubleclick gibt es jetzt noch news.local
    für Postings in lokale Gruppen
  - Falls keine news.out.* oder news.local.*-Einträge existieren, wird -
    sofern vorhanden - auf news.* zurückgegriffen
  - Falls keine mail.untertyp.*-Einträge existieren, wird - sofern vorhanden -
    auf mail.* zurückgegriffen
  - Accountspezifische Einstellungen für Mail-Actions, welche Vorrang vor den
    normalen Einträgen haben, bei eingehenden Mails für Account "abc" wird somit
    in folgender Reihenfolge nach einer passenden Aktion gesucht: mail.in.abc.*,
    mail.abc.*, mail.in.*, mail.* - wenn eine Aktion gefunden wurde, wird der
    Rest der Liste nicht mehr überprüft.
  - Erweiterte Syntax der Einträge für Skripte und Warteeinstellung: Typ.exec
    und Typ.pars rufen wie bislang ein externes Programm auf, Typ.script ruft
    ein gleichnamiges hs2-Skript auf, per ParamStr(1) kann dabei auf den
    Aktionstyp und per ParamStr(2) auf den jeweiligen Parameter (Dateiname bzw.
    Gruppenname) zugegriffen werden. Ist beides gesetzt, wird zuerst das externe
    Programm und dann das Skript gestartet. Mit Typ.wait hat man noch folgende
    Alternativen: 0=kein Warten (Default), 1=Auf das Ende beider Aufrufe wird
    gewartet, 2=Auf das Ende vom externen Aufruf wird gewartet, 3=Auf das
    Skriptende wird gewartet. Nur bei news.local wird Wartetyp 1 automatisch
    gesetzt. {TGL & WJ & Chip Verde}
- Neu: Dialog für News.out, Mail.out & Co: Status "alle" wird dauerhaft gemerkt,
  Doppelklick auf Icon ruft Explorer auf, kein doppelter Titel mehr beim Re-Akti-
  vieren, Buttons der unteren Zeile mit obiger Zeile vereinigt {TGL}
- Neu: Konfigurations-Menü um "Edit hamster.ini" und "Reload Settings" ergänzt,
  Shortcuts für diverse Befehle (F2, F3, F5, F6-F9). {TGL}
- Neue hs2-Befehle:
  - Scheduler-Einträge abfragen: AtCount, AtSubfunction(Nr), AtFrom(Nr),
    AtUntil(Nr), AtOnDays(Nr), AtEveryMins(Nr) {JW/TGL}
- Neu: Warnung im Log, wenn ein mit Execute gestarteter Aufruf fehlt schlägt {TGL}
- Neu: Limit für maximale Zahl von Verbindungen von einer IP aus, welches mit dem
  fixen Limit von 4 in .110 eingebaut wurde, ist jetzt per Dialog oder hamster.ini
  änderbar ([Setup] MaxLocalXXXXServersPerIP, Für XXXX sind POP3, SMTP, NNTP und
  ReCo möglich, Wert 0 schaltet das Limit ganz aus, Werte größer als das allgemeine
  Clientlimit ([Setup] MaxLocalXXXXServers) sind unsinnig. {TGL/JW}
- Änderung: HS2-BEFEHLE HAMSENDMAIL und HAMSENDMAILAUTH! Nach dem FromSelect-
  Parameter kommt jetzt noch ein To-Select-Parameter, basierend auf den RCPT-To-
  Einträgen, die Folgeparameter für SSL verschieben sich entsprechend. {TGL}
- Änderung: Log-Dateien (0.log, ...) enthalten jetzt pro Eintrag noch einen drei-
  buchstabiges Kürzel zwischen Datum/Zeit und Thread-ID, welcher Auskunft über
  den Typen gibt: ERR=Fehler, WAR=Warnung, Sys=Systemmeldung, Inf=Info,
  Det=Detail, deb=Debug und sta=Status. {HS}
- Änderung: Export von (großen) Artikeln optimiert. (ham export) {Obbe-Jan Bakker}
- Änderung: Einstellung für Default-Skriptsprache entfernt, da nur noch hs2 vor-
  handen {TGL}
- Bugfix: Hamster-Message 5, x beeinflusste den POP3- statt den SMTP-Server {TGL}
- Bugfix: Authentifizierung am SMTP-Server klappte beim Netscape Communicator
  nicht mehr. {JW/JH}
- Bugfix: Der NNTP-Group-Befehl gibt jetzt die exakte Artikelzahl an {JH}
- Bugfix: Ein nicht installiertes DFÜ-Netzwerk sollte keine Problem mehr
  verursachen {JH}
- Bugfix: Beim Aufruf per ONLINE wurde bei gleichem Servernamen für verschiedene
  Protokolle (NNTP/SMTP/POP3) nur eines "bedient". {TGL}
- Bugfix: Auch bei abgeschalteter Option "Mail senden" des Benutzers war ein Mail-
  versand möglich. {TGL}
- Bugfix: Einträge im Killfile und About-Dialog funktionieren jetzt auch bei
  extremeren Farbschemata korrekt (Weiß auf Schwarz) {TGL}
- Bugfix: "WaitForEnd"-Flag wurde beim Aufruf eines Skriptes per ReCo-Server
  nicht beachtet {JH}
- Bugfix: Fehlerhaft formatierter "Bytes"-Header sorgte für Filter-Fehlfunktion
  (postto) {WJ}    

V1.3.23.110
- Neu: Remote Control - Konfiguration über "Lokale Server"-Menü, Nutzung mittels
  telnet (Port 23), separates Skriptverzeichnis möglich ([Directories] ScriptsRC).
  {Übernahme aus JHs Playground durch TGL, SASL-Verschlüsselung durch JW}
- Neu: Dialog für Benutzereinstellungen überarbeitet, neuer Test-Button zum Über-
  prüfen der Einstellungen, welche Gruppen gelesen dürfen und in welche gepostet
  werden darf. {TGL}
- Neu: Unterstützung von SASL-Verschlüsselung für Client- und Serverfunktionalität
  (POP3/SMTP/telnet), bei pop3 kann analog zu APOP:Passwort auch CRAM-MD5:Passwort,
  PLAIN:Passwort, LOGIN:Passwort, SASL:Passwort, AUTH:Passwort und CRAM-SHA1:Passwort
  verwendet werden, um das Authentifizierungsverfahren zu bestimmen. {JW}
- Neu: Abholen von Mails eines POP3-Servers stückweise möglich (z.B. bei Störungen
  beim Provider): Server.ini des POP3-Servers, [pop3] GetMaxMailsPerSession=x
  Default für x ist 0 d.h. alle auf einmal laden, mit z.B. 1 wird je Mail eine
  Session geöffnet und direkt wieder geschlossen. {TGL}
- Neu: OLE-Server-Funktionalität jetzt bei Bedarf abschaltbar (hamster.ini,
  [Setup] startup.OLEServer=0) und der Name ist jetzt auch frei änderbar
  (hamster.ini [Setup] COMServerName=..., Default "Hamster"), wobei aber weiterhin
  nur ein OLE-Server parallel unterstützt wird, da die interne Kennnummer (noch?)
  nicht änderbar ist. {JW}
- Neu: Die hs2-Befehls-Einfüge-Buttons enthalten jetzt auch die Namen der verfüg-
  baren Server und DFÜ-Netzverbindungen {TGL}
- Neu: Filterregel für MailFilt.hst zum Hinzufügen des Default-Users (entsprechende
  Einstellung des POP3-Servers, Default: Admin). Benutzung: AddDefault {TGL}
- Anpassungen an Playground bzgl. Server-Funktionalitäten: Server-Basis-Klassen
  angepasst, Locking für Passwort und Konfigurations-Objekt umgestellt und diverse
  Änderungen in main.pas beim Aufruf der Server und bei den NNTP/SMTP/POP3-Server-
  objekten selber. {TGL/JW}
- Anpassungen an den Playground bzgl. der Skriptsprache: KEINE UNTERSTÜTZUNG FÜR
  HS1-SKRIPTE MEHR, Performance optimiert, besseres Resourcenhandling (automatische
  Freigabe aller allokierten Resourcen incl. Warnung im Log) {TGL}
- Neue hs2-Skript-Befehle:
  - hamaddlog ( Text, Typ [, Show Scriptname] ), entspricht "addlog"
  - digest ( 0/1/2, Wert [, als Hexwert? ] ): Int/Str, für Prüfsummen verwendbar,
    0=CRC32, 1=MD5, 2=SHA. {JH}
  - Funktionen für die Nutzung von DLL-Funktionen: dllload (DLL-Name): handle,
    dllcall (Funktionsname, Par1 ... Par11 ), dlllasterror: Int und dllfree
    (handle): Int, Beispiele in den hw_*.hsm-Dateien. {JH}
  - Funktionen zur Nutzung "roher" Speicherblöcke: memalloc(Größe in Bytes): handle,
    memsize(handle):size, memsetint(handle, value):value, memgetint(handle): value,
    memsetstr(handle, String):String, memgetstr(handle): String, memvarptr(variable),
    memfree(handle) und memforget(handle) {JH}
  - random(x): Zufallszahl zwischen 0 und x-1 {JH}
  - EventMultipleWait( [ Objekt1 .. Objekt10 ] ): -1=Timeout {JH}
  - Konfiguration der lokalen Server auslesen: HamMainFQDN, HamMidFQDN,
    HamEnvelopeFrom, HamPostmaster, HamUsenetAcc {JW}
- Änderung: Filterregeln für MailFilt.hst toleranter, folgende Varianten werden
  jetzt akzeptiert: Add(user) ohne Feldangabe - wird immer ausgeführt. Leerzeichen
  zwischen Befehl und Klammer oder innerhalb der Klammer werden akzeptiert, falls
  zwischen Feldname und Feldinhalt in der Bedingung das Leerzeichen fehlt, aber
  ein Doppelpunkt dazwischen ist, ist es jetzt auch zulässig. {TGL}
- Änderung: Skript/Modul-Dialog überarbeitet, ein Einstellen der relevanten Pfade
  ist jetzt über eine eigene Seite möglich, die Bearbeitung des Moduls für die
  hs2-Shell ebenfalls, der Zustand von "edit direkt" wird jeweils für den
  nächsten Aufruf gemerkt und der Dialog ist bei Bedarf vergrößerbar. {TGL}
- Änderung: Benutzer und Benutzergruppen-Dialog überarbeitet, um zusätzliche
  Einstellungen sinnvoll unterzubringen. {TGL}
- Änderung/Bugfix: Insert zum Einfügen von Kommandos in die hs2-Shell blockiert nicht
  mehr die Strg+Einfg und Shift+Einfg, im Editfenster für Module und Skripte ist
  Einfg jetzt auch nutzbar. {TGL}
- Änderung/Bugfix: help-Befehl des lokalen POP3-Servers aktualisiert (auth und capa
  fehlten) {JW}
- Bugfix: Fehlende Schreibrechte auf die hamster.ini führten ggf. zu Abstürzen {JW}
- Bugfix: Wenn das Einlesen einer Mail aus Mail.out fehlschlägt, wird dies mit
  einer eindeutigen Fehlermeldung kommentiert. {JW}
- Bugfix: Diverse Kompatibilitäts-Anpassungen bzgl.Windows XP, speziell betrifft das
  Erkennung von Hamster-Instanzen (Doppelstarts etc) und die Hamster-Events. {JW}
- Bugfix: Das Speichern in Protokolldateien oder andere Textdateien wird jetzt
  synchronisiert, so daß parallele Zugriffe nicht mehr vorkommen können {JH}
- Bugfix: Das gezielte Abholen von POP3-Mailservern funktionierte zumindest über das
  Online-Menü nicht mehr, wenn der Name nicht komplett in Kleinschrift war. {TGL}
- Bugfix: Die Popup-Menüs im Hauptfenster waren nicht mehr korrekt zugeordnet {TGL}
- Bugfix: Beim Suchen nach Dateien wurden ggf. benutzte Windows-Resourcen
  (Dateihandle) nicht wieder freigegeben. {JW}
- Bugfix: Beim Posten über Gateways wurde beim Kürzen des Newsgroups-Headers ver-
  sehentlich irgendeine andere Headerzeile mit dem gekürzten Header überschrieben {TGL}

V1.3.23.100
- Neu: Moderierte Newsgruppen haben jetzt eine Moderationsadresse, an die
  Postings in diese Gruppe automatisch als Mail gehen, sofern kein
  "Approved"-Header gesetzt ist. Dies gilt auch für Crosspostings, die
  mindestens eine entsprechende Gruppe umfassen. Bei Crosspostings in
  mehrere moderierte Gruppen "gewinnt" die erste passende Gruppe im
  Newsgroups-Header. {JW/TGL}
  Anmerkung: hamster.ini: [Setup] mail.GateUseHamsterEnvelope=1/0
    bestimmt, woraus der Envelope-From solcher Mails gebildet wird, [Setup]
    mail.flupforgate=1/0 bestimmt, ob ein F'up2-Header bei Konvertierung von
    Mails zu Postings gesetzt werden soll. (gilt auch für den Folgepunkt)
- Neu: Gateway-Newsgruppen, Postings an diese gehen immer an die eingestellte
  Mailadresse, sollte ein Crossposting auch ein oder mehrere Gateways umfassen,
  wird für jede eine Mails rausgeschickt und der Newsgroups-Header um diese
  Gruppen gekürzt, bevor das Posting für die Restgruppen rausgeht. {JW/TGL}
  Der neue Typ "Gateway" schickt Postings immer als Mail raus.
- Neu: Direkte Bearbeitung von Skripten und Modulen im entsprechenden Dialog {TGL}
- Neu: Einfügen von Hamster-Befehlen/Funktionen und den in Modulen definierten
  Variablen und Funktionen per Button in der hs2-Shell und im Bearbeitungs-
  dialog für Skripte und Module, in der Shell ist der Aufruf auch über EINFG
  erreichbar. {TGL}
- Neue hs2-Befehle:
  - popupbox ( Text, Titel, Typflags, Anzahl Sekunden bis zum automatischen
    Beenden des Dialogs, Rückwert im Falle des Zeitabbruchs ) {WJ}
  - inidelete (Inidatei, Abschnitt, Schlüssel) löscht den angegebenen INI-
    Eintrag {TGL}
  - inierasesection (Inidatei, Abschnitt) löscht den angegebenen Abschnitt
    der INI-Datei komplett {TGL}
  - LookUpHostAddr(<hostname>) / LookUpHostName(<IP-address>): Ermitteln
    von IP-Adresse für hostname bzw. umgekehrt {JW}
- Neu: Counter für die per Message-ID nachgeladenen Artikel. Im Statusfeld
  per %NM einblendbar, in hs2-Skripten per HamGetStatus ( 3, 8 ) und in externen
  Programmen mittels OLE-Befehl ControlGetStatus (3,8) auslesbar. {HS}
- Neu: Unterstützung des NEWNEWS-Befehl im Newsclient, auf Benutzerebene
  freizuschalten. {JH}
- Neu: Dialog für News.out, Mail.out & Co {TGL}
- Neu: Liste der noch abzuarbeitenden Newsjobs wird automatisch eingeblendet,
  sobald welche vorliegen, Prioritätsänderung & Löschen per Button möglich {TGL}
- Neu: lokaler POP3-Server unterstützt jetzt auch den CAPA-Befehl (RFC2449) {HS}
- Neu: Benachrichtigungen über neue Gruppen per rexexp beschränkbar:
  hamster.ini, [Setup] FilterNewGroupsInfo=.*
  Eine Beschränkung auf Newgroups für die Hierarchien "de.ALL" und "hamster.all"
  sähe so aus: FilterNewGroupsInfo=^(de|hamster)\.   {TGL}
- Neu: Grundeinstellungen / Interne Gruppen: Lokale Gruppen direkt anlegbar {TGL}
- Neu: Newseinstellungen / Gruppen: Multiple Gruppenauswahl möglich {TGL}
- Neu: Newseinstellungen / Ladeaufträge: Multiple Auswahl möglich {TGL}
- Neu: hs2: Fehlermeldung bei unbekanntem Servernamen als Parameter für
  HamNewsPull, HamNewsPost, HamNewsJobsPullDef und HamNewsJobsPostDef. {TGL}
- Neu: Per hamster.ini, [Setup] local.nntp.feedjunk=1 kann Hamster so eingestellt
  werden, daß das Feeden von Artikeln mit unbekannten Gruppen möglich ist, diese
  landen dann in der entsprechenden internen Gruppe. {JW}
- Änderung: Klicks auf Hamstericons umgestellt: Einfach-Klick links = Hamster wird
  angezeigt, Rechts-Klick und Doppelklick links = Popupmenü. Bei Doppelklick wird der
  Menüpunkt "Anzeigen" versteckt, da unsinnig. Zusätzlich zu "Anzeigen" gibt es jetzt
  auch einen gegenläufigen Menüpunkt "Minimieren" direkt darunter. {TGL}
- Änderung: Bearbeitungsdialog für Skripte/Module nicht mehr modal {TGL}
- Änderung: Die hs2-Befehle HamNewsjobsstart, HamArtDeleteMID, HamArtImport,
  HamGroupOpen, HamNewsPull und HamNewsPost werden mit einer Warnung abgelehnt,
  solange aufgeräumt wird. {TGL}
- Änderung: Bei Aufruf von Mail/Newsjobs über das Menü werden keine Phantomthreads
  (Mail bei Newsserver und umgekehrt) mehr gestartet. {TGL}
- Änderung: Per hamster.ini [Setup] MaxUnknownGroupsInRe=x kann das Limit von max.
  2 unbekannten Gruppen in einem Posting ohne F'up2 für Antworten etwas höher gesetzt
  werden, wird der Wert zu hoch gesetzt, wird der Standardwert 2 verwendet. {TGL}

V1.3.23.4
- Bugfix: For-Schleifen-Schrittweite war seit 1.3.22.2 immer automatisch 1. {TGL}
- Bugfix: Continue funktionierte bei For-Schleifen seit 1.3.22.2 nicht korrekt. {TGL}
- Bugfix: Der dokumentierte hs2-Befehl "hamnewsjobsdelete" war nicht benutzbar {JW}

V1.3.23.3
- Bugfix: Kein Absturz mehr beim "Zurücksetzen" von Gruppen {WJ}
- Bugfix: SMTP-Auth sollte bei Netscape jetzt auch funktionieren, wenn
  Einwahlname und PW unterschiedlich sind. {JH}
- Korrektur: Unsinnige Meldung beim Holen von Artikeln und englischer Sprache
  korrigiert, Endmeldungen der meisten Prozesse jetzt auch in Deutsch. {TGL}

V1.3.23.2
- Neu: Mittels "Zurücksetzen" kann eine Gruppe wieder in einen "jungfräulichen"
  Zustand versetzt werden. {WJ}
- Neu: Endmeldungen diverser Threads, um ein ewiges "Aufräumen wird gestartet..."
  in der ersten Log-Zeile zu vermeiden. {TGL}
- Änderung: Die SMTP-Begrüßungsmeldung ist so geändert, daß der Fehler von Netscape 6
  umgangen wird (doppeltes "AUTH") {Heiko Rost}
- Bugfix: Falls ein User-Agent-Header bereits existiert, kam es beim Ergänzen
  durch den Hamster zu einer Index-Bereichsüberschreitung. {JW}
- Bugfix: hs2: For-Schleifen konnten bei Rekursionen zu Fehlermeldungen führen {TGL}
- Bugfix: Skripte: Wenn in einem Skriptverzeichnis ein Unterverzeichnis und ein
  Skript gleich hiessen, wurden sie im Menü "Skripte" zusammengefügt d.h. bei
  Anklicken des Untermenüs wurde gleichzeitig das Skript gestartet. {TGL}
- Bugfix: Die Einstellungen eines Newsservers XYZ galten automatisch auch für
  Newsserver, deren Name aus irgendwasXYZ bestand, Beispiel: news.arcor.de und
  dnews.arcor.de {TGL}
- Bugfix: Einstellung ALL bei den Zugriffsrechten (IP-Access) führte zu Fehler-
  meldungen. Die Einstellung RW ist trotzdem vorzuziehen und zumindest zur Zeit
  gleichwertig. {TGL}
- Anpassungen an Delphi 6 (PE)  bzgl. Synchronisierung Input-Dialog und Parameter-
  verwaltung bei Skripten (Fehler mit varianten Arrays) {JH}

V1.3.23.1
- Neu: Tägliches automatisches Aufräumen über den Konfigurationsdialog für die
  lokalen Server einstellbar {TGL}
- Neu: Die Default-Gruppe für interne Postings ist jetzt auch über den
  allgemeinen Einstellungsdialog änderbar {TGL}
- Änderung: Killfile-Log: Shortcut Strg+X für Beenden wurde entfernt, da mit
  dem Ausschneiden in die Zwischenablage konkurrierend und die Schrift für
  das Scorefile wurde auf Courier New 10 Pt. geändert. {TGL}
- Änderung: Dialog Skriptverwaltung - Default-Texte jetzt auf einer Seite
  vereint und Edit-Felder für Default-Texte jetzt mit Scrollbars. {TGL}
- Änderung: Anpassung per Watch Thread u.ä. im Killfile-Log-Dialog ist jetzt
  hoffentlich auch bei einem übergroßen Scorefile von der Performance her
  akzeptabel. {TGL}
- Bugfix: Die Aufrufe der diversen Verzeichnisse über das Menü "Lokale Server"
  funktioniert jetzt auch (wieder) per SysTray-Icon-Menü. {TGL}
- Bugfix: Wählen über das Online-Untermenü läßt Hamster nicht mehr "einfrieren"
  und versuchte Doppeleinwahlen werden abgefangen. {TGL}  
- Bugfix: Bei Änderung der aktuellen Sprache wurde die Einstellung für die
  Position der hs2-Shell gelöscht. {TGL}
- Bugfix: Bei For/While/...-Schleifen, deren Kopf mehrzeilig war, kam es
  ab dem zweiten Schleifendurchlauf zu einer Fehlermeldung {TGL}
V1.3.23.0
- Neu: Über das Untermenü "Lokale Server / öffne Mails.in" sind jetzt auch die
  Postfächer direkt erreichbar. {TGL}
- Änderung: Das Modul hamster.hsm ist um diverse Konstanten ergänzt worden {JW}
- Änderung: hs2-Befehl runscript akzeptiert jetzt auch relative Pfadangaben,
  eine fehlende Endung wird ebenfalls ergänzt. {TGL}
- Änderung: Beim Anlegen eines neuen NNTP/POP3/SMTP-Servers wird eine "Dienst-
  angabe a la "nntp://" oder "news://" am Anfang automatisch gelöscht. {TGL}
- Änderung: Kill/Log-Einstellungen: Entf funktioniert wieder {TGL}
- Änderung: Kompatibilität zu RFC 977 bei nicht existenter MID: Statt Fehler-
  meldung wird jetzt die Pseudo-MID <0> zurückgeliefert {JH}
- Bugfix: Beim Setzen von !MAIL FROM und !RCPT-TO wird ggf. ein Namensteil in
  der entsprechenden Mailadresse weggekürzt, da technisch unzulässig. {JW/TGL}
- Bugfix: Begrüßungsmeldung des POP3-Servers war unvollständig {WJ}
- Bugfix: Kill/Log-Einstellungen: Auch übergroße Scores.hst funktionieren {TGL}
- Bugfix: Umleitungen per Mailaliase auf externe Adressen werden nicht mehr als
  ungültig mit Fehlerhinweisen bedacht. {TGL}
- Bugfix: Falls der FQDN für Spezialheader nicht gesetzt war, aber die Option
  "Path-Header setzen/ergänzen" aktiv war, wurden an den Hamster geschickte
  Posting mit Fehlermeldung "FQDN not set" abgewiesen {TGL}
- Bugfix: Beim Killfilen eines gesamten Threads wurden die Einträge zusätzlich
  in die GetMids.txt-Dateien eingetragen. {TGL}
- Bugfix: Die POP3-Einstellungen eines POP3/SMTP-Servers XYZ galten automatisch
  auch für Server, deren Name aus irgendwasXYZ bestand, Beispiel: test.com und
  pop.test.com {TGL}
- Bugfix: Beim SMTP-Server-Einstellungsdialog waren die Eingabefelder für
  individuelle Timeouts durch die SSL-Einstellungen komplett verdeckt {TGL}

V1.3.22.104
- Neu: Lokale Konfiguration ist in zwei Dialoge unterteilt worden, der Dialog
  "Lokale Server" erlaubt zusätzlich die Bearbeitung der IPAccess.hst und die
  Einstellung der Bindungen für die lokalen Server (s.u.), der Dialog "Benutzer-
  verwaltung und Passworte" erlaubt nun die direkte Bearbeitung der Mail-Aliase.
  {TGL}
- Neu: Lokale Bindungen erlauben es, daß die lokalen Hamster-Server für das
  Internet "unsichtbar" werden und ein DoS-Angriff ausgeschlossen ist.
  Sollte der Netzwerkzugriff plötzlich nicht mehr funktionieren, liegt das am
  Defaultwert der Bindungen von 127.0.0.1 statt (wie bisher) 0.0.0.0. {JW}
- Neu: Beim Anlegen eines Benutzers kann der volle Name mit Komma getrennt direkt
  eingegeben werden. {TGL}
- Neu: Im Dialog "Ladeaufträge für einzelnen Newsserver" werden jetzt auch tote
  Pulls ohne zugehörige Newsgruppe aufgeführt und können einfach gelöscht
  werden. {TGL}
- Neu: Individuelle Counter. Per %X0 bis %X9 in der Statusleiste integrierbar,
  in hs2 per XCounter(Nr) abfragbar, per ClearXCounter(Nr[,BisNr]),
  SetXCounter(Nr, Wert), IncXCounter(Nr [, Wert]) oder DecXCounter(Nr [, Wert])
  änderbar, und über die OLE-Schnittstelle per XCounter(Nr) abfragbar, per
  ClearXCounter(AbNr, BisNr), SetXCounter(Nr, Wert), IncXCounter(Nr, Wert)
  oder DecXCounter(Nr, Wert) änderbar, Nr jeweils ein Wert zwischen 0 und 9. {TGL}
- Neu: Killlog-Viewer überarbeitet - Änderungen an GetMids.txt-Dateien und am
  Scorefile werden erst beim Speichern durchgeführt, Speichern zwischendurch
  möglich, Popup-Menü jetzt auch als Normalmenü erreichbar, Scorefile-Bearbei-
  tung direkt im Dialog integriert. {TGL}
- Neu: Mailfilter: Mit notifyoff können vorhergehende notify-Filter rückgängig
  gemacht werden. {WJ}
- Neu: Beim Laden von Newsgruppen in Teilblöcken wird ausgegeben, wieviele noch
  insgesamt fehlen. {WJ}
- Neu: Hinweis, wenn ein per Feed eingelieferter Artikel in keine bekannte Gruppe
  gehört. {JW}
- Neu: Test auf Existenz des Pfades bei per Feed reinkommenden Artikeln
  abstellbar: hamster.ini [Setup] local.nntp.checkpath = 0/1, Default 1 {JW}  
- Änderung: Beim Feeden von Artikeln sind ein fehlendes Subject oder ein kaputtes
  FROM keine Abweisungsgründe mehr. {JW}
- Bugfix: Fehlerquelle beim Purgen gestopft {WJ u.a.}
- Bugfix: NNTP-Server: Rückgabewert des NEXT-Kommandos an RFC 977 angepasst. {JH}
- BugFix: Beim Laden der Beschreibungen für neue Gruppen wurde noch nicht erkannt,
  ob dies vom Newsserver überhaupt unterstützt wird (siehe auch: Server.ini,
  [NewGroups], LoadDescs=0/1/2). {JH}
- Bugfix: Interne Kopien von geposteten Artikeln hatten keinen PATH-Header {JW}
- Bugfix: Das Mail2News-Gateway setzt jetzt - falls noch fehlend - den PATH-Header {JW}
- Bugfix: Flackern beim Schieberegler zum Nagchladen von Postings im Gruppendialog
  beseitigt {Wolfgang Jaeth}
- Bugfix: $HAM_EV_RASCONNECTED wurde nicht korrekt gesetzt {JW}
- Bugfix: hs2-Befehl RasLastError jetzt verfügbar {WJ/JW}
- Bugfix: Falls beim Anlegen einer Benutzergruppe ein Name mit Komma eingegeben
  wird, wird der Teil nach dem Komma als Beschreibung interpretiert, bislang
  führte dies zu einem fehlerhaften Eintrag. {TGL}
- Bugfix: Auf mögliche Probleme durch gleichnamige Aliase und Benutzer oder
  nicht auflösbare Aliase wird jetzt durch Protokollhinweise/fehlermeldungen
  hingewiesen; beim Anlegen eines Benutzernamens, der schon als Alias existiert,
  kann der Alias automatisch auskommentiert werden; die Liste der Default-Aliase
  wird bei Bedarf automatisch restauriert, wenn z.B. der Benutzer mit dem
  Roleaccount wieder gelöscht wurde. {TGL}
- Bugfix: "hamster.ico" wird jetzt auch für das Hauptfenster-Icon genutzt {TGL}
- Bugfix: Wenn ein Posting durch mehrere Hamster-Instanzen kommt, wurde der
  Header X-Hamster-Info mehrfach eingefügt, was Folgefehler haben konnte {JW}
- Bugfix: hs2-Engine stürzte bei Pascal-Anführungsstrichen ab. {JH}  

V1.3.22.103
- Neu: Sofern eine Datei "hamster.ico" im Hamsterverzeichnis liegt, wird diese
  als Icon für das offene Hamster-Fenster und als Alt-Tab-Icon verwendet. {TGL}
- Neu: In den Formatstrings für Statuszeile und Hamster-Hint ist jetzt auch %NE
  erlaubt, welcher die Anzahl der Postings in news.err beinhaltet. {TGL}
- Neu: HamGroupNameByHandle (hs2) und NewsGrpNameByHandle (OLE) erlauben die
  Abfrage des Gruppennamens über das Gruppenhandle einer (noch) geöffneten
  Gruppe {HS}
- Neu: Mit der hs2-Funktion HamCheckPurge kann ein Skript abfragen, ob die
  Datenbank gerade aufgeräumt wird. {JW}
- Neu: Bei HamGetStatus (hs2) bzw. ControlGetStatus (OLE) kann man mit den
  Parametern 4, 1 die Einstellung der Loglevel-Anzeige und mit 4, 2 die Ein-
  stellung der Loglevel-Speicherung abfragen. {HS}
- Neu: Die hs2-Shell behält die letzten 100 Einträge jetzt auch über einen Neustart
  hinaus, sofern nicht in der Hamster.ini [Main] ShellHist.Log auf 0 gesetzt wird.
  Zudem kann man mit Strg+T alt Return-Ersatz auch mehrere Befehle auf einmal
  eingeben. {TGL}
- Neu: Beim Aufruf eines Dialoges wird der Mauscursor zur Sanduhr, bis der Dialog
  dargestellt wir. {TGL}  
- Änderung: Beim Anmelden des Client am ESMTP-Server identifiziert sich Hamster
  jetzt RFC 1869-kompatibel. {JW}
- Änderung: Die falsch bezeichnete Option "Max. Größe in Zeilen" bei den lokalen
  Servern ist jetzt wieder nur noch über die INI änderbar, da sie sich nicht auf
  die Anzahl der Zeilen, sondern auf die maximale Länge einer einzelnen Zeile
  bezieht und der Default von 1000 im Normalfall passen dürfte. {TGL}
- Bugfix: Bei zuvielen Einträgen im Killfilelog kommt jetzt ein Warnung statt
  einer internen Fehlermeldung ins Log. {TGL}
- Bugfix: Die Date-Angaben in Hamster-generierten Headerzeilen sollten wieder
  passen {JH/JW}
- Bugfix: Diverse potentielle Speicherlöcher gestopft {JW}

V1.3.22.102
- Neu: Erweiterung des OLE-XOvers um den Score-Header (X-Hamster-Info) {HS}
- Neu: hs2-Funktion DeleteHostsEntry(IP, Hostname) erlaubt das gezielte Löschen
  von Einträgen aus der hosts-Datei. {JW}
- Neu: Drag&Drop für Zuweisungen von lokalen Benutzern an Benutzergruppen
  verwendbar {HS}
- Neu: Limitierung der Client-Verbindungen per Dialog Einstellungen / Lokale...
  möglich {TGL}
- Änderung: Zusätzlich Hamsterhinweis und Version im (optionalen) Received-Header {JW}
- Änderung: Die Zusatzheader User-Agent und X-Posting-Agent sind nicht mehr parallel
  zulässig, sollten noch beide gesetzt sein, wird letzterer verwendet. Bei Neuinstal-
  lationen wird automatisch nur noch User-Agent verwendet. {TGL}
- Änderung: Der FQDN wird, wenn vorhanden, jetzt vorrangig vor dem per DNS ermittelten 
  Rechnernamen für den Helo-String verwendet, um Probleme mit der Vergabe des Rechner-
  namens durch Windows umgehen zu können. {JW}
- Update: Aktualisierte Angabe der Windows-Plattform in Hilfe/System... kennt jetzt 
  auch WinME und 2000. {JH}
- Bugfix: Ein fehlerhaftes Skript erzeugt keinen Fehler mehr beim Laden der
  Einstellungen {TGL, Dank an Frank Ledwon für's Finden des Fehlers}
- Bugfix: Die (noch) unnötige Datei "KillsStat.log" wird nicht mehr weiter
  gefüllt bzw. erst erzeugt {TGL}    
- Bugfix: Help-Buttons hatten "Cancel"-Eigenschaft {AS1/TGL}
- Bugfix: Diverse Kurztasten für Labels waren gar nicht oder mit den falschen
  Eingabefeldern gekoppelt. {AS1/TGL}
- Bugfix: Die hs2-Befehle SetHostsEntry_ByName und SetHostsEntry_ByAddr suchen
  das Hosts-Verzeichnis jetzt nicht nur im Windows- und im System-Verzeichnis,
  sondern auch in System\drivers\etc (WinNT) {Wolfgang Jaeth/Andreas Spangenberg)
- Bugfix: Vom zweiten FQDN abhängige Funktionen wie der zusätzliche Received-
  Header bei POP3 sind bei nicht gesetztem FQDN automatisch deaktiviert. {TGL}
- Bugfix: Statt der in der Sprachdatei eingetragenen Hilfe-Datei wurde immer
  die hamster_de.hlp aufgerufen {TGL}
- Bugfix: Die HostsEntry-Funktionen suchen die hosts jetzt auch in "%windir%\System\
  drivers\etc" und legen bei Nichtexistenz unter WindowsNT die hosts in
  "%windir%\System\drivers\etc" und unter Win9X/ME/... unter "%windir%" an. {Diverse}
- Bugfix: Parameterübergabe wurde ggf. nicht korrekt ausgewertet {JW}


V1.3.22.101
- Bugfix: Der Server-Parameter beim hs2-Befehl HamNewsPull wurde ignoriert {JW}
- Bugfix: Zugriffsrechte für lokalen POP-Server galten auch für NNTP-Server {JW}
- Bugfix: Anmeldefehler beim DFÜ-Netzwerk, User/User statt User/Password {WJ+JW}
- Bugfix: Message-ID wurde unter bestimmten Umständen nicht mehr generiert {JW}
- Bugfix: Beim Nachholen von Postings über Anklicken der M-ID im Client wurde der
  Artikel ggf. von mehreren Servern geholt {TGL}
- Bugfix: lokale Mails lösten statt einer mail.local- eine mail.out-Action aus (JW}
- Änderung: Default-Mail-Aliase ergänzt, falls nicht manuell angepasst, reicht
  das Löschen von MAlias.hst, um die aktuelle Default-Liste erzeugt zu bekommen. {JW}
- Änderung: Plausibilitätskontrolle der FQDN-Eingabe optimiert {TGL}

V1.3.22.100
- Oberfläche:
  - Neu: Verwaltungsdialog für Skripte und Module, Unterteilung mittels Unterver-
    zeichnissen {TGL}
  - Neu: Taskdelimiter per allgemeinen Konfigurationsdialog einstellbar {TGL}
  - Neu: Aufteilung Overview in "Häppchen" per News-Konfigurationsdialog einstellbar {TGL}
  - Neu: Im Gruppenbearbeitungsdialog kann je Newsserver per Schieberegler das Nachholen
    von alten Artikeln ausgelöst werden. {TGL}
  - Neu: Shell für direkte Eingabe von hs2-Befehlen über allgemeine Einstellungen
    aktivierbar, sofern "hs2shell.hsm" vorhanden ist, wird es als Modul automatisch
    eingebunden. {TGL}
  - Neu: Skript-Sprach-Default einstellbar, hs1-Skripte ggf. per "#!hs1" kennzeichnenbar
    {TGL}
  - Neu: Help-Buttons incl (Teil-)Verlinkung zu den passenden Help-Topics {TGL}
  - Änderung: Da der FQDN inzwischen für interne Adressen, PATH-Erweiterungen etc
    verwendet wird, sind jetzt der FQDN für Message-IDs und der FQDN für alles andere
    getrennt einstellbar - dieser zweite FQDN muß neu gesetzt werden und wird nicht
    aus dem Message-ID-FQDN übernommen. {TGL}
  - Neu: Neue Einstellung local servers: Checkbox für "LOCAL_ONLY_ADMIN" {HSR}
  - Neu: Überarbeiteter SMTP-Server-Dialog bzgl. User/PW-Vergabe und AUTH-Checkbox {TGL}
  - Fix: Statuszeile war bei 127Zeichen abgeschnitten, Zudem sind die vertikalen
    Scollbars weg  {Jens Kordilewski}
  - Fix: Thread-Anzeige wird im Thread-Log-Fenster nicht geloescht. {JW}
  - Fix: Add Newspull-Dialog: Die Buttons sind jetzt auch bei großen Schriftarten
    sichtbar und die Aufteilung zwischen Gruppen- und Server-Anzeige wird bei
    Größenänderungen automatisch gesetzt (2/3 zu 1/3). {TGL}
  - Fix: Der eingegebene FQDN in der lokalen Konfiguration wird auf offensichtlichen
    Unsinn überprüft {TGL}
- Technisches:
  - Neu: CD-ROM fähiger Hamster, Readonly-Modus mit Parameter /ro erzwingbar bzw.
    mit /rw unterdrückbar, ansonsten abhängig davon, ob im Hauptverzeichnis die
    Dateien schreibgeschützt sind oder nicht. Änderungen in diesem Modus: Alle
    schreibenden Funktionen (incl. OLE und hs2) abgeschaltet, INI-Einstellungen
    werden in <windir>\hamster.ini ausgelesen/gesetzt, Menüpunkte und Einstellungs-
    Dialoge auf die sinnvollen Restfunktionen reduziert. {TGL}
  - Neu: Mailaliase (MAlias.hst) können jetzt auch den Wildcard "%FQDN%" enthalten,
    welcher dem eingestellten FQDN entspricht. Sofern kein FQDN vergeben ist, werden
    die entsprechenden Mailalias-Zeilen ignoriert. Die Default-Datei ist entsprechend
    geändert. {TGL}
  - Neu: Postmaster Account und Newsmaster Account (hamster.ini) {JW}
  - Neu: NNTP-Protokoll: LIST-Befehl optional auch ohne Anmeldung nutzbar {JW}
  - Änderung: Schnellerer Hamster-Start (Statistikerstellung ausgelagert und Gruppen-
    priorisierung vereinfacht) {JH}
  - Neu: Zugriffe auf die lokalen Server vom Hamster über unzulässige IP-Adressen belegen
    intern weniger Ressourcen (DOS-Abwehr) {JW}
  - Änderung: Reinkommende Mails haben jetzt eine eigene Einstellung bzgl. Generierung
    eines entsprechenden Received-Headers. {JW}
  - Änderung: POP3-Begrüßungsmeldung gekürzt
  - Änderung: HELO-String wird jetzt auf falsche Zeichen durchsucht.(_"_,_ _) {JW} "Helo"
  - Fix: "Blinde" Artikel wurden bei 'load by number' erzeugt. {JAWO}
  - Fix: Full Name bei Info-Mails jetzt gequoted {JW}
  - Fix: Abbruch des Feeders bei ueberlangen Zeilen oder Artikeln {JW} {HadLineTooLong}
  - Fix: Bug im XOver-Befehl (es wird nur genau ein Artikel zurückgeliefert) {HS}
  - Fix: Hamster loggte im Received-Header die User-ID nicht {JW} {CurrendUserID}
  - Fix: Bei Remote Servern, welche die Authentifizierung in Abhängigkeit vom Mode
    Reader|Slave vornehmen, kam es zu Connect-Problemen. {JW}
  - Fix: Bei der Konvertierung Mail => News wird jetzt - falls fehlend - der Date-Header
    gesetzt {JW}
  - Fix: Um diverse Probleme mit Sonderzeichen zu vermeiden, werden diese bei neuen
    Accountnamen verhindert, die alten Accounts werden beim Hamsterstart ggf. geändert,
    zwecks Kompatibilität sind aber Zugriffe über die alten Namen trotzdem möglich. {TGL}
- hs2/OLE-Befehle:
  - Neu: HamMessage(9,1) lädt jetzt auch die MAilias.hst ein. {JW}
  - Neu: Neuer OLEBefehl "ControlGetNewsErrPath" und hs2-Befehl "HamNewsErrPath" {TGL}
  - Neu: Neuer OLE-Befehl"NewsGrpInformation": Informationen über die Gruppe werden
    ähnlich einem XOver übertragen. {HSR} "OLE-Newsgroup-Informations"
  - Änderung: Bei einem fehlendem Header beim OLE-Import gibt's nur noch eine
    Warnung. {JW}
  - Änderung: Wenn kein Newsserver gefunden (OLE/Script), dann wird eine Warnung
    ausgeben. Zudem ist eine Detail-Meldung hinzugefügt worden. {JW} "NoFound"
  - Fix: hs2: Explizite Fehlermeldung bei undefiniertem return()-Parameter anstatt
    unverständlicher (Folge-) Fehlermeldung mit "Syntax-Error". {JW}
- Newsfilter
  - Neu: Automatischer Test beim Programmstart incl. Ausführen des Expire {TGL}
  - Neu: Expire möglich, einfach nach dem Hauptfilterausdruck ein Expire:yyyymmdd
    einsetzen {TGL}
  - Neu: Leerzeichen im Filterausdruck zwischen Feldname und Wert wird jetzt toleriert {TGL}

V1.3.22.2 vom 21.1.2001
- Neu: hs2-Funktion "RasLastError" (keine Parameter, numerischer Rückwert) {Joern Weber}
- Änderung: Benutzername + leeres Passwort für POP3-Server-Anmeldung zulässig. {Joern Weber}
- Änderung: Zusätzliche Infos bei fehlerhafter Gruppen-Datenbank beim Purgen
  {Wolfgang Jaeth}
- Bugfix: Fehler bei Anmeldetimeout korrigiert {Joern Weber}

V1.3.22.1 vom 17.1.2001
- Neu: Buttons für "=> Einzelner Auftrag", da das Kontextmenü und der Doppelklick
  leicht übersehen wird. {TGL}
- Neu: In der Statuszeile ist auch die Anzahl von Mails in einem Account abfragbar
  nach dem Muster %M:Benutzername%. {TGL}  
- Aend: Benutzername und Passwort beim Wählen einer DFÜ-Verbindung werden automatisch
  um Leerzeichen am Anfang und Ende gekürzt, um Tippfehler in dieser Hinsicht
  aufzufangen. {Joern Weber}
- Aend: Alle Meldungsdialoge/Fragedialoge werden jetzt über die Windows-API
  erzeugt und übernehmen somit die Sprache der lokalen Windows-Einstellungen
  {TGL, Idee von AS1}  
- Fix: Das doppelte Laden von Postings durch parallele Serverthreads auf derselben
  Gruppe wird nun weitgehend verhindert {Heiko Rost} 
- Fix: Spezielle Parameterzusammenstellungen beim Hamsterstart konnten Fehler
  hervorrufen {Joern Weber/Wolfgang Jaeth/TGL}
- Fix: StopScripts wirkt nicht mehr auf alle laufenden Hamsterinkarnationen {Joern
  Weber}
- Fix: Das Herunterfahren des Hamsters ist jetzt abgesicherter, es werden mehr
  Details ins Protokoll geschrieben und der "Hamster ist beschäftigt"-Schalter
  funktioniert jetzt auch sinnvoll bei mehreren parallelen Großaktionen {Joern Weber}
- Fix: Zugriff auf interne Counter jetzt Thread-sicher {Joern Weber}
- Fix: Interne Mails wurden mit der ausgehende-Mails-Action behandelt {Konstantin
  Seiler/AS1}
- Fix: Schließen vom Threadfenster sprang nicht immer auf das letzte verwendete
  Protokoll zurück. {TGL}
- Fix: Der hs2-Befehl Beep funktionierte nicht überall korrekt {Joern Weber}
- Fix: Die interne Höchstpriorität für eine Gruppe war kleiner als die Prio einer
  Gruppe mit >=100.000 Artikeln, dieser Wert ist jetzt deutlich höher gewählt.
  {Joern Weber}
- Fix: Unter bestimmten Umständen kam die Frage nach Neuaufbau der Gruppenliste,
  obwohl sich nichts geändert hat. {JH}
- Fix: Doppelte Anmeldeproblematik {Heiko Studt}
- Fix: SMTP-AUTH Befehl erzwang nicht SMTP-AUTH {Joern Weber}
- Fix: Ungültige Hamster-Parameter werden jetzt abgefangen {Wolfgang Jaeth}
- Änderung/Fix: Separate Login-Timeouts ([Setup] local.NNTP.timeout.login,
  local.POP3.timeout.login, local.SMTP.timeout.login) gleichen zumindest
  teilweise kaputte Clients aus, Angabe in Millisekunden. {Joern Weber}
- Fix: Zeitstempel vom Received-Header stimmte nicht {Philipp Kern}
- Änderung: Actions unterscheiden jetzt zwischen "internal" und "local" Mails,
  entsprechend gibt es jetzt auch mail.local.* in der INI {Wolfgang Jaeth}
- Fix: "Nach x Tagen löschen" löschte erst nach x+1 Tagen {Heiko Studt}
- Änderung/Fix: Bei fehlerhafter Anmeldung am NNTP-Client per Authinfo wird
  die Verbindung automatisch vom Hamster geschlossen. Diese Reaktion kann
  über [Setup] / local.authreq.closeiffalse=0 in der hamster.ini verhindert
  werden {Joern Weber}
- Neu: Bei Bedarf kann der local part der vom Hamster erzeugten Message-ID
  'verschlüsselt' werden, was die Herkunft der MID unkenntlich macht, ansonsten
  außer einer minimal erhöhten Gefahr von doppelten MIDs keine weiteren
  Auswirkungen hat. Aktiverung der Verschlüssellung über die INI:
  [Setup] / crypt.mid=1 {Joern Weber}

V1.3.22.0 vom 18.11.2000
- [Neu] Kontext-Menü für die Protokolle (Einzelnen Thread anzeigen, in Zwischen-
  ablage kopieren, Logs leeren) {TGL}
- [Neu] Menüpunkte: Skripte / Neu / Skript bzw. Modul {TGL}
- [Neu] Tab "Warnungen/Fehler": Überschrift zählt mit, Farbe bei Nur-Warnungen anders
  als bei (mindestens) einem Fehler, das Fehlerprotokoll kann unabhängig vom normalen
  Protokoll per Menü oder Button geleert/geschlossen werden und unter den Grundein-
  stellungen kann die automatische Aktivierung des Fehlerprotokolls (de)aktiviert
  werden. {TGL}
- [Neu] Konfigurierbarkeit der Farbe des Tabs "Warnungen/Fehler" über die hamster.ini,
  Abschnitt [main]: {TGL}
  ColoredTabs=0/1 ; 0 = kein farbiger Tab
  ; Die konkreten Farben, sofern die Vorgabe nicht gefällt (Format $BBGGRR):
  TabColorErrorText/TabColorErrorBrush/TabColorWarningText/TabColorWarningBrush=<Farbe>
- [Fix] Wenn man ein Posting in (mindestens) eine lokale und ansonsten rein erfundene
  Gruppen schickte, wurden die erfundenen Gruppen automatisch als lokale Gruppen
  angelegt. {TGL, Bug von Wolfgang Jaeth gefunden}
- [Änd] Tausendertrennstellen auch bei den speziellen Newszählern (Kill, History, ...)
  in der Statuszeile {TGL, Wunsch von Christoph Garbers}
- [Neu] Haltedauer der Mailhjstory jetzt auch über Lokale Einstellungen / Mail
  änderbar {TGL, Wunsch von Klaus Fischer}
- [Neu] Bei Warnungen & Fehlern erscheint ein anderes Hamstericon im Tray {TGL}
- [Neu] Hamstericons im Tray durch eigene Icons ersetzbar, Benennung "Hamst_xy.ico",
  wobei x für "1" (Kein laufender Thread) oder "2" (mind. 1 Thread aktiv) steht und
  y für "a" (alles ok), "b" (mind. eine Warnung) oder "c" (mind. ein Fehler). {TGL}
- [Fix] Alle Headerdekodierungen sind jetzt "abgesichert", "blue screen" bei leerem
  Header und MIME-dekodierendem Filtereintrag sollte jetzt nicht mehr passiere. {TGL}
- [Neu] Postings, die nicht abgeschickt werden konnten, erzeugen nicht nur ein
  Hinweisposting in der dafür eingestellten Gruppe, sondern zusätzlich wird das
  Posting selber in den Ordner <Hamster>\Groups\News.err verschoben, der Pfad ist
  ggf. über die INI-Datei änderbar. ([Directories] News.err=...) {TGL}
- [Änd] Da bei einigen Systemen die Geschwindigkeit durch die Übersetzung zu leiden
  scheint, gibt es jetzt zwei neue INI-Einstellungen unter [Setup]:
  Language.cached=x => x=1 (Default): Einstellungen werden nur beim Start oder bei
   einem Sprachwechsel eingelesen, x=0 (für Übersetzer/Entwickler): Lesen aus der
   entsprechenden Sprachdatei je Übersetzung, fehlende Einträge werden automatisch
   in die INI-Datei geschrieben.
  Language.Update.en.dat=x => x=Sofern Language.Update.en.dat auf 1 _und_
   Language.cached auf 1 steht, werden fehlende Einträge in der englischen Sprachdatei
   ebenfalls automatisch gefüllt (Default: 0). {TGL}
- [Fix] Bei einem Filtereintrag, bei dem direkt nach einer Tilde kein Feldname,
  sondern ein Leerzeichen o.ä. steht, kam es bislang zu einem Absturz, jetzt
  kommt eine Fehlermeldung. {Joern Weber}
- [Änd] Auch bei ListGetTag/ListSetTag (HSC) werden fehlende Einträge
  wie bereits bei ListGet/ListSet automatisch erstellt. {JH}
- [Fix] "DirCurrent" (HSC) lieferte Pfad ohne abschließenden Backslash. {JH}
- [Fix] Doppelte Anführungsstriche in Skripten funktionierten am Anfang und/oder
  Ende von Strings nicht immer korrekt {TGL/AS1}
- [Änd] Die MailIn-Protokoll-Datei enthält jeweils eine zweite Zeile mit
  detaillierteren Infos zur betreffenden Mail {TGL, Wunsch von Sven Flister}
- [Änd] Verbesserte Behandlung falscher "Date:"-Header. {JH}
- [Neu] hs2-Funktion "beep (x)" erlaubt das Erzeugen von Systemklängen. Sinnvolle
  Werte für sind in der hamster.hsm mit $SIGNAL_STOP, $SIGNAL_QUESTION,
  $SIGNAL_EXCLAMATION und $SIGNAL_ASTERISK vordefiniert. {Joern Weber}
- [Neu] HamMessage ( 2, 3 ) löscht die Fehlerliste, ohne das Protokoll selber
  zu löschen.
- [Fix] hs2-Funktion FileExists funktioniert jetzt auch bei der Kombination "*.*"
  und Suche nach Verzeichnissen korrekt. {Joern Weber}
- [Fix] Das Starten von Skripten sorgte nicht bei allen Aufrufarten dafür, daß
  der Skriptname als 0ter Parameter gesetzt wurde {Wolfgang Jaeth}
- [Neu] Killfile-Log: Ein zweiter Klick auf die Spalte, nach der gerade sortiert
  wird, invertiert die Sortierung {TGL}       
- [Änd] Wenn Hamster mit dem Parameter "/svc" gestartet wird, dann
  wird er nicht beendet wenn sich der (Windows-) Benutzer abmeldet. {JH}
- [Neu] Die Anzahl an Sendeversuchen je Mail und die Option, nicht
  verschickbare Mails zu löschen, sind jetzt über die Mail(server)-
  Einstellungen erreichbar {TGL}  

V1.3.21.120 vom 22.10.2000
- [Fix] Ein TAB als Trennzeichen zwischen Filterelementen oder Kommentar stört
  im Score-File für Mails oder News nicht mehr und Leerzeichen oder Tabs
  zwischen %> und der Zahl selber werden jetzt auch akzeptiert {Wolfgang Jaeth}
- [Neu] Button "Neue News" im Gruppendialog erlaubt das Holen einer einzelnen
  Gruppe {TGL, Idee von Sniet}
- [Neu] Geschwindigkeit der Anzeigeaktualisierung zwischen 0,1 und 1,5 Sekunden
  per Grundeinstellungen änderbar, neue Aufteilung der ersten Unterseite in
  Optik und Weiteres {TGL}
- [Änd] Zähler für ausgehende Mail & News werden vor Endabfrage und beim Wechsel
  von einer anderen Anwendung zurück zum Hamster automatisch aktualisiert {TGL}
- [Änd] Aufrufen von Skripten mit Parameter und Warten-Flag komplettiert:
  - Hamsteraufruf: hamster.exe [/w] Skriptname [Parameter1] [Parameter2] ...
  - hs2-Aufruf: RunScript (Skriptname, Parameterliste, Warten)
  - OLE-Aufruf: ControlRunScript (Skriptname, Parameterliste, Warten)
  {Wolfgang Jaeth}
- [Änd] Die kritischeren Menüpunkte (Killfile, Purgen, globale Listen neu erzeugen
  und History neu erzeugen) sind gesperrt, solange Aufträge laufen. {TGL}
- [Fix] hs2-Befehl "Listfiles" funktionierte nicht korrekt {Heiko Rost}
- [Änd] Seite "Warnungen & Fehler" nur sichtbar, wenn mindestens ein Eintrag
  existiert, zudem ist die Überschrift entsprechend hervorgehoben. {TGL}
- [Fix] Von Modulen geöffnete Gruppen-Handle werden nicht mehr innerhalb des Skriptes
  geschlossen {Joern Weber}
- [Fix] Von Skripten geöffnete, aber nicht mehr freigegebene Listen, werden automatisch
  geschlossen {Joern Weber}
- [Fix] hamster_xx.dat-Dateien werden im Hauptpfad erwartet und nicht im EXE-Pfad {TGL}
- [Fix] Hamster scheiterte beim Abholen von Mails von sich selber
  über das "Online"-Menü oder das Scriptkommando "HamMailExchange".
  Hinweis: Diese Korrektur sollte es auch wieder ermöglichen, daß
  Mails schon abgeholt werden können, während Hamster immer noch
  neue Mails lädt. {JH}
- [Fix] Auch überlange Änderungsdateien können jetzt im About-Dialog zumindest
  größtenteils eingesehen werden. {TGL}
- [Änd] Parameter können jetzt auch Anführungsstriche enthalten, indem man sie einfach
  verdoppelt d.h. "Hallo ""Paulchen""!" wird zu 'Hallo "Paulchen"!', dabei wurden in dem
  Bereich auch größere interne Umstrukturierungen vorgenommen. {Wolfgang Jaeth}
- [Neu] Purgen einzelner Gruppen auch über Skripte und OLE: {Joern Weber}
  - hs2: HamPurge ( Option [, Gruppenname ] )
  - OLE: ControlRunPurgeGroup ( Gruppenname )
- [Änd] Rückgabewert von HamMessage( 9, x) korrigiert {Wolfgang Jaeth}
- [Fix] Ein manuell gesetztes "LastGMT=Never" wurde beim Neuladen der Gruppen-
  Liste überschrieben. {Heiko Rost}
- [Fix] Um Probleme bei manchen Mailservern zu vermeiden, ist das POP3-Help-Command
  jetzt deaktiviert. {JH}

V1.3.21.112 vom 15.10.2000
- [Fix] Kein seit .110 sporadisch vorkommender "Einfrierer" mehr {JH}

V1.3.21.110 vom 6.10.2000
- [Neu] Timeouts für einzelne Server (Verbinden/Kommandos) definierbar und nicht
  mehr nur global {Joern Weber}
- [Neu] Timeouts global und für einzelne Server per Oberfläche einstellbar {TGL}
- [Fix] POP3-Server: Das Anlegen mehrerer Aliase funktioniert jetzt auch sauber
  ohne Beenden des Dialoges nach jedem neuen Alias {TGL}
- [Fix] Vom Skript geöffnete, aber nicht geschlossene Newsgruppen werden automatisch
  geschlossen incl. Hinweis im Protokoll {Joern Weber}
- [Fix] DoS-Angriffsmöglichkeit verhindert, Mail-NOOP-Kommando erst nach
  Authentifizierung möglich {JH}
- [Fix] Hinttext für Hamster-Icon wurde nicht immer korrekt angezeigt {JH}
- [Fix] Skriptaufrufe laufen jetzt auch bei zwei gestarteten Hamstern über den
  gewünschten Hamster (Pfadangabe bzw. im Pfad) {Joern Weber}
- [Änd] Newsgruppenabholung insoweit geändert, daß keine Gruppenjobs mehr temporär
  geparkt werden müssen - dies vermeidet Irritationen auf Seiten des Benutzers. {JH}
- [Neu] Thread-Fenster hat eigene vom Log unabhängige Anzeigestati incl. "Fortschritts-
  anzeigen" für Mails und News {Konstantin Seiler}
- [Neu] Skripte erlauben jetzt auch die Nutzung von Parametern und das Aufrufen
  eines Skriptes aus einem anderen heraus:
  - Neue hs2-Funktion "runscript (Skriptname [, Parameter [, Warten ] ] )"
  - Neue hs2-Funktion "paramcount"
  - Neue hs2-Funktion "paramstr (Nr)" (Nr zwischen 1 und ParamCount)
  {Wolfgang Jaeth}
- [Neu] Lokale Stati abfragen:
  - HamGetStatus(1,n) meldet ob lokaler Server gestartet ist
  - HamGetStatus(2,n) meldet die Anzahl der am lokalen Server offenen Verbindungen
    - n => 1=Lokaler NNTP-Server, 2=Lokaler POP3-Server, Lokaler SMTP-Server
  - HamGetStatus(3,n) gibt Auskunft über angekommene/wartende News & Mails
    - n => 1=Neue Artikel, 2=Geladene Artikel, 3=Bekannte (History-gefilterte) Artikel,
           4=Gelöschte Artikel, 5=zu versendende Artikel,
           6=Neue E-Mails, 7=zu versendende E-Mails
  {Joern Weber}

V1.3.21.100
- [Neu] Italienisches Sprachmodul, aber noch ohne italienische Hilfe {AS1}
- [Fix] Beim Hin- und Herschalten der Sprache wurden unter bestimmten Umständen
  temporär die englischen Texte durch Texte der letzten anderen gewählten Sprache
  ersetzt {TGL, Hinweis von AS1}
- [Neu] Konfiguration / Lokal: Änderungen an Max. Skript-PW kürzen/verlängern die
  PW-Liste direkt nach Verlassen des entsprechenden Edit-Feldes.
  {TGL, Hinweis von Wolfgang Jaeth}
- [Fix] Konfiguration / Mail: Keine zwei SMTP-Server mit gleichem Namen mehr zulässig.
- [Fix] Das Löschen von Servern mit Alias löscht auch wieder das zugehörige
  Verzeichnis, Einstellungen von Alias-Servern sind jetzt nach Erstellung direkt
  ohne Neustart änderbar. {TGL, Hinweis von Patrick Cornelissen}
- [Änd] Konfiguration / News: Abfrage beim Löschen von Newspulls, Hinweis auf
  Dauerhaftigkeit von Änderungen bei Löschungen u.ä. {TGL}
- [Änd] Deutsche Übersetzungen noch leicht modifiziert (Markus Mehring, Heiko
  Studt, Roland Aleksa}
- [Änd] Suche nach Initialien in Pull-Dialogen geändert: "dt" findet jetzt auch
  de.talk.bizarre {AS1}
- [Änd] Am Ende jedes Skripts wird jetzt sicherheitshalber die History gesichert
  {Joern Weber}
- [Änd] Das GetListCommand für Mailserver akzeptiert jetzt auch, wenn keine Liste
  geliefert wird. {JH}
- [Änd] Anzeige des Usernamens im Klartext sowohl beim Abholen von Mails im Log als
  auch im Maildialog {Wolfgang Jaeth & TGL}
- [Änd] Um Probleme bei schnellen Rechnern zu verhindern, kann man dem Hamster-Ende-
  Befehl "ControlMessage(1,x)" jetzt eine Karenzzeit x in Millisekunden übergeben.
  Sollte x kleiner 100 sein, wird x automatisch auf 100 gesetzt. {Joern Weber}
- [Neu] Konfiguration / News / Gruppe: Je Gruppe kann gezielt ein Post-Server
  gewählt werden, der Vorrang vor der allgemeinen Einstellung hat.
  {TGL, Idee von Damir Kucerauer}
- [Neu] Hinweis auf moderiert/read-only bei den Newsgruppen {TGL, Idee
  von Jürgen Denzler}
- [Neu] Read-Only-Server werden in der Server-Liste grün markiert,
  ebenso die entsprechenden Aufträge in der Pulls-Liste {TGL, Idee von
  Jürgen Denzler}
- [Neu] Bei Benachrichtigungen von erfolgreichen Lösch-/Ignorier-Mail-Filtern wird
  jetzt auch die Größe der Mail (in Bytes) angegeben. {TGL, Idee von Wolfgang Jaeth}
- [Neu] Erweiterte Mailfilter-Syntax: Mit $xxx$ kann der Inhalt des Headers xxx
  für Vergleiche genutzt werden. Beispiel: kill() From:$TO$ {Hendrik Friedel}
- [Neu] Neuer hs2-Befehl "InputPW", Syntax wie "InputBox", aber verschleierte Eingabe
  (Sternchen statt der getippten Zeichen) {TGL, Idee von Thomas Rachel}
- [Neu] Neuer hs2-Befehl "AddLog (Text, Typ [, ZeigeSkriptname] )". Entspricht bis
  auf den letzten Parameter dem OLE-ControlAddLog-Befehle. Unterscheidet sich von
  "text" und "warning" dadurch, daß der Skriptname davor unterdrückt werden kann,
  kein ">" bzw. "!>" vor den Text gesetzt wird und alle Protokolltypen erreichbar
  sind und nicht nur Info (=3) bzw. Warning (=5) {TGL, Wunsch von Andreas Heim}
- [Neu] Neuer Parameter für HamFetchMail:
  HamFetchMail ( <server>, <port>, <user>, <pass>, <destuser>, <filter>, <LeaveOnServer> )
  Falls "1", werden die Mails auf dem Server gelassen, falls "0", werden sie vom Server
  gelöscht, bei jedem anderen Wert gelten die Einstellungen des Servers bzw. die Default-
  Einstellung. {TGL, Wunsch von Jürgen Denzler}
- [Änd] Hamster kann jetzt auch auf Win9X Mails >5 MB empfangen, sofern keine Größenfilter
  aktiv sind.
- [Neu] Skriptbefehl "Message (2, x)" beachtet zweiten Parameter: 0 für Log+Counter,
  1 für Counter, 2 für Log. {TGL, Idee von Wolfgang Jaeth}   

V1.3.21.90 vom 17.9.2000
(Ungekennzeichnete Änderungen sind von TGL)
- [Änd] Unter Hilfe/Info wird die landessprachliche Version der changes.txt
  angezeigt.
- [Neu] SMTP-Mailserver: Eigener Konfigurationsdialog, Benutzername und PW
  eingebbar, SMTP-AUTH-Verfahren direkt aktivierbar.
- [Fix] POP3-Mailserver-Konfiguration: Das Bearbeiten eines bisher nicht existenten
  Abschnittes funktioniert jetzt ohne Fehlermeldungen.
- [Änd] Gruppenauswahl: Filterung nach Newsserver nach altem (regexp) und neuem
  Verfahren (Liste) möglich.
- [Fix] Die versprochene automatische Suche nach fehlenden MIDs beim nächsten
  Online-Gehen ist jetzt (wieder) implementiert, die Funktion ist bei Bedarf abschaltbar.
- [Fix] Leere Verzeichniszuweisungen in hamster.ini werden korrekt behandelt (Main=)
- [Änd] Leerzeichen vor und hinter "#!hs2" in der ersten Zeile eines hs2-Hamsterskript
  werden jetzt ignoriert.
- [Fix] HamNewsPull (Serverliste) sollte jetzt auch ohne extra ";" um die Serverliste
  funktionieren.
- [Fix] Auswahl einer Gruppe über Ladeaufträge eines einzelnen Servers funktioniert
  jetzt auch bei einer gefilterten Gruppenliste.
- [Neu] hamster.ini / [actions] / group.doubleclick.exec/pars erlaubt das Einbinden
  einer Anwendung beim Doppelclick auf eine Gruppe im entsprechenden Konfigurations-
  dialog.
- [Fix] Ladeaufträge für einzelnen Newsserver enthalten jetzt auch die korrekten
  Taglines und Gruppen-Duplikate werden automatisch aussortiert.

V1.3.21.80 vom 14.9.2000
(Ungekennzeichnete Änderungen sind von TGL)
- [Neu] Abschaltbarer Ladehinweis ("Splash-Screen") beim Starten vom Hamster.
- [Neu] Unterstützung verschiedener Sprachen, zur Zeit Deutsch und Englisch.
- [Änd] Der Dialog "Neue Ladeaufträge" wurde umgestaltet: Als Suchoptionen sind
  jetzt auch "enthält", "beginnt mit" und "Initialien" möglich und die Auswahl der
  Server wurde vereinfacht - statt regexp-Filterung kann man die Server durch Auswahl
  mittels Klappliste wählen.
- [Neu] Warnungen und Fehler sind jetzt auch farbig unterlegt
- [Neu] Falls ein Suchaufruf nach einer Message-ID mittels Newsclient keinen passenden
  Artikel in der History findet, werden die passenden Suchanfragen direkt in alle
  "GetMids.txt" eingetragen.
- [Neu] Die Verzeichnisse für ausgehende Mails und News sind jetzt auch umstellbar
- [Neu] Neue Menüpunkte unter "Lokal": Öffne Mail.Out bzw. News.Out
- [Neu] Zusätzliche Pfadfunktionen:
  hsc2: HamHscPath, HamHsmPath, HamLogsPath, HamServerPath, HamGroupsPath, HamMailPath,
        HamNewsOutPath and HamMailsOutPath
  OLE:  ControlGetHscPath, ControlGetHsmPath, ControlGetLogsPath, ControlGetServerPath, 
        ControlGetGroupsPath, ControlGetMailsPath, ControlGetNewsOutPath and ControlGetMailsOutPath
- [Neu] Zusätzliche Protokollseite "Einzelner Auftrag" wird bei einem Doppelklick auf 
  eine normale Protokollzeile geöffnet und zeigt alle zu diesem Auftrag gehörenden
  Protokollzeilen an. Dieses Suchergebnis ist fix d.h. später hinzukommende Protokoll-
  zeilen zu diesem Thread werden nicht automatisch eingepflegt.
- [Änd] Das Ergebnis der HamPath/ControlGetPath-Funktion entspricht dem "main"-Verzeichnis,
  welches sich vom originalen Hamster-Verzeichnis unterscheiden kann.
- [Änd] Die Protokolleinträge für POP3/SMTP-Aufträge zeigen die benutzten Server an.
- [Neu] Der alte Konfigurationsdialog wurde aufgeteilt und hat einen eigenes Hauptmenüpunkt
  "Konfiguration" erhalten:
  - Grundeinstellungen: Die Bearbeitung des "Online"-Menüs wurde verbessert, die Optionen für
    interne Gruppenzuordnung und den verwendeten Editor sind jetzt direkt erreichbar, zudem
    ist die Sprachauswahl, die Option "Startbildschirm anzeigen" und die Option "Vor Beenden 
    fragen, wenn Outbox voll" neu hinzugekommen.
  - News(gruppen): Die Ladeaufträge sind jetzt auch direkt pro Server editierbar, Benutzername
    und Passwort sind direkt beim Newsserver einzustellen, die aktuelle Gruppe kann aufgeräumt
    (Purge) werden.
  - Mail(server): Benutzername und Passwort sind direkt beim Mailserver einzustellen, der POP3-
    Server hat einen eigenen Unterdialog bekommen, der es erlaubt, einen zugehörigen Benutzer
    und Filterabschnitt einzustellen, ein POP3-Server darf mehrfach benutzt werden (mittels /x
    Anhang) und die Filterfunktionen Nachricht an Admin, Ignorieren und Löschen auf Basis der
    Mailgröße sind jetzt auch direkt einstellbar.
  - Lokale Server/Benutzer: Die Anzahl der Skript-Passworte ist einstellbar, die Basis der PW-
    Generierung ebenfalls, die Einstellungen bzw. zusätzlichem "X-Posting-Agent"-Header und
    bzgl. der Maximalgrößen für Mails und News über die lokalen Server sind jetzt direkt 
    erreichbar.
- [Neu] Untermenü DFÜ-Netzwerk im "Online"-Menü erlaubt das direkte Anwählen von DFÜ-Netzwerk-
  Verbindungen.
- [Fix] Geschwindigkeit der Gruppensuche in "Neue Ladeaufträge" wurde verbessert.
- [Änd] Die tägliche Gruppenstatistik enthält jetzt auch eine nach Artikelanzahl sortierte 
  Gruppenliste und eine Übersicht über länger nicht mehr vom Client benutzte Gruppen.
- [Neu] OLE-Funktion ControlAddLog (String, x) erlaubt die Erzeugung von Protkollzeilen aus
  einem externen Programm heraus. x steht für den Typ der Meldung: 1=Debug, 2=Detail, 3=Info,
  4=System, 5=Warning, 6=Error. // Idee von Martin Kuhlmann
- [Neu] Neue OLE-Funktion ControlChangePassword(AccountName, OldPW, NewPW): Smallint, Results:
  0: Falsches altes PW, 1: PW geändert, 2: Fehler beim Ändern, erlaubt das Ändern von Passworten 
  aus externen Programmen heraus // Programmierung durch Phillipp Kern
- [Fix] Diverse Speicherlöcher gestopft // Konstantin Seiler und Jürgen Haible
- [Add] Neue unterstützte Nachricht "9" für HamMessage. Sinn: "Konfigurationsdialog offen" abfragen
  bzw. die Konfiguration vom Hamster neu einlesen lassen. Anwendung: Falls kein Konfigurations-
  dialog vom Hamster aktiv ist, wird "1", ansonsten "0" zurückgeliefert. Falls der "Ask"-
  Parameter nicht gesetzt ist, lädt Hamster - sofern kein Konfigurationsdialog aktiv ist - seine
  Konfiguration neu. Dies ist dafür gedacht, z.B. nach externen Änderungen in der INI dafür zu
  sorgen, daß der Hamster diese Änderungen auch benutzt // Programmierung durch Wolfgang Jaeth
- Aktionen in hamster.ini per [Actions]: Mit xxx.exec und xxx.pars kann ein Programmname und die
  nötigen Programmparameter für diese Aktion angegeben werden. Als Aktionen (xxx) stehen zur
  Verfügung: news.out für ausgehende Postings, mail.out für ausgehende Mails, mail.in für eingehende
  Mails und mail.internal für vom Hamster generierte Mails.
- [Fix] Nur HSC und HSM-Datein werden im entsprechenden Menü eingeblendet, die Endung HSCRIPT beispiels-
  weise wird jetzt ignoriert. // Frank Haun & Heiko Rost

Vr. 1.3.20.0 (22 Jul 2000) und früher: siehe "Changes_en.txt"

Die Kürzel bedeuten:
~~~~~~~~~~~~~~~~~~~~
AH  = Andreas Heim
AP  = Alexander Plas
AS1 = 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
MR  = Mathias Röllig
MS  = Max Sanzharov
OJB = Obbe-Jan Bakker
OZ  = Olivier Zolli
PW  = Philipp Wendler
SS  = Stefan Seth
TGL = Thomas G. Liesner

