Changes from 1.2.1 to 1.4.0
---------------------------

 * [2008-02-20] FELIX-499: Enhance "excludeDependencies" configuration parameter to also support comma-separated list of artifactIds
 * [2008-02-20] FELIX-498: Enable javadoc deployment on OBR repository
 * [2008-02-19] FELIX-497: Genearated Source url is not a valid url
 * [2008-02-19] FELIX-493: maven-bundle-plugin bundle:install goal install too many artifact
 * [2008-02-19] FELIX-247: Add ant goal to maven-bundle-plugin which creates a build.xml and MANIFEST.MF with bundle headers
 * [2008-02-18] FELIX-492: Add support to classifier: enable bunlde:bundle goal to generate classified artifact
 * [2008-02-18] FELIX-491: Merge the maven-obr-plugin and the bundleplugin into a single plugin

Changes from 1.2.0 to 1.2.1
---------------------------

 * [2008-02-12] FELIX-477: BND: Versions with fourth section all numbers are truncated
 * [2008-02-06] FELIX-479: add supportedProjectTypes configuration option to install goal
 * [2008-02-02] FELIX-459: BND: allow customization of the "uses" clause in the generated Export-Package
 * [2008-01-30] FELIX-476: Improve default Export-Package (used when no Export-Package and Private-Package is set)
 * [2008-01-30] FELIX-462: Support removal of manifest headers added by the bundleplugin
 * [2008-01-30] FELIX-461: Ensure manifest goal creates same manifest as bundle goal when project packaging is "bundle"
 * [2008-01-29] FELIX-472: Embed-Dependency, Include-Resource and inline
 * [2008-01-29] FELIX-460: Remove "." from the Bundle-ClassPath when embedding dependencies in a bundle with no local classes
 * [2008-01-28] FELIX-457: remove PathFile class and use URIs instead
 * [2008-01-22] FELIX-458: BND: -split-package:=merge-first behaves like merge-last

Changes from 1.0.0 to 1.2.0
---------------------------

 * [2008-01-11] FELIX-455: need to use the Builder class instead of Analyzer, because it provides additional cleanup of version information
 * [2008-01-10] FELIX-451: remove Include-Resource header from final bundle manifest
 * [2008-01-10] FELIX-449: add 'excludeDependencies' option (disabled by default) to exclude all dependencies from the classpath passed to BND
 * [2008-01-09] FELIX-442: handle custom manifest sections and external manifest files
 * [2008-01-08] Update to bndlib 0.0.227 (disables spring xml parser by default)
 * [2007-12-27] FELIX-442: Add manifest entries from maven-jar-plugin configuration to final bundle
 * [2007-12-07] FELIX-433: add unpackBundle option that unpacks the bundle contents to the Maven output directory
 * [2007-11-18] FELIX-400: add resource code to properly handle Maven includes/excludes
 * [2007-11-01] Make Embed-StripGroup default to true, as it is much more useful than the current default
 * [2007-10-31] FELIX-417: fix project references
 * [2007-10-26] Better error messages (and detect difference between internal error and configuration error)
 * [2007-10-23] FELIX 406: fix Windows path entries in Bundle-ClassPath when embedding jars
 * [2007-10-22] FELIX-405: support custom obr repository filenames, such as foo.xml
 * [2007-10-21] FELIX-403: replace line-breaks with spaces when using Maven project description in Bundle manifest
 * [2007-10-19] FELIX-402: use correct manifest location when using reactor build
 * [2007-10-19] FELIX-400: fix array out of bounds exception when the resource directory is the same as the basedir
 * [2007-09-25] FELIX-360: various fixes to the bundleall goal
 * [2007-09-22] FELIX-370: OBR integration work
 * [2007-09-22] FELIX-306: be consistent and delegate all version mangling to BND library
 * [2007-09-21] FELIX-377: support -failok directive
 * [2007-09-21] FELIX-376: Support writing of manifest to the file system when using bundle goal
 * [2007-09-11] FELIX-352: provide informational error message when manifest goal is run before compile phase
 * [2007-08-26] FELIX-308: support embedding of artifacts with non-jar extension names
 * [2007-08-24] Workaround for MNG-1682 (incorrect extension used when installing to local repository)
 * [2007-08-23] FELIX-343: replace any instances of {maven-resources} in Include-Resource with the actual project's resource paths
 * [2007-08-23] FELIX-308: initial implementation to support embedding dependencies
 * [2007-08-22] FELIX-340: update classpath algorithm to match maven compilation classpath
 * [2007-08-14] FELIX-333: remove new-lines/form-feeds from property values.

Changes from 0.8.0-incubator to 1.0.0
-------------------------------------

* [2007-03-13] <Include-Resources> now supports JAR files in the class path,
  not just JAR files in the project directory.
* [2007-03-15] Fixed a bug in converting Maven version numbers to OSGi version
  numbers. (FELIX-256)
* [2007-03-28] Added support for using BND directives in the POM file.
  (FELIX-218)
* [2007-04-10] Added a recursive "bundleall" goal to generate OSGi bundles for
  all dependencies and a "manifest" goal to generate just the manifest.
  (FELIX-199)
* [2007-04-27] Modified the plugin so that it does not run on POM projects.
  (FELIX-269)
* [2007-05-17] Plugin now handles null property values better. (FELIX-281)
* [2007-05-20] Renamed project directory from maven-bundle-plugin to
  bundleplugin.
* [2007-05-20] Changed package naming.
* [2007-05-21] Improved handling of resource copying to copy the plugin's
  resources if specified or the standard Maven-specified resources. (FELIX-261)
* [2007-06-13] Factored out some common code. (FELIX-304)
* [2007-06-14] Enable output folder to be configured. (FELIX-305)
* [2007-07-05] Added support for overriding project type. (FELIX-309)
* [2007-07-09] Updated to BND version 0.0.160.
* [2007-07-11] Fix a possible NullPointerException in the manifest goal. (FELIX-326)

