Main changes

Release History

Version Date Description
1.8.0 11-Nov-2017 last version with CVS
1.7.2 13-Aug-2017 ResourcepathMonitor
1.7.1 11-May-2017 Spring Boot Support
1.7.0 06-Jan-2017 Java 7 version
1.6.3 17-Aug-2016 enhancements for JMX
1.6.2 27-Mar-2016 eastern version
1.6.1 29-Feb-2016 leap year version
1.6.0 06-Jan-2016 Java 6 version
1.5.2 04-Jul-2015 bug fix
1.5.1 26-Apr-2015 Pattern support
1.5.0 06-Jan-2015 PatternTesting Benchmark project added for micro-benchmarking
1.4.3 14-Jun-2014 SQL logging
1.4.2 05-May-2014 SQL profiling
1.4.1 07-Apr-2014 improved monitoring of JDBC connections
1.4.0 06-Jan-2014 logging as sequence diagram
1.3.0 06-Jan-2013 DB monitoring
1.2.20 15-Jul-2012 extended JUnit support
1.2.10-YEARS 23-Mar-2012 10 years PatternTesting
1.2.0 06-Jan-2012 OSGi bundle
1.1.0 22-Apr-2011 version for Stuttgarter Test-Tage 2011
1.0.3 18-Oct-2010 upload version
1.0.2 06-Sep-2010 holiday version
1.0.1 18-Jul-2010 the version after JFS 2010
1.0.0 20-Jun-2010 first org.patterntesting version
0.9.9 30-Dec-2009 Silvester version
0.9.8 20-Dec-2009 Christmas version
0.9.7 11-Sep-2009 improved samples version
0.9.6 02-May-2009 version for Stuttgarter TestTage 2009
0.9.5 31-Mar-2009 split into 7 subprojects
0.9.2 20-Mar-2009 version for Q1/2009
0.9.0 19-Jan-2009 version for 2009
0.8.0 12-Dec-2008 project split
0.6.1 02-Nov-2008 extended thread support
0.6.0 05-Oct-2008 support of AspectJ 1.6, more concrete aspects
0.5.1 27-Apr-2008 AbstractNullPointerTrap improved
0.5.0 28-Jan-2008 project reanimated
0.4-SNAPSHOT 2005  
0.3 14/09/2004  
0.2 15/09/2002  

Release 1.8.0 – 11-Nov-2017

Type Changes By
Update Deprecated classes removed. oboehm
Fix Old faulty code in ResourcepathMonitor removed (PatternTesting Runtime). Fixes bugs/39/. oboehm
Fix Bug in DescritptionUtils fixed (PatternTesting Runtime). Fixes bugs/38/. oboehm

Release 1.7.2 – 13-Aug-2017

Type Changes By
Add NetworkTester added (PatternTesting Runtime). oboehm
Fix Methods deserialize(..) and assertNoFinalTransientAttribute(..) added in SerializableTester (PatternTesting Runtime). Fixes feature-requests/50/. oboehm
Fix Monitor class no longer can be registered as shutdown hook (PatternTesting Runtime). Fixes bugs/37/. oboehm
Update Resource specific methods of ClasspathMonitor are now more and more moved to ResourcepathMonitor (PatternTesting Runtime). oboehm

Release 1.7.1 – 11-May-2017

Type Changes By
Fix ClasspathDigger refactored and tested in Spring environment (PatternTesting Runtime). Fixes bugs/36/. oboehm

Release 1.7.0 – 06-Jan-2017

Type Changes By
Update Switched to Log4j 2. oboehm
Update Not existing classpath entries are now ignored for ClasspathMonitor (PatternTesting Runtime). oboehm
Update ClasspathMonitor can read now nested archives (like executable WARs with packed JARs) to get classes (PatternTesting Runtime). oboehm

Release 1.6.3 – 17-Aug-2016

Type Changes By
Fix Warning is logged if JDBC connection is closed without necessary commit (PatternTesting Runtime). Fixes feature-requests/49/. oboehm
Add ResourcepathMonitor added as MBean (PatternTesting Runtime). oboehm

Release 1.6.2 – 27-Mar-2016

Type Changes By
Update If deadlock is detected by ThreadDeadLockMonitor stacktrace of blocked threads is now logged in DEBUG level (PatternTesting Concurrent) oboehm
Add Broken annotation provides now also a hide flag (PatternTesting Runtime). oboehm
Add Internal DB monitor classes provide now a getWrappedXxx method (PatternTesting Runtime). oboehm

