Changes 1.1.0 to 1.1.2
----------------------
Improvement
    [FELIX-5970] - Add requirement & capabilities model so gogo can be resolved
    [FELIX-5999] - cleanup compiler warnings
    [FELIX-6001] - cleanup compiler warnings
    [FELIX-6003] - Add some resolver checks to make sure @RequireGogo annotation works for both jline and shell
    [FELIX-6007] - create a gogo bom

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

Improvement
    [FELIX-5855] - Support array subscript in expander
    [FELIX-5856] - Coercion between Object[] and List
    [FELIX-5857] - Provide a context classloader on the session to help with class loading

Changes 1.0.10 to 1.0.12
------------------------
Bug
    [FELIX-5805] - [gogo][runtime] OOM caused by endless loop when parsing "]"
    [FELIX-5821] - [gogo][runtime] Hitting Ctrl+C may kill the console output thread

Improvement
    [FELIX-5726] - Thread create by gogo should be named

Changes 1.0.8 to 1.0.10
-----------------------
Bug
    [FELIX-5706] - Unable to access DTO fields using reflection

Improvement
    [FELIX-5715] - Central point to allow customization of security related checks

Changes 1.0.6 to 1.0.8
----------------------
Bug
    [FELIX-5637] - [gogo][runtime] Error throwns by commands are swallowed and lost
    [FELIX-5655] - Possible NPE in Expression.isNumber when passing an empty string
    [FELIX-5656] - [gogo][runtime] The Expander does not correctly support octal values

Changes 1.0.4 to 1.0.6
----------------------
Bug
    [FELIX-5599] - Allow reusing a closure from a parent session

Improvement
    [FELIX-5633] - [gogo][runtime] The file name generation should take ~ into account
    [FELIX-5634] - [gogo][runtime] The file name generation may loop into subtrees for nothing

Changes 1.0.2 to 1.0.4
----------------------
Bug
    [FELIX-5462] - [gogo][runtime] Unable to add a converter using reflection
    [FELIX-5465] - [gogo][runtime] No way to concatenate arrays
    [FELIX-5486] - [gogo][runtime] Avoid unnecessary conversions from strings to booleans/integers
    [FELIX-5541] - ArrayIndexOutOfBoundsException in the parser

Changes 1.0.0 to 1.0.2
----------------------
Bug
    [FELIX-5433] - Interrupting a job should interrupt its children
    [FELIX-5440] - [gogo] Do not print results at end of pipe
    [FELIX-5441] - [gogo] Do not print stack traces when inspection can not access fields

Changes 0.16.2 to 1.0.0
-----------------------
New Feature
    [FELIX-5272] - New gogo features

Improvement
    [FELIX-4970] - all felix poms should advertise their SCM

Task
    [FELIX-5378] - [gogo] Upgrade packages and bundle to 1.0.0

Changes 0.14.0 to 0.16.2
------------------------

** Bug
    * [FELIX-4783] - ConcurrentModificationException when stopping

** New Feature
    * [FELIX-4671] - Provide an expression parser

Changes 0.12.1 to 0.14.0
------------------------

** Bug
    * [FELIX-4637] - Gogo can't cope without several commands with defined service.ranking

** New Feature
    * [FELIX-4671] - Provide an expression parser


Changes 0.12.0 to 0.12.1
------------------------

** Bug
    * [FELIX-4533] - Gogo runtime does not advertise published services


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

** Bug
    * [FELIX-4336] - The use of inheritable thread locals in ThreadIO can cause problems

** Improvement
    * [FELIX-3590] - Add system property resolution to CommandSessionImpl
    * [FELIX-4363] - The CommandSession get/set methods are not thread safe


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

** Bug
    * [FELIX-2870] - ConcurrentModificationException in gogo runtime
    * [FELIX-2894] - Gogo does not handles options but not parameters
    * [FELIX-2927] - [gogo] coercion mechanism invokes foo(String) instead
      of foo(int) - even with explicit int argument

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

** Bug
    * [FELIX-2723] - When the execution of a closure with pipes is
      interrupted, pipes should be interrupted too

** New Feature
    * [FELIX-2761] - Add a way to listen to execution of command lines
    * [FELIX-2764] - Publish OSGi EventAdmin events when executing a command
      line

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

** Bug
    * [FELIX-1473] - [gogo] The syntax does not provide a way to call
      methods on a string
    * [FELIX-2432] - [gogo] NPE/coercion failure when null first parameter
      to method expecting arry
    * [FELIX-2545] - [gogo] runtime should close all open sessions when it
      is stopped
    * [FELIX-2606] - Gogo isn't decoupled from OSGi anymore

** Improvement
    * [FELIX-2396] - Ability to have callbacks when accessing session variables
    * [FELIX-2433] - [gogo] allow command expansion inside double quotes
    * [FELIX-2607] - Introduce a specific exception when a command is not
      foundGogo Runtime 0.6.1

Gogo Runtime 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
