SemmleCode Changelog

Version 0.5.0 / 2 April 2008

  • Added a set of optimisations, which improves performance by 40% on average, and up to 20 times on some types of queries (for all databases except H2);
  • Fixed population bugs #109, #187 and #195;
  • Updated third-party library files.

Version 0.4.0 / 24 October 2007

  • Improved the information on "number of lines": exact number of lines of code and number of comment lines are now available for any artefact;
  • Added new metrics to measure the level of documentation;
  • Added an "Open declaration" action to jump to .QL classes and methods definitions;
  • Added support for opening several quick query windows simultaneously (like in the console view of Eclipse);
  • Added a database version check to avoid user confusion, caused when trying to use unsupported database systems;
  • Added a new function on string: replaceAll;
  • Improved error reporting of SQL exceptions;
  • Improved support for H2 and updated its library file.

Version 0.3.0 / 28 September 2007

  • Extended the populator to support XML files;
  • Added population of import statements when parsing Java files (as requested on the forums);
  • Added four new functions on strings: length(), substring(int,int), toLowerCase(), toUpperCase() (as requested on the forums);
  • Added covariant return types to the .QL language;
  • Improved the bundle editor to simplify the creation of custom bundles of queries;
  • Added a "Clean Database" menu item to drop all SemmleCode intermediate tables;
  • Improved support for H2 and updated its library file;
  • Fixed several minor bugs.

Version 0.2.2 / 3 August 2007

  • Added an entry for specifying what schema to use within the database;
  • Added a feature to export results from table views (as requested on the forums);
  • Improved as-you-type error checking;
  • Updated the H2 database library;
  • Fixed bug #117 about bundle library paths not being saved properly;
  • Fixed a problem with absolute paths in getIconPath() .QL methods;
  • Fixed a few other minor bugs.

Version 0.2.1 / 13 July 2007

  • Fixed a problem with wrong icons being shown when using H2 backend;
  • Fixed problems with creating new bundles of queries using the bundle editor;
  • The dialog window to select a query-bundle file now opens in the folder with the default query-bundle (default.xml) for easy navigation;
  • Fixed a problem with opening a query library (e.g. default.ql) in Eclipse 3.3. Eclipse 3.3 is therefore now fully supported;
  • When Eclipse was started with Java 1.4, SemmleCode was throwing an internal error, which led to the confusion that it was a SemmleCode bug. Fixed by disallowing the start of SemmleCode when Java 1.4 is used. Java 1.5 is the minimum requirement;
  • A number of other minor bug fixes.

Version 0.2.0 / 27 June 2007

  • Added a new editor to modify the bundle of default queries and create new ones;
  • Added a feature to refresh the results of a tree query (now also saved across sessions);
  • Added a feature to dump results of a tree query to a file;
  • Added configurable key shortcuts;
  • Introduced more classes in the default .QL library, notably for modifiers, parameters and different kinds of method calls (virtual, static, super);
  • Improved J2EE queries;
  • Improved the reporting of errors (now also logged in Eclipse log);
  • A number of minor bug fixes and GUI enhancements (such as the display of column names in the table view and the ability to name a quick query).

Version 0.1.6 / 06 June 2007

  • Added the ability to export charts to PNG and EPS files (as requested on the forums);
  • Improved the selection of queries in the launch configuration;
  • Enhanced the robustness of the populator;
  • Fixed the population bug #108;
  • Added a pull down menu on the views for charts and graphs;
  • Fixed a number of minor bugs.

Version 0.1.5 / 23 May 2007

  • Improved the existing queries in the library of J2EE style checks and added new ones;
  • Fixed the population bug #102;
  • Fixed the problem with the query in the bug #105;
  • Fixed a problem with intercepting double clicks on charts;
  • Fixed a problem with user rights on SQL Server for vacuuming the SemmleCode database.

Version 0.1.4 / 14 May 2007

  • Added a table view to display results in a multi-column list (see feature request);
  • Added, in the headers of all views, the indication whether the results were truncated because of the optional result limit in preferences;
  • Fixed the reported database population bug #103.

Version 0.1.3 / 2 May 2007

  • Updated H2 library with the most recent release, which has solved a few known issues;
  • Updated metrics queries;
  • Added a preliminary list of queries for checking J2EE coding regulations;
  • A minor enhancement of the count aggregate syntax;
  • A number of minor bug fixes.

Version 0.1.2 / 16 April 2007

  • Improved support for H2: work-around for bug in H2, and .QL aggregate queries work now;
  • H2 is now used as a default database engine, if no other is detected;
  • Discontinued support for HSQLDB due to lack of development activity on HSQLDB itself;
  • Added graph views of query results;
  • Improved support of charts: context-menu with some additional functionality, in particular to jump to program elements that occur in chart;
  • Improved syntax highlighting: brackets highlighting;
  • Extended the queries library with a large number of metrics queries;
  • Added a menu item to open the selected library in Eclipse with syntax highlighting;
  • Added a menu item to copy the selected library into any existing project;
  • A number of minor bug fixes.

Version 0.1.1 / 29 March 2007

  • Fixed database population bug for certain java libraries;
  • Fixed a few other minor discrepancies.

Version 0.1.0 / 14 March 2007

First official release of an alpha version. Main features include:

  • Presenting results of queries in an error view (notifications, warnings and errors), tree view and charts view (bar chart and pie chart);
  • An XML library of queries;
  • Executing a library of queries via Eclipse launch configurations;
  • Supported database backends: HSQLDB, H2 PostgreSQL, MS SQL Sever;
  • Database setup wizard;
  • Incremental update of the database;
  • Two optimisation modes of running SemmleCode engine: optimising for a single query or a burst of queries;
  • Syntax highlighting;
  • Auto-completion;
  • As-you-type error checking.