====== Online-IDE: Changelog ====== Ich komme mit dem Führen der Liste unten leider nicht immer hinterher. Die aktuellen Änderungen finden Sie tagesaktuell in den Commit-Historys der beiden Projekte: * [[https://github.com/martin-pabst/Online-IDE/commits/master|Commit-history der Online-IDE]] * [[https://github.com/martin-pabst/SQL-IDE/commits/master|Commit-history der SQL-IDE]] ===== 2023 ===== * **September 2023** * Anfang September 2023 wurden die Server von Online-IDE und SQL-IDE auf den neuen Servercode umgestellt. Nach kleineren anfänglichen Schwierigkeiten laufen sie jetzt deutlich stabiler und performanter als vor der Umstellung. Der Code ist jetzt viel besser lesbar, klarer strukturiert und - dank deutlich weniger Abhängigkeiten zu externen Bibliotheken - zukunftssicherer als vorher. * **August 2023** * Weitere Arbeiten am Prüfungsmodus * Umfangreiche Arbeiten am Servercode. * **Juli 2023** * Die SQL-IDE versteht jetzt auch ''enum''-Datentypen. * **Juni 2023** * Umfangreiche Arbeiten am Server: Umstellung von Kotlin auf Java und von Exposed auf ein eigenes ORM vorbereitet (Umstieg erfolgt in den Sommerferien) * **Mai 2023** * Neue Methoden Group.getIndexOf(Shape s), Sprite.getImageIndex(), Collections.shuffle(Collection c) * Added Sprite import by pressing button (insted drag'n drop) for compatibility with tablets * Beim Duplizieren eines Workspace wird jetzt auch das zugehörige Klassendiagramm mit dupliziert. * Hauptmenü Ansicht->Enable/disable word wrap hinzugefügt. * include fonts.css in includeIDE.js * make login page responsive * Arbeiten am Modus zur Durchführung von schriftlichen Prüfungen mit der Online-IDE begonnen * Umfangreiche Bugfixes, v.a. in der SQL-IDE * SQL-IDE: ''Join'' ... ''on'' ist jetzt möglich. * * **April 2023** * Graphische [[api:documentation:grafik:gui|GUI-Elemente]] ''TextField'', ''CheckBox'', ''Radiobutton'' und ''Button'' * [[api:documentation:http:start|Http-Requests]] von der Online-IDE aus sind jetzt möglich * [[api:documentation:files:start|Files-API zum lesenden und schreibenden Zugriff auf Dateien im Workspace]]; txt, json und xml-Datendateien können jetzt im Workspace angelegt werden. * [[:api:documentation:http:start#aufbereiten_der_json-daten_jsonparser|Json-Parser]] * added section "new" in login page * set default speed to "max" * bugfix: getText yielded wrong value * bugfix: cyclic class hierarchy froze compiler * **März 2023** * Die SQL-IDE beherrscht jetzt ''create view...'' und ''drop view''. Die Struktur der Views wird rechts im Datenbankexplorer mit angezeigt. * Die Lernumgebung [[api:documentation:hamster:start|Java Hamster]] ist jetzt in die Online-IDE integriert! * Bugfix: constructors which call other constructors must not include automatic call to parameterless super constructor * added method ''Shape.isVisible()'' * Bugfixes von Fehlern, die durch den Umstieg auf das Build-System vite entstanden sind, vollständig abgeschlossen * Make multiple comma seperated attriute declarations possible * bugfix: ''int a[], b'' lead to type of b == int[] * bugfix: GNGDreieck.positionSetzen didn't work properly * bugfix: better error handling if non-abstract method-declaration ends with semincolon * bugfix: String.charAt(i) didn't enforce i >= 0 && i < length * bugfix: studentlist and class list shown twice under certain circumstances * bugfix in projectexplorer: show "Keine Datei vorhanden" if and only if this really is the case. * better looking center-alignment of class identifiers in class diagram * Implement mouse handler and collidesWith-method for Text objects * add ''Text.getText()'' and ''GText.getText()'' * fix issue [[https://github.com/martin-pabst/Online-IDE/issues/68|#68]] * add parameterless constructors for all child classes of FilledShape * added ''union''-Operator in SQL-IDE * Die SQL-IDE beherrscht jetzt views (''create view...'', ''drop view'', Anzeige der Struktur von views im Database-Explorer rechts) * **Februar 2023** * BugFix: implcit type conversion from char to int didnt work with plus-operator * Long-Konstanten (z.B. ''123L'') und Datentyp ''short'' hinzugefügt * Methode ''SystemTools.getStepCount'' hinzugefügt * Bugfix: Files shouldn't be startable if they depend on other files that have errors * SQL-IDE: Funktion ''concat'' hinzugefügt * Umfangreiche Arbeiten am build-system der Online-IDE und der SQL-IDE: Beide arbeiten jetzt mit [[https://vitejs.dev/|vite]] * BugFix: ''GNGTurtle'' ist jetzt Unterklasse von ''Object'' und damit als generischer Parameter von ''ArrayList'' verwendbar. * BugFix: nested generic Types weren't parsed properly * Umfangreiche Arbeiten an der GNG-Grafikbibliothek: Das Verhalten der Objekte beim Verschieben, Drehen, ... entspricht jetzt noch besser dem Original. * create school database for Online-IDE * Mehrere Bugfixes betreffend den Datentyp ''char'' (Operatoren, Casting von/nach ''int'', ...) * Die Lernumgebung [[api:documentation:kara:start|Java Kara]] ist jetzt in die Online-IDE integriert! * BugFix: import spritesheets dynamically in order to have version-number in dist-filename * SQL-IDE: embedded-Version with iframe works now => including SQL-IDE inside [[https://mebis.bayern.de|Mebis]] or Moodle is now possible, see [[https://www.embed.learn-sql.de/createwrapper.html|this page]] * SQL-IDE Bugfix: client hung if current workspace was folder * **Januar 2023** * Portierung auf die neue Typescript-Version * Bugfix: Processing now works with and without createCanvas-statement inside setup function * Added method String.valueOf * SQL-IDE bugfix: Compiler shouldn't accept varchar without length parameter * SQL-IDE: Added shutdown server menu entry for admin ===== 2022 ===== * ** Dezember 2022** * Suppress contextmenu when clicking on trash bin * Umfangreiche Arbeiten und bugfixes am Object tree in der debug-Ansicht. * SQL-IDE bugfixes: bugfixes: Right click in Explorer; pagination color * **November 2022** * bugfix: division assignment didn't respect integer division * Processing: set default canvas resolution to 800x600 * implement final classes and make final fields assignable inside constructor * overriding final or private methods is now forbidden; variant ''int a[]'' is now recognized (before: only variant ''int[] a'') * fix issues [[https://github.com/martin-pabst/Online-IDE/issues/60|#60]], [[https://github.com/martin-pabst/Online-IDE/issues/61|#61]] und [[https://github.com/martin-pabst/Online-IDE/issues/64|#64]] * SQL-IDE: on startup expand all folders containing current workspace; better looking folderlines * SQL-IDE: add max and min functions for date, time, datetime and timestamp-values * SQL-IDE: Multiple instances of embedded sql-ide are now better separated if they have distinct ids * SQL-IDE bugfix: embedded version didn't show runtime errors inside dokuwiki * SQL-IDE: when distributing workspace: distribute it with database and ddl-statements * SQL-IDE: Added "Change password" user menu-entry * **Oktober 2022** * Der Compiler meldet jetzt einen Fehler wenn zwei Klassen denselben Bezeichner besitzen. * SQL-IDE: show errors tab if runtime errors occur * SQL-IDE: escape identifiers when importing database * SQL-IDE: on import replace binary and varbinary types by varchar * SQL-IDE: embedded version: put sliders under database reset menu * SQL-IDE: new syntax: insert into select ... * **September 2022** * Auch in der Embedded-IDE können jetzt eigene Grafiken als Sprites eingebunden werden. * ''Rectangle.moveTo'' und ''Text.moveTo'' verschieben jetzt so, dass sich der **Diagonalenschnittpunkt** des Rechtecks an den neuen Koordinaten befindet (vorher: linke obere Ecke). * BugFix: ''GNGTurtle.GrößeSetzen'' geht jetzt. * BugFix: Etwas dunklere Schriftfarbe im Light-Theme * SQL-IDE: accept time constants beginning with 00: * SQL-IDE: Added data type ''time'' * SQL-IDE: upper case keyword hints * SQL-IDE: on import translate ''char'' to ''varchar(1)'' * SQL-IDE: enabled foreign key constraint enforcement * SQL-IDE bugfix: path of files that had bin dragged into folders hadn't been transferred to server * SQL-IDE: added operators not, <=, >= * SQL-IDE bugfix: terms with unary and binary operators lacked resulttype * SQL-IDE: make active statement highlighting half transparent so that current selection is visible underneath * SQL-IDE: bugfix: alter table add constraint only evaluated first constraint * SQL-IDE bugfix: group by at end of file lead to false error (expecting comma) * **August 2022** * Schüler/innen können jetzt eigene Gafikdateien hochladen und in ihren Programmen als Sprites nutzen. * **Juli 2022** * SQL-IDE bugfix: SymbolResolver didn't recognize aggregating function sum * SQL-IDE bugfix: parser doesn't recognize keyword distinct * SQL-IDE bugfix: mysql syntax for auto_increment start value not recognized * SQL-IDE bugfix: SymbolTable couldn't handle two identical uppercase identifiers * **Juni 2022** * Das Christoph-Scheiner-Gymnasium Ingolstadt ist mit der Online-IDE [[https://www.bildungspakt-bayern.de/isi-preistraeger-2022-gy-ingolstadt/|erster Preisträger beim Wettbewerb ISI Digital]] der Stiftung Bildungspakt Bayern. * **Mai 2022** * Die [[https://www.sql-ide.de|SQL-IDE]] ist in einer ersten Alpha-Version verfügbar. Wie bei der Online-IDE gibt es [[https://github.com/martin-pabst/SQL-IDE|eine als Open Source veröffentlichte embedded-Variante]] und eine vollständige IDE. Letztere besitzt die selben Login-Daten wie die Online-IDE und steht allen Nutzern mit Zugang zur Online-IDE als "Dreingabe" zur Verfügung. * **April 2022** * [[api:documentation:robot:start|Die Klassen Robot und RobotWorld]] sind in einer ersten Version fertiggestellt. (Portierung von Robot Karol in die Online-IDE) * **März 2022:** * Umfangreiche Arbeiten an der SQL-IDE * ''Shape.setDefaultVisibility'', ''FilledShape.setDefaultFillColor'', ''FilledShape.setDefaultBorder'' zum Setzen, von Default-Eigenschaften, die nachfolgend beim Instanzieren jedes weiteren grafischen Objekts verwendet werden. * ''