Release 1.6.1 – 29-Feb-2016

Type Changes By
Fix Synchronisation problems in ClasspathMonitor fixed (PatternTesting Runtime). Fixes bugs/35/. oboehm
Add ImmutableTester added (PatternTesting Runtime). oboehm
Remove ObjectInspector now declared as deprecated (PatternTesting Runtime). oboehm

Release 1.6.0 – 06-Jan-2016

Type Changes By
Remove Some deprecated classes and aspects were removed. oboehm
Update Java 5 will be no longer supported. oboehm
Fix Classloader of Tomcat 8 is supported now for ClasspathMonitor (PatternTesting Runtime). Fixes bugs/34/. oboehm
Add FileTester prints now filename if files differ (PatternTesting Runtime). Fixes feature-requests/47/. oboehm
Add ClassTester added to check static initializer of classes (PatternTesting Runtime). Fixes feature-requests/46/. oboehm
Add You are now able to ignore e.g. white spaces in FileTester / IOTester by using a StringConverter as additional argument (PatternTesting Runtime). oboehm

Release 1.5.2 – 04-Jul-2015

Type Changes By
Add Sequence diagrams can be now generated as simple text files which can be used as input for (PatternTesting Runtime). Fixes feature-requests/44/. oboehm
Update Finetuning of generated sequence diagrams (PatternTesting Runtime). oboehm
Fix Generated sequence diagrams no longer have double messages (PatternTesting Runtime). Fixes bugs/33/. oboehm
Update Samples for JFS 2015 extended and updated. oboehm
Fix NPE fixed for empty @DrawSequenceDiagram annotation (PatternTesting Runtime). Fixes bugs/32/. oboehm

Release 1.5.1 – 26-Apr-2015

Type Changes By
Remove Packaged 'patterntesting.concurrent.experimental' removed (PatternTesting Concurrent). oboehm
Add @RunTestOn and @SkipTestOn have no 'days' and 'time' as new parameter (PatternTesting Runtime). Fixes feature-requests/42/. oboehm
Add Patterns are now allowed as parameter for assert methods in ClonableTester, ComparableTester and ObjectTester (PatternTesting Runtime). oboehm
Add ZombieAspect logs use of @Zombie classes and methods (PatternTesting Check-RT). Fixes feature-requests/23/. oboehm

Release 1.5.0 – 06-Jan-2015

Type Changes By
Fix NoSuchElementException is now catched and logged (PatternTesting Runtime). Fixes bugs/30/. oboehm
Add ArrayTester added (PatternTesting Runtime). oboehm
Add ExtendedFile added to enrich the normal File interface (PatternTesting Runtime). oboehm
Update ClasspathMonitor supports now WebSphere's classloader (PatternTesting Runtime). oboehm
Add Loaded classes can be now logged or dumped via JMX (PatternTesting Agent). oboehm
Fix Converter.toDate(..) recognizes now dates formated with the toString method of the Date class (PatternTesting Runtime). oboehm
Fix MapTester works now with maps containing null values (PatternTesting Runtime). Fixes bugs/28/. oboehm

Release 1.4.3 – 14-Jun-2014

Type Changes By
Fix JUnit 4.11 is supported now. Fixes bugs/27/. oboehm
Add Stacktrace is logged now if log level of SqlStatistic class is set to TRACE (PatternTesting Runtime). Fixes feature-requests/41/. oboehm
Update > Reduced profile and SQL statistics for better overview in jconsole (PatternTesting Runtime). Fixes feature-requests/40/. oboehm

Release 1.4.2 – 05-May-2014

Type Changes By
Update MBeans are now registered in a hierarchical manner (PatternTesting Runtime). oboehm
Add SqlStatistic provides some statistics of SQL statements via JMX (PatternTesting Runtime). Fixes feature-requests/13/. oboehm
Update SQL is now part of SQLException if ProxyDriver is used (PatternTesting Runtime). oboehm

Release 1.4.1 – 07-Apr-2014

Type Changes By
Add ProxyDriver registers itself at the JDBC DriverManager and listens to the URL "jdbc:proxy:...". It acts as a proxy for the real DB driver. E.g. the URL "jdbc:proxy:hsqldb:mem:testdb" is a proxy for the HSQL driver with the URL "jdbc:hsqldb:mem:testdb". Together with the ConnectionMonitor as MBean you can monitor the opened and closed connections. (PatternTesting Runtime). Fixes feature-requests/13/. oboehm
Fix SerializableTester works now corrected with class argument (PatternTesting Runtime). Fixes bugs/26/. oboehm
Add > Detection of wrong logger initialization (PatternTesting Check-RT)). Fixes feature-requests/10/. oboehm
Fix Classes of java.* are no longer part of the generated sequence diagram (PatternTesting Runtime). Fixes feature-requests/39/. oboehm
Fix String in generated return message is now escaped (PatternTesting Runtime). Fixes bugs/25/. oboehm

