Changes from 6.0.2 to 6.0.3
---------------------------

** Improvement
    * Update to latest framework version 6.0.3

Changes from 6.0.1 to 6.0.2
---------------------------

** Improvement
    * Update to latest framework version 6.0.2

Changes from 6.0.0 to 6.0.1
---------------------------

** Improvement
    * Update to latest framework version 6.0.1

Changes from 5.6.10 to 6.0.0
----------------------------

** Improvement
    * Update to latest framework version 6.0.0
    * Update to latest gogo runtime 1.1.0
    * Update to latest gogo.jline 1.1.0
    * Update to latest gogo.shell 1.1.0
    * Update to latest jline 3.7.0
    * Update to latest jansi 1.17.1

Changes from 5.6.8 to 5.6.10
----------------------------

** Improvement
    * Update to latest framework version 5.6.10
    * Update to latest gogo runtime 1.0.10
    * Update to latest gogo.jline 1.0.10
    * Update to latest jline 3.5.1

Changes from 5.6.6 to 5.6.8
---------------------------

** Improvement
    * Update to latest framework version 5.6.8

Changes from 5.6.4 to 5.6.6
---------------------------

** Improvement
    * Update to latest framework version 5.6.6

Changes from 5.6.2 to 5.6.4
---------------------------

** Improvement
    * Update to latest framework version 5.6.4
    * Update to latest gogo.jline 1.0.6
    * Update to latest obr 2.0.10
    * Update to jline 3.3.0
    * Update to jansi 1.16

Changes from 5.6.1 to 5.6.2
---------------------------

** Improvement
    * Update to latest framework version 5.6.2
    * Update to latest gogo command 1.0.2
    * Update to latest gogo runtime 1.0.2
    * Replace shell with gogo.jline 1.0.2
    * Include jline 3.0.1

Changes from 5.6.0 to 5.6.1
---------------------------

** Improvement
    * Update to latest framework version 5.6.1
    * Update to latest obr 2.0.8

Changes from 5.4.0 to 5.6.0
---------------------------

** Improvement
    * Update to latest framework version 5.6.0

Changes from 5.2.0 to 5.4.0
---------------------------

** Improvement
    * Update to latest framework version 5.4.0
    * Update to latest obr 2.0.6
    * Update to latest gogo command 0.16.0

Changes from 5.0.1 to 5.2.0
---------------------------

** Improvement
    * Update to latest framework version 5.2.0

Changes from 5.0.0 to 5.0.1
---------------------------

** Improvement
    * Update to latest framework version 5.0.1

Changes form 4.6.1 to 5.0.0
---------------------------

** Improvement
    * Update to latest framework version 5.0.0
    * Update to latest obr 2.0.4
    * Update to latest gogo runtime 0.16.2
    * Update to latest gogo command 0.14.0

Changes from 4.6.0 to 4.6.1
---------------------------

** Improvement
    * Update to latest framework version 4.6.1

Changes from 4.4.1 to 4.6.0
---------------------------

** Improvement
    * Update to latest framework version 4.6.0

Changes from 4.4.0 to 4.4.1
---------------------------

** Improvement
    * Update to latest framework version 4.4.1
    * Update to latest obr version 2.0.2
    * Update to gogo commands 0.14.0 and runtime 0.12.1

Changes from 4.2.1 to 4.4.0
---------------------------

** Improvement
    * Update to latest framework version 4.4.0

Changes form 4.2.0 to 4.2.1
---------------------------

** Improvement
    * Update to latest framework version 4.2.1

Changes from 4.0.3 to 4.2.0
---------------------------

** Improvement
    * Update to latest framework version 4.2.0

Changes from 4.0.2 to 4.0.3
---------------------------

** Improvement
    * Update to latest framework version 4.0.3

Changes from 4.0.1 to 4.0.2
---------------------------

** Improvement
    * Update to latest framework version 4.0.2

Changes from 4.0.0 to 4.0.1
---------------------------

** Improvement
    * Update to latest framework version 4.0.1

Changes from 3.2.2 to 4.0.0
---------------------------

** Improvement
    * [FELIX-3094] - [Main] Launcher should attempt to restart framework if the system bundle was updated
    * [FELIX-3123] - [Main] Integrate OBR 1.6.6
    * [FELIX-3125] - Update to latest framework version 4.0.0

** Task
    * [FELIX-3051] - [Main] Integrate latest Gogo Command bundle to support inspecting generic capabilities/requirements


Changes from 3.2.1 to 3.2.2
---------------------------

** Improvement
    * Update to latest framework version 3.2.2

Changes from 3.2.0 to 3.2.1
---------------------------

** Improvement
    * Update to latest framework version 3.2.1


Changes from 3.0.9 to 3.2.0
---------------------------

** Improvement
    * Update to latest framework version 3.2.0

Changes from 3.0.8 to 3.0.9
---------------------------

** Bug
    * [FELIX-2796] - felix.auto.deploy.action throws NPE with only "update" action

** Improvement
    * Update to latest framework version 3.0.9

Changes from 3.0.7 to 3.0.8
---------------------------

** Improvement
    * Update to latest framework version 3.0.8
    * Update to gogo version 0.8.0

Changes from 3.0.6 to 3.0.7
---------------------------

** Improvement
    * Update to latest framework version 3.0.7

Changes from 3.0.5 to 3.0.6
---------------------------

** Improvement
    * Update to latest framework version 3.0.6

** New Feature
    * [FELIX-2678] - Startlevel for bundles in auto.deploy.dir

Changes from 3.0.4 to 3.0.5
---------------------------

** Improvement
    * Update to latest framework version 3.0.5

Changes from 3.0.3 to 3.0.4
---------------------------

** Improvement
    * Update to latest framework version 3.0.4

