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