Release 1.4.0 – 06-Jan-2014

Type Changes By
Fix CloneableTester reports now original cause if clone fails (PatternTesting Runtime). Fixes bugs/24/. oboehm
Add MapTester added for assertions around Maps (PatternTesting Runtime). Fixes feature-requests/38/. oboehm
Fix FileTester ignores now different linefeeds (PatternTesting Runtime). Fixes bugs/23/. oboehm
Add AssertArg with Support of JSR 349 (bean validation) added (PatternTesting Runtime). oboehm
Fix NotNull annotation of JSR 305 is supported (PatternTesting Check-RT). Fixes feature-requests/37/. oboehm
Add FileTester and IOTester accepts patterns of lines which should be ignored. Also first and last line which should be compared is now accepted (PatternTesting Runtime). oboehm
Add Sequence diagrams can be generated by marking methods or construtors with annotation @DrawSequenceDiagram. oboehm
Add ObjectRecorder and OjbectPlayer added to provide recording and replay of joinpoints and returned objects (PatternTesting Runtime). oboehm
Add AntiPattern class added as example for different anti patterns (PatternTesting Samples). oboehm
Add TransientTrapAspect added to find transient traps (PatternTesting Check-CT). oboehm

Release 1.3.0 – 06-Jan-2013

Type Changes By
Update DB connections can be now monitored by ConnectionMonitor together with ProxyConnection (PatternTesting Runtime). oboehm
Fix Patch from Patrick Linskey integrated (PatternTesting Concurrent). Fixes 3585230.
Update ObjectTester.assertEquals(..) checks now if equals method is symmetrical implemented (PatternTesting Runtime). oboehm
Add (Abstract)ExceptionAspect added to find methods which throw an unspecific exception (PatternTesting Check-CT). @SuppressExceptionWarning added (PatternTesting Runtime). oboehm
Add (Abstract)EncodingAspect added to find calls with undefined encoding (PatternTesting Check-CT). @SupressEncodingWarning added (PatternTesting Runtime). oboehm
Add Annotation SuppressStreamWarning is now deprecated and replaced by EnableStreamWarning (PatternTesting Runtime / Check-CT) oboehm
Add ObjectTester.assertEquals(..) checks now, if null as argument is handled correct in the equals method (PatternTesting Runtime). oboehm

Release 1.2.20 – 15-Jul-2012

Type Changes By
Fix ConcurrentModificationException with ParallelSuite fixed (PatternTesting Concurrent). Fixes 3541705. oboehm
Fix ConcurrentModificationException in ObjectTester fixed (PatternTesting Runtime). Fixes 3539278. oboehm
Update ProxyRunner and ParallelProxyRunner moved from experimental to junit package (PatternTesting Runtime / Concurrent). oboehm
Update Support for newer JUnit versions (4.9 + 4.10) added (PatternTesting Runtime / Concurrent). oboehm
Update Support for older JUnit versions (4.5 - 4.7) added (PatternTesting Runtime / Concurrent). oboehm

Release 1.2.10-YEARS – 23-Mar-2012

Type Changes By
Add Start of PatternTesting Agent to provide informations about the classpath for those classloaders which are not directly supported by the ClasspathMonitor of PatternTesting Runtime (PatternTesting Agent). oboehm
Fix Wrapping SQLExceptions for more readability. (PatternTesting Exception). Fixes 2908003. ninthbit
Update Better NoRouteToHostException with hostname as additional info. (PatternTesting Exception) oboehm
Add IllegalArgumentExceptionAspect added to damn the throwing of IllegalArgumentExceptions for constructors and methods which have no arguments. (PatternTesting Check) oboehm
Add StringTester added to simplify tests with strings. (PatternTesting Runtime) oboehm
Fix Tested with IBM JDK. oboehm
Fix Improved event handling for ignored and executed tests. Number of executed tests should now be correct. (PatternTesting Runtime / Concurrent) oboehm
Add CollectionTester added for assertions of collections. (PatternTesting Runtime) oboehm

Release 1.2.0 – 06-Jan-2012

