Changes in 1.1.0
----------------
** Improvement
    * [FELIX-6375] - Require Java 8 as minimum version
** Bug
    * [FELIX-6371] - JSONConfigurationWriter does not escape backslash and other chars


Changes in 1.0.6
----------------
** Bug
    * [FELIX-5755] - Servlet API should be optional
** Task
    * [FELIX-5756] - Update project to latest parent pom


Changes in 1.0.4
----------------
** Bug
    * [FELIX-4437] - Zip Writer does not pass the correct isZip status to the InventoryPrinterHandler


Changes in 1.0.2
----------------
    * [FELIX-4078] - ConfigurationPrinterAdapter.getMethod should not only consider implementation class


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

** Bug
    * [FELIX-3916] - Full ZIP file has wrong file indices
    * [FELIX-3947] - ClassDefNotFoundError in Inventory bundle setup if Servlet API cannot be wired
    * [FELIX-3963] - Properly handle method resolution through reflection
    * [FELIX-3964] - Wrong signature for non-service InventoryPrinter services
    * [FELIX-4026] - InventoryPrinter must run on Java 1.4 plattforms (for embedded use)
    * [FELIX-4037] - URL parsing is not compatible with ConfigurationRender plugin
    * [FELIX-4075] - Cleanup InventoryPrinter generated file names in the ZIP file

** Improvement
    * [FELIX-3945] - Don't use SLF4j Logging
    * [FELIX-3958] - Allow JSON output for InventoryPrinters not natively supporting JSON
    * [FELIX-3959] - PrinterMode.valueOf should be case-insensitive
    * [FELIX-4025] - Cleanup InventoryPrinter API

** Task
    * [FELIX-3874] - Create new status printer module
    * [FELIX-3970] - Remove unneeded hashCode and equals methods from PrinterMode
