Historie von Korrnews
=====================
V3.2
- Neu: Oneliner & Reformat-Kennungen jetzt einstellbar
- Neu: Multiline-Header knnen nicht mehr versehentlich Probleme verursachen,
  da - falls fehlend - jetzt automatisch ein Leerzeichen vor die Zusatzzeilen
  gesetzt wird.
- Neu: Funktion "Ord" gibt das ASCII-Zeichen des ersten Zeichens im bergebenen
  String zurck
- Bugfix: Debug-Modus funktioniert wieder
- Bugfix: Bei Rechenzeichen direkt hinter parameterlosen numerischen Funktionen
  (wie z.B. in: Bodylines-3) kam es zu Interpretationsfehlern.
  
V3.12 
- Bugfix: ">=" und "<=" wurden bei Stringvergleichen genau falschrum interpretiert
- Neu: header.def: Funktion "Ord" gibt des ASCII-Wert des ersten Zeichens des 
  bergebenen Strings zurck.
- Bugfix: Das Wandeln eines neuen Subjects in 7-Bit-Zeichen lt einen eventuellen 
  "was"-Anteil unverndert.
  
V3.11 15.4.2001
- Bugfix: msg-Dateien ohne CRLF am Ende verlieren nicht mehr die letzte Zeile, wenn
  diese zufllig aus nicht mehr als 2 Zeichen besteht
- nderung der internen Ablufe: Zitate knnen jetzt auch in der Introduction
  untergebracht werden.

V3.1 11.02.2001,
- Neu: header.def: While/Wend, Repeat/Until, Endless/Loop, Break, Continue
- Neu: "Oneliner"-Automatik fr beispielsweise XNews & URLs
- Neu: "Reformat"-Automatik, um gezielt Abstze neu umzubrechen
- Fix: OE-Kammquoting-Reparatur sollte jetzt noch besser arbeiten, die internen
  Grenzen waren etwas eng gewhlt.
- Fix: header.def: For/Next wird bei Anfangswert grer Endwert nicht mehr durchlaufen
- Fix: header.def: Gotos in Subs oder innere Schleifen werden jetzt abgefangen
- Fix: Boxquotes harmonieren jetzt auch mit Quoted Printable und Tab-Zeichen

V3.01 23.12.2000,
- Neu: Aktualisierte Hilfe
- Neu: Funoten knnen auch Umbruchplatzhalter bekommen
- Fix: Diverse Kleinfehler bei Funoten
- Fix: Diverse Kleinfehler bei Boxquotes

V3.0, 17.12.2000
- Neu: Funotenverwaltung
- Neu: Boxquotes noch detaillierter einstellbar und Dialog noch etwas aufgerumt
- Neu: Zwecks Nutzung fr Crosspoint ist ein Bereich am Anfang und Ende in Zeilen
  definierbar, den Korrnews nicht anfasst.
