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

** 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