Type Changes By
Add SmokeSuite provided to support same annotations as for SmokeRunner, ParallelSuite provided to start JUnit classes in parallel. (PatternTesting Runtime / Concurrent). Fixes 3462965. oboehm
Fix JUnit3 constructors and initialization are now supported. No compile errors are reported if a method marked as @OnlyForTesting is called during initialization or init (PatternTesting Check-CT). Fixes 2716449. oboehm
Update Update from aspectj-maven-plugin 1.2 to 1.4 and switch to src/main/aspect as aspect path. oboehm
Add ProxyRunner and ParallelProxyRunner provided in experimental package to support delegation to other JUnit runners (PatternTesting Runtime / Concurrent). Fixes 3434963. oboehm
Update Wildcards for @RunTestOn and @SkipTestOn annotation are now supported (PatternTesting Runtime). oboehm
Add Deprecated methods from 1.0 removed. oboehm
Add ComparableTester provided (PatternTesting Runtime). oboehm
Add An uberjar is now provided for easier start with PatternTesting Runtime. oboehm
Add Beginning support as OSGi bundle. oboehm
Update Switched from commons-logging to SLF4J. oboehm
Add RuntimeTester added (PatternTesting Runtime). oboehm
Fix @Broken JUnit tests behaves line @Ignore (PatternTesting Runtime). Fixes 3294468. oboehm
Update AspectJ version updated to 1.6.10. oboehm

Release 1.1.0 – 22-Apr-2011

Type Changes By
Add IOTester and FileTester added (PatternTesting Runtime). oboehm
Update Improved startup time for ClasspathMonitor (PatternTesting Runtime). oboehm
Update The checkXxx methods in the different tester (ObjectTester, SerializableTester, CloneableTester) are renamed to assertXxx (PatternTesting Runtime). oboehm
Update Suppressing "adviceDidNotMatch" warning. oboehm
Update The "till" argument in @Broken can handle now simple times like "18-Mar-2011 17:55" (PatternTesting Runtime). oboehm
Remove Deprecated aspects (BrokenAspect, IntegrationTestAspect, RunTestOnAspect, SkipTestOnAspect) for JUnit tests removed. Use "@RunWith(SmokeRunner.class)" in your JUnit tests for that functionality (PatternTesting Runtime). oboehm
Remove Deprecated @RunTestsParallel and ParallelRunnerAspect removed. Use "@RunWith(ParallelRunner.class)" to run JUnit methods parallel (PatternTesting Concurrent) oboehm
Add Begin with Maven plugin for compiling with PatternTesting libs (PatternTesting Tools). oboehm
Add Begin with some HTML utilities like UmlautEncoder (PatternTesting Tools). oboehm
Update Checkstyle warnings reduced. Fixes 2859499. oboehm
Fix Class cycles between packages are now eliminated. Fixes 2859514. oboehm
Fix PMD errors fixed. Fixes 2859540. oboehm
Fix OnlyForTestingAspect works now also for JUnit3 test code (PatternTesting Check.CT). Fixes 2926499. oboehm
Add ZipExceptions are enriched by the name of the zip file (PatternTesting Exception). oboehm
Fix @LogRuntimeException and @LogThrowable works now for static methods inside the annotated class (PatternTesting Runtime). oboehm

Release 1.0.3 – 18-Oct-2010

Type Changes By
Add @TraceMe (and @DontTraceMe) allows you now to mark classes (or methods) for tracing. oboehm

Release 1.0.2 – 06-Sep-2010

Type Changes By
Add ObjectTester / SerializationTester added in PatternTesting Runtime. oboehm
Update Classes for internal use moved to internal packages. oboehm

Release 1.0.1 – 18-Jul-2010

Type Changes By
Fix ExceptionFactory has now a "fire"-Attribute with an exception which can be triggered now also by a subclass of the stored exception (feature of 1.1). Fixes 3027318. oboehm
Update Feedback from the Java Forum Stuttgart (JFS) included. oboehm
Add Scope can now be limited to a single class for the ExceptionFactory (feature of 1.1). oboehm
Update @RunTestsParallel marked as deprecated because it is obsolete (replaced by ParallelRunner of PatternTesting Concurrent). oboehm
Fix The times reported by SmokeRunner and ParallelRunner for the JUnit tests are no longer logged two times. oboehm

Release 1.0.0 – 20-Jun-2010

Type Changes By
Update New PatternTesting logo and design of the website. oboehm
Update GroupId is now "org.patterntesting". oboehm

Release 0.9.9 – 30-Dec-2009