- Neu: Dateien im Unixformat (statt mit #13#10 sind die Zeilen mit #10 getrennt)
  werden jetzt auch korrekt behandelt und automatisch als Unix-Dateien wieder
  gespeichert (ebenfalls fr Nutzung per Crosspoint ntig).
- Neu / Header.def: Die numerische Funktion  "NextMatchedLine (Nr, RegExp)" erlaubt
  ein schnelles inkrementelles Durchsuchen des Textbodys nach einem beliebigen
  regulren Suchausdruck, der Rckwert ist 0 bei einem Misserfolg, ansonsten enthlt
  er eine Zeilennummer zwischen Nr und Bodylines.  
- Bugfix: Bodylines(%Nr%) dekodiert nun automatisch quoted-printable
- Bugfix: Multiple Zugriffe sollten jetzt auch bei Zugriff auf externe Dateien keine
  Fehler mehr verursachen.
- nderung: Die Konvertierung von Umlauten in Ersatzzeichen im Subject wird nicht
  nur bei einem "Re" oder "cmsg ", sondern auch bei einem "Cancel " am Anfang ber-
  sprungen. 
  
V2.9, 09.12.2000
- Neu: relativ frei definierbare Boxquotes
- Neu: Only_KN kommt jetzt ganz ohne Windows-Fenster aus, bei Fehlern
  kommt dafr nicht mehr der Bearbeitungsdialog, sondern eine schlichte Meldungsbox  
- Neu: Assistent, um die OE-Einstellungen gezielt zu aktivieren
- Neu: Die Skriptbefehle "Line(Nr, String)" und "CountLines(String)" erlauben die 
  zeilenweise Bearbeitung von Strings
- Neu: Als Gegenstck zu "Set xxx from Dateiname" gibt es jetzt auch 
  "Do Write Textfile Dateiname, Stringausdruck"
- nderung: Oberflche generalrenoviert
- nderung: Hamster-Aufruf-Assistent trgt jetzt Only_KN statt Korrnews ein  
- nderung: Die Konvertierung von Umlauten in Ersatzzeichen im Subject wird nicht
  nur bei einem "Re" am Anfang, sondern auch bei einem "cmsg " am Anfang ber-
  sprungen. (Bei einem Cancel kommt es sonst ggf. zu unerwnschten nderungen)
- Bugfix: Multiaufruf sollte keinen '"lheader.txt" konnte nicht geffnet werden'-Fehler
  mehr hervorrufen
  

V2.88, 24.10.2000
- Bugfix: Base64-Dekodierung im Header funktioniert jetzt auch, wenn "ungerade" 
  Anzahl an kodierten Bytes => keine kaputten Subjektendungen mehr 
- nderung: DecodeISO() wandelt jetzt mehrzeilige Strings (Header) in einzeilige,
  anstatt die Zeilensprnge beizubehalten.
- Bugfix: nderungen mittels "Delete between" und "Set Bodyline XX =" werden jetzt
  als nderungen registriert.                                                     
- Neu: Geziele Sig-Wahl durch Syntaxerweiterung: 
  "Set/Append Sig[nature] <Zahl> ..." statt "Set/Append Sig[nature] ..."

V2.86, 15.9.2000
- Bugfix: Falls Sig per Skript gesetzt, funktionierte HasSig nicht korrekt 
- Neue Option "Base64 => 8Bit", auf text/plain beschrnkt, war in 2.85 enthalten,
  aber nicht abschaltbar und nicht auf text/plain beschrnkt.
- Erweiterte Syntax: "Delete between first regexp, rexexp, boolean [, Ersatztext]"
  ist jetzt genauso zulssig wie "Delete between last ..."
- Neue Stringfunktion "GetDateTime(Formatstring)" erlaubt das Auslesen der aktuellen
  Zeit bzw. des aktuellen Datums. Folgende Platzhalter sind im Formatstring erlaubt:
  Ein "yy" oder "yyyy" steht fr Jahr, "m", "mm" fr Monat, "d", "dd" fr Tag, "h"/"hh" 
  fr Stunde, "n", "nn" fr Minute, "ss", "s" fr Sekunden und "hh", "h" fr 
  100tel Sekunden.
- Neue Stringfunktion "Version" erlaubt das Auslesen der Korrnews-Version.  
- Oberflche leicht umgestaltet (Abschnittsname entspricht jetzt "Allgemein", einige
  Buttons umgeschoben, "Neu" und "Kopie" sind jetzt getrennte Buttons)
- Oberflche: Assistent fr Hamsteranbindung V1.3.21.80 oder hher.  
  
V2.85, 27.8.2000
- Bugfix: Option From/Reply-To in Format "..." <...> wandeln, kommt jetzt auch korrekt
  mit <...>-Adressen ohne Namen klar.
- nderung: Die String-Funktion "Header" liefert mehrzeilige Header jetzt incl. CRLF zurck.   
- Bugfix: Die Erkennung, ob Lines mehrfach eingefgt werden sollen, klappt jetzt wieder
- Header.def: 
  - Erweiterte Do-Replace-Syntax:
      Do Replace ( first | last | all ) <RegExp> with <Stringausdruck> _
        [ in ( Body | Lines | Sig | Header | Intro | <Variablenname> ) ] _
        [ from <Zeilennummer> ] [ to <Zeilennummer> ]
    Hinweise: Im Falle der Header oder im Falle von qp-Text kann eine Zeile durchaus auch 
    CRLFs aufweisen und bei Variablen werden die Zeilennummernangaben ignoriert.   
  - Neue Stringfunktion: Bodyline(<Zeilennummer>)  
  - Neue Set Anweisung: Set [raw] Bodyline <Zeilennummer> ...
  - Neue Block-Anweisung: For %variable% = <Wert> to <Wert> [ Step <Wert> ] <CRLF> ... <CRLF> Next
    (Hinweis: Falls der Anfangswert den Endwert direkt berschreitet, wird trotzdem ein Durchlauf gemacht)
  - Vereinfachte For-Schleife: For %variable% = <Wert> to <Wert> [ Step <Wert> ] do <Anweisung>
    (Hinweis: Intensive For-Schleifen kosten einiges an Rechenzeit...)                               
  - Neue Anweisung "Do Show Info (Text [, berschrift])" zeigt eine Messagebox an.  
  - Neue Boolsche Funktion "Ask" zeigt eine Messagebox mit Ja/Nein an, Beipiel: 
      If Ask ("Reply = From, Reply lschen?") then Delete Header Reply-To
  - Neue Anweisung: "Do Open Dateiname" ffnet das angegebene Dokument mit der passenden 
    Anwendung (allerdings ohne zu warten).
  - Neue Anweisung: "Do Print Dateiname" druckt das angegebene Dokument mit der passenden
    Anwendung, sofern registriert.
  - Neue Anweisung: "Do Repair OEQuotings" entspricht dem Konfigurationspunkt "Kammquoting reparieren"
  - Bugfix: "Set Option" wirkt nicht mehr ber mehrere Postings hinweg
  - Chg: "Set Option" bekommt jetzt einen String zugewiesen, falls aber kein gltiger String rechts vom "="
    steht, wird wie bisher der Text rechts vom "=" 1:1 bernommen.
  - Neue Stringfunktion "Input (Titel, Text, Vorgabe)" erlaubt Benutzereingaben
  - Neue Boolsche Funktion "Abort" zeigt eine Messagebox mit Ok/Abbruch an und liefert im Falle
    von Abbruch "Ja", ansonsten "Nein" zurck. Beipiel: 
      If Abort ("Weitermachen?") then Quit
  - Neue Stringfunktion "ReadIni (Datei, Abschnitt, Key, Default)" erlaubt das Einlesen von INI-Eintrgen
  - Neue Anweisung: "Do Write IniStr Datei, Abschnitt, Key, Wert" erlaubt das Setzen von INI-Eintrgen
  - Neue Anweisungen: "Delete Bodylines from Zeile to Zeile" bzw. "Delete Bodyline Zeile"
  - Neue Anweisung: "Insert Bodyline Zeile = ..."
  - Str-Funktion akzeptiert jetzt auch wieder nur einen oder zwei Parameter.
       
V2.8a
- Bugfix: ggf. wurden die letzten beiden Zeichen der Mail/des Postings gelscht
V2.8
- Bugfix: Zeilen am Ende wurden nicht zuverlssig gelscht
- Oberflche: 
  - Neue Option "Header-Reihenfolge"
  - Neue Option "Hamster-Mails: !MAIL FROM und !RCPT TO-Header oben"
  - Hilfe-Button fhrt in die (lokale) Korrnews.htm
  - Zustzliche Bewegungsbuttons
- Bugfix: Do Sort Header sortiert multiple Header komplett und nicht nur den ersten
- OE-Kamm-Quoting-Reparatur noch etwas optimiert
  
V2.75
4.8.2000
- Neue Stringfunktion "BoolToStr": Set %XPost% = BoolToStr(Header(Newsgroups) contains ",")
- Neue boolsche Funktion "StrToBool": If StrToBool(%XPost%) then ...
3.8.2000
- Bugfix: >= und <= funkionieren jetzt
- Bugfix: Lines-Header bercksichtigt auch Sig
- Neue Option: Lines-header-Neuberechung (de)aktivierbar
- Neue numerische Funktion "Trunc(Zahl)" => NK-Stellen abschneiden
- Neue numerische Funktion "Random(Zahl)" => Gibt Zufallswert zwischen 0 und Zahl-1 zurck
- nderung: Str braucht vorlufig 3 Parameter, IStr braucht nur einen Parameter
1.8.2000
- Attachment-Erkennung um UUEncode erweitert
- Schnellere Bearbeitung von groen News/Mails
- Header.def: Neue Stringfunktion Chr(xx)
- Header.def: Subs-Blcke werden automatisch ignoriert
31.7.2000    
- Funktion: Reparatur von OE-Kamm-Quotings
- Automatische bernahme von CopyIf-AddToMessageIDs
- Header.def - Starten von Programmen und Warten auf Beendigung: 
  Do Exec/Run [and wait] "...", "..."
29.7.2000
- Header.def - Wordwrap (String, Breite, Einrckung)
28.7.2000
- Header.def - VarExists (Variable), Parameter bei Subs incl. Var-Parameter
- Header.def - neue String-Funktionen: Trim, LTrim, RTrim, Copy, Left, Right, FillChar

V2.7 / V2.6 
- 28.7.2000: Lines-Header wird automatisch richtig gesetzt
6: 24.7.2000
- Header.def:
  - Goto, Gosub/Sub/EndSub/Return
  - Do Include wird jetzt direkt und somit auch in Blockstrukturen ausgewertet
  - Neue String-Funktion "EscRegExp"
  - Bugfix bzgl Zuweisungen - WildCards wurden zustzlich interpretiert  
  - Adress, Name und FirstName berarbeitet
  - MakeAdress
- Konfiguration
  - Neue Aufteilung der Headeroptionen, um die neue Option "Mailadresse optimieren"
    unterzukriegen  
5: 23.7.2000
- Header.def:
  - Delete between last <RegExp>, <RegExp>, <Bedingung> [, <Stringausdruck>]
  - Delete Empty Lines at end   
  - Set %Variable% from <Dateiname>
  - Bugfix: "Set raw Header / ... / end" funktioniert jetzt wieder
4 21.7.2000
- Header.def weitgehend berarbeitet:
  - "Delete Header" lscht auch multiple Header
  - "Add Header" erlaubt fr echte Sonderflle auch multiple Header
  - "Do Include" erlaubt das Auslagern von Skriptteilen
  - "Introduction" und "Lines" knnen jetzt auch aus Dateien laden
  - "Append" funktioniert jetzt auch mit Signaturen
  - Neue Stringfunktionen: Filename, Path, CR, Full [raw] Header, Full [raw] Body,
    Full [raw] Sig[nature], Full Article / Posting / Mail, 
    DecodeISO (<Stringausdruck>), 8BitTo7Bit (<Stringausdruck>),
    CutLeft (<Stringausdruck>, <numerischer Ausdruck>), Str (<numerischer Ausdruck>),
    Replace (Original, RexExp, Ersatzstring), MatchedLines(RegExp)
  - Vergleiche sind jetzt auch mit Zahlen mglich, dazu passend sind die Grundrechen-
    arten implementiert incl Min, Max, Count u.. und es gibt noch einige spezifische 
    Funktionen: Bodylines, Headerlines, Siglines, Introlines
  - Neue boolsche Abfragen incl. der Pseudo-Werte true und false    
3 8.7.2000  
- Neue Option: Automatische Neuerstellung der "!RCPT TO"-Liste fr Hamster
- Neuer Vergleichsoperator "like"/"matches" => Der linke Ausdruck wird mit dem rechten 
  RegExp-Ausdruck verglichen
- Header.def: Neuer Stringbefehl  "Extract (regexp, Stringausdruck)" extrahiert den 
  Teilausdruck, auf den die regexp zutrifft.
- Neuer Header.def-Befehl: Do Replace (first|last|all) RegExp with Ersatzstring
- Neuer Header.def-Befehl: "Set Macro "..." / ... / end" => macht z.B. aus der Zeile
  #spoiler# einen richtigen Spoiler ber 40 Zeilen.
- Header.def: Neue Stringbefehle  "Full Body" und "Full Header" erlauben Vergleiche ber
  den gesamten Header oder den gesamten Body des Postings/der Mail.
2 29.6.2000  
- Bugfix: In der Kombination Set Lines + Set Sig + MIME-Attachment wurde die Sig ins
  Attachement gesetzt
- Bugfix: Set Lines + MIME-Attachment + keine bestehende Sig => Lines kamen erst nach
  dem Attachment
1 17.6.2000
- Header.def: Neuer Befehl "Set/Append Intro[duction]"
- Bugfix/Header.def: "Stop" hlt nur noch, wenn umliegende Bedingung wahr
- Header.def: Multi-Zeilen per "_" am Ende erlaubt
- Header.def: "If <Bedingung> then" jetzt erlaubt, falls nach "then" ein 
  Befehl folgt, gilt das "If" nur fr diese Zeile und braucht kein "endif" mehr.
- Header.def: Nicht interpretierbare Zeilen ergeben jetzt einen Fehler
- Header.def: "Do Sort Header Header1, Header2, ..." erlaubt es, die Reihenfolge
  der Header festzulegen, nicht genannte bleiben in ihrer Reihenfolge unterhalb
  der sortierten Header.
- Header.def: Neue Stringbefehle zur Interpretation vom From-Header: Adress() 
  extrahiert die Mailadresse, Name() den Namen und FirstName() den Vornamen.

V2.5c, 4.6.2000
- Bugfix: Seit 2.5a oder b wurde die letzte Skriptzeile (bzw. Bodyheader) ignoriert

V2.5b, 1.6.2000
- Debug/Error-Dialog mit Einzelschritt und Edit-Mglichkeit u.a.
- Header.def: "Stop" fr Tests
- Wildcards in "Set Sig from "-Anweisung mglich

V2.5a, 29.5.2000
- Bugfix: CopyFups-Ergnzung aus References krzen klappte bei vom Newsreader 
  gefoldeten References nicht, die eigentliche References-Zeile wurde dabei
  vernichtet
- Bugfix: Bei Multi-Part-Postings/Mails und Konvertierung QP=>8Bit konnte der
  Body ziemlich komplett verschwinden.
- Keine Leerzeile am Schluss mehr  
- Bugfix: Automatische Signaturen werden bei Wandlung QP=>8Bit nicht mehr 
  fehlerhaft umgebrochen
- Bugfix: "_" im Body wird bei Konvertierung QP=>8Bit nicht mehr in Leerzeichen
  umgewandelt

V2.5, 13.05.2000
- Hilfe komplett berarbeitet, kn_hist.txt und Header.txt separat
- Neue Option: Umlaute in neuem Subject umschreiben
- Neue Option: X-Header-Lschliste auch per Dialog
- Neue Option: Random-Sig-Datei auch per Dialog
- Neue Option: Leerzeile vor automatischer Signatur
- Neue Option: Leerzeile vor Lines
- Neue Option: Reaktion auf undeklarierte 8-Bit-Zeichen
- Neue Option: Reaktion auf Quoted Printable 
- Neue Option: Lsche am Zeilenanfang
- Ergnzung: "Nicht ndern"-Trenner jetzt auch mit Wildcards davor/danach 
  definierbar
- Falls korrnews.ini noch nicht existiert und Korrnews im Hamster-
  Verzeichnis liegt, werden beim Erststart direkt passende Mails und News-
  Sektionen erzeugt.
- Neuer Befehl: Set Option ... erlaubt das temporre ndern beliebiger 
  Optionen per Header.def

V2.4, 25.03.2000:
- Dialog fr alle Einstellungen, wird bei Aufruf ohne Parameter direkt
  aufgerufen
- Has8BitChars bercksichtigt auch Sigs, wenn Sig-Anweisung vor erster 
  Verwendung von Has8BitChars vorkommt
- Neue String-Funktion/Abfrage: BodyHeader(Headername)
- Neue Anweisung: Delete BodyHeader Name
- Neue Anweisung: Delete Sig
- Neue Anweisung: Delete Header Name
- Neue Option: Leerzeichen zwischen versch. Quote-Zeichen abschaltbar
- Neue Option: Quote-Zeichen frei definierbar
- MIME-Kodierung noch einmal berarbeitet, in speziellen Fllen konnten 
  Leerzeichen verschwinden
- Trenner definierbar, um Bodyanpassungen fr einen Teil des Postings zu 
  verhindern
- Bodyanpassungen unterhalb des (ersten) Sig-Trenners abschaltbar
- nderung: Wildcards jetzt Strings gleichgestellt, daher Syntaxnderung 
  bei Konstruktionen a la %First/Last of...%, als Nebeneffekt sind 
  First/Last jetzt auch bei normalen String-Ausdrcken mglich.
- Neue Anweisungen: Variablen eingefhrt: Set %Test% = ... bzw. 
  If Header(Test) = %Test% ...
- Neuer Befehl "Set/Append [raw] Lines" erlaubt Zusatzzeilen oberhalb der Signatur
- nderung: Leerzeilen am Ende lschen jetzt optional

V2.3, 02.03.2000:
- Wildcards mit "%%" vermeidbar, %First/Last of ...% kann auch mit 
  References hantieren
- Neue Option: References auf einstellbare Maximallnge krzen und/oder 
  umbrechen
- CopyFups-Message-ID in Body wird automatisch mit korrigiert
- besserer Quote-Korrektur: Unterstreichungen sollten immer passen
- Leerzeichen zwischen Zitatzeichen und Zitat bei Quote-Korrektur jetzt 
  optional
- Header "Date" kann wenn fehlend/immer gesetzt werden, wahlweise als GMT 
  oder lokales Datum

V2.21, 28.02.2000:
- BugFix: Was-Krzung krzte ein mehrzeiliges Alt-Subject nicht korrekt

V2.2, 25.02.2000:
- Subject-Korrekturen: Mehrfaches Re:, AW: zu Re:, "(was:...)" krzen
- Testmodus per "DontChangeRenameToExtension" in der INI-Datei
- Neue Bedingung "Has8BitChars" fr die Header.def

V2.1, 12.02.2000:
- Multiline-Header per "Set raw header (Zeilen mit beliebigem Inhalt) end" 
  mglich
- Zusammenarbeit mit Copyfups: Sofern im selben Verzeichnis, wird die 
  Angabe von "AddMessageID" automatisch auch in Korrnews beachtet.
- BugFix: Signaturen funktionieren jetzt auch mit Multi-Part-Postings, 
  sofern der erste Part der normale Textpart ist.
  
V2.0, 15.01.2000:
- Bedingungen massiv ergnzt (else, lower/upper etc)
- Signaturen sind setzbar incl. Zufallsauswahl bei Multi-Signatur-Dateien
- Verschiedene Einstellungen mit einer Korrnews.exe mglich

V1.6a, 08.01.2000:
- Noch mal optimiertere MIME-Header
- Fehler bei "MessagePath=Laufwerksbuchstabe:\Pfad" korrigiert

V1.6, 03.01.2000:
- MIME-Header perfektioniert: Teilweise Fehler raus, zustzlich Folding 
  integriert. In der Vorversion konnte es passieren, da zustzliche 
  Leerzeichen im Subject auftauchten.
  
V1.5a, 03.01.2000:
- Lschzeilen in Header.def fhren nicht mehr zu Leereintrgen im Header, 
  wenn nicht im Header vorhanden
  
V1.5, 02.01.2000:
- Beim Ersetzen/Lschen (ursprnglich) mehrzeiliger Header werden die 
  zustzlichen Zeilen jetzt auch gelscht und nicht mehr stehengelassen.
- Neue Option "ConvertToSigDelimiter" fr OE-Nutzer
- Programm- und Datenpfad trennbar ("MessagePath")

V1.4, 01.01.2000:
- Bedingte Header.def
- Wildcards bei Headern
