Tag-Archive for » Release «

Scriptsprache Ruby 2.5.0 verfügbar

Traditionell erscheinen größere neue Releases des Ruby-Projekts zwischen den Jahren. Und rechtzeitig vor dem gerade gelaufenen Jahreswechsel haben die Entwickler mit Ruby 2.5.0 die erste stabile Version in der 2.5er-Serie der Sprache vorgestellt. Außer Performance-Verbesserungen bringt die neue Version der Skriptsprache auch einige neue Features mit.

Dazu gehört unter anderem zum Beispiel die Unterstützung für Codeverzweigungs- und Methodenanalysen, um Entwicklern mehr Überblick der Testabdeckung ihrer Programme zu bringen. Das erweitert die Ergebnisse einer Testsuite um Informationen zu den logischen Zweigen in dem Code, die ausgeführt wurden und zeigt auch die dabei ausgeführten Methoden.

Entfernt haben die Entwickler aus ihrer Sicht unnötigen Ballast, wie zum Beispiel den trace-Befehl, der für die Unterstützung der TracePoint-API nötig war. Da die API jedoch so gut wie gar nicht genutzt wurde, hat das Entwickler-Team sämtliche trace-Befehle aus dem Bytecode (instruction sequences) entfernt und durch dynamische Hook Points ersetzt. Das soll zusammen mit einigen weiteren optimierten Methoden zu einer Verbesserung der Performance von bis zu 10 Prozent führen.

Weitere Neuerungen

Die häufig genutzte Bibliothek pp.rb  wird in Ruby 2.5 jetzt automatisch geladen, der Befehl require “pp” ist nicht mehr nötig. Außerdem können die mit Struct.new erzeugten Klassen jetzt auch unmittelbar mit Schlüsselwortargumenten (keyword arguments) umgehen.

Ausgabe von Backtraces und Fehlermeldungen erfolgen jetzt in umgekehrter Reihenfolge, so dass der aktuellste Aufruf als Letzter erscheint. So lässt sich die Ursache für ein langes Backtrace ganz einfach am Ende erkennen, falls das Backtrace dann direkt auf einem Terminal (TTY) ausgegeben wird.

Weitere Details zu Ruby 2.5.0, eine komplette Übersicht der Neuerungen und auch die Download-Links finden Sie in den Release-Informationen zu Ruby 2.5.

JetBrains aktualisiert PhpStorm und PyCharm

Beim dem tschechischen Toolhersteller JetBrains startet traditionell im November die Update-Welle über alle Entwicklungsumgebungen hinweg.

Auf das für die Webentwicklung ausgelegte WebStorm 2017.3 folgen nun PyCharm 2017.3 für Python- und PhpStorm 2017.3 für PHP-Entwickler.

Auf das frische Release des Flaggschiffs IntelliJ IDEA muss man noch ein wenig warten, es dürfte sich aber außer durch Bugfixes kaum vom Release Candidate unterscheiden, der schon seit Mitte November verfügbar ist.

Nullable Types aus PHP 7.1 und REST-Client-Interface

PhpStorm kommt wie schon in den vergangenen beiden Jahren kurz vor dem Release der neuen Sprachversion heraus, so dass die für PHP 7.2 erwarteten Neuerungen dort noch nicht berücksichtigt werden.

Dafür bietet die Entwicklungsumgebung aber erstmals den vollständigen Support für die in PHP 7.1 eingeführten Nullable Types. Die beiden Refactoring-Funktionen Extract Interface und Change Signature sind darauf vorbereitet und bewahren die Nullability statt wie bisher (falsche) Fehlermeldungen herauszugeben.

Vivaldi 1.10 dockt Entwickler-Tools an

Neben neuen Möglichkeiten zur Gestaltung der Startseite kommt die neue Version des Browsers Vivaldi 1.10 mit einem besonders für Entwickler und Seitenersteller interessanten Feature daher.

Entwicklungswerkzeuge andockbar

Ab diesem Release kann Vivaldi die beliebten Entwickler-Tools nicht nur wie bisher in einem separaten Fenster aufrufen. Jetzt können die Tools neben oder unter der angezeigten Internetseite andocken, um zum Beispiel Elemente zu inspizieren oder Code zu testen und debuggen.

Neue und verbesserte Funktionen

Außer der Startseite und der Andockbarkeit der Entwicklerwerkzeuge wurden folgende Funktionen neu aufgenommen oder verbessert:

  • Sortierfunktion für Downloads
  • Bilder sichtbar/unsichtbar schalten
  • Schnelle Tastaturbefehle
  • Adressleise überarbeitet
  • Neue Tabs auch für Drittanbieter

Sicherheitsupdate 3.7.3 für CMS Joomla

Mehrere schwere Sicherheitsprobleme mit der Einstufung „hoch“ werden mit dem aktuellen Security- und Bug-Fix-Release 3.7.3 von Joomla behoben. Dabei wurden auch mehrere andere Bugs in dem CMS beseitigt.

