Changes from 1.0.2 to 1.0.4
---------------------------
** Improvement
    * [FELIX-5510] - Remove usage of org.json form web console plugins


Changes from 1.0.0 to 1.0.2
---------------------------
** Bug
    * [FELIX-5120] - ScriptEngineManager not able to parse service file with
                     comments at end of classname
    * [FELIX-5122] - Script console output cannot be copied

** Improvement
    * [FELIX-3861] - Set felix.webconsole.category on Web Console plugins
    * [FELIX-5123] - Script Console UI improvements

Initial Release 1.0.0
---------------------

** Improvement
    * [FELIX-4122] - Felix Script Console Plugin. Initial import