Type Changes By
Update Custom ruleset for maven-pmd-plugin added. oboehm

Release 0.9.8 – 20-Dec-2009

Type Changes By
Add FindBugs and Checkstyle configured for each subproject. oboehm
Update Switched from Continuum to Hudson as continuous integration system. oboehm

Release 0.9.7 – 11-Sep-2009

Type Changes By
Add Begin of users guide under oboehm

Release 0.9.6 – 02-May-2009

Type Changes By
Add Documents updated and antipattern section added. At the moment this is only a small collection of known antipattern. oboehm

Release 0.9.5 – 31-Mar-2009

Type Changes By
Add patterntesting-exception and patterntesting-concurrent are now a separate project. oboehm

Release 0.9.2 – 20-Mar-2009

Type Changes By
Update Some typos and wrong links in the generated documentation are corrected. oboehm

Release 0.9.0 – 19-Jan-2009

Type Changes By
Remove depencency to net.jcip removed oboehm

Release 0.8.0 – 12-Dec-2008

Type Changes By
Update The project was splitted in several subparts: patterntesting-parent, patterntesting-rt (runtime), patterntesting-check, patterntesting-tools, patterntesting-samples. oboehm

Release 0.6.1 – 02-Nov-2008

Type Changes By
Add With "@UnsupportedOperation" you can mark methods with missing or incomplete implementation. If you try to use such a method you will get an UnsupportedOperationException. oboehm
Add With "@LogRuntimeException" you can mark classes where you want to see each RuntimeException in the log. oboehm
Add ThreadSafeCollectionCheck prints warnings if you use not thread-safe collections in classes or method annotated with "@UseThreadSafeCollection". oboehm
Add To support thread testing there is now the annotation "@TestThread" which adds sleep() statements into the code to allow other threads to get active. oboehm

Release 0.6.0 – 05-Oct-2008

Type Changes By
Add Thread support added with @ThreadSafe annotation and ThreadSafeAspect. oboehm
Add @Immutable and ImmutableAspect added to mark immutable classes or methods which do not change the internal state. oboehm
Update Begin with support of Java 6 and AspectJ 1.6 (but still built with Java 5 compatibility) oboehm
Add wrapper for IOExceptions for better error messages oboehm
Add If the developer uses System.out or System.err this is printed now every time as warning. You can disable this warning for a class or method if use the annotations @SystemOutNeeded or @SystemErrNeeded. If you need it as error use AbstractSopTest. oboehm
Add If the developer uses e.printStackTrace() this is printed now every time as warning. You can disable it with the annotation @SuppressStackTraceWarning. If you need the use of e.printStackTrace() as error use AbstractStackTrace. oboehm
Fix Internal e.printStackTrace() calls are now replaced by a log warning. This was a result of the new StackTraceAspect. oboehm
Update AbstractNullPointerTrap is deprecated and replaced by (concrete) NullPointerTrap. Only the annotation based solution with @NullArgsAllowed and @MayReturnNull is supported now. And you can mark now a whole class with these annotations. oboehm
Update switched to JUnit 4 for unit testing (before: JUnit 3.8) oboehm
Update switched to commons logging ( for more flexibility oboehm

Release 0.5.1 – 27-Apr-2008

Type Changes By
Add Two annotations @NullArgsAllowed and @MayReturnNull added which are evaluted by the oboehm

Release 0.5.0 – 28-Jan-2008

Type Changes By
Add added to detect the originator of NullPointerExceptions (NPEs) oboehm
Add I did a lot of improvement for the JUnit test cases. The original test cases did not run on my machine and build machine because there were some hard-coded directory structures which don't exist on my maschines. This is fixed now. Also I add a lot of other test cases for better understanding. oboehm
Update The build process is now switched from Maven 1 to Maven 2. So the directory structure was changed as recommended by Maven 2. oboehm
Update reanimated and ported to Java 5. AspectJ 5 and Maven 2 oboehm

Release 0.4-SNAPSHOT – 2005

Type Changes By
Update Improve AjcTestCase by providing assertErrorEquals to more easily assert result from Ajc. ojojo

Release 0.3 – 14/09/2004

Type Changes By
Update Updated dependencies to support aspectj 1.2 and maven 1.0. ojojo
Update Improved web site: display the PatternTesting version the web site is documenting, more documentation, added documentation for the pattern test suites, etc. vmassol
Remove Removed the JUnit plugin that was used in release 0.1. It has been replaced by the AspectJ extension. vmassol

Release 0.2 – 15/09/2002

Type Changes By
Update see vmassol