Zei der schweren Sicherheitslücken bestehen in den Versionen von 1.7.3 bis einschließlich 3.7.2. Durch die Lücke CVE-2017-9933 können Daten aus dem Cache leaken, die Lücke CVE-2017-9934 lässt sich wegen mangelnder Überprüfung von Dateneingaben für Angriffe per Cross Site Scripting (XSS) nutzen.

Die dritte schwere Lücke, ebenfalls eine Verwundbarkeit für mit Cross Site Scripting, ist sogar schon ab Version 1.5.0 bis Version 3.7.2 zu finden.

Daher sollten Nutzer der gefährdeten Joomla-Versionen möglichst umgehend die abgesicherte Version Joomla 3.7.3 installieren.

Ruby 2.4 zu Weihnachten verfügbar

Wie immer in den letzten Jahren folgt das Ruby-Projekt auch 2016 seiner Tradition und bringt ein neues größeres Release der Skriptsprache Ruby heraus. Die zu Weihnachten veröffentlichte Version 2.4 bringt viele Neuerungen.

Dazu gehören beispielsweise Verbesserungen bei Hash-Tabellen, die Zusammenführung der Integer-Klassen Fixnum und Bignum in Integer und auch die Groß- und Kleinschreibung mit Unicode in String-Methoden. Wie bei jedem neuen größeren Release haben die Entwickler auch weiter an der Performance der Skriptsprache geschraubt.

Nähere Details zur Version Ruby 2.4

Die neue offene Adressierung (open addressing) macht zusammen mit einem Array, das die Einfügungsreihenfolge beibehält (inclusion order array), die interne Struktur von Hash-Tabellen (st_table) besser handhabbar.

Das auch neu eingeführte binding.irb verhält sich recht ähnlich wie das beim Debugging wichtige binding.pry. Es startet aber dazu eine reguläre IRB (Interactive Ruby Shell). Ein anderes neues Feature betrifft ebenfalls den Bereich Debugging: Die Deadlock-Erkennung von Ruby 2.4 listet Threads jetzt mit ihrem Backtrace und den abhängigen Threads .

Bisher enthielt Ruby mit Fixnum und Bignum zwei Integer-Subklassen. Für Ruby 2.4 wurden diese nun mit Integer zusammengeführt. Das führt dazu, dass alle C-Extensions, die Fixnum oder Bignum benutzen, für Ruby 2.4 überarbeitet werden müssen.

Die Methoden String/Symbol#upcase/downcase/swapcase/capitalize(!) nutzen bei der Konvertierung in Groß- oder Kleinschreibung in der neuen 2.4er-Version die Unicode-Regeln; bisher verwendeten sie ASCII-Regeln.

OpenSSL 1.1.0 wird jetzt ebenfalls von Ruby unterstützt; der Support für OpenSSL 0.9.7 und älter Verschlüsselungen wurde hingegen aus Sicherheitsgründen aufgegeben. Last not least wurden wurden die Komponenten ext/tk und XMPRPC jetzt aus der Standardbibliothek entfernt.

Editor Vim 8.0 veröffentlicht

VimNach mehr als zehn Jahren haben die Entwickler des Editors Vim (Vi IMproved) jetzt die neue Hauptversion Vim 8.0 veröffentlicht.

Neu in Vim 8.0 sind Features wie die asynchrone Ein- und Ausgabe über sogenannte Channels für die Kommunikation zwischen Vim und externen Prozessen über Pipes und Sockets, Partials – also Funktionsreferenzen mit vorgegebenen Argumenten. Außerdem sind Fenster-IDs neu hinzugekommen, ebenso die drei Vimscript-Datentypen Special, Job und Channel, und darüber hinaus assert-Funktionen für Style-Tests.

Viele der Änderungen betreffen Plugin-Entwickler. Weil neu entwickelte Plug-ins bei bestimmten Funktionen nicht mit den älteren Versionen des Editors laufen können, wurde beschlossen, mit dem neuen Release einen großen Versionssprung zu vollziehen.

Zu den neuen Fähigkeiten des Editors gehört auch, dass Lua jetzt als benutzbare Skriptsprache aufgenommen wurde. Auch die Unterstützung für Lambda-Funktionen bzw. Closures haben die Entwickler mit Vim 8.0 erweitert. So gibt es unter anderem inzwischen mit test-functions eine passende Umgebung, um Funktionen und Skripte testen zu können

Weiterführende Informationen zum neuen Release gibt es in der Dokumentation.

Javascript-Alternative Dart bringt Version 1.19

dart_google_bannerDie Programmiersprache Dart von Google ist ab sofort in Version 1.19 als Download verfügbar.

Nachdem schon in der Vorgänger-Version  Optimierungen für die Zusammenarbeit mit dem Flutter-Framework zur plattformübergreifenden Entwicklung im Zentrum standenen, gibt es auch in diesem Release eine wichtige Änderung in diesem Bereich.

