Changes from 1.0.2 to 1.1.0
---------------------------
Bug
    [FELIX-5143] - Gogo Command bundle should not include org.osgi.service.log classes
    [FELIX-5958] - gogo command exports org.osgi.service.log

New Feature
    [FELIX-5835] - Upgrade to JDK 8
    [FELIX-5836] - Upgrade to OSGi r6

Improvement
    [FELIX-5969] - remove transitive dependencies from gogo command
    [FELIX-5970] - Add requirement & capabilities model so gogo can be resolved
    [FELIX-5999] - cleanup compiler warnings
    [FELIX-6002] - Remove legacy code in Gogo Command
    [FELIX-6003] - Add some resolver checks to make sure @RequireGogo annotation works for both jline and shell
    [FELIX-6007] - create a gogo bom

Changes from 1.0.0 to 1.0.2
---------------------------
** Bug
    * [FELIX-5392] - Gogo-command has mandatory dependency on bundlerepository

Changes from 0.16.0 to 1.0.0
----------------------------
** Task
    * [FELIX-5378] - [gogo] Upgrade packages and bundle to 1.0.0

Changes from 0.14.0 to 0.16.0
-----------------------------
** Improvement
    * FELIX-5021 [GOGO] Use system bundle to find bundles
    * FELIX-5009 Relative URIs would be nice for install and update
    * FELIX-5008 gogo usage messages could be less confusing
    * FELIX-3499 felix:cd command works only with relative paths

** Bug
    * FELIX-4969 cd refuses to leave initial directory

Changes from 0.12.0 to 0.14.0
-----------------------------

* Fix a NPE with the obr:info command

Changes from 0.10.0 to 0.12.0
-----------------------------

** Improvement
    * [FELIX-3050] - [Gogo Command] Update "inspect" command to work with OSGi R4.3 generic capabilities/requirements
    * [FELIX-3088] - [Gogo Command] The "resolve" command should print some message if not all bundles could be resolved
    * [FELIX-3118] - obr:deploy should allow user to specify whether optional bundles are deployed or not

Changes from 0.8.0 to 0.10.0
----------------------------

** Bug
    * [FELIX-2937] - [Gogo Command] OBR commands do not output anything
      when nothing is found
    * [FELIX-2938] - [Gogo Command] The "info" command throws an NPE if
      the specified bundle identifier doesn't exist
    * [FELIX-3001] - [gogo] help command throws ClassCastException if any
      osgi.command.function service property is not String[]

Changes from 0.6.1 to 0.8.0
---------------------------

** Bug
    * [FELIX-2676] - bundlelevel gogo command will never work for modifying
      bundle level

Changes from 0.6.0 to 0.6.1
---------------------------

* Import Gogo packages with mandatory attribute.

Gogo Command 0.6.0
------------------

** Bug
    * [FELIX-1473] - [gogo] The syntax does not provide a way to call
      methods on a string
    * [FELIX-1474] - [gogo] result of commands is implicitly written to pipe
    * [FELIX-1493] - [gogo] automatic expansion of $args in Closure stops
      direct access to $args list
    * [FELIX-2337] - [gogo] no way to access array[] elements produced by
      assignment
    * [FELIX-2375] - [gogo] when supplied args can't be coerced, the error
      message prints the arg values, rather than their types
    * [FELIX-2380] - [gogo] lock contention in piped writer when reader
      doesn't read all input

** Improvement
    * [FELIX-1487] - Support for commands on multiple lines
    * [FELIX-2328] - [gogo] tidy-up runtime to remove optional code etc
    * [FELIX-2339] - [gogo] add support for running scripts
    * [FELIX-2342] - [gogo] remove old felix command adaptor

** New Feature
    * [FELIX-2363] - [Gogo] Add annotations for creating commands with
      optional and out-of-order arguments

** Task
    * [FELIX-1670] - [gogo] launcher bundle not required
    * [FELIX-1889] - Gogo should depend on the official OSGi jars
    * [FELIX-2334] - [Gogo] Use org.apache.felix as Maven groupId
    * [FELIX-2367] - [Gogo] Use org.apache.felix namespace to avoid any
      perceived legal issues
