1.1.0
Core
-
Groups may be defined in AsciiDoc documents
-
Make sure that ids used for concepts, constraints or groups are unique nevertheless if they have been defined in XML or AsciiDoc documents
-
Upgraded to Neo4j 2.2.7
-
For plugin developers: marked the descriptor com.buschmais.jqassistant.core.store.api.model.NamedDescriptor as deprecated and replaced it by com.buschmais.jqassistant.plugin.common.api.model.NamedDescriptor, plugin implementations should use this type
Maven
-
Reset store (i.e. database) while building the root module of a project (was: execution root of Maven reactor)
-
Added serverAddress and serverPort parameters to jqassistant:server goal
CLI
-
Added serverAddress and serverPort parameters to server task
-
Fixed a problem that .adoc files containing rules have not been evaluated
Plugins
Common
-
All ZIP archives (i.e. ZIP, JAR, WAR and EAR) are now labeled with "Zip"
GraphML
-
Added plugin which provides a GraphML export for the results of executed concepts, includes support for virtual elements (sub graphs, nodes, relationships)
JUnit
-
Fixed an exception which has been logged during Maven build while parsing surefire and failsafe reports
Maven Repository
-
Resolve the POM model to provide full information about dependencies, plugins, etc.
-
Added properties for filtering artifacts while scanning
-
Added a relation CONTAINS_POM from the repository to each contained POM model (:Maven:Pom:Xml)
Tycho
-
Upgraded scanner plugin to to Tycho 0.23.1 to fix compatibility issues
URL
-
Added support for basic authentication for scanning URLs, e.g. http://user:secret@host/file
YAML
-
Added plugin which provides a scanner for YAML files
Documentation
-
Added an example to demonstrate using rules in AsciiDoc documents
1.0.0
Core
Store
-
Upgraded to Neo4j 2.2.1
Analysis
-
added explicit verification strategies for executable rules
-
clarified behavor of concepts and constraints regarding to configured severities
Maven
-
Fixed problems of report goal in site lifecycle
-
Allow Maven plugin to be configured as build extension
Plugins
Java
-
Scanner adds a property "md5" containing the hash sum to each scanned class.
-
Scanner adds a property "byteCodeVersion" to each scanned class and "cyclomaticComplexity" to each scanned method
-
Added a new concept "java:JavaVersion": Set a human readable property "javaVersion" on a class file based on its byte code version
-
Referenced types are now also resolved using the transitive dependencies of the containing artifact
RDBMS
-
Database schemas may be scanned from the command line without creating a specific property file
Plugin API
-
ReportPlugin#setResult now takes a 'Result<? extends ExecutableRule>' as parameter (instead of 'Result<? extends Rule>')
XML
-
Prevent online schema lookups for DTDs while parsing documents
1.0.0-RC1
Core
General
-
reduced amount of log messages printed on the console while running
Scanner
-
introduced pluggable scopes for identifying file and url types, e.g. 'maven:repository' or 'java:classpath'
Rules
-
added support for writing rules using AsciiDoc
-
added support for rules written in script languages (e.g. Ruby, Groovy, JavaScript etc.) using the Java Scripting API (JSR-223)
Maven plugin
-
minimum requirement has been changed to Apache Maven 3.2.x
-
added support for scopes: scope element in scanIncludes and a new goal available-scopes
-
allow multi-threaded maven builds
Command line
-
added command line support for scopes, e.g. scan -f java:classpath::/My/ClassPath/
Plugins
Facelet
-
added facelet plugin providing a scanner for JSF 2.x XHTML based views
Java
-
scanner adds DEPENDS_ON relations between Java types during scan, the corresponding concepts have been removed
-
referenced Java types are only resolved within the same artifact or dependencies thereof, unresolvable types will be referenced by a REQUIRES relation from the artifact.
Java EE 6
-
added scanners for EAR archives and application.xml descriptors
-
added scanners for WAR archives and web.xml descriptors
JUnit
-
renamed JUnit4 plugin to JUnit as it also contains rules for JUnit3
-
added a concept 'junit4:SuiteClass'
-
added a group 'junit4:Default' including all defined constraints for JUnit4
Maven
-
added a plugin for scanning pom.xml files providing access to dependency management, plugins, profiles, etc.
Maven Repository
-
added Maven 2 Repository plugin (m2repo) containing a scanner for incremental scans of remote repositories
RDBMS
-
added RDBMS plugin containing a scanner to import schema metadata from relational databases
TestNG
-
added TestNG plugin containing concepts
XML
-
added XML plugin containing a generic scanner for XML files
Plugin API
-
added annotation @Requires for scanner plugins to build dependency chains
-
added mandatory "name" attribute to jqassistant-plugin element of jqassistant-plugin.xml descriptors
-
moved file related model classes from package 'c.b.j.core.store.api.model' to 'c.b.j.plugin.common.api.model'
1.0.0-M4
General
-
license changed from ASL 2.0 to GPLv3 to solve compatibility issues with Neo4j community edition
Core
Scanner
-
major performance improvements, especially for larger projects
-
all scanned files are represented with a file label, even if no scanner actually accepts the file type
-
a public API for scanner plugins is now provided, an example for SCV files is available in the documentation
Analysis
-
constraints and concepts provide a severity
Maven plugin
-
added support for additional scan directories (scanDirectories) and rule directories (rulesDirectories)
-
added 'skip' property for excluding single modules from scan
-
renamed property 'failOnConstraintViolations' to 'failOnViolations'
-
include JUnit test reports in scan
-
better support for multi-module projects
Command line
-
added downloadable distribution providing a standalone CLI including shell scripts for Windows and Unix compatible systems
Sonar
-
provide all plugins of jQAssistant distribution in sonar plugin
Plugins
Java
-
added scanner support for Java 8 bytecode
-
new concepts for throwable types are now provided
Java 8
-
added concepts for functional interfaces and default methods
JUnit4
-
new concepts for lifecycle annotations (@Before, @After, @BeforeClass, @AfterClass)
-
new concepts for JUnit3 tests
-
split up of concept "junit4:TestClassOrMethod" into "junit4:TestClass" and "junit4:TestMethod"
-
added constraints for unit tests
CDI
-
new plugin containing a scanner for beans.xml descriptors, concepts and constrains
Documentation
-
explanation of rule types added (concepts, constraints, groups)
-
an example is provided for distributing plugins containing rules