Dart erlaubt es jetzt unter anderem, ein Komma nach dem letzten Argument einer Liste (Trailing Commas), weil Flutter-Anwendungen häufig sehr lange Argumentlisten haben und es dadurch beim Umordnen leicht zu Fehlern kommen kann.

Es gibt auch mehrere Änderungen im Strong Mode: Aus den Argumenten des Konstruktors leitet Dart beispielsweise nun generische Typen ab und erkennt die Rückgabewerte lokaler Funktionen. Bei-Funktionen und demFuture.then-Konstrukt soll es außerdem Typen nun besser bestimmen können.

Eine komplette Liste der Änderungen finden Sie im Changelog zu Dart 1.19.

Neues in Google Go 1.7

Google hat gerade die Version 1.7 seiner Programmiersprache Go freigegebenGo ist eine von Google gepushte Sprache, die der Konzern erstmals 2009 vorstellte. Seinerzeit platzierte Google Go als Alternative zur Sprache C.

2015 befreite sich das Projekt dann allerdings von letzten C-Überbleibseln in seinem eigenen Code. Zu den bekannteren Systemen, die in Go geschrieben wurden, gehören beispielsweise die MongoDB-Tools und Docker. Go kommt auch bei Google selbst zum Einsatz, aber auch zum Beispiel bei SoundCloud. Das vorherige Release Go 1.6 erschien im Februar .

Das neue Release Go 1.7 hat jetzt unter anderem einen neuen Port für IBMs Mainframe System z (s390x) und wurde auf Compilerebene stark überarbeitet. Es gibt nun auch ein neues, kompakteres Format für den Export von Daten. Außerdem ist von Beschleunigungen bei der Garbage Collection und von Änderungen beim Erzeugen von Metadaten und Stack Frame Pointers für Profiling-Werkzeuge wie perf unter Linux oder VTune von Intel die Rede.

Auch die Standardbibliotheken wurden deutlich überarbeitet. Es gibt auch eine kleine Änderung bei der Sprachdefinition: An die Stelle des bisherigen, nicht präzise definierten “Final Statements” tritt jetzt das “Terminating Statement“. Es ist formal so definiert, wie es dem Verhalten der gc– und gccgo-Compiler entspricht.

Zend Server beherrscht jetzt PHP 7

Nach der Übernahme von Zend im Oktober 2015 hat Rogue Wave jetzt das erste große Zend Server Release bekannt gegeben.

Die Version 9 des Applikationsservers kann mit dem im Dezember 2015 veröffentlichten PHP 7 umgehen, was die Anwendungen merklich schneller machen soll.

Weitere Neuerungen sind Möglichkeiten zum Code Tracing und Black Box Recording, die bei der Entwicklung und im Betrieb helfen können, Fehlerquellen schneller zu finden.

Mit diesem Update stellt Rogue Wave außerdem Zend Server Professional Plus und Zend Server Enterprise Edition vor. Abonnenten dieser beiden Dienste können sich nicht nur bei Fragen zu Zend Server selbst an den Support des Unternehmens wenden, sondern sie haben auch Zugriff auf Experten zu weiteren Themen wie beispielsweise CentOS, Apache, MySQL und PHP.

Damit will Rogue Wave Hilfe beim Umgang mit dem Open-Source-Stack unter auf Zend Server gehosteten PHP-Anwendungen bieten.

Netbeans 8.1 legt Schwerpunkt auf Javascript

netbeansGut ein Jahr nach dem Erscheinen von NetBeans 8.0 ist nun mit der Version 8.1 ein neues Release von Oracles Open-Source-Entwicklungsumgebung fertig. Während der Schwerpunkt damals auf der Unterstützung des zu dieser Zeit neuen Java 8 lag, gibt es bei Version 8.1 insbesondere für JavaScript-Entwickler viel Neues.

NetBeans ist vom Ursprung her zwar eine Java-IDE, doch schon bald wurden von der Entwicklungsumgebung auch andere Programmiersprachen wie C/C++, PHP und auch Ruby und eben mittlerweile auch JavaScript unterstützt.

Netbeans 8.1 unterstützt jetzt unter anderem die Arbeit mit Node.js durch einen Projekt-Wizard, Konfigurationsoptionen, Problemerkennungsmechanismen, Synchronisation zwischen dem Projekt und dessen package.json-Date sowie einen Editor und einen Debugger.

Außerdem haben die Entwickler die Codeergänzung für JavaScript und den JSDoc-Support erweitert und im Debugger die Möglichkeit geschaffen, Breakpoints zu setzen, die nur unter festgelegten Bedingungen zum Einsatz kommen.

Für Webentwickler wichtige Optionen sind in der Übersicht jetzt in einem eigenen HTML/JS-Bereich gruppiert. Dort findet man unter anderem auch alle Einstellungen für Grunt und Gulp, die die IDE in Version 8.1 neben weiteren Tools wie den Testframeworks Mocha, Selenium 2.0 und Arquilian integriert.