Changes from 3.0.2 to 3.0.3
---------------------------

** Improvement
    * Update to latest framework version 3.0.3
    * Update to gogo 0.6.1

Changes from 3.0.1 to 3.0.2
---------------------------

** Improvement
    * Update to latest framework version 3.0.2

Changes from 3.0.0 to 3.0.1
---------------------------

** Improvement
    * Update to latest framework version 3.0.1

Changes from 2.0.5 to 3.0.0
---------------------------

** Improvement
    * Update to latest framework version 3.0.0
    * [FELIX-1797] - Customizable Framework startup message
    * [FELIX-2042] - Use Gogo as the default shell for the framework distribution
    * [FELIX-2336] - Variable substitution in configuration files should ignore mismatched delimiters

Changes from 2.0.4 to 2.0.5
---------------------------

** Improvement
    * Update to latest framework version 2.0.5

Changes from 2.0.3 to 2.0.4
---------------------------

** Improvement
    * Update to latest framework version 2.0.4

Changes from 2.0.2 to 2.0.3
---------------------------

** Improvement
    * Update to latest framework version 2.0.3

Changes from 2.0.1 to 2.0.2
---------------------------

** Improvement
    * Update to latest framework version 2.0.2

Changes from 2.0.0 to 2.0.1
---------------------------

** Improvement
    * Update to latest framework version 2.0.1

Changes from 1.8.1 to 2.0.0
---------------------------

** Improvement
    * Update to latest framework version 2.0.0

Changes form 1.6.1 to 1.8.0
---------------------------

** Improvement
    * Update to latest framework version 1.8.0

Changes from 1.6.0 to 1.6.1
---------------------------

** Improvement 
    * Update to latest framework version 1.6.1

Changes from 1.4.1 to 1.6.0
---------------------------

** Improvement
    * Update to latest framework version 1.6.0

Changes from 1.4.0 to 1.4.1
---------------------------

* [2008-12-20] Update to latest framework version 1.4.0
* [2008-11-18] Modified the pom file to export the OSGi packages; this can be 
  helpful for tools trying to determine what the JAR file provides.
* [2008-11-07] Align log level property name in pom.xml and config.properties

Changes from 1.2.2 to 1.4.0
---------------------------

* [2008-10-31] Fixed a possible NPE when no configuration file is found.
* [2008-10-23] Change the name of the SystemBundle interface to be Framework. 
  (FELIX-753)
* [2008-10-22] Hide wire messages in felix releases. (FELIX-707)
* [2008-10-16] Modified framework to have default values for the system packages 
  property. Now it is really possible to start Felix with no configuration 
  properties. (FELIX-753)
* [2008-10-10] Implements support for flushing the cache on framework 
  initialization. (FELIX-755)
* [2008-10-09] Modified the bundle cache to no longer have profiles. (FELIX-754)
* [2008-10-08] Modified the Felix API to aligned with the proposed standard OSGi 
  framework API. (FELIX-753)
* [2008-09-23] Added symbolic names to framework and main.
* [2008-09-12] Added a configuration property to determine whether installing a 
  fragment that uses unimplemented features throws an exception or logs a 
  warning. (FELIX-725)

Changes form 1.2.1 to 1.2.2
---------------------------

* [2008-10-14] Update to latest framework version 1.2.2.

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

* [2008-09-07] Hide WIRE log messages. (FELIX-707)
* [2008-09-07] Use the new Felix releases obr repository URL. 
  (FELIX-708)

Changes from 1.0.3 to 1.2.0
---------------------------

* [2008-08-03] Change to the R4.1 version of the spec. (FELIX-514)
* [2008-05-08] Fixed a NPE. (FELIX-525)

Changes from 1.0.3 to 1.0.4
---------------------------

* [2008-04-22] Update to framework version 1.0.4.

Changes from 1.0.1 to 1.0.3
---------------------------

* [2008-01-27] Added launching and embedding docs to main project.
* [2008-01-22] Update to maven-bundle-plugin version 1.2.0.
* [2008-01-07] Modifed default launcher in Main to separate out 
  auto-property processing so that it is easier to reuse the code in 
  custom launchers. (FELIX-448)
* [2007-12-14] Removed auto-property processing out of the framework and 
  into the default launcher. (FELIX-393)
* [2007-10-16] Use variable substitution via BND to define the properties 
  in default.properties from the properties in config.properties.
  (FELIX-380)
* [2007-10-03] Added support to the Main launcher to use a default 
  embedded resource for setting the framework configuration properties 
  if the actual config.properties file cannot be loaded. (FELIX-380)
* [2007-09-20] Remove some packages for jre1.3 profile  and add/remove a 
  few for 1.4, 1.5, and 1.6 (javax.crypto.*). (FELIX-371)


Changes from 1.0.0 to 1.0.1
---------------------------

* [2007-09-16] Update to framework version 1.0.1.


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

* [2007-01-31] Changed how the system packages property is calculated to
  make it more robust; previously it was leaving a dangling comma if the
  execution platform was not known.
* [2007-02-05] Added system package support for Java 6. (FELIX-201)
* [2007-02-13] Removed support for trusted certificate authorities; this
  will be added later as an extension.
* [2007-03-16] Felix configuration properties can now be set as system
  properties when using the standard launcher. (FELIX-250)
* [2007-03-28] No longer including config.properties in the JAR file.
* [2007-04-13] The javax.net and javax.net.ssl packages were missing
  from the system packages properties.
* [2007-04-13] Fixed a bug where the launcher was not correctly calculating
  the installation directory correctly.
* [2007-05-07] Was accidentally including OBR service interface package
  in main JAR.
* [2007-05-22] Now includes the Service Tracker package in main JAR.
* [2007-07-04] Modified to use the new Felix embedding API.
