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

** Improvement
    * Update to framework and main 3.2.2 

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

** Improvement
    * Update to framework and main 3.2.1

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

** Improvement
    * Update to framework and main 3.2.0

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

** Improvement
    * Update to framework and main 3.0.9


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

** Improvement
    * Update to framework and main 3.0.8
    * Update to gogo 0.8.0

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

** Improvement
    * Update to framework and main 3.0.7

** Bug
    * [FELIX-2695] - [Distro] Invalid settings in config.properties 

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

** Improvement
    * Update to framework and main 3.0.6

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

** Improvement
    * Update to framework and main 3.0.5

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

** Improvement
    * Update to framework and main 3.0.4

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

** Improvement
    * Update to framework and main 3.0.3
    * Update to gogo 0.6.1

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

** Improvement
    * Update to framework and main 3.0.1

Changes form 3.0.0 to 3.0.1
---------------------------

** Improvement
    * Update to framework and main 3.0.1

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

** Improvement
    ** Update to framework and main 3.0.0
    ** Replace shell with gogo 0.6.0

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

** Improvement
    ** Update to framework and main 2.0.5

2.0.4
-----

** Initial release
