diff --git a/OLD.mudclients b/OLD.mudclients
index c10f00e..755f869 100644
--- a/OLD.mudclients
+++ b/OLD.mudclients
@@ -7074,3 +7074,164 @@
 
 
 
+Mudlet 3.17 (Zaphob,  3. Feb 2019, 01:50:11):
+Hier folgen die Release-Notes der seit heute neuen Mudlet Version 3.17
+Das Original im Web lesen: https://mudlet.org/3-17-de
+
+
+Wir haben haufenweise neue Feature fuer euch in diesem ersten Mudlet-Release
+2019: Sichere Verbindungen, leichtere Kartenerstellung in vielen Spielen,
+HiDPI Unterstuetzung und mehr! Dies ist das groesste Mudlet Update in den
+letzten Jahren seit 3.0.
+
+
+Sichere Verbindungen
+--------------------
+
+Sichere Verbindungen (SSL/TLS). Sie sind hier! Stell dir das gruene Schloss
+oben in deinem Browser vor: Mudlet unterstuetzt das jetzt auch.
+
+Waehle die "Sicher"-Box zum Aktivieren. Dadurch wird deine Verbindung zum
+Spiel vor dem Mithoeren geschuetzt (falls du bspw. ein offenes WLAN benutzt),
+Manipulationen durch Andere verhindert, und sichergestellt, dass du wirklich
+zu dem Spiel verbunden bist, das du erwartest. [...]
+
+
+Leichtere Kartenerstellung
+--------------------------
+
+So viele Spiele da draussen sind wirklich einzigartig darin, wie ihre
+Geographie im Spiel funktioniert. Deshalb ist die Herangehensweise von Mudlet
+bezueglich Karten, Kartenerstellung und Schnellreisen so gewesen, den Spielern
+Lua Funktionen bereitzustellen, mit denen sie selbst Kartenunterstuetzung fuer
+ihr Spiel ergaenzen koennen. Das taten viele!
+
+Damit aber nicht nur zaubererde Programmierer leichter Mudlets Karten im Spiel
+benutzen koennen, hatten wir in unserem Zeitplan 2018 festgelegt, dass wir 
+dies verbessern wollen.
+
+Zu diesem Zweck hat Jor'Mox fantastischerweise sein Generic Mapping Script
+an Mudlet beigetragen und dessen Funktionalitaet erweitert! Das
+Kartierungsskript wurde verfeinert und fuer so viele Spiele wie moeglich
+sofort einsetzbar gemacht. [...]
+
+
+HiDPI Unterstuetzung
+--------------------
+
+Mudlet unterstuetzt jetzt high-resolution (Retina/HiDPI) displays! Vergleiche
+in den Screenshots vorher und nacher, wieviel schaerfer die Schrift jetzt
+aussieht.
+
+
+Visuelle Verbesserungen
+-----------------------
+
+Zusaetzlich zur HiDPI Unterstuetzung haben wir angefangen Mudlets Symbole
+aufzufrischen! Der neue Stil wirkt super auf hochaufloesenden Anzeigen und wir
+werden in der naechsten Version noch mehr Symbole im neuen Stil haben. Vielen
+Dank an Paul Saindon von Imperian, sowie Leris und SlySven von Mudlet fuer
+diese Verbesserungen.
+
+
+Farbtrigger fuer 256 Farben
+---------------------------
+
+Mudlets Farbtrigger waren bislang nur auf die 16 ANSI Standardfarben
+beschraenkt - damit ist Schluss. Dank SlySvens Arbeit auf diesem Gebiet kannst
+du nun auf alle 256 reagieren.
+
+Zusaetzlich kannst du jetzt waehlen, entweder nur auf bestimmte Vordergrund-
+oder nur auf Hintergrundfarben zu reagieren, anstatt beide gleichzeitig
+auswaehlen zu muessen.
+
+
+Infrastruktur
+-------------
+
+Keneanung hat einen grossartigen Bot hinzugefuegt, um Mudlets Entwicklung zu
+unterstuetzen: Wenn du einen Pull Request mit deinen Verbesserungen
+einreichst, wird der Bot mit den Links zum Download einer Testversion
+auftauchen, sobald die CI-Erstellung fertig ist[...]
+
+
+Lua Skripter
+------------
+
+Viele neue Funktionen wurden ergaenzt fuer alle, die es lieben in Mudlet
+Skripte zu schreiben!
+
+* ergaenzt: getMapSelection() um die Raeume zu sehen, die aktuell im 
+  Kartenfenster ausgewaehlt sind 
+* verbessert: saveMap() erlaubt dir nun die Wahl, in welcher Kartenversion 
+  gespeichert werden soll 
+* ergaenzt: text-to-speech Unterstuetzung wiederhergestellt 
+* ergaenzt: enableClickthrough() und disableClickthrough(), damit Etiketten 
+  und Pegel nicht mehr auf Klicks reagieren 
+* verbessert: exists() und isActive() funktionieren jetzt fuer Skripte 
+* verbessert: setFgColor(), setBgColor(), getColumnNumber(), und echoLink() 
+  akzeptieren jetzt "main" als Argument und haben verbesserte Fehlermeldungen
+* ergaenzt: creplace() fuer ein farbiges replace() 
+* verbessert: getLines() funktioniert jetzt mit Minikonsolen/Benutzerfenstern 
+* ergaenzt: moveCursorUp() und moveCursorDown(), um den Cursor leicht 
+  rauf/runter zu bewegen
+* ergaenzt: tempAnsiColorTrigger(), damit Trigger auf 256 Farben reagieren 
+* ergaenzt: setReverse() und setOverline() fuer schickt Texteffekte
+
+
+Spieladministratoren
+--------------------
+
+Aufregende Funktionen fuer Spieladministratoren in diesem Release sind:
+
+* Ergaenze Unterstuetzung fuer sichere Verbindungen via TLS. Lies in
+  unserem Wiki, wie du dein Spiel TLS-kompatibel machen kannst
+* Es wird von gmcp.Client.GUI jetzt jeder Text als Versionsnummer akzeptiert 
+  (war vorher auf Integer beschraenkt) 
+* Unterstuetzung fuer ECHO on/off ergaenzt 
+* Unterstuetzung fuer SGR Reverse ergaenzt (Vordergrund- und Hintergrundfarbe 
+  tauschen) (7/27) 
+* Unterstuetzung fuer SGR Overline (53/55) ergaenzt
+
+
+Verschiedenes
+-------------
+
+[...]
+* repariert: Ein Kommando per 'send text to all profiles' (wie :hallo)
+  funktioniert nun fuer Aliase 
+* repariert: Buttons funktionieren wieder in Menus auf Buttonleisten 
+* repariert: Klicks auf Minikonsolen oder
+  Benutzerfenster entfernen nicht mehr den Fokus aus der Eingabezeile 
+* repariert: Man kann jetzt Profile/Pakete mit nicht-lateinischen Zeichen im
+  Namen oder Pfad speichern 
+[...]
+* repariert: Zum Speichern markierte Variablen werden beim Laden nicht mehr 
+  automatisch versteckt 
+* verbessert: Die Spiele, die Karten per MMP herunterladen, sind nicht mehr
+  fest in Mudlet vorgegeben, da alle nun gmcp.Client.Map unterstuetzen
+* verbessert: Gebiete werden nun im Dialog zur Raumgebietswahl alphabetisch 
+  sortiert
+* verbessert: Triggertypen werden im Editor nicht mehr hervorgehoben, um
+  dunkle Themes zu unterstuetzen 
+* verbessert: Man kommt nun mit Tabulator aus der Spielbeschreibung heraus
+
+
+Danke an
+--------
+
+Vielen Dank an die 12 (!) Mitwirkenden an all den Codeoptimierungen in dieser
+Version: demonnic, druuimai, gilmoa, imperian, jerzerisz, jgh713, JorMox,
+keneanung, Leris, mpconley, SlySven, und vadi2.
+
+Danke an alle uebersetzer: dermox, Guilherme Campos (guicampos), Inutt
+(richard.ankh), Leris, lostsnow, und vadi2, die geholfen haben Mudlet zu
+uebersetzen!
+
+Zuletzt auch vielen Dank an alle Mitglieder aus unserer Discord community
+fuer die Hilfe an Neulinge, vor allem Eraene, Leris, keneanung, und SlySven!
+
+-----------------------------------------------------------------------------
+
+
+
