Changes from 1.7.0 to 1.7.2
---------------------------

** Bug
    * [FELIX-2963] - scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
    * [FELIX-2978] - Lookup reference policy does not work for inherited components
    * [FELIX-2945] - SCR plugin: Parsing of "options" for property tag broken for java annotations
    * [FELIX-2906] - @Property(cardinality=Integer.MAX_Int, ...) causes java.lang.NumberFormatException
    * [FELIX-2878] - scr- and bundle-plugin in multimodule project fails with goal "test"

** Improvement
    * [FELIX-2939] - Maven SCR Plugin is not (marked as) thread-safe for parallel builds
    * [FELIX-2492] - scr plugin: using src annotations causes NoClassDefFoundError and other errors
    * [FELIX-2908] - Use same mechanism to get single annotation values as for multiple annotation values


Changes from 1.6.0 to 1.7.0
---------------------------

** Bug
    * [FELIX-2704] - @Property(cardinality=Integer.MAX_Int, ...) causes java.lang.NumberFormatException
    * [FELIX-2835] - SCR plugin: Parsing of "options" for property tag broken for javadoc annotations
    * [FELIX-2777] - MavenJavaClassDescriptorManager ignores dependencies with system scope
    * [FELIX-2770] - maven-scr-plugin 1.6.0 incompatible with <packaging>pom</packaging> projects
    * [FELIX-2731] - NPE while scanning sources with QDox
    * [FELIX-2681] - NPE in assertMinScrAnnotationArtifactVersion when checking min. version of annotations dependency
    * [FELIX-2876] - <reference> element not generated when name is missing

** Improvement
    * [FELIX-2853] - Deprecate javadoc tags
    * [FELIX-2753] - Support array of classes for @Service annotation
    * [FELIX-2874] - Add new scopes to SlingFilter annotation and use new property names
    * [FELIX-2838] - Allow classes to be specifed as values for the @Property annotation
    * [FELIX-2863] - Warnings and error messages contain @scr.* if annotations are used
    * [FELIX-2690] - Add changelog.txt to SCR/Metatype